Repository navigation
Conversation
|
After careful recreation of the e2e tests, I think we are running into a gophercloud bug here... I verified that the system scope role assignment is successfully created. But the additional check in which k-orc tries to fetch the just created role assignment fails. This is because we correctly create the Instead, gophercloud should, in the Gophercloud already does this for the This also implies a different issue that we need to address here: There is no API for [1] https://docs.openstack.org/api-ref/identity/v3/index.html#list-role-assignments |
|
This appears to be a timing issue with system scoped role assignments. I can query the Anyway, it seems that |
|
Ok, so I can not curl role_assignments which contain all three Update: It will become available eventually. It takes the better part of 20 minutes though. I have so far no idea why this happens. Let's see if the test in the CI pipeline is faster |
8b77045 to
8ad47a9
Compare
If this is really what's happening, then I'll be very surprised. Our CI uses a single-node deployment, and operations like that should be atomic (I think), so they're written in the DB then in a N+1 operation you could see the results. Could be that some concurrency problem? 🤔 |
This issue is extremely weird and I have spent so much time already debugging it. The issue must be somewhere in keystone, because even when I curl keystone directly I run into this issue. So basically it boils down to this:
At this point I have already gone through the keystone code superficially but I could not find any place where this would be cached or something. It is an extremely weird problem. Note that the CI pipeline in this PR failed before I replaced the fatal error for a retry-reconcile status. So whatever goes wrong for me locally, also affects the CI pipeline. Whatever that might be |
8ad47a9 to
1df5a5e
Compare
Possibly fixed by https://review.opendev.org/c/openstack/keystone/+/997392 ? Could you check if you get the same behavior with hibiscus? |
That does very much look like a fix for the issue I am experiencing! It will take a bit of time for me to set this up locally with a new OpenStack version. |
|
CI: "e2e hibiscus - Successful in 29m" "e2e gazpacho/flamingo - Started 36m ago" |
The time difference was actually in deploying devstack, for both gazpacho and flamingo it took longer than for hibiscus. Running the tests took around 11 minutes for all 3 jobs, so we can't really draw a conclusion :-/ |
mandre
left a comment
There was a problem hiding this comment.
I'm happy with the state of this PR and think it's ready to merge. If we find that the possible keystone caching issue makes the CI flacky, we can always disable the impacted tests until we have a fix in the relevant openstack releases.
Since replacing the fatal error with a retry, the CI has not failed yet. Worst case, I think, is that they e2e might time out, but it looks like we will not reach that threshold. Maybe we should add a user facing comment somewhere that explains why system scoped roles might not become immediately available? |
I think it's worth mentioning, otherwise the change looks good. |
1df5a5e to
a01a898
Compare
On-behalf-of: SAP nils.gondermann@sap.com
a01a898 to
aa99a67
Compare
This adds the ability to set the system scope for RoleAssignments. Currently only 'all' is a supported value as per OpenStack API. I also added a api validation test to ensure that
projectdomainandsystemscope are mutually exclusive.Closes #923