Provide region name while initialize clients
Add new option 'region_name' to config for each client section. Change-Id: Ifad8908852f4be69dd294a4c4ab28d2e1df265e8 Closes-Bug: #1787937
This commit is contained in:
@@ -83,8 +83,10 @@ class OpenStackClients(object):
|
|||||||
|
|
||||||
novaclient_version = self._get_client_option('nova', 'api_version')
|
novaclient_version = self._get_client_option('nova', 'api_version')
|
||||||
nova_endpoint_type = self._get_client_option('nova', 'endpoint_type')
|
nova_endpoint_type = self._get_client_option('nova', 'endpoint_type')
|
||||||
|
nova_region_name = self._get_client_option('nova', 'region_name')
|
||||||
self._nova = nvclient.Client(novaclient_version,
|
self._nova = nvclient.Client(novaclient_version,
|
||||||
endpoint_type=nova_endpoint_type,
|
endpoint_type=nova_endpoint_type,
|
||||||
|
region_name=nova_region_name,
|
||||||
session=self.session)
|
session=self.session)
|
||||||
return self._nova
|
return self._nova
|
||||||
|
|
||||||
@@ -96,8 +98,10 @@ class OpenStackClients(object):
|
|||||||
glanceclient_version = self._get_client_option('glance', 'api_version')
|
glanceclient_version = self._get_client_option('glance', 'api_version')
|
||||||
glance_endpoint_type = self._get_client_option('glance',
|
glance_endpoint_type = self._get_client_option('glance',
|
||||||
'endpoint_type')
|
'endpoint_type')
|
||||||
|
glance_region_name = self._get_client_option('glance', 'region_name')
|
||||||
self._glance = glclient.Client(glanceclient_version,
|
self._glance = glclient.Client(glanceclient_version,
|
||||||
interface=glance_endpoint_type,
|
interface=glance_endpoint_type,
|
||||||
|
region_name=glance_region_name,
|
||||||
session=self.session)
|
session=self.session)
|
||||||
return self._glance
|
return self._glance
|
||||||
|
|
||||||
@@ -110,8 +114,11 @@ class OpenStackClients(object):
|
|||||||
'api_version')
|
'api_version')
|
||||||
gnocchiclient_interface = self._get_client_option('gnocchi',
|
gnocchiclient_interface = self._get_client_option('gnocchi',
|
||||||
'endpoint_type')
|
'endpoint_type')
|
||||||
|
gnocchiclient_region_name = self._get_client_option('gnocchi',
|
||||||
|
'region_name')
|
||||||
adapter_options = {
|
adapter_options = {
|
||||||
"interface": gnocchiclient_interface
|
"interface": gnocchiclient_interface,
|
||||||
|
"region_name": gnocchiclient_region_name
|
||||||
}
|
}
|
||||||
|
|
||||||
self._gnocchi = gnclient.Client(gnocchiclient_version,
|
self._gnocchi = gnclient.Client(gnocchiclient_version,
|
||||||
@@ -127,8 +134,10 @@ class OpenStackClients(object):
|
|||||||
cinderclient_version = self._get_client_option('cinder', 'api_version')
|
cinderclient_version = self._get_client_option('cinder', 'api_version')
|
||||||
cinder_endpoint_type = self._get_client_option('cinder',
|
cinder_endpoint_type = self._get_client_option('cinder',
|
||||||
'endpoint_type')
|
'endpoint_type')
|
||||||
|
cinder_region_name = self._get_client_option('cinder', 'region_name')
|
||||||
self._cinder = ciclient.Client(cinderclient_version,
|
self._cinder = ciclient.Client(cinderclient_version,
|
||||||
endpoint_type=cinder_endpoint_type,
|
endpoint_type=cinder_endpoint_type,
|
||||||
|
region_name=cinder_region_name,
|
||||||
session=self.session)
|
session=self.session)
|
||||||
return self._cinder
|
return self._cinder
|
||||||
|
|
||||||
@@ -141,9 +150,12 @@ class OpenStackClients(object):
|
|||||||
'api_version')
|
'api_version')
|
||||||
ceilometer_endpoint_type = self._get_client_option('ceilometer',
|
ceilometer_endpoint_type = self._get_client_option('ceilometer',
|
||||||
'endpoint_type')
|
'endpoint_type')
|
||||||
|
ceilometer_region_name = self._get_client_option('ceilometer',
|
||||||
|
'region_name')
|
||||||
self._ceilometer = ceclient.get_client(
|
self._ceilometer = ceclient.get_client(
|
||||||
ceilometerclient_version,
|
ceilometerclient_version,
|
||||||
endpoint_type=ceilometer_endpoint_type,
|
endpoint_type=ceilometer_endpoint_type,
|
||||||
|
region_name=ceilometer_region_name,
|
||||||
session=self.session)
|
session=self.session)
|
||||||
return self._ceilometer
|
return self._ceilometer
|
||||||
|
|
||||||
@@ -156,6 +168,8 @@ class OpenStackClients(object):
|
|||||||
'monasca', 'api_version')
|
'monasca', 'api_version')
|
||||||
monascaclient_interface = self._get_client_option(
|
monascaclient_interface = self._get_client_option(
|
||||||
'monasca', 'interface')
|
'monasca', 'interface')
|
||||||
|
monascaclient_region = self._get_client_option(
|
||||||
|
'monasca', 'region_name')
|
||||||
token = self.session.get_token()
|
token = self.session.get_token()
|
||||||
watcher_clients_auth_config = CONF.get(_CLIENTS_AUTH_GROUP)
|
watcher_clients_auth_config = CONF.get(_CLIENTS_AUTH_GROUP)
|
||||||
service_type = 'monitoring'
|
service_type = 'monitoring'
|
||||||
@@ -172,7 +186,8 @@ class OpenStackClients(object):
|
|||||||
'password': watcher_clients_auth_config.password,
|
'password': watcher_clients_auth_config.password,
|
||||||
}
|
}
|
||||||
endpoint = self.session.get_endpoint(service_type=service_type,
|
endpoint = self.session.get_endpoint(service_type=service_type,
|
||||||
interface=monascaclient_interface)
|
interface=monascaclient_interface,
|
||||||
|
region_name=monascaclient_region)
|
||||||
|
|
||||||
self._monasca = monclient.Client(
|
self._monasca = monclient.Client(
|
||||||
monascaclient_version, endpoint, **monasca_kwargs)
|
monascaclient_version, endpoint, **monasca_kwargs)
|
||||||
@@ -188,9 +203,11 @@ class OpenStackClients(object):
|
|||||||
'api_version')
|
'api_version')
|
||||||
neutron_endpoint_type = self._get_client_option('neutron',
|
neutron_endpoint_type = self._get_client_option('neutron',
|
||||||
'endpoint_type')
|
'endpoint_type')
|
||||||
|
neutron_region_name = self._get_client_option('neutron', 'region_name')
|
||||||
|
|
||||||
self._neutron = netclient.Client(neutronclient_version,
|
self._neutron = netclient.Client(neutronclient_version,
|
||||||
endpoint_type=neutron_endpoint_type,
|
endpoint_type=neutron_endpoint_type,
|
||||||
|
region_name=neutron_region_name,
|
||||||
session=self.session)
|
session=self.session)
|
||||||
self._neutron.format = 'json'
|
self._neutron.format = 'json'
|
||||||
return self._neutron
|
return self._neutron
|
||||||
@@ -202,7 +219,9 @@ class OpenStackClients(object):
|
|||||||
|
|
||||||
ironicclient_version = self._get_client_option('ironic', 'api_version')
|
ironicclient_version = self._get_client_option('ironic', 'api_version')
|
||||||
endpoint_type = self._get_client_option('ironic', 'endpoint_type')
|
endpoint_type = self._get_client_option('ironic', 'endpoint_type')
|
||||||
|
ironic_region_name = self._get_client_option('ironic', 'region_name')
|
||||||
self._ironic = irclient.get_client(ironicclient_version,
|
self._ironic = irclient.get_client(ironicclient_version,
|
||||||
os_endpoint_type=endpoint_type,
|
os_endpoint_type=endpoint_type,
|
||||||
|
region_name=ironic_region_name,
|
||||||
session=self.session)
|
session=self.session)
|
||||||
return self._ironic
|
return self._ironic
|
||||||
|
@@ -30,7 +30,10 @@ CEILOMETER_CLIENT_OPTS = [
|
|||||||
default='internalURL',
|
default='internalURL',
|
||||||
help='Type of endpoint to use in ceilometerclient.'
|
help='Type of endpoint to use in ceilometerclient.'
|
||||||
'Supported values: internalURL, publicURL, adminURL'
|
'Supported values: internalURL, publicURL, adminURL'
|
||||||
'The default is internalURL.')]
|
'The default is internalURL.'),
|
||||||
|
cfg.StrOpt('region_name',
|
||||||
|
help='Region in Identity service catalog to use for '
|
||||||
|
'communication with the OpenStack service.')]
|
||||||
|
|
||||||
|
|
||||||
def register_opts(conf):
|
def register_opts(conf):
|
||||||
|
@@ -29,7 +29,10 @@ CINDER_CLIENT_OPTS = [
|
|||||||
default='publicURL',
|
default='publicURL',
|
||||||
help='Type of endpoint to use in cinderclient.'
|
help='Type of endpoint to use in cinderclient.'
|
||||||
'Supported values: internalURL, publicURL, adminURL'
|
'Supported values: internalURL, publicURL, adminURL'
|
||||||
'The default is publicURL.')]
|
'The default is publicURL.'),
|
||||||
|
cfg.StrOpt('region_name',
|
||||||
|
help='Region in Identity service catalog to use for '
|
||||||
|
'communication with the OpenStack service.')]
|
||||||
|
|
||||||
|
|
||||||
def register_opts(conf):
|
def register_opts(conf):
|
||||||
|
@@ -29,7 +29,10 @@ GLANCE_CLIENT_OPTS = [
|
|||||||
default='publicURL',
|
default='publicURL',
|
||||||
help='Type of endpoint to use in glanceclient.'
|
help='Type of endpoint to use in glanceclient.'
|
||||||
'Supported values: internalURL, publicURL, adminURL'
|
'Supported values: internalURL, publicURL, adminURL'
|
||||||
'The default is publicURL.')]
|
'The default is publicURL.'),
|
||||||
|
cfg.StrOpt('region_name',
|
||||||
|
help='Region in Identity service catalog to use for '
|
||||||
|
'communication with the OpenStack service.')]
|
||||||
|
|
||||||
|
|
||||||
def register_opts(conf):
|
def register_opts(conf):
|
||||||
|
@@ -30,6 +30,9 @@ GNOCCHI_CLIENT_OPTS = [
|
|||||||
help='Type of endpoint to use in gnocchi client.'
|
help='Type of endpoint to use in gnocchi client.'
|
||||||
'Supported values: internal, public, admin'
|
'Supported values: internal, public, admin'
|
||||||
'The default is public.'),
|
'The default is public.'),
|
||||||
|
cfg.StrOpt('region_name',
|
||||||
|
help='Region in Identity service catalog to use for '
|
||||||
|
'communication with the OpenStack service.'),
|
||||||
cfg.IntOpt('query_max_retries',
|
cfg.IntOpt('query_max_retries',
|
||||||
default=10,
|
default=10,
|
||||||
mutable=True,
|
mutable=True,
|
||||||
|
@@ -29,7 +29,10 @@ IRONIC_CLIENT_OPTS = [
|
|||||||
default='publicURL',
|
default='publicURL',
|
||||||
help='Type of endpoint to use in ironicclient.'
|
help='Type of endpoint to use in ironicclient.'
|
||||||
'Supported values: internalURL, publicURL, adminURL'
|
'Supported values: internalURL, publicURL, adminURL'
|
||||||
'The default is publicURL.')]
|
'The default is publicURL.'),
|
||||||
|
cfg.StrOpt('region_name',
|
||||||
|
help='Region in Identity service catalog to use for '
|
||||||
|
'communication with the OpenStack service.')]
|
||||||
|
|
||||||
|
|
||||||
def register_opts(conf):
|
def register_opts(conf):
|
||||||
|
@@ -29,7 +29,10 @@ MONASCA_CLIENT_OPTS = [
|
|||||||
default='internal',
|
default='internal',
|
||||||
help='Type of interface used for monasca endpoint.'
|
help='Type of interface used for monasca endpoint.'
|
||||||
'Supported values: internal, public, admin'
|
'Supported values: internal, public, admin'
|
||||||
'The default is internal.')]
|
'The default is internal.'),
|
||||||
|
cfg.StrOpt('region_name',
|
||||||
|
help='Region in Identity service catalog to use for '
|
||||||
|
'communication with the OpenStack service.')]
|
||||||
|
|
||||||
|
|
||||||
def register_opts(conf):
|
def register_opts(conf):
|
||||||
|
@@ -29,7 +29,10 @@ NEUTRON_CLIENT_OPTS = [
|
|||||||
default='publicURL',
|
default='publicURL',
|
||||||
help='Type of endpoint to use in neutronclient.'
|
help='Type of endpoint to use in neutronclient.'
|
||||||
'Supported values: internalURL, publicURL, adminURL'
|
'Supported values: internalURL, publicURL, adminURL'
|
||||||
'The default is publicURL.')]
|
'The default is publicURL.'),
|
||||||
|
cfg.StrOpt('region_name',
|
||||||
|
help='Region in Identity service catalog to use for '
|
||||||
|
'communication with the OpenStack service.')]
|
||||||
|
|
||||||
|
|
||||||
def register_opts(conf):
|
def register_opts(conf):
|
||||||
|
@@ -29,7 +29,10 @@ NOVA_CLIENT_OPTS = [
|
|||||||
default='publicURL',
|
default='publicURL',
|
||||||
help='Type of endpoint to use in novaclient.'
|
help='Type of endpoint to use in novaclient.'
|
||||||
'Supported values: internalURL, publicURL, adminURL'
|
'Supported values: internalURL, publicURL, adminURL'
|
||||||
'The default is publicURL.')]
|
'The default is publicURL.'),
|
||||||
|
cfg.StrOpt('region_name',
|
||||||
|
help='Region in Identity service catalog to use for '
|
||||||
|
'communication with the OpenStack service.')]
|
||||||
|
|
||||||
|
|
||||||
def register_opts(conf):
|
def register_opts(conf):
|
||||||
|
@@ -120,6 +120,7 @@ class TestClients(base.TestCase):
|
|||||||
mock_call.assert_called_once_with(
|
mock_call.assert_called_once_with(
|
||||||
CONF.nova_client.api_version,
|
CONF.nova_client.api_version,
|
||||||
endpoint_type=CONF.nova_client.endpoint_type,
|
endpoint_type=CONF.nova_client.endpoint_type,
|
||||||
|
region_name=CONF.nova_client.region_name,
|
||||||
session=mock_session)
|
session=mock_session)
|
||||||
|
|
||||||
@mock.patch.object(clients.OpenStackClients, 'session')
|
@mock.patch.object(clients.OpenStackClients, 'session')
|
||||||
@@ -155,6 +156,7 @@ class TestClients(base.TestCase):
|
|||||||
mock_call.assert_called_once_with(
|
mock_call.assert_called_once_with(
|
||||||
CONF.glance_client.api_version,
|
CONF.glance_client.api_version,
|
||||||
interface=CONF.glance_client.endpoint_type,
|
interface=CONF.glance_client.endpoint_type,
|
||||||
|
region_name=CONF.glance_client.region_name,
|
||||||
session=mock_session)
|
session=mock_session)
|
||||||
|
|
||||||
@mock.patch.object(clients.OpenStackClients, 'session')
|
@mock.patch.object(clients.OpenStackClients, 'session')
|
||||||
@@ -191,7 +193,8 @@ class TestClients(base.TestCase):
|
|||||||
mock_call.assert_called_once_with(
|
mock_call.assert_called_once_with(
|
||||||
CONF.gnocchi_client.api_version,
|
CONF.gnocchi_client.api_version,
|
||||||
adapter_options={
|
adapter_options={
|
||||||
"interface": CONF.gnocchi_client.endpoint_type},
|
"interface": CONF.gnocchi_client.endpoint_type,
|
||||||
|
"region_name": CONF.gnocchi_client.region_name},
|
||||||
session=mock_session)
|
session=mock_session)
|
||||||
|
|
||||||
@mock.patch.object(clients.OpenStackClients, 'session')
|
@mock.patch.object(clients.OpenStackClients, 'session')
|
||||||
@@ -229,6 +232,7 @@ class TestClients(base.TestCase):
|
|||||||
mock_call.assert_called_once_with(
|
mock_call.assert_called_once_with(
|
||||||
CONF.cinder_client.api_version,
|
CONF.cinder_client.api_version,
|
||||||
endpoint_type=CONF.cinder_client.endpoint_type,
|
endpoint_type=CONF.cinder_client.endpoint_type,
|
||||||
|
region_name=CONF.cinder_client.region_name,
|
||||||
session=mock_session)
|
session=mock_session)
|
||||||
|
|
||||||
@mock.patch.object(clients.OpenStackClients, 'session')
|
@mock.patch.object(clients.OpenStackClients, 'session')
|
||||||
@@ -266,6 +270,7 @@ class TestClients(base.TestCase):
|
|||||||
CONF.ceilometer_client.api_version,
|
CONF.ceilometer_client.api_version,
|
||||||
None,
|
None,
|
||||||
endpoint_type=CONF.ceilometer_client.endpoint_type,
|
endpoint_type=CONF.ceilometer_client.endpoint_type,
|
||||||
|
region_name=CONF.ceilometer_client.region_name,
|
||||||
session=mock_session)
|
session=mock_session)
|
||||||
|
|
||||||
@mock.patch.object(clients.OpenStackClients, 'session')
|
@mock.patch.object(clients.OpenStackClients, 'session')
|
||||||
@@ -314,6 +319,7 @@ class TestClients(base.TestCase):
|
|||||||
mock_call.assert_called_once_with(
|
mock_call.assert_called_once_with(
|
||||||
CONF.neutron_client.api_version,
|
CONF.neutron_client.api_version,
|
||||||
endpoint_type=CONF.neutron_client.endpoint_type,
|
endpoint_type=CONF.neutron_client.endpoint_type,
|
||||||
|
region_name=CONF.neutron_client.region_name,
|
||||||
session=mock_session)
|
session=mock_session)
|
||||||
|
|
||||||
@mock.patch.object(clients.OpenStackClients, 'session')
|
@mock.patch.object(clients.OpenStackClients, 'session')
|
||||||
|
Reference in New Issue
Block a user