diff --git a/nova/tests/unit/virt/ironic/test_client_wrapper.py b/nova/tests/unit/virt/ironic/test_client_wrapper.py index 55fa07fb4df8..0ffb6125b095 100644 --- a/nova/tests/unit/virt/ironic/test_client_wrapper.py +++ b/nova/tests/unit/virt/ironic/test_client_wrapper.py @@ -42,6 +42,7 @@ class IronicClientWrapperTestCase(test.NoDBTestCase): self.ironicclient = client_wrapper.IronicClientWrapper() # Do not waste time sleeping cfg.CONF.set_override('api_retry_interval', 0, 'ironic') + cfg.CONF.set_override('region_name', 'RegionOne', 'ironic') get_ksa_adapter_p = mock.patch('nova.utils.get_ksa_adapter') self.addCleanup(get_ksa_adapter_p.stop) self.get_ksa_adapter = get_ksa_adapter_p.start() @@ -115,6 +116,7 @@ class IronicClientWrapperTestCase(test.NoDBTestCase): 'retry_interval': CONF.ironic.api_retry_interval, 'os_ironic_api_version': ['1.46', '1.38'], 'endpoint': None, + 'region_name': CONF.ironic.region_name, 'interface': ['internal', 'public']} mock_ir_cli.assert_called_once_with(1, **expected) diff --git a/nova/virt/ironic/client_wrapper.py b/nova/virt/ironic/client_wrapper.py index 3bd881d1c5b9..5b46ee9d5e1a 100644 --- a/nova/virt/ironic/client_wrapper.py +++ b/nova/virt/ironic/client_wrapper.py @@ -131,6 +131,10 @@ class IronicClientWrapper(object): if ironic_url is None: LOG.warning("Could not discover ironic_url via keystoneauth1: " "Adapter.get_endpoint %s", ironic_url_none_reason) + # NOTE(eandersson): We pass in region here to make sure + # that the Ironic client can make an educated decision when + # we don't have a valid endpoint to pass on. + kwargs['region_name'] = ironic_conf.region_name try: cli = ironic.client.get_client(IRONIC_API_VERSION[0],