summaryrefslogtreecommitdiff
path: root/pycadf
diff options
context:
space:
mode:
authorJenkins <jenkins@review.openstack.org>2013-10-29 21:31:24 +0000
committerGerrit Code Review <review@openstack.org>2013-10-29 21:31:24 +0000
commit52b891fc87c48027d10ac4a760ede98ecbe75441 (patch)
tree9e2ef497327980b62afbf47691150082b67406db /pycadf
parent2e436ada18e5b6d37342ff7969b189d4827df45d (diff)
parent7477d1120c1c1f2deb31903f9f086a8a34b5af88 (diff)
downloadpycadf-52b891fc87c48027d10ac4a760ede98ecbe75441.tar.gz
Merge "add namespace to all ids"0.2.2
Diffstat (limited to 'pycadf')
-rw-r--r--pycadf/audit/api.py6
-rw-r--r--pycadf/identifier.py6
-rw-r--r--pycadf/tests/audit/test_api.py9
3 files changed, 13 insertions, 8 deletions
diff --git a/pycadf/audit/api.py b/pycadf/audit/api.py
index a77fabb..88ccef8 100644
--- a/pycadf/audit/api.py
+++ b/pycadf/audit/api.py
@@ -166,7 +166,7 @@ class OpenStackAuditApi(object):
endp['type'],
taxonomy.UNKNOWN),
name=endp['name'],
- id=endp['endpoints'][0]['id'],
+ id=identifier.norm_ns(endp['endpoints'][0]['id']),
admin_endp=endpoint.Endpoint(
name='admin',
url=endp['endpoints'][0]['adminURL']),
@@ -210,13 +210,13 @@ class OpenStackAuditApi(object):
initiator = ClientResource(
typeURI=taxonomy.ACCOUNT_USER,
- id=str(req.environ['HTTP_X_USER_ID']),
+ id=identifier.norm_ns(str(req.environ['HTTP_X_USER_ID'])),
name=req.environ['HTTP_X_USER_NAME'],
host=initiator_host,
credential=KeystoneCredential(
token=req.environ['HTTP_X_AUTH_TOKEN'],
identity_status=req.environ['HTTP_X_IDENTITY_STATUS']),
- project_id=req.environ['HTTP_X_PROJECT_ID'])
+ project_id=identifier.norm_ns(req.environ['HTTP_X_PROJECT_ID']))
target = resource.Resource(typeURI=service_info.type,
id=service_info.id,
name=service_info.name)
diff --git a/pycadf/identifier.py b/pycadf/identifier.py
index 22d125b..1c59234 100644
--- a/pycadf/identifier.py
+++ b/pycadf/identifier.py
@@ -32,8 +32,12 @@ CONF.register_opts(opts, group='audit')
# a full openstack namespace/domain value via some declaration (e.g.
# "openstack:" == "http:\\www.openstack.org\")...
def generate_uuid():
+ return norm_ns(str(uuid.uuid4()))
+
+
+def norm_ns(str_id):
prefix = CONF.audit.namespace + ':' if CONF.audit.namespace else ''
- return prefix + str(uuid.uuid4())
+ return prefix + str_id
# TODO(mrutkows): validate any cadf:Identifier (type) record against
diff --git a/pycadf/tests/audit/test_api.py b/pycadf/tests/audit/test_api.py
index faefc72..12be8fd 100644
--- a/pycadf/tests/audit/test_api.py
+++ b/pycadf/tests/audit/test_api.py
@@ -69,15 +69,16 @@ class TestAuditApi(base.TestCase):
self.assertEqual(payload['outcome'], 'pending')
self.assertEqual(payload['eventType'], 'activity')
self.assertEqual(payload['target']['name'], 'nova')
- self.assertEqual(payload['target']['id'], 'resource_id')
+ self.assertEqual(payload['target']['id'], 'openstack:resource_id')
self.assertEqual(payload['target']['typeURI'], 'service/compute')
self.assertEqual(len(payload['target']['addresses']), 3)
self.assertEqual(payload['target']['addresses'][0]['name'], 'admin')
self.assertEqual(payload['target']['addresses'][0]['url'],
'http://host:8774/v2/admin')
- self.assertEqual(payload['initiator']['id'], 'user_id')
+ self.assertEqual(payload['initiator']['id'], 'openstack:user_id')
self.assertEqual(payload['initiator']['name'], 'user_name')
- self.assertEqual(payload['initiator']['project_id'], 'tenant_id')
+ self.assertEqual(payload['initiator']['project_id'],
+ 'openstack:tenant_id')
self.assertEqual(payload['initiator']['host']['address'],
'192.168.0.1')
self.assertEqual(payload['initiator']['typeURI'],
@@ -126,7 +127,7 @@ class TestAuditApi(base.TestCase):
self.assertEqual(payload['action'], 'read/list')
self.assertEqual(payload['outcome'], 'pending')
self.assertEqual(payload['target']['name'], 'nova')
- self.assertEqual(payload['target']['id'], 'resource_id')
+ self.assertEqual(payload['target']['id'], 'openstack:resource_id')
self.assertEqual(payload['target']['typeURI'], 'service/compute')
def test_put(self):