Bug 1881150

Summary: foreman-maintain package lock check indicates false failure
Product: Red Hat Satellite Reporter: Mike McCune <mmccune>
Component: InstallationAssignee: Eric Helms <ehelms>
Status: CLOSED ERRATA QA Contact: Devendra Singh <desingh>
Severity: medium Docs Contact:
Priority: medium    
Version: 6.8.0CC: ahumbe, ehelms, jpathan, sadas, zhunting
Target Milestone: 6.9.0Keywords: PrioBumpGSS, Triaged
Target Release: Unused   
Hardware: Unspecified   
OS: Unspecified   
Whiteboard:
Fixed In Version: Doc Type: If docs needed, set a value
Doc Text:
Story Points: ---
Clone Of:
: 1919434 (view as bug list) Environment:
Last Closed: 2021-04-21 13:17:46 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:

Description Mike McCune 2020-09-21 16:04:24 UTC
From https://bugzilla.redhat.com/show_bug.cgi?id=1880637#c1

We have logic that attempts to detect if foreman-maintain is installed and package locking is enabled but the output isn't being interpreted correctly.



"""
/usr/share/foreman-installer/hooks/post/30-upgrade.rb
~~~
if !app_value(:noop) && [0, 2].include?(@kafo.exit_code) && foreman_server?
  execute('foreman-rake upgrade:run')
end
~~~
which appears to kick off if the kafo-puppet run had a "bad" exit code. 

Looking back at that puppet run, the only error I see is
~~~
[ INFO 2020-09-18T18:21:00 verbose] Executing hooks in group pre_commit
[ERROR 2020-09-18T18:21:05 verbose] foreman-maintain packages is-locked --assumeyes failed! Check the output for error!
[ INFO 2020-09-18T18:21:05 verbose] All hooks in group pre_commit finished
~~~
There are a number of warnings though.

Running that command gives:
~~~
root@tstr000047:/var/log/foreman-installer $ foreman-maintain packages is-locked --assumeyes; echo $?
Packages are not locked
1
~~~

I ran it again with debug and captured this:
~~~
[ INFO 2020-09-18T19:03:39 main] Executing hooks in group pre_commit
[DEBUG 2020-09-18T19:03:39 main] Hook /usr/share/foreman-installer/katello/hooks/pre_commit/05-puppet_certs_exist.rb returned nil
[DEBUG 2020-09-18T19:03:39 main] Executing: foreman-maintain packages -h
[DEBUG 2020-09-18T19:03:41 main] Usage:
[DEBUG 2020-09-18T19:03:41 main]     foreman-maintain packages [OPTIONS] SUBCOMMAND [ARG] ...
[DEBUG 2020-09-18T19:03:41 main]
[DEBUG 2020-09-18T19:03:41 main] Parameters:
[DEBUG 2020-09-18T19:03:41 main]     SUBCOMMAND                    subcommand
[DEBUG 2020-09-18T19:03:41 main]     [ARG] ...                     subcommand arguments
[DEBUG 2020-09-18T19:03:41 main]
[DEBUG 2020-09-18T19:03:41 main] Subcommands:
[DEBUG 2020-09-18T19:03:41 main]     lock                          Prevent packages from automatic update
[DEBUG 2020-09-18T19:03:41 main]     unlock                        Enable packages for automatic update
[DEBUG 2020-09-18T19:03:41 main]     status                        Check if packages are protected against update
[DEBUG 2020-09-18T19:03:41 main]     install                       Install packages in an unlocked session
[DEBUG 2020-09-18T19:03:41 main]     update                        Update packages in an unlocked session
[DEBUG 2020-09-18T19:03:41 main]     is-locked                     Check if update of packages is allowed
[DEBUG 2020-09-18T19:03:41 main]
[DEBUG 2020-09-18T19:03:41 main] Options:
[DEBUG 2020-09-18T19:03:41 main]     -h, --help                    print help
[DEBUG 2020-09-18T19:03:41 main] foreman-maintain packages -h finished successfully!
[DEBUG 2020-09-18T19:03:41 main] Executing: foreman-maintain packages is-locked --assumeyes
[DEBUG 2020-09-18T19:03:43 main] Packages are not locked
[ERROR 2020-09-18T19:03:43 main] foreman-maintain packages is-locked --assumeyes failed! Check the output for error!
[DEBUG 2020-09-18T19:03:43 main] Hook /usr/share/foreman-installer/katello/hooks/pre_commit/09-version_locking.rb returned nil
~~~

It looks like that's ultimately coming from
/usr/share/foreman-installer/hooks/boot/03-foreman-maintain-extensions.rb
~~~
  def package_lock_feature?
    foreman_maintain('packages -h')
  end
~~~
"""

Comment 1 Eric Helms 2020-10-23 00:23:24 UTC
Created redmine issue https://projects.theforeman.org/issues/31135 from this bug

Comment 2 Bryan Kearney 2020-10-26 16:59:50 UTC
Upstream bug assigned to ehelms

Comment 3 Bryan Kearney 2020-10-26 16:59:52 UTC
Upstream bug assigned to ehelms

Comment 4 Eric Helms 2020-11-02 21:03:00 UTC
*** Bug 1889669 has been marked as a duplicate of this bug. ***

Comment 5 Bryan Kearney 2020-11-13 20:03:46 UTC
Moving this bug to POST for triage into Satellite since the upstream issue https://projects.theforeman.org/issues/31135 has been resolved.

Comment 6 Brad Buckingham 2021-01-08 21:55:24 UTC
The fix for this bugzilla is in an early Satellite 6.9 SNAP; therefore, aligning to release and updating state.

Comment 9 Devendra Singh 2021-01-25 16:39:23 UTC
Verified on 6.9 Snap10

Comment 12 errata-xmlrpc 2021-04-21 13:17:46 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.9 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-2021:1313