Red Hat Satellite engineering is moving the tracking of its product development work on Satellite to Red Hat Jira (issues.redhat.com). If you're a Red Hat customer, please continue to file support cases via the Red Hat customer portal. If you're not, please head to the "Satellite project" in Red Hat Jira and file new tickets here. Individual Bugzilla bugs will be migrated starting at the end of May. If you cannot log in to RH Jira, please consult article #7032570. That failing, please send an e-mail to the RH Jira admins at rh-issues@redhat.com to troubleshoot your issue as a user management inquiry. The email creates a ServiceNow ticket with Red Hat. Individual Bugzilla bugs that are migrated will be moved to status "CLOSED", resolution "MIGRATED", and set with "MigratedToJIRA" in "Keywords". The link to the successor Jira issue will be found under "Links", have a little "two-footprint" icon next to it, and direct you to the "Satellite project" in Red Hat Jira (issue links are of type "https://issues.redhat.com/browse/SAT-XXXX", where "X" is a digit). This same link will be available in a blue banner at the top of the page informing you that that bug has been migrated.
Bug 2132999 - Satellite can not be installed on RHEL 8.7
Summary: Satellite can not be installed on RHEL 8.7
Keywords:
Status: CLOSED ERRATA
Alias: None
Product: Red Hat Satellite
Classification: Red Hat
Component: Packaging
Version: 6.11.3
Hardware: Unspecified
OS: Unspecified
high
high
Target Milestone: 6.11.4
Assignee: satellite6-bugs
QA Contact: Lukas Pramuk
URL:
Whiteboard:
Depends On:
Blocks:
TreeView+ depends on / blocked
 
Reported: 2022-10-07 12:32 UTC by Odilon Sousa
Modified: 2022-10-27 13:08 UTC (History)
6 users (show)

Fixed In Version: satellite-6.11.4-2,rubygem-smart_proxy_ansible-3.3.1-4,ansible-collection-redhat-satellite-3.6.0-3
Doc Type: If docs needed, set a value
Doc Text:
Clone Of: 2125585
Environment:
Last Closed: 2022-10-27 13:08:49 UTC
Target Upstream Version:
Embargoed:


Attachments (Terms of Use)


Links
System ID Private Priority Status Summary Last Updated
Github theforeman foreman-packaging pull 8543 0 None Merged Use python39-psutil with ansible-core 2.13+ 2022-10-07 12:33:03 UTC
Red Hat Issue Tracker SAT-13077 0 None None None 2022-10-07 12:33:03 UTC
Red Hat Product Errata RHSA-2022:7242 0 None None None 2022-10-27 13:08:57 UTC

Comment 3 Lukas Pramuk 2022-10-18 21:44:45 UTC
FailedQA.

@Satellite 6.11.4 Snap1
rubygem-smart_proxy_ansible-3.3.1-3.el8sat.noarch

by the following steps:

1) Install Satellite 6.11.4 on RHEL8.7 RC

2) Download a role by ansible-galaxy
# ansible-galaxy install -p /etc/ansible/roles adriagalin.motd

3) Import ansible roles and vars 
# hammer ansible roles import --proxy-id 1
# hammer ansible variables import --proxy-id 1

4) Assign the role to a host which is setup for REX
# curl -k https://$(hostname):9090/ssh/pubkey >> ~/.ssh/authorized_keys

5) Play the roles for the host and monitor the output
# jobid=$(hammer --csv host ansible-roles play --name $(hostname) | awk -F, 'NR>1{print$2}')
# hammer job-invocation output --id $jobid --host $(hostname)
...
[DEPRECATION WARNING]: [defaults]callback_whitelist option, normalizing names 
to new standard, use callbacks_enabled instead. This feature will be removed 
from ansible-core in version 2.15. Deprecation warnings can be disabled by 
setting deprecation_warnings=False in ansible.cfg.
ERROR! Unexpected Exception, this is probably a bug: No module named 'psutil'
to see the full traceback, use -vvv
Exit status: 250

>>> the rubygem rubygem-smart_proxy_ansible is missing conditional requires of python39-psutil when ansible-core 2.13 is installed 

Requires: (python39-psutil if ansible-core >= 2.13)

Comment 5 Lukas Pramuk 2022-10-19 13:57:58 UTC
FailedQA.

@Satellite 6.11.4 Snap2
rubygem-smart_proxy_ansible-3.3.1-4.el8sat.noarch

psutil requires is now ok, both python3.6 and python3.9 psutil is installed:

# rpm -qa *psutil*
python3-psutil-5.7.2-2.el8sat.x86_64
python39-psutil-5.8.0-4.module+el8.4.0+9822+20bf1249.x86_64

# rpm -qR rubygem-smart_proxy_ansible | grep psutil
(python38-psutil if ansible-core < 2.13)
(python39-psutil if ansible-core >= 2.13)


But there yet missing python39-requests for the callback:

# jobid=$(hammer --csv host ansible-roles play --name $(hostname) | awk -F, 'NR>1{print$2}')
[root@dhcp-3-73 ~]# hammer job-invocation output --id $jobid --host $(hostname)
[DEPRECATION WARNING]: [defaults]callback_whitelist option, normalizing names 
to new standard, use callbacks_enabled instead. This feature will be removed 
from ansible-core in version 2.15. Deprecation warnings can be disabled by 
setting deprecation_warnings=False in ansible.cfg.
[WARNING]: The `requests` python module is not installed Disabling the Foreman
callback plugin.
[WARNING]: Skipping callback 'redhat.satellite.foreman', unable to load due to:
name 'requests' is not defined

# rpm -qa *requests*
python3-requests-2.20.0-2.1.el8_1.noarch
python38-requests-2.26.0-3.el8pc.noarch

>>> we need that same conditional Requires trick considering both ansible-core 2.12, 2.13 and both pythons 3.8, 3.9 also for `requests` (not only `psutil`)

Comment 6 Lukas Pramuk 2022-10-19 14:01:17 UTC
The fix needs to go in ansible-collection-redhat-satellite rpm:

   (python38-requests if ansible-core) is needed by (installed) ansible-collection-redhat-satellite-3.6.0-1.el8sat.noarch

Comment 11 Lukas Pramuk 2022-10-21 13:29:02 UTC
VERIFIED.

@Satellite 6.11.4 Snap2
rubygem-smart_proxy_ansible-3.3.1-4.el8sat.noarch
ansible-collection-redhat-satellite-3.6.0-3.el8sat.noarch

by the manual reproducer described in comment#3:
...

5) Play the roles for the host and monitor the output
# jobid=$(hammer --csv host ansible-roles play --name $(hostname) | awk -F, 'NR>1{print$2}')
# hammer job-invocation output --id $jobid --host $(hostname)
[DEPRECATION WARNING]: [defaults]callback_whitelist option, normalizing names 
to new standard, use callbacks_enabled instead. This feature will be removed 
from ansible-core in version 2.15. Deprecation warnings can be disabled by 
setting deprecation_warnings=False in ansible.cfg.


PLAY [all] *********************************************************************
...
PLAY RECAP *********************************************************************
<host_fqdn> : ok=6    changed=1    unreachable=0    failed=0    skipped=8    rescued=0    ignored=0
Exit status: 0

>>> playing roles finished successfully 

# rpm -qR rubygem-smart_proxy_ansible ansible-collection-redhat-satellite | grep python3[89]
(python38-psutil if ansible-core < 2.13)
(python39-psutil if ansible-core >= 2.13)
(python38-pyyaml if ansible-core < 2.13)
(python38-requests if ansible-core < 2.13)
(python39-pyyaml if ansible-core >= 2.13)
(python39-requests if ansible-core >= 2.13)

>>> python requires are now sorted out to distinguish on python versions for each ansible-core version

Comment 16 errata-xmlrpc 2022-10-27 13:08:49 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 (Important: Satellite 6.11.4 Async Security Update), 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:7242


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