From e571cc0df3b1dc0666110f1b397f20ec0fb943c0 Mon Sep 17 00:00:00 2001 From: Davanum Srinivas Date: Mon, 11 Nov 2013 20:19:32 -0500 Subject: [PATCH] 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 --- openstack/common/context.py | 21 +++++++++++++++++++-- 1 file 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):