diff --git a/watcher/common/clients.py b/watcher/common/clients.py index a9f0bc75f..6ad35ea36 100755 --- a/watcher/common/clients.py +++ b/watcher/common/clients.py @@ -199,6 +199,6 @@ class OpenStackClients(object): ironicclient_version = self._get_client_option('ironic', 'api_version') endpoint_type = self._get_client_option('ironic', 'endpoint_type') self._ironic = irclient.get_client(ironicclient_version, - ironic_url=endpoint_type, + os_endpoint_type=endpoint_type, session=self.session) return self._ironic diff --git a/watcher/tests/common/test_clients.py b/watcher/tests/common/test_clients.py index 32ab071d9..fc4b5864f 100755 --- a/watcher/tests/common/test_clients.py +++ b/watcher/tests/common/test_clients.py @@ -395,12 +395,14 @@ class TestClients(base.TestCase): @mock.patch.object(irclient, 'Client') @mock.patch.object(clients.OpenStackClients, 'session') def test_clients_ironic(self, mock_session, mock_call): + ironic_url = 'http://localhost:6385/' + mock_session.get_endpoint.return_value = ironic_url osc = clients.OpenStackClients() osc._ironic = None osc.ironic() mock_call.assert_called_once_with( CONF.ironic_client.api_version, - CONF.ironic_client.endpoint_type, + ironic_url, max_retries=None, os_ironic_api_version=None, retry_interval=None, @@ -408,6 +410,8 @@ class TestClients(base.TestCase): @mock.patch.object(clients.OpenStackClients, 'session') def test_clients_ironic_diff_vers(self, mock_session): + ironic_url = 'http://localhost:6385/' + mock_session.get_endpoint.return_value = ironic_url CONF.set_override('api_version', '1', group='ironic_client') osc = clients.OpenStackClients() osc._ironic = None @@ -416,15 +420,29 @@ class TestClients(base.TestCase): @mock.patch.object(clients.OpenStackClients, 'session') def test_clients_ironic_diff_endpoint(self, mock_session): - CONF.set_override('endpoint_type', 'internalURL', - group='ironic_client') + ironic_url = 'http://localhost:6385/' + mock_session.get_endpoint.return_value = ironic_url osc = clients.OpenStackClients() osc._ironic = None osc.ironic() - self.assertEqual('internalURL', osc.ironic().http_client.endpoint) + mock_session.get_endpoint.assert_called_once_with( + interface='publicURL', + region_name=None, + service_type='baremetal') + + CONF.set_override('endpoint_type', 'internalURL', + group='ironic_client') + osc._ironic = None + osc.ironic() + mock_session.get_endpoint.assert_called_with( + interface='internalURL', + region_name=None, + service_type='baremetal') @mock.patch.object(clients.OpenStackClients, 'session') def test_clients_ironic_cached(self, mock_session): + ironic_url = 'http://localhost:6385/' + mock_session.get_endpoint.return_value = ironic_url osc = clients.OpenStackClients() osc._ironic = None ironic = osc.ironic()