Fix api_discovery with keystone v3
With keystone v3 to get a public endpoint for a service, we need to check for interface="public". Change-Id: I36de9adf04352073c9727bd3cc88379fbc353aa8
This commit is contained in:
parent
96a257e6c7
commit
5fa5f9c51d
@ -245,9 +245,14 @@ def discover(auth_provider, region, object_store_discovery=True,
|
||||
name = entry['type']
|
||||
services[name] = dict()
|
||||
for _ep in entry['endpoints']:
|
||||
if _ep['region'] == region:
|
||||
ep = _ep
|
||||
break
|
||||
if api_version == 3:
|
||||
if _ep['region'] == region and _ep['interface'] == 'public':
|
||||
ep = _ep
|
||||
break
|
||||
else:
|
||||
if _ep['region'] == region:
|
||||
ep = _ep
|
||||
break
|
||||
else:
|
||||
ep = entry['endpoints'][0]
|
||||
if 'identity' in ep[public_url]:
|
||||
|
Loading…
Reference in New Issue
Block a user