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.
Description of problem:
Ldap refresh may fail with the following error when trying to add a user to a usergroups and the id of the user is conflicting with the a nested usergroup id.
Foreman::CyclicGraphException
Validation failed: Adding would cause a cycle!
/usr/share/foreman/lib/core_extensions.rb:97:in `detect_cycle'
/usr/share/foreman/lib/core_extensions.rb:84:in `ensure'
/usr/share/foreman/app/models/usergroup_member.rb:44:in `ensure_no_cycle'
/opt/theforeman/tfm-ror52/root/usr/share/gems/gems/activesupport-5.2.1/lib/active_support/callbacks.rb:426:in `block in make_lambda'
/opt/theforeman/tfm-ror52/root/usr/share/gems/gems/activesupport-5.2.1/lib/active_support/callbacks.rb:198:in `block (2 levels) in halting'
/opt/theforeman/tfm-ror52/root/usr/share/gems/gems/activesupport-5.2.1/lib/active_support/callbacks.rb:606:in `block (2 levels) in default_terminator'
/opt/theforeman/tfm-ror52/root/usr/share/gems/gems/activesupport-5.2.1/lib/active_support/callbacks.rb:605:in `catch'
<snip>
Due to this error, user can't login to the Satellite using his/her Ldap account because Satellite will attempt to sync the users and groups after authenticating the user.
How reproducible:
The issue can be reproduced with just the internal authentication. The following steps assume that you have a freshly installed Satellite 6.6.
Steps to Reproduce:
1. In the web ui -> Administer -> User Groups. Create 4 user groups. We expecting the id of the groups are 1,2,3 and 4.
group1
group2
group3
group4
2. Make the Id of the default "Admin User" is 4.
3. In this case, id of the "Admin User" and group4 are conflict.
4. Add group1 as sub-group for group3.
5. Add group3 as sub-group for group4.
6. Add the default "Admin user" to group3 and submit.
Actual results:
Adding would cause a cycle!
Expected results:
Should be able to add the user to group3.
Verified.
Version Tested: Satellite-6.8.0 Snap 5.0
Steps followed:
1. Login web UI-> Administer -> User Groups
2. Create 4 user groups(IDs: 1,2,3,4). Also ID of Admin User is 4.
3.1 Add group1 as sub-group for group3.
3.2 Add group3 as sub-group for group4.
3.3 Add the default "Admin user" to group3 and submit.
Observation:
Admin user was added to group3.
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.8 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-2020:4366