Bug 2073535 - satellite-maintain packages check-update fails when there are no packages to be updated. [NEEDINFO]
Summary: satellite-maintain packages check-update fails when there are no packages to ...
Keywords:
Status: VERIFIED
Alias: None
Product: Red Hat Satellite
Classification: Red Hat
Component: Foreman Maintain
Version: 6.10.4
Hardware: Unspecified
OS: Unspecified
medium
medium
Target Milestone: 6.14.0
Assignee: Sayan Das
QA Contact: Matyas Strelec
URL:
Whiteboard:
Depends On:
Blocks:
TreeView+ depends on / blocked
 
Reported: 2022-04-08 18:09 UTC by Rafael Cavalcanti
Modified: 2023-07-13 12:02 UTC (History)
10 users (show)

Fixed In Version: foreman-maintain-1.3.2
Doc Type: If docs needed, set a value
Doc Text:
Clone Of:
: 2218656 (view as bug list)
Environment:
Last Closed:
Target Upstream Version:
Embargoed:
pcreech: needinfo? (ehelms)


Attachments (Terms of Use)


Links
System ID Private Priority Status Summary Last Updated
Foreman Issue Tracker 36369 0 Normal Closed Consider both 0 and 100 as valid exit codes for check-update yum action 2023-05-09 07:11:23 UTC
Github theforeman foreman_maintain pull 729 0 None Merged Fixes #36369 - Exit code 0 is a valid exit status 2023-05-09 07:11:22 UTC
Red Hat Issue Tracker SAT-17607 0 None None None 2023-05-08 17:49:51 UTC

Description Rafael Cavalcanti 2022-04-08 18:09:35 UTC
Description of problem:

The command 'satellite-maintain packages check-update' fails when there are no packages to be updated.
---
I, [2022-04-08 13:28:47-0400 #9496]  INFO -- : Running foreman-maintain command with arguments [["packages", "check-update"]]
I, [2022-04-08 13:28:47-0400 #9496]  INFO -- : === Scenario 'Check for available package updates' started ===
I, [2022-04-08 13:28:47-0400 #9496]  INFO -- : --- Execution step 'Check for available package updates' [packages-check-update] started ---
D, [2022-04-08 13:28:47-0400 #9496] DEBUG -- : Running command yum -y --disableplugin=foreman-protector check-update  with stdin nil
D, [2022-04-08 13:29:06-0400 #9496] DEBUG -- : output of the command:
 Loaded plugins: product-id, search-disabled-repos, subscription-manager
E, [2022-04-08 13:29:06-0400 #9496] ERROR -- : Failed executing yum -y --disableplugin=foreman-protector check-update , exit status 0:
 Loaded plugins: product-id, search-disabled-repos, subscription-manager (ForemanMaintain::Error::ExecutionError)
---

How reproducible:
100%

Steps to Reproduce:
1. Update all the rpms 

2. Run:
~~~
satellite-maintain packages check-update
~~~


Actual results:
~~~
satellite-maintain packages check-update
Running Check for available package updates
================================================================================
Check for available package updates:                                  [FAIL]
Failed executing yum -y --disableplugin=foreman-protector check-update , exit status 0:
 Loaded plugins: product-id, search-disabled-repos, subscription-manager
--------------------------------------------------------------------------------
Scenario [Check for available package updates] failed.

The following steps ended up in failing state:

  [packages-check-update]

Resolve the failed steps and rerun
the command. In case the failures are false positives,
use --whitelist="packages-check-update"
~~~

Expected results:
The tasks should not fail if there are no RPM's to be updated

Additional info:

The RC=100 is expected when 'yum update-check' finds a RPM. On the other hand, the RC=0 is expected when no RPM's are returned(Operation was successful). And the code should handle both RC's.

Comment 5 Sayan Das 2023-05-08 17:41:08 UTC
Created and Attaching:

Bug #36369: Consider both 0 and 100 as valid exit codes for check-update yum action - Foreman Maintain - Foreman
https://projects.theforeman.org/issues/36369

Fixes #36369 - Exit code 0 is a valid exit status by sayan3296 · Pull Request #729 · theforeman/foreman_maintain
https://github.com/theforeman/foreman_maintain/pull/729

Comment 6 Bryan Kearney 2023-05-08 20:02:32 UTC
Moving this bug to POST for triage into Satellite since the upstream issue https://projects.theforeman.org/issues/36369 has been resolved.

Comment 7 Patrick Creech 2023-05-30 18:17:01 UTC
need this fix released in an upstream version of foreman_maintain

Comment 8 Matyas Strelec 2023-07-13 12:02:27 UTC
Verified that it works correctly on Satellite 6.14.0 snap 7.0.
Running `satellite-maintain packages check-update` after updating all the rpms the task finishes successfully with OK status.

# satellite-maintain packages check-update
Running Check for available package updates
================================================================================
Check for available package updates: 
Updating Subscription Management repositories.
Satellite 6.14 RHEL8                            329 kB/s | 3.0 kB     00:00    
Satellite Maintenance 6.14 RHEL8                437 kB/s | 2.6 kB     00:00    
Security: kernel-core-4.18.0-477.15.1.el8_8.x86_64 is an installed security update
Security: kernel-core-4.18.0-477.13.1.el8_8.x86_64 is the currently running version
                                                                      [OK]
--------------------------------------------------------------------------------


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