Add ironicclient

This patch set adds ironicclient.

Change-Id: I122a26465d339ee6e36c0f234d3fd6c57cee2afa
Partially-Implements: blueprint build-baremetal-data-model-in-watcher
This commit is contained in:
licanwei
2017-04-15 17:03:18 +08:00
parent 2e8fb5a821
commit f637a368d7
6 changed files with 99 additions and 1 deletions

40
watcher/tests/common/test_clients.py Normal file → Executable file
View File

@@ -17,6 +17,8 @@ from cinderclient.v1 import client as ciclient_v1
from glanceclient import client as glclient
from gnocchiclient import client as gnclient
from gnocchiclient.v1 import client as gnclient_v1
from ironicclient import client as irclient
from ironicclient.v1 import client as irclient_v1
from keystoneauth1 import loading as ka_loading
import mock
from monascaclient import client as monclient
@@ -387,3 +389,41 @@ class TestClients(base.TestCase):
monasca = osc.monasca()
monasca_cached = osc.monasca()
self.assertEqual(monasca, monasca_cached)
@mock.patch.object(irclient, 'Client')
@mock.patch.object(clients.OpenStackClients, 'session')
def test_clients_ironic(self, mock_session, mock_call):
osc = clients.OpenStackClients()
osc._ironic = None
osc.ironic()
mock_call.assert_called_once_with(
CONF.ironic_client.api_version,
CONF.ironic_client.endpoint_type,
max_retries=None,
os_ironic_api_version=None,
retry_interval=None,
session=mock_session)
@mock.patch.object(clients.OpenStackClients, 'session')
def test_clients_ironic_diff_vers(self, mock_session):
CONF.set_override('api_version', '1', group='ironic_client')
osc = clients.OpenStackClients()
osc._ironic = None
osc.ironic()
self.assertEqual(irclient_v1.Client, type(osc.ironic()))
@mock.patch.object(clients.OpenStackClients, 'session')
def test_clients_ironic_diff_endpoint(self, mock_session):
CONF.set_override('endpoint_type', 'publicURL', group='ironic_client')
osc = clients.OpenStackClients()
osc._ironic = None
osc.ironic()
self.assertEqual('publicURL', osc.ironic().http_client.endpoint)
@mock.patch.object(clients.OpenStackClients, 'session')
def test_clients_ironic_cached(self, mock_session):
osc = clients.OpenStackClients()
osc._ironic = None
ironic = osc.ironic()
ironic_cached = osc.ironic()
self.assertEqual(ironic, ironic_cached)

2
watcher/tests/conf/test_list_opts.py Normal file → Executable file
View File

@@ -31,7 +31,7 @@ class TestListOpts(base.TestCase):
'DEFAULT', 'api', 'database', 'watcher_decision_engine',
'watcher_applier', 'watcher_planner', 'nova_client',
'glance_client', 'gnocchi_client', 'cinder_client',
'ceilometer_client', 'monasca_client',
'ceilometer_client', 'monasca_client', 'ironic_client',
'neutron_client', 'watcher_clients_auth']
self.opt_sections = list(dict(opts.list_opts()).keys())