summaryrefslogtreecommitdiffstats
path: root/newton/newton/requests/views/util.py
diff options
context:
space:
mode:
authorBin Yang <bin.yang@windriver.com>2017-09-06 15:30:42 +0800
committerBin Yang <bin.yang@windriver.com>2017-09-06 15:33:09 +0800
commit6f89e2f32ed4bb2a6a6a5447f53dedc12e556bbc (patch)
tree8000f4d15abf0554a5e5b8d7b69e96e12820800e /newton/newton/requests/views/util.py
parent21da6a95b1c043c5a17ce1e802295aea26de5a8d (diff)
Refactor proxy API
refactor logger and auth method fix identity proxy bug Change-Id: Ie26c01c2fbf0869dcc77b8c182b775bce90b8d69 Issue-Id: MULTICLOUD-58 Signed-off-by: Bin Yang <bin.yang@windriver.com>
Diffstat (limited to 'newton/newton/requests/views/util.py')
-rw-r--r--newton/newton/requests/views/util.py40
1 files changed, 21 insertions, 19 deletions
diff --git a/newton/newton/requests/views/util.py b/newton/newton/requests/views/util.py
index b94a9ed3..c5046387 100644
--- a/newton/newton/requests/views/util.py
+++ b/newton/newton/requests/views/util.py
@@ -71,6 +71,11 @@ class VimDriverUtils(object):
username=vim["userName"],
password=vim["password"],
project_id=tenantid)
+ elif '/identity' in vim["url"]:
+ auth = keystone_v3.Password(auth_url=vim["url"]+"/v3",
+ username=vim["userName"],
+ password=vim["password"],
+ project_id=tenantid)
elif tenant_name:
if '/v2' in vim["url"]:
auth = keystone_v2.Password(auth_url=vim["url"],
@@ -84,6 +89,13 @@ class VimDriverUtils(object):
project_name=tenant_name,
user_domain_name=vim["domain"],
project_domain_name=vim["domain"])
+ elif '/identity' in vim["url"]:
+ auth = keystone_v3.Password(auth_url=vim["url"]+"/v3",
+ username=vim["userName"],
+ password=vim["password"],
+ project_name=tenant_name,
+ user_domain_name=vim["domain"],
+ project_domain_name=vim["domain"])
else:
#something wrong
@@ -124,40 +136,30 @@ class VimDriverUtils(object):
@staticmethod
- def update_token_cache(vim, session, old_token, auth_state, metadata=None):
+ def update_token_cache(vim, session, token, auth_state, metadata=None):
'''
cache the auth_state as well as metadata_catalog
:param vim:
:param session:
- :param old_token:
+ :param token:
:param auth_state:
:param matadata:
:return:
'''
- metadata_key = "meta_%s" % old_token
+ if metadata == None: #do not update token any more
+ return token
- if not metadata:
- metadata = cache.get(metadata_key)
- if not metadata:
- #something wrong since metadata is neither inputted, nor cached previously. but ignore temporarily
- pass
-
- tmp_auth_token = session.get_token()
- #check if need to update token:auth_state mapping
- if tmp_auth_token != old_token:
- cache.delete(old_token)
- cache.delete(metadata_key)
- metadata_key = "meta_%s" % tmp_auth_token
+ metadata_key = "meta_%s" % token
- elif not cache.get(old_token):
+ if not cache.get(token):
# store the auth_state, memcached
# set expiring in 1 hour
- cache.set(tmp_auth_token, auth_state, 3600)
+ cache.set(token, auth_state, 3600)
cache.set(metadata_key, metadata, 3600)
- #return new token
- return tmp_auth_token
+ return token
+
@staticmethod
def replace_a_key(dict_obj, keypair, reverse=False):