def test_client_cache_version_no_endpoint_as_arg(self, http_client_mock): client.Client(session='fake_session', insecure=True) http_client_mock.assert_called_once_with( session='fake_session', insecure=True, os_ironic_api_version=client.DEFAULT_VER, api_version_select_state='default')
def _create_ironic_client(self): api_version = self.options.os_baremetal_api_version allow_api_version_downgrade = False if not api_version: api_version = self.cloud_region.get_default_microversion(_TYPE) if not api_version: api_version = http.LATEST_VERSION allow_api_version_downgrade = True LOG.debug('Using bare metal API version %s, downgrade %s', api_version, 'allowed' if allow_api_version_downgrade else 'disallowed') # NOTE(dtantsur): endpoint_override is required to respect settings in # clouds.yaml, such as baremetal_endpoint_override. endpoint_override = self.cloud_region.get_endpoint(_TYPE) try: return client.Client( os_ironic_api_version=api_version, allow_api_version_downgrade=allow_api_version_downgrade, session=self.cloud_region.get_session(), region_name=self.cloud_region.get_region_name(_TYPE), endpoint_override=endpoint_override, max_retries=self.options.max_retries, retry_interval=self.options.retry_interval, ) except exc.EndpointNotFound as e: # Re-raise with a more obvious message. raise exc.EndpointNotFound(_HELP % { 'err': e, 'cmd': sys.argv[0], 'project': 'ironic' })
def test_client_session_via_kwargs(self, http_client_mock): session = mock.Mock() client.Client(session=session, endpoint_override="http://example.com") http_client_mock.assert_called_once_with( session, api_version_select_state='default', endpoint_override="http://example.com", os_ironic_api_version=client.DEFAULT_VER)
def test_client_initialized_managers(self, http_client_mock): cl = client.Client('http://ironic:6385', token='safe_token', os_ironic_api_version='1.15') self.assertIsInstance(cl.node, client.node.NodeManager) self.assertIsInstance(cl.port, client.port.PortManager) self.assertIsInstance(cl.driver, client.driver.DriverManager) self.assertIsInstance(cl.chassis, client.chassis.ChassisManager)
def _create(self): interface = self._get_client_option(CLIENT_NAME, 'endpoint_type') args = { 'interface': interface, 'service_type': self.BAREMETAL, 'session': self.context.keystone_session, 'region_name': self._get_region_name(), 'os_ironic_api_version': self.max_microversion } client = ironic_client.Client(**args) return client
def test_negotiate_api_version(self, http_client_mock): endpoint = 'http://ironic:6385' token = 'safe_token' os_ironic_api_version = 'latest' cl = client.Client(endpoint, token=token, os_ironic_api_version=os_ironic_api_version) cl.negotiate_api_version() http_client_mock.assert_called_once_with( api_version_select_state='user', endpoint_override=endpoint, os_ironic_api_version='latest', token=token)
def test_client_default_api_version(self, cache_mock, http_client_mock): endpoint = 'http://ironic:6385' cache_mock.return_value = None client.Client(endpoint, session=self.session) cache_mock.assert_called_once_with(host='ironic', port='6385') http_client_mock.assert_called_once_with( endpoint_override=endpoint, session=self.session, os_ironic_api_version=client.DEFAULT_VER, api_version_select_state='default')
def test_client_user_api_version(self, http_client_mock): endpoint = 'http://ironic:6385' token = 'safe_token' os_ironic_api_version = '1.15' client.Client(endpoint, token=token, os_ironic_api_version=os_ironic_api_version) http_client_mock.assert_called_once_with( endpoint_override=endpoint, token=token, os_ironic_api_version=os_ironic_api_version, api_version_select_state='user')
def test_client_cache_api_version(self, cache_mock, http_client_mock): endpoint = 'http://ironic:6385' os_ironic_api_version = '1.15' cache_mock.return_value = os_ironic_api_version client.Client(endpoint, session=self.session) cache_mock.assert_called_once_with(host='ironic', port='6385') http_client_mock.assert_called_once_with( endpoint_override=endpoint, session=self.session, os_ironic_api_version=os_ironic_api_version, api_version_select_state='cached')
def test_client_user_api_version_with_downgrade(self, http_client_mock): endpoint = 'http://ironic:6385' token = 'safe_token' os_ironic_api_version = '1.15' client.Client(endpoint, token=token, os_ironic_api_version=os_ironic_api_version, allow_api_version_downgrade=True) http_client_mock.assert_called_once_with( token=token, endpoint_override=endpoint, os_ironic_api_version=os_ironic_api_version, api_version_select_state='default')
def get_baremetal_client(self, context): ironic_endpoint = keystone_utils.get_endpoint_for_project('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, token=context.auth_token, region_name=ironic_endpoint.region, os_ironic_api_version='1.15', # FIXME(lucasagomes):Paramtetize max_retries and # max_interval. At the moment since we are dealing with # a critical bug (#1612622) let's just hardcode the times # here since the right fix does involve multiple projects # (tripleo-ci and python-tripleoclient beyong tripleo-common) max_retries=12, retry_interval=5, )
def get_ironic_client(**kwargs): return ironicclient.Client("http://127.0.0.1:6385/")