From b43633fa6d076f5f7ed56a440b27477eda531dbe Mon Sep 17 00:00:00 2001 From: licanwei Date: Tue, 1 Aug 2017 20:08:50 -0700 Subject: [PATCH] Fix ironic client input parameter The correct parameter is 'os_endpoint_type' Change-Id: I80b03af8c55ec1d89ff1fbdd9894115b819ccde4 --- watcher/common/clients.py | 2 +- watcher/tests/common/test_clients.py | 26 ++++++++++++++++++++++---- 2 files changed, 23 insertions(+), 5 deletions(-) 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()