Skip loading auth plugin in case the property is set

Currently StoredContext object tries to load auth plugin even when
a specific property(eg. user_domain_id) is already set. However this
is redundant and we can use the value loaded from stack instead.

Backport note:
This change omits the change about GLOBAL_VENV parameter in devstack
because the parameter was added after 2023.1 release.

Story: 2010905
Task: 48723
Change-Id: I09805aa4e2d1b43528f70fb29c8981c01deff955
(cherry picked from commit 7197bd028b)
This commit is contained in:
Takashi Kajinami 2023-09-05 10:30:57 +09:00
parent 6a4c7b57b8
commit afe3e4aa51
1 changed files with 9 additions and 6 deletions

View File

@ -298,6 +298,7 @@ class StoredContext(RequestContext):
@property
def roles(self):
if self._roles is None:
if not getattr(self, '_keystone_loaded', False):
self._load_keystone_data()
return self._roles
@ -308,6 +309,7 @@ class StoredContext(RequestContext):
@property
def user_domain_id(self):
if self._user_domain_id is None:
if not getattr(self, '_keystone_loaded', False):
self._load_keystone_data()
return self._user_domain_id
@ -318,6 +320,7 @@ class StoredContext(RequestContext):
@property
def project_domain_id(self):
if self._project_domain_id is None:
if not getattr(self, '_keystone_loaded', False):
self._load_keystone_data()
return self._project_domain_id