Bug 1936872 - satellite-maintain upgrade check does not compare enabled repos for satellite or capsule with installed packages [NEEDINFO]
Summary: satellite-maintain upgrade check does not compare enabled repos for satellite...
Keywords:
Status: NEW
Alias: None
Product: Red Hat Satellite
Classification: Red Hat
Component: Foreman Maintain
Version: 6.8.0
Hardware: Unspecified
OS: Unspecified
high
medium
Target Milestone: Unspecified
Assignee: satellite6-bugs
QA Contact: Griffin Sullivan
URL:
Whiteboard:
Depends On:
Blocks: 1957813
TreeView+ depends on / blocked
 
Reported: 2021-03-09 11:45 UTC by Stefan Nemeth
Modified: 2023-07-20 12:45 UTC (History)
6 users (show)

Fixed In Version:
Doc Type: If docs needed, set a value
Doc Text:
Clone Of:
Environment:
Last Closed:
Target Upstream Version:
Embargoed:
aupadhye: needinfo? (snemeth)


Attachments (Terms of Use)


Links
System ID Private Priority Status Summary Last Updated
Red Hat Issue Tracker SAT-19058 0 None None None 2023-07-20 12:45:36 UTC

Description Stefan Nemeth 2021-03-09 11:45:58 UTC
Description of problem:

satellite-maintain upgrade check --target-version 6.8.z

step  Checking repositories enabled on the system  

does not compare enabled repository, capsule or satellite to actually installed packages. If capsule repo is enabled on satellite, instead of satellite repository, installer successfully continues and fails later on 

Error: Important rpm package satellite is not installed!
Install satellite rpm to ensure system consistency.


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

How reproducible:
100%^

Steps to Reproduce:
1. on satellite server 
#subscription-manager repos --disable='rhel-7-server-satellite-6.8-rpms'
2. #subscription-manager repos --enable='rhel-7-server-satellite-capsule-6.8-rpms'
3.foreman-maintain upgrade check --target-version 6.8.z

Actual results:

satellite-maintain sees capsule repo as legitimate if it is enabled on satellite and vice versa leading to upgrade failure on

Error: Important rpm package satellite is not installed!
Install satellite rpm to ensure system consistency.

Expected results:

check for installed packages (satellite.noarch, satellite-capsule.noarch) before verifying the repositories

Additional info:

Comment 1 ir. Jan Gerrit Kootstra 2021-05-26 11:06:56 UTC
Encounter this bug when trying to upgrade a capsule from 6.8.6 to 6.9.2

Comment 4 Amit Upadhye 2022-05-05 14:42:18 UTC
Hello,

The satellite-maintain enables the repository as per the name of the package(satellite/capsule) before doing the upgrade, and repository-validate checks if required repositories are available on system or not,

https://github.com/theforeman/foreman_maintain/blob/master/lib/foreman_maintain/concerns/downstream.rb#L95

To avoid the situation where installed system as per scenario does not match with package(satellite/capsule) there is 'validate_downstream_packages'

https://github.com/theforeman/foreman_maintain/blob/master/lib/foreman_maintain/concerns/primary_checks.rb

and its being called already prior to doing any pre_upgrade_checks,

https://github.com/theforeman/foreman_maintain/blob/master/lib/foreman_maintain/cli/upgrade_command.rb#L71
https://github.com/theforeman/foreman_maintain/blob/master/lib/foreman_maintain/cli/upgrade_command.rb#L91

Considering satellite-maintain won't fall in situation where it will let the upgrade complete with invalid repository, I think this bugzilla should be closed?

_
Amit Upadhye.

Comment 5 ir. Jan Gerrit Kootstra 2022-05-06 06:23:50 UTC
Hi Amit,

Please explain how this early stage check works, for it has failed in our situation once for a capsule where by accident some former colleague had activated a satellite repo on a capsule and the pre check did not give a warning or error message to fix this issue.

So we got a mix of capsule and satellite server packages on the machine. This broke the capsule.

I ask you not to close the bugzilla, until it is clear the issue described in this bugzilla is fixed.

Regards,


Jan Gerrit Kootstra


Note You need to log in before you can comment on or make changes to this bug.