Note: This bug is displayed in read-only format because the product is no longer active in Red Hat Bugzilla.
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 2089928

Summary: Dependency Issue when attempting to enable Satellite Infoblox DNS and DHCP plugins on RHEL 8
Product: Red Hat Satellite Reporter: Danny Synk <dsynk>
Component: PackagingAssignee: satellite6-bugs <satellite6-bugs>
Status: CLOSED ERRATA QA Contact: Lukas Pramuk <lpramuk>
Severity: high Docs Contact:
Priority: unspecified    
Version: 6.11.0CC: ahumbe, lvasina, pcreech
Target Milestone: 6.11.0Keywords: Triaged
Target Release: Unused   
Hardware: x86_64   
OS: Linux   
Whiteboard:
Fixed In Version: Doc Type: If docs needed, set a value
Doc Text:
Story Points: ---
Clone Of: Environment:
Last Closed: 2022-07-05 14:35:58 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 Danny Synk 2022-05-24 17:56:55 UTC
Description of problem:
Attempting to enable the Infoblox DNS and DHCP plugins on Satellite 6.11 running on RHEL 8 fails with a dependency error on the faraday_middleware rubygem.

Version-Release number of selected component (if applicable):
Satellite 6.11 running on RHEL 8
rubygem-infoblox-3.0.0-4.el8sat.noarch

How reproducible:
100%

Steps to Reproduce:
1. Attempt to enable either the Infoblox DHCP plugin or the Infoblox DNS plugin via the documented procedure:

# satellite-installer --enable-foreman-proxy-plugin-dhcp-infoblox \
--foreman-proxy-dhcp true \
--foreman-proxy-dhcp-managed false \
--foreman-proxy-dhcp-provider infoblox \
--foreman-proxy-plugin-dhcp-infoblox-record-type fixedaddress \
--foreman-proxy-dhcp-server infoblox.example.com \
--foreman-proxy-plugin-dhcp-infoblox-username admin \
--foreman-proxy-plugin-dhcp-infoblox-password infoblox \
--foreman-proxy-plugin-dhcp-infoblox-network-view default \
--foreman-proxy-plugin-dhcp-infoblox-dns-view default


Actual results:
Enabling the plugins fails while attempting to install the rubygem-infoblox package due to a missing dependency on the faraday_middleware rubygem:

```
2022-05-24 13:01:46 [ERROR ] [configure] Execution of '/bin/dnf -d 0 -e 1 -y install rubygem-smart_proxy_dhcp_infoblox' returned 1: Error:
2022-05-24 13:01:46 [ERROR ] [configure] Problem: package rubygem-smart_proxy_dhcp_infoblox-0.0.16-6.el8sat.noarch requires rubygem(infoblox) >= 3.0, but none of the providers can be installed
2022-05-24 13:01:46 [ERROR ] [configure] - package rubygem-smart_proxy_dhcp_infoblox-0.0.16-6.el8sat.noarch requires rubygem(infoblox) < 4, but none of the providers can be installed
2022-05-24 13:01:46 [ERROR ] [configure] - package rubygem-smart_proxy_dhcp_infoblox-0.0.16-6.el8sat.noarch requires (rubygem(infoblox) >= 3.0 with rubygem(infoblox) < 4), but none of the providers can be installed
2022-05-24 13:01:46 [ERROR ] [configure] - cannot install the best candidate for the job
2022-05-24 13:01:46 [ERROR ] [configure] - nothing provides rubygem(faraday_middleware) needed by rubygem-infoblox-3.0.0-4.el8sat.noarch
2022-05-24 13:01:46 [ERROR ] [configure] /Stage[main]/Foreman_proxy::Plugin::Dhcp::Infoblox/Foreman_proxy::Plugin::Provider[dhcp_infoblox]/Foreman_proxy::Plugin[dhcp_infoblox]/Package[rubygem-smart_proxy_dhcp_infoblox]/ensure: change from 'purged' to 'present' failed: Execution of '/bin/dnf -d 0 -e 1 -y install rubygem-smart_proxy_dhcp_infoblox' returned 1: Error:
2022-05-24 13:01:46 [ERROR ] [configure] Problem: package rubygem-smart_proxy_dhcp_infoblox-0.0.16-6.el8sat.noarch requires rubygem(infoblox) >= 3.0, but none of the providers can be installed
2022-05-24 13:01:46 [ERROR ] [configure] - package rubygem-smart_proxy_dhcp_infoblox-0.0.16-6.el8sat.noarch requires rubygem(infoblox) < 4, but none of the providers can be installed
2022-05-24 13:01:46 [ERROR ] [configure] - package rubygem-smart_proxy_dhcp_infoblox-0.0.16-6.el8sat.noarch requires (rubygem(infoblox) >= 3.0 with rubygem(infoblox) < 4), but none of the providers can be installed
2022-05-24 13:01:46 [ERROR ] [configure] - cannot install the best candidate for the job
2022-05-24 13:01:46 [ERROR ] [configure] - nothing provides rubygem(faraday_middleware) needed by rubygem-infoblox-3.0.0-4.el8sat.noarch
2022-05-24 13:02:04 [ERROR ] [configure] Execution of '/bin/dnf -d 0 -e 1 -y install rubygem-smart_proxy_dns_infoblox' returned 1: Error:
2022-05-24 13:02:04 [ERROR ] [configure] Problem: package rubygem-smart_proxy_dns_infoblox-1.1.0-6.el8sat.noarch requires rubygem(infoblox) >= 3.0, but none of the providers can be installed
2022-05-24 13:02:04 [ERROR ] [configure] - package rubygem-smart_proxy_dns_infoblox-1.1.0-6.el8sat.noarch requires rubygem(infoblox) < 4, but none of the providers can be installed
2022-05-24 13:02:04 [ERROR ] [configure] - package rubygem-smart_proxy_dns_infoblox-1.1.0-6.el8sat.noarch requires (rubygem(infoblox) >= 3.0 with rubygem(infoblox) < 4), but none of the providers can be installed
2022-05-24 13:02:04 [ERROR ] [configure] - cannot install the best candidate for the job
2022-05-24 13:02:04 [ERROR ] [configure] - nothing provides rubygem(faraday_middleware) needed by rubygem-infoblox-3.0.0-4.el8sat.noarch
2022-05-24 13:02:04 [ERROR ] [configure] /Stage[main]/Foreman_proxy::Plugin::Dns::Infoblox/Foreman_proxy::Plugin::Provider[dns_infoblox]/Foreman_proxy::Plugin[dns_infoblox]/Package[rubygem-smart_proxy_dns_infoblox]/ensure: change from 'purged' to 'present' failed: Execution of '/bin/dnf -d 0 -e 1 -y install rubygem-smart_proxy_dns_infoblox' returned 1: Error:
2022-05-24 13:02:04 [ERROR ] [configure] Problem: package rubygem-smart_proxy_dns_infoblox-1.1.0-6.el8sat.noarch requires rubygem(infoblox) >= 3.0, but none of the providers can be installed
2022-05-24 13:02:04 [ERROR ] [configure] - package rubygem-smart_proxy_dns_infoblox-1.1.0-6.el8sat.noarch requires rubygem(infoblox) < 4, but none of the providers can be installed
2022-05-24 13:02:04 [ERROR ] [configure] - package rubygem-smart_proxy_dns_infoblox-1.1.0-6.el8sat.noarch requires (rubygem(infoblox) >= 3.0 with rubygem(infoblox) < 4), but none of the providers can be installed
2022-05-24 13:02:04 [ERROR ] [configure] - cannot install the best candidate for the job
2022-05-24 13:02:04 [ERROR ] [configure] - nothing provides rubygem(faraday_middleware) needed by rubygem-infoblox-3.0.0-4.el8sat.noarch
2022-05-24 13:02:05 [NOTICE] [configure] 2250 configuration steps out of 2566 steps complete.
2022-05-24 13:03:08 [NOTICE] [configure] 2500 configuration steps out of 2566 steps complete.
2022-05-24 13:03:15 [NOTICE] [configure] System configuration has finished.
```


Expected results:
Both Infoblox plugins are able to be installed and enabled.


Additional info:
A package providing the faraday_middleware rubygem is not present in the Satellite 6.11 RHEL 8 compose repo:

```
# yum repolist
Updating Subscription Management repositories.
repo id                                                                                  repo name
Sat6-CI_Red_Hat_Satellite_6_11_Composes_Maintenance_6_11_RHEL8                           Satellite Maintenance 6_11
Sat6-CI_Red_Hat_Satellite_6_11_Composes_Satellite_6_11_RHEL8                             Satellite 6.11 RHEL8
Sat6-CI_Red_Hat_Satellite_6_11_Composes_Satellite_Client_6_11_RHEL8                      Client 6.11 RHEL8
Sat6-CI_Red_Hat_Satellite_6_11_Composes_Utils_6_11_RHEL8                                 Satellite Utils 6_11
Sat6-CI_Satellite_6_11_Composes_Satellite_6_11_RHEL8                                     Satellite 6.11 RHEL8
Sat6-CI_Satellite_Maintenance_6_11_Composes_Satellite_Maintenance_6_11_RHEL8             Satellite Maintenance 6.11 RHEL8
Sat6-CI_Satellite_Utils_6_11_Composes_Satellite_Utils_6_11_RHEL8                         Satellite Utils 6.11 RHEL8
ansible-2-for-rhel-8-x86_64-rpms                                                         Red Hat Ansible Engine 2 for RHEL 8 x86_64 (RPMs)
rhel-8-for-x86_64-appstream-rpms                                                         Red Hat Enterprise Linux 8 for x86_64 - AppStream (RPMs)
rhel-8-for-x86_64-baseos-rpms                                                            Red Hat Enterprise Linux 8 for x86_64 - BaseOS (RPMs)

# yum search -v faraday
Loaded plugins: builddep, changelog, config-manager, copr, debug, debuginfo-install, download, generate_completion_cache, groups-manager, needs-restarting, playground, product-id, repoclosure, repodiff, repograph, repomanage, reposync, subscription-manager, uploadprofile
Updating Subscription Management repositories.
YUM version: 4.7.0
cachedir: /var/cache/dnf
Last metadata expiration check: 0:37:51 ago on Tue 24 May 2022 10:41:45 AM EDT.
============================================================== Name & Summary Matched: faraday ==============================================================
rubygem-faraday-cookie_jar.noarch : Manages client-side cookie jar for Faraday HTTP client
Repo        : @System
Matched from:
Provide    : rubygem-faraday-cookie_jar = 0.0.6-2.el8sat

=================================================================== Name Matched: faraday ===================================================================
rubygem-faraday.noarch : HTTP/REST API client library
Repo        : @System
Matched from:
Provide    : rubygem-faraday = 0.17.3-2.el8sat
```


Such a package is present in the Satellite 6.11 RHEL 7 compose repo:

```
# yum search faraday -v
<snip>
=================================================================== N/S matched: faraday ====================================================================
tfm-rubygem-faraday-cookie_jar.noarch : Manages client-side cookie jar for Faraday HTTP client
Repo        : @Sat6-CI_Red_Hat_Satellite_6_11_Composes_Satellite_6_11_RHEL7



tfm-rubygem-faraday_middleware.noarch : Various middleware for Faraday
Repo        : Sat6-CI_Satellite_6_11_Composes_Satellite_6_11_RHEL7



tfm-rubygem-faraday.noarch : HTTP/REST API client library
Repo        : @Sat6-CI_Red_Hat_Satellite_6_11_Composes_Satellite_6_11_RHEL7
```

Comment 1 Lukas Pramuk 2022-05-30 14:05:44 UTC
# rpm -q --provides rubygem-faraday-0.17.3-2.el8sat.noarch
rubygem(faraday) = 0.17.3
rubygem(faraday) = 0.17.3-1
rubygem-faraday = 0.17.3-2.el8sat

VS.

# rpm -qRp rubygem-infoblox-3.0.0-4.el8sat.noarch.rpm 
...
rubygem(faraday)
rubygem(faraday)
rubygem(faraday_middleware)
rubygem(faraday_middleware)

>>> we need to built rubygem-faraday_middleware on el8

Comment 2 Ladislav Vasina 2022-06-09 07:42:45 UTC
VERIFIED
********************************
The expected result is reached.
Installation is not failing anymore as described by Danny Synk.
********************************
Sat version:
satellite-6.11.0-2.el8sat.noarch
Snap: 
23
Foreman version:
foreman-3.1.1.21-1.el8sat.noarch

Used packages versions:
rubygem-infoblox-3.0.0-4.el8sat.noarch
rubygem-faraday-0.17.3-2.el8sat.noarch
rubygem-faraday_middleware-0.13.1-3.el8sat.noarch

Comment 5 errata-xmlrpc 2022-07-05 14:35:58 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.11 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-2022:5498