Pass the service-catalog if any to the context
Change-Id: Idc005b39f28a0fd30058d263643a44c777682f35
This commit is contained in:
parent
2e1c6ca95d
commit
3388c37be1
@ -108,12 +108,18 @@ class KeystoneContextMiddleware(ContextMiddleware):
|
|||||||
#If the key is valid, Keystone does not include this header at all
|
#If the key is valid, Keystone does not include this header at all
|
||||||
pass
|
pass
|
||||||
|
|
||||||
|
if headers.get('X-Service-Catalog'):
|
||||||
|
catalog = json.loads(headers.get('X-Service-Catalog'))
|
||||||
|
else:
|
||||||
|
catalog = None
|
||||||
|
|
||||||
roles = headers.get('X-Roles').split(',')
|
roles = headers.get('X-Roles').split(',')
|
||||||
|
|
||||||
context = DesignateContext(auth_token=headers.get('X-Auth-Token'),
|
context = DesignateContext(auth_token=headers.get('X-Auth-Token'),
|
||||||
user=headers.get('X-User-ID'),
|
user=headers.get('X-User-ID'),
|
||||||
tenant=headers.get('X-Tenant-ID'),
|
tenant=headers.get('X-Tenant-ID'),
|
||||||
roles=roles)
|
roles=roles,
|
||||||
|
service_catalog=catalog)
|
||||||
|
|
||||||
# Store the context where oslo-log exepcts to find it.
|
# Store the context where oslo-log exepcts to find it.
|
||||||
local.store.context = context
|
local.store.context = context
|
||||||
|
@ -24,7 +24,7 @@ LOG = logging.getLogger(__name__)
|
|||||||
class DesignateContext(context.RequestContext):
|
class DesignateContext(context.RequestContext):
|
||||||
def __init__(self, auth_token=None, user=None, tenant=None, is_admin=False,
|
def __init__(self, auth_token=None, user=None, tenant=None, is_admin=False,
|
||||||
read_only=False, show_deleted=False, request_id=None,
|
read_only=False, show_deleted=False, request_id=None,
|
||||||
roles=[]):
|
roles=[], service_catalog=None):
|
||||||
super(DesignateContext, self).__init__(
|
super(DesignateContext, self).__init__(
|
||||||
auth_token=auth_token,
|
auth_token=auth_token,
|
||||||
user=user,
|
user=user,
|
||||||
@ -36,6 +36,7 @@ class DesignateContext(context.RequestContext):
|
|||||||
|
|
||||||
self._original_tenant_id = None
|
self._original_tenant_id = None
|
||||||
self.roles = roles
|
self.roles = roles
|
||||||
|
self.service_catalog = service_catalog
|
||||||
|
|
||||||
def sudo(self, tenant_id, force=False):
|
def sudo(self, tenant_id, force=False):
|
||||||
if force:
|
if force:
|
||||||
@ -65,6 +66,7 @@ class DesignateContext(context.RequestContext):
|
|||||||
'tenant_id': self.tenant_id,
|
'tenant_id': self.tenant_id,
|
||||||
'original_tenant_id': self.original_tenant_id,
|
'original_tenant_id': self.original_tenant_id,
|
||||||
'roles': self.roles,
|
'roles': self.roles,
|
||||||
|
'service_catalog': self.service_catalog
|
||||||
})
|
})
|
||||||
|
|
||||||
return d
|
return d
|
||||||
|
Loading…
Reference in New Issue
Block a user