This was highlighted as a problem (identified) in an unrelated bug. The error was a red-herring there and probably simply an issue with our validation logic.
I'll poke at the code a little more closely here once I get back home. The core issue is in this for loop[0], and it looks like it's possibly mis-detecting the "next role ref" equivalency in the checked_role_ref list.
This was highlighted as a problem (identified) in an unrelated bug. The error was a red-herring there and probably simply an issue with our validation logic.
I'll poke at the code a little more closely here once I get back home. The core issue is in this for loop[0], and it looks like it's possibly mis-detecting the "next role ref" equivalency in the checked_role_ref list.
[0] https:/ /github. com/openstack/ keystone/ blob/4b41fa4c8b 17b2da510100e9c 6cad98d1cd19b0c /keystone/ assignment/ core.py# L666-L673