diff options
author | Jenkins <jenkins@review.openstack.org> | 2017-07-20 11:48:37 +0000 |
---|---|---|
committer | Gerrit Code Review <review@openstack.org> | 2017-07-20 11:48:37 +0000 |
commit | acd690ae6c3c2e242c0c200ebac96c615a355d69 (patch) | |
tree | 22cf0efc31d62fc76468c4aad0844e29b340b314 /openstack_auth | |
parent | c6c8982fc1c65eb174ed72a548eb2a5691a91db4 (diff) | |
parent | 3227365bc66fdb2d8dbcdd8ccdee7a27aa058525 (diff) | |
download | django_openstack_auth-acd690ae6c3c2e242c0c200ebac96c615a355d69.tar.gz |
Merge "Allow for manual setting of default service region in config"
Diffstat (limited to 'openstack_auth')
-rw-r--r-- | openstack_auth/user.py | 5 | ||||
-rw-r--r-- | openstack_auth/utils.py | 6 |
2 files changed, 7 insertions, 4 deletions
diff --git a/openstack_auth/user.py b/openstack_auth/user.py index 3edb204..063648b 100644 --- a/openstack_auth/user.py +++ b/openstack_auth/user.py @@ -43,8 +43,11 @@ def set_session_from_user(request, user): def create_user_from_token(request, token, endpoint, services_region=None): # if the region is provided, use that, otherwise use the preferred region + default_service_regions = getattr(settings, 'DEFAULT_SERVICE_REGIONS', {}) + default_service_region = default_service_regions.get(endpoint) svc_region = services_region or \ - utils.default_services_region(token.serviceCatalog, request) + utils.default_services_region(token.serviceCatalog, request, + selected_region=default_service_region) return User(id=token.user['id'], token=token, user=token.user['name'], diff --git a/openstack_auth/utils.py b/openstack_auth/utils.py index d38d513..cac0d7a 100644 --- a/openstack_auth/utils.py +++ b/openstack_auth/utils.py @@ -375,7 +375,8 @@ def get_project_list(*args, **kwargs): return projects -def default_services_region(service_catalog, request=None): +def default_services_region(service_catalog, request=None, + selected_region=None): """Returns the first endpoint region for first non-identity service. Extracted from the service catalog. @@ -399,8 +400,7 @@ def default_services_region(service_catalog, request=None): LOG.error('No regions can be found in the service catalog.') return None - selected_region = None - if request: + if request and selected_region is None: selected_region = request.COOKIES.get('services_region', available_regions[0]) if selected_region not in available_regions: |