summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorDavanum Srinivas <dims@linux.vnet.ibm.com>2013-11-11 20:19:32 -0500
committerDemontiê Junior <demontie@lsd.ufcg.edu.br>2013-12-02 10:30:50 -0300
commite571cc0df3b1dc0666110f1b397f20ec0fb943c0 (patch)
treefc069b97e077a8f6f7fa7a2cf427dcea7e4de5f4
parentfab0dba3ef990239f56a5cdde9f2b935cbbb95e3 (diff)
downloadoslo-context-e571cc0df3b1dc0666110f1b397f20ec0fb943c0.tar.gz
Adding domain to context and log
Add support for upcoming "domain" concept in Keystone V3 API in both logging and context. Closes-Bug: #1248936 Implements: blueprint add-domain-info-to-context Change-Id: Ic2cf3e52cfcc0b8adccdf9c59afaa4014708a303
-rw-r--r--openstack/common/context.py21
1 files changed, 19 insertions, 2 deletions
diff --git a/openstack/common/context.py b/openstack/common/context.py
index 2e46d70..182b044 100644
--- a/openstack/common/context.py
+++ b/openstack/common/context.py
@@ -36,12 +36,18 @@ class RequestContext(object):
accesses the system, as well as additional request information.
"""
- def __init__(self, auth_token=None, user=None, tenant=None, is_admin=False,
+ user_idt_format = '{user} {tenant} {domain} {user_domain} {p_domain}'
+
+ def __init__(self, auth_token=None, user=None, tenant=None, domain=None,
+ user_domain=None, project_domain=None, is_admin=False,
read_only=False, show_deleted=False, request_id=None,
instance_uuid=None):
self.auth_token = auth_token
self.user = user
self.tenant = tenant
+ self.domain = domain
+ self.user_domain = user_domain
+ self.project_domain = project_domain
self.is_admin = is_admin
self.read_only = read_only
self.show_deleted = show_deleted
@@ -51,14 +57,25 @@ class RequestContext(object):
self.request_id = request_id
def to_dict(self):
+ user_idt = (
+ self.user_idt_format.format(user=self.user or '-',
+ tenant=self.tenant or '-',
+ domain=self.domain or '-',
+ user_domain=self.user_domain or '-',
+ p_domain=self.project_domain or '-'))
+
return {'user': self.user,
'tenant': self.tenant,
+ 'domain': self.domain,
+ 'user_domain': self.user_domain,
+ 'project_domain': self.project_domain,
'is_admin': self.is_admin,
'read_only': self.read_only,
'show_deleted': self.show_deleted,
'auth_token': self.auth_token,
'request_id': self.request_id,
- 'instance_uuid': self.instance_uuid}
+ 'instance_uuid': self.instance_uuid,
+ 'user_identity': user_idt}
def get_admin_context(show_deleted=False):