Bug 2072530

Summary: Improvements on foreman-maintain's self-upgrade mechanism
Product: Red Hat Satellite Reporter: Amit Upadhye <aupadhye>
Component: Satellite MaintainAssignee: Amit Upadhye <aupadhye>
Status: CLOSED ERRATA QA Contact: Gaurav Talreja <gtalreja>
Severity: medium Docs Contact:
Priority: unspecified    
Version: 6.11.0CC: apatel, ehelms, kgaikwad, zhunting
Target Milestone: 6.11.0Keywords: Triaged
Target Release: Unused   
Hardware: Unspecified   
OS: Unspecified   
Whiteboard:
Fixed In Version: rubygem-foreman_maintain-1.0.7 Doc Type: If docs needed, set a value
Doc Text:
Story Points: ---
Clone Of:
: 2078828 (view as bug list) Environment:
Last Closed: 2022-07-05 14:35:12 UTC Type: Bug
Regression: --- Mount Type: ---
Documentation: --- CRM:
Verified Versions: Category: ---
oVirt Team: --- RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: --- Target Upstream Version:
Embargoed:
Bug Depends On:    
Bug Blocks: 2026415, 2078828    

Description Amit Upadhye 2022-04-06 13:22:29 UTC
Description of problem:

The foreman-maintain's self-upgrade command needs improvement as below,

1. Allow only upgrade to next .Y release
2. Capitalize the ENV variable
3. Provide an option to pass maintenance repository label in case of disconnected or testing environments. This is additional to existing way of exporting 'MAINTENANCE_REPO_LABEL' variable.
4. Unify the ENV var and option name.

Version-Release number of selected component (if applicable):

6.11 and 6.10


How reproducible:


Steps to Reproduce:
1.
2.
3.

Actual results:


Expected results:


Additional info:

Comment 1 Amit Upadhye 2022-04-06 13:27:54 UTC
With these changes workflow changes as below,

1. The command changes to,

# satellite-maintain self-upgrade

There is no target version as its calculated considering the installed version.

2. There is no --target-version option hence no need to pass the version to the command

3. The ENV var changed to 'MAINTENANCE_REPO_LABEL'

4. Have additional optional option 'maintenance-repo-label',

# bin/foreman-maintain self-upgrade --help
Usage:
    foreman-maintain self-upgrade [OPTIONS]

Options:
    --maintenance-repo-label REPOSITORY_LABEL    Repository label from which packages should be updated.This can be used when standard CDN repositories are unavailable.
    -h, --help                                   print help

Comment 3 Gaurav Talreja 2022-05-25 19:59:12 UTC
Verified.

Tested on Satellite 6.11.0 Snap 21.0
Version: rubygem-foreman_maintain-1.0.10-1.el7sat.noarch

Steps:
1. # foreman-maintain self-upgrade
2. Add custom_repo for the next major-version release available with the label 'sat-maintain'
3. # MAINTENANCE_REPO_LABEL='sat-maintain' foreman-maintain self-upgrade 
4. # foreman-maintain self-upgrade --maintenance-repo-label sat-maintain

Observation, 
For Step1, No target-version option is required now, instead, it tries only to enable the 6.12 maintenance repo (N+1 only) along with a few RHEL-specific repos to pull related dependencies and updates package(s) satellite-maintain, rubygem-foreman_maintain.
And as the N+1 repos won't be available till 6.12 GA, here self-upgrade fails and shows a subscription-manager error message mentioning 6.12 repos aren't available in CDN.

Step3 or Step4, For disconnected/testing environments it tries to enable custom repo labeled from MAINTENANCE_REPO_LABEL env var or using option "--maintenance-repo-label" and updates package(s) satellite-maintain, rubygem-foreman_maintain.

Comment 7 errata-xmlrpc 2022-07-05 14:35:12 UTC
Since the problem described in this bug report should be
resolved in a recent advisory, it has been closed with a
resolution of ERRATA.

For information on the advisory (Moderate: Satellite 6.11 Release), and where to find the updated
files, follow the link below.

If the solution does not work for you, open a new bug report.

https://access.redhat.com/errata/RHSA-2022:5498

Comment 8 Red Hat Bugzilla 2023-09-15 01:53:42 UTC
The needinfo request[s] on this closed bug have been removed as they have been unresolved for 365 days