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()