From e0c0f8b7fafb940e66f7500ae57750e9edb925af Mon Sep 17 00:00:00 2001 From: Jakub Pavlik Date: Wed, 4 May 2016 22:40:21 -0700 Subject: [PATCH] Mitaka support for contrail-api compatible with new keystonemiddleware Closes-Bug: 1578495 Change-Id: I65d38e8e0e6f02b58a6504e60e4fd7be7e3c87b8 --- src/config/api-server/vnc_auth.py | 9 ---- src/config/api-server/vnc_auth_keystone.py | 59 +--------------------- 2 files changed, 1 insertion(+), 67 deletions(-) diff --git a/src/config/api-server/vnc_auth.py b/src/config/api-server/vnc_auth.py index 385c90670ae..0ef5d374493 100644 --- a/src/config/api-server/vnc_auth.py +++ b/src/config/api-server/vnc_auth.py @@ -21,18 +21,9 @@ def __init__(self, server_mgr, args): } self._server_mgr = server_mgr self._auth_method = args.auth - self._auth_token = None self._auth_middleware = None # end __init__ - def json_request(self, method, path): - return {} - # end json_request - - def get_projects(self): - return {} - # end get_projects - def get_middleware_app(self): return None # end get_middleware_app diff --git a/src/config/api-server/vnc_auth_keystone.py b/src/config/api-server/vnc_auth_keystone.py index f9a6d21217d..96326d2f9dd 100644 --- a/src/config/api-server/vnc_auth_keystone.py +++ b/src/config/api-server/vnc_auth_keystone.py @@ -155,7 +155,6 @@ def __init__(self, server_mgr, args): self._conf_info['cafile'] = _kscertbundle self._server_mgr = server_mgr self._auth_method = args.auth - self._auth_token = None self._auth_middleware = None self._mt_rbac = args.multi_tenancy_with_rbac self._multi_tenancy = args.multi_tenancy or args.multi_tenancy_with_rbac @@ -177,35 +176,6 @@ def __init__(self, server_mgr, args): self._conf_info['token_cache_time'] = args.token_cache_time # end __init__ - def json_request(self, method, path, retry_after_authn=False): - if self._auth_token is None or self._auth_middleware is None: - return {} - headers = {'X-Auth-Token': self._auth_token} - response, data = self._auth_middleware._json_request( - method, path, additional_headers=headers) - try: - status_code = response.status_code - except AttributeError: - status_code = response.status - - # avoid multiple reauth - if ((status_code == 401) and (not retry_after_authn)): - try: - self._auth_token = self._auth_middleware.get_admin_token() - return self.json_request(method, path, retry_after_authn=True) - except Exception as e: - self._server_mgr.config_log( - "Error in getting admin token from keystone: " + str(e), - level=SandeshLevel.SYS_WARN) - return {} - - return data if status_code == 200 else {} - # end json_request - - def get_projects(self): - return self.json_request('GET', '/v2.0/tenants') - # end get_projects - def get_middleware_app(self): if not self._auth_method: return None @@ -220,16 +190,6 @@ def get_middleware_app(self): auth_middleware = auth_token.AuthProtocol(app, self._conf_info) self._auth_middleware = auth_middleware - while True: - try: - self._auth_token = auth_middleware.get_admin_token() - break - except auth_token.ServiceError as e: - msg = "Error in getting admin token: " + str(e) - time.sleep(2) - - self._server_mgr.config_log("Auth token fetched from keystone.", - level=SandeshLevel.SYS_NOTICE) # open access for troubleshooting admin_port = self._conf_info['admin_port'] @@ -241,7 +201,7 @@ def get_middleware_app(self): # allow multi tenancy to be updated dynamically app = AuthPreKeystone( auth_middleware, - {'admin_token': self._auth_token}, + None, self._multi_tenancy) return app @@ -274,21 +234,4 @@ def validate_user_token(self, request): auth_middleware = auth_token.AuthProtocol(self.token_valid, conf_info) return auth_middleware(request.headers.environ, None) - # convert keystone user id to name - def user_id_to_name(self, id): - if id in self._ks_users: - return self._ks_users[id] - - # fetch from keystone - content = self.json_request('GET', '/v2.0/users') - if 'users' in content: - self._ks_users = dict((user['id'], user['name']) - for user in content['users']) - - # check it again - if id in self._ks_users: - return self._ks_users[id] - else: - return '' - # end user_id_to_name # end class AuthService