Fix Keystoneclient V2 wrapper for multi-region
Change-Id: I75b6c2f61f66f6a2867bfb3cecbc5a3bd58a5058
This commit is contained in:
parent
6395b8d39d
commit
732c977da9
@ -67,6 +67,10 @@ class KeystoneClientV2(object):
|
||||
'auth_url': self.context.auth_url,
|
||||
'region_name': cfg.CONF.region_name_for_services
|
||||
}
|
||||
|
||||
if self.context.region_name is not None:
|
||||
kwargs['region_name'] = self.context.region_name
|
||||
|
||||
auth_kwargs = {}
|
||||
# Note try trust_id first, as we can't reuse auth_token in that case
|
||||
if self.context.trust_id is not None:
|
||||
|
@ -46,7 +46,7 @@ class KeystoneClientTest(common.HeatTestCase):
|
||||
self.addCleanup(self.m.VerifyAll)
|
||||
|
||||
def _stubs_v2(self, method='token', auth_ok=True, trust_scoped=True,
|
||||
user_id='trustor_user_id'):
|
||||
user_id='trustor_user_id', region=None):
|
||||
self.mock_ks_client = self.m.CreateMock(heat_keystoneclient.kc.Client)
|
||||
self.m.StubOutWithMock(heat_keystoneclient.kc, "Client")
|
||||
if method == 'token':
|
||||
@ -57,7 +57,7 @@ class KeystoneClientTest(common.HeatTestCase):
|
||||
cacert=None,
|
||||
cert=None,
|
||||
insecure=False,
|
||||
region_name=None,
|
||||
region_name=region,
|
||||
key=None).AndReturn(self.mock_ks_client)
|
||||
self.mock_ks_client.authenticate().AndReturn(auth_ok)
|
||||
elif method == 'password':
|
||||
@ -70,7 +70,7 @@ class KeystoneClientTest(common.HeatTestCase):
|
||||
cacert=None,
|
||||
cert=None,
|
||||
insecure=False,
|
||||
region_name=None,
|
||||
region_name=region,
|
||||
key=None).AndReturn(self.mock_ks_client)
|
||||
self.mock_ks_client.authenticate().AndReturn(auth_ok)
|
||||
if method == 'trust':
|
||||
@ -82,7 +82,7 @@ class KeystoneClientTest(common.HeatTestCase):
|
||||
cacert=None,
|
||||
cert=None,
|
||||
insecure=False,
|
||||
region_name=None,
|
||||
region_name=region,
|
||||
key=None).AndReturn(self.mock_ks_client)
|
||||
self.mock_ks_client.authenticate(trust_id='atrust123',
|
||||
tenant_id='test_tenant_id'
|
||||
@ -212,6 +212,21 @@ class KeystoneClientTest(common.HeatTestCase):
|
||||
heat_ks_client = heat_keystoneclient.KeystoneClientV2(self.ctx)
|
||||
self.assertIsNotNone(heat_ks_client._client)
|
||||
|
||||
def test_region_name(self):
|
||||
"""Test region_name is used when specified."""
|
||||
|
||||
self._stubs_v2(method='trust', region='region123')
|
||||
self.m.ReplayAll()
|
||||
|
||||
self.ctx.username = None
|
||||
self.ctx.password = None
|
||||
self.ctx.auth_token = None
|
||||
self.ctx.trust_id = 'atrust123'
|
||||
self.ctx.trustor_user_id = 'trustor_user_id'
|
||||
self.ctx.region_name = 'region123'
|
||||
heat_keystoneclient.KeystoneClientV2(self.ctx)
|
||||
self.m.VerifyAll()
|
||||
|
||||
# ##################### #
|
||||
# V3 Compatible Methods #
|
||||
# ##################### #
|
||||
|
Loading…
Reference in New Issue
Block a user