diff --git a/keystonemiddleware/audit/_api.py b/keystonemiddleware/audit/_api.py index c89abaa2..80f04af4 100644 --- a/keystonemiddleware/audit/_api.py +++ b/keystonemiddleware/audit/_api.py @@ -196,7 +196,7 @@ class OpenStackAuditApi(object): endp['type'], taxonomy.UNKNOWN), name=endp['name'], - id=endp['endpoints'][0].get('id', endp['name']), + id=endp.get('id', endp['name']), admin_endp=endpoint.Endpoint( name='admin', url=endp['endpoints'][0].get('adminURL', taxonomy.UNKNOWN)), diff --git a/keystonemiddleware/auth_token/_request.py b/keystonemiddleware/auth_token/_request.py index cba28bfd..2090e7dd 100644 --- a/keystonemiddleware/auth_token/_request.py +++ b/keystonemiddleware/auth_token/_request.py @@ -24,6 +24,7 @@ def _normalize_catalog(catalog): service = {'type': v3_service['type']} try: service['name'] = v3_service['name'] + service['id'] = v3_service['id'] except KeyError: # nosec # v3 service doesn't have a name, move on. pass diff --git a/keystonemiddleware/tests/unit/audit/base.py b/keystonemiddleware/tests/unit/audit/base.py index d2faab17..8d5ba6e5 100644 --- a/keystonemiddleware/tests/unit/audit/base.py +++ b/keystonemiddleware/tests/unit/audit/base.py @@ -76,8 +76,8 @@ class BaseAuditMiddlewareTest(utils.MiddlewareTestCase): "publicURL": "http://public_host:8774", "internalURL": - "http://internal_host:8774", - "id": "resource_id"}], + "http://internal_host:8774"}], + "id": "resource_id", "type": "compute", "name": "nova"}]''', 'HTTP_X_USER_ID': 'user_id',