Bug 2089928 - Dependency Issue when attempting to enable Satellite Infoblox DNS and DHCP plugins on RHEL 8
Summary: Dependency Issue when attempting to enable Satellite Infoblox DNS and DHCP pl...
Keywords:
Status: CLOSED ERRATA
Alias: None
Product: Red Hat Satellite
Classification: Red Hat
Component: Packaging
Version: 6.11.0
Hardware: x86_64
OS: Linux
unspecified
high
Target Milestone: 6.11.0
Assignee: satellite6-bugs
QA Contact: Lukas Pramuk
URL:
Whiteboard:
Depends On:
Blocks:
TreeView+ depends on / blocked
 
Reported: 2022-05-24 17:56 UTC by Danny Synk
Modified: 2022-07-05 14:36 UTC (History)
3 users (show)

Fixed In Version:
Doc Type: If docs needed, set a value
Doc Text:
Clone Of:
Environment:
Last Closed: 2022-07-05 14:35:58 UTC
Target Upstream Version:
Embargoed:


Attachments (Terms of Use)


Links
System ID Private Priority Status Summary Last Updated
Red Hat Product Errata RHSA-2022:5498 0 None None None 2022-07-05 14:36:07 UTC

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


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