Merge "Filter endpoints using region name"
This commit is contained in:
@@ -82,3 +82,7 @@ options:
|
||||
Frequency of the auto retrofit cron job execution
|
||||
.
|
||||
It is one of ['hourly', 'daily', 'weekly']
|
||||
region:
|
||||
default: RegionOne
|
||||
type: string
|
||||
description: OpenStack Region
|
||||
|
||||
@@ -47,18 +47,21 @@ def session_from_identity_credentials(identity_credentials):
|
||||
return session
|
||||
|
||||
|
||||
def get_glance_client(session, endpoint_type=None):
|
||||
def get_glance_client(session, endpoint_type=None, region=None):
|
||||
"""Get Glance Client from Keystone Session.
|
||||
|
||||
:param session: Keystone Session object
|
||||
:type session: keystoneauth1.session.Session
|
||||
:param endpoint_type: Type of endpoint the client should connect to
|
||||
:type endpoint_type: Optional[str]
|
||||
:param region: The OpenStack region
|
||||
:type region: Optional[str]
|
||||
:returns: Glance Client
|
||||
:rtype: glanceclient.Client
|
||||
"""
|
||||
endpoint = session.auth.get_endpoint(
|
||||
session, service_type='image', interface=endpoint_type or 'publicURL')
|
||||
session, service_type='image', interface=endpoint_type or 'publicURL',
|
||||
region_name=region)
|
||||
return glanceclient.Client(
|
||||
'2', session=session, endpoint=endpoint)
|
||||
|
||||
|
||||
@@ -179,8 +179,10 @@ class OctaviaDiskimageRetrofitCharm(charms_openstack.charm.OpenStackCharm):
|
||||
"""
|
||||
session = glance_retrofitter.session_from_identity_credentials(
|
||||
keystone_endpoint)
|
||||
region = self.config["region"] or None
|
||||
glance = glance_retrofitter.get_glance_client(
|
||||
session, endpoint_type=self.endpoint_type())
|
||||
session, endpoint_type=self.endpoint_type(),
|
||||
region=region)
|
||||
|
||||
ubuntu_release = self.get_ubuntu_release(
|
||||
series=self.config['retrofit-series'])
|
||||
|
||||
@@ -52,7 +52,8 @@ class TestGlanceRetrofitter(test_utils.PatchHelper):
|
||||
result = glance_retrofitter.get_glance_client(
|
||||
session, endpoint_type='aEndpointType')
|
||||
session.auth.get_endpoint.assert_called_once_with(
|
||||
session, service_type='image', interface='aEndpointType')
|
||||
session, service_type='image', interface='aEndpointType',
|
||||
region_name=None)
|
||||
self.Client.assert_called_once_with(
|
||||
'2', session=session, endpoint=session.auth.get_endpoint())
|
||||
self.assertEqual(result, self.Client())
|
||||
@@ -60,7 +61,8 @@ class TestGlanceRetrofitter(test_utils.PatchHelper):
|
||||
result = glance_retrofitter.get_glance_client(
|
||||
session)
|
||||
session.auth.get_endpoint.assert_called_once_with(
|
||||
session, service_type='image', interface='publicURL')
|
||||
session, service_type='image', interface='publicURL',
|
||||
region_name=None)
|
||||
|
||||
def test_get_product_name(self):
|
||||
self.patch_object(glance_retrofitter.subprocess, 'check_output')
|
||||
|
||||
@@ -245,7 +245,7 @@ class TestOctaviaDiskimageRetrofitCharm(test_utils.PatchHelper):
|
||||
assert_called_once_with('aKeystone')
|
||||
self.glance_retrofitter.get_glance_client.assert_called_once_with(
|
||||
self.glance_retrofitter.session_from_identity_credentials(),
|
||||
endpoint_type='publicURL')
|
||||
endpoint_type='publicURL', region=None)
|
||||
self.glance_retrofitter.find_destination_image.return_value = \
|
||||
[]
|
||||
self.hookenv.env_proxy_settings.return_value = proxy_envvars
|
||||
|
||||
Reference in New Issue
Block a user