summaryrefslogtreecommitdiffstats
path: root/share/newton_base/proxy/proxy_utils.py
diff options
context:
space:
mode:
authorXiaohua Zhang <xiaohua.zhang@windriver.com>2018-09-20 04:53:04 +0000
committerXiaohua Zhang <xiaohua.zhang@windriver.com>2018-09-20 04:53:04 +0000
commitd6d8cbf451a596aa7cbaa240fbcafb288a3494bc (patch)
treee2ccc49af7370ba9dac76dc51f873bd0b01c045b /share/newton_base/proxy/proxy_utils.py
parentd6279df2157d37978895cb246b2e52cb992c3d1f (diff)
Filter endpoint filter mismatch with keystoneauth1
keystoneauth1 accept region_name as endpoint filter, which will match either region_id or region of the endpoint catalog Change-Id: I7ba1f7904e4b3004565d826f4ea3cd345ce45f62 Issue-ID: MULTICLOUD-364 Signed-off-by: Xiaohua Zhang <xiaohua.zhang@windriver.com>
Diffstat (limited to 'share/newton_base/proxy/proxy_utils.py')
-rw-r--r--share/newton_base/proxy/proxy_utils.py13
1 files changed, 7 insertions, 6 deletions
diff --git a/share/newton_base/proxy/proxy_utils.py b/share/newton_base/proxy/proxy_utils.py
index 28f5f3af..e82b4291 100644
--- a/share/newton_base/proxy/proxy_utils.py
+++ b/share/newton_base/proxy/proxy_utils.py
@@ -36,17 +36,18 @@ class ProxyUtils(object):
if not content:
return content
+ content_str = json.dumps(content)
+
for (servicetype, service_metadata) in metadata_catalog.items():
- real_prefix = service_metadata['prefix']
- proxy_prefix = service_metadata['proxy_prefix']
+ real_prefix = service_metadata.get('prefix', None)
+ proxy_prefix = service_metadata.get('proxy_prefix', None)
- if content:
+ if real_prefix and proxy_prefix:
# filter the resp content and replace all endpoint prefix
- tmp_content = json.dumps(content)
tmp_pattern = re.compile(real_prefix+r'([^:])')
- tmp_content = tmp_pattern.sub(proxy_prefix+r'\1', tmp_content)
- content = json.loads(tmp_content)
+ content_str = tmp_pattern.sub(proxy_prefix+r'\1', content_str)
+ content = json.loads(content_str)
return content
@staticmethod