-
Bug
-
Resolution: Unresolved
-
Undefined
-
None
-
6.16.0.1
-
False
-
-
False
-
foreman-proxy-3.14.0-0.2
-
0
-
-
-
Moderate
-
To Do
-
Yes
Description of problem:
A Capsule server with realm enrollment feature enabled (Satellite 6.16.0.1 on RHEL 9) fails to create a realm entry in IdM.
Steps to Reproduce:
1. Satellite 6.16.0.1 running on RHEL 9
2. Capsule server with realm enrollment feature enabled following this doc
3. Create a new Host from the Satellite web UI:
Hosts > Create Host
Actual behavior:
The creation of the new Host fails with:
Failed to create test1.example.com's realm entry: ERF12-5287 [ProxyAPI::ProxyException]: Unable to create realm entry ([RestClient::BadRequest]: 400 Bad Request) for Capsule https://capsule1.example.com:9090/realm/EXAMPLE.COM From /var/log/foreman-proxy/proxy.log 2024-12-03T09:31:25 2d2232ac [I] Started POST /realm/EXAMPLE.COM/ 2024-12-03T09:31:25 2d2232ac [E] cannot load such file -- rexml/document2024-12-03T09:31:25 2d2232ac [W] Error details for cannot load such file -- rexml/document: <LoadError>: cannot load such file -- rexml/document
Expected behavior:
The creation of the new host is successful and the realm enrollment feature creates a new host entity in IdM.
Additional info:
Possible cause: Satellite 6.16 on RHEL 9 introduced Ruby 3. In Ruby 2.7 rexml gem is a 'default gem' that can't be removed and can be required without declaring them as dependencies in Gemfiles. In Ruby 3.0 rexml gem is a 'bundled gem', that needs to be included into gemspec or gemfile.
Possible workaround: manually installing the rexml gem fixed the issue.
[root@capsule1 ~]# gem list --local | grep rexml [root@capsule1 ~]# gem install rexml Fetching rexml-3.3.9.gem Successfully installed rexml-3.3.9 Parsing documentation for rexml-3.3.9 Installing ri documentation for rexml-3.3.9 Done installing documentation for rexml after 1 seconds 1 gem installed [root@capsule1 ~]# gem list --local | grep rexml rexml (3.3.9) [root@capsule1 ~]# reboot