Almost exactly 5 minutes after getting the incomplete list of projects, re-listing the projects yielded a complete list of projects.
I suspect caching because from the source code:
# TODO(henry-nash): We might want to consider list limiting this at some
# point in the future.
@MEMOIZE_COMPUTED_ASSIGNMENTS
def list_projects_for_user(self, user_id):
# FIXME(lbragstad): Without the use of caching, listing effective role
# assignments is slow, especially with large data set (lots of users
# with multiple role assignments). This should serve as a marker in
# case we have the opportunity to come back and optimize this code so
# that it can be performant without having a hard dependency on
# caching. Please see https://bugs.launchpad.net/keystone/+bug/1700852
# for more details.
and from our config:
[cache]
expiration_time=600
What I still don't understand is why there appears to be no caching delay when we do the inherited role assignments first.
That being said, I don't think this is a bug anymore. More like a known issue that I didn't know about yesterday.
It appears I have been fooled by caching.
Almost exactly 5 minutes after getting the incomplete list of projects, re-listing the projects yielded a complete list of projects.
I suspect caching because from the source code:
# TODO(henry-nash): We might want to consider list limiting this at some COMPUTED_ ASSIGNMENTS for_user( self, user_id): /bugs.launchpad .net/keystone/ +bug/1700852
# point in the future.
@MEMOIZE_
def list_projects_
# FIXME(lbragstad): Without the use of caching, listing effective role
# assignments is slow, especially with large data set (lots of users
# with multiple role assignments). This should serve as a marker in
# case we have the opportunity to come back and optimize this code so
# that it can be performant without having a hard dependency on
# caching. Please see https:/
# for more details.
and from our config:
[cache]
expiration_time=600
What I still don't understand is why there appears to be no caching delay when we do the inherited role assignments first.
That being said, I don't think this is a bug anymore. More like a known issue that I didn't know about yesterday.