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:
Encounter this bug when trying to upgrade a capsule from 6.8.6 to 6.9.2
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.
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