diff options
author | Davanum Srinivas <dims@linux.vnet.ibm.com> | 2013-11-11 20:19:32 -0500 |
---|---|---|
committer | Demontiê Junior <demontie@lsd.ufcg.edu.br> | 2013-12-02 10:30:50 -0300 |
commit | e571cc0df3b1dc0666110f1b397f20ec0fb943c0 (patch) | |
tree | fc069b97e077a8f6f7fa7a2cf427dcea7e4de5f4 | |
parent | fab0dba3ef990239f56a5cdde9f2b935cbbb95e3 (diff) | |
download | oslo-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.py | 21 |
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): |