diff --git a/tripleo_common/actions/base.py b/tripleo_common/actions/base.py index 138413a13..f921701bd 100644 --- a/tripleo_common/actions/base.py +++ b/tripleo_common/actions/base.py @@ -19,7 +19,7 @@ import zlib from glanceclient.v2 import client as glanceclient from heatclient.v1 import client as heatclient import ironic_inspector_client -from ironicclient.v1 import client as ironicclient +from ironicclient import client as ironicclient from keystoneauth1 import session as ks_session from keystoneauth1.token_endpoint import Token from mistral_lib import actions @@ -88,12 +88,9 @@ class TripleOAction(actions.Action): ironic_endpoint = keystone_utils.get_endpoint_for_project( security_ctx, 'ironic') - # FIXME(lucasagomes): Use ironicclient.get_client() instead - # of ironicclient.Client(). Client() might cause errors since - # it doesn't verify the provided arguments, get_client() is the - # prefered way - return ironicclient.Client( - ironic_endpoint.url, + return ironicclient.get_client( + 1, + endpoint=ironic_endpoint.url, token=security_ctx.auth_token, region_name=ironic_endpoint.region, # 1.58 for allocations backfill diff --git a/tripleo_common/tests/actions/test_base.py b/tripleo_common/tests/actions/test_base.py index d227f9029..732dee4d4 100644 --- a/tripleo_common/tests/actions/test_base.py +++ b/tripleo_common/tests/actions/test_base.py @@ -16,7 +16,7 @@ import zlib import mock -from ironicclient.v1 import client as ironicclient +from ironicclient import client as ironicclient from tripleo_common.actions import base from tripleo_common.tests import base as tests_base @@ -32,15 +32,16 @@ class TestActionsBase(tests_base.TestCase): super(TestActionsBase, self).setUp() self.action = base.TripleOAction() - @mock.patch.object(ironicclient, 'Client') + @mock.patch.object(ironicclient, 'get_client', autospec=True) def test_get_baremetal_client(self, mock_client, mock_endpoint): mock_cxt = mock.MagicMock() mock_endpoint.return_value = mock.Mock( url='http://ironic/v1', region='ironic-region') self.action.get_baremetal_client(mock_cxt) mock_client.assert_called_once_with( - 'http://ironic/v1', max_retries=12, os_ironic_api_version='1.58', - region_name='ironic-region', retry_interval=5, token=mock.ANY) + 1, endpoint='http://ironic/v1', max_retries=12, + os_ironic_api_version='1.58', region_name='ironic-region', + retry_interval=5, token=mock.ANY) mock_endpoint.assert_called_once_with(mock_cxt.security, 'ironic') mock_cxt.assert_not_called()