diff options
| author | Dan Prince <dan.prince@rackspace.com> | 2011-09-20 08:47:57 -0400 |
|---|---|---|
| committer | Dan Prince <dan.prince@rackspace.com> | 2011-09-20 11:38:10 -0400 |
| commit | eee307a8967d5bef6c45b3e4b0ba4a9d8e855158 (patch) | |
| tree | 62673fb126d57049e2587fe4405097e93a86cdbc | |
| parent | 1656c6570230f310904ad5fec2f6c4a6e7915545 (diff) | |
Update validate_service_or_keystone_admin_token so that it doesn't cause
exceptions if the admin or service admin haven't been configured.
Change-Id: I86e3d6ce439740832aee0351d431e64e17c7a1b2
Add logging.
Change-Id: I06b4ce501bc8c1d9fb2533c4ee793ee179503060
| -rwxr-xr-x | keystone/logic/service.py | 14 |
1 files changed, 12 insertions, 2 deletions
diff --git a/keystone/logic/service.py b/keystone/logic/service.py index 8c29d014..a8c88f13 100755 --- a/keystone/logic/service.py +++ b/keystone/logic/service.py @@ -15,6 +15,7 @@ from datetime import datetime, timedelta import uuid +import logging from keystone.logic.types import auth, atom from keystone.logic.signer import Signer @@ -30,6 +31,9 @@ from keystone.logic.types.endpoint import Endpoint, Endpoints, \ EndpointTemplate, EndpointTemplates +LOG = logging.getLogger('keystone.logic.service') + + class IdentityService(object): """Implements Identity service""" @@ -513,11 +517,17 @@ class IdentityService(object): if backends.ADMIN_ROLE_ID is None: role = api.ROLE.get_by_name(backends.ADMIN_ROLE_NAME) - backends.ADMIN_ROLE_ID = role.id + if role: + backends.ADMIN_ROLE_ID = role.id + else: + LOG.error('Admin role is missing.') if backends.SERVICE_ADMIN_ROLE_ID is None: role = api.ROLE.get_by_name(backends.SERVICE_ADMIN_ROLE_NAME) - backends.SERVICE_ADMIN_ROLE_ID = role.id + if role: + backends.SERVICE_ADMIN_ROLE_ID = role.id + else: + LOG.warn('No service admin role is defined.') for role_ref in api.ROLE.ref_get_all_global_roles(user.id): if (role_ref.role_id == backends.ADMIN_ROLE_ID or \ |
