support conductor group feature in ironic conductor
Change-Id: I984a35f9e007e7124be690418ce48bd9fe1d364d Closes-bug: #1838612
This commit is contained in:
parent
15b11d4e88
commit
051733b13e
@ -96,7 +96,8 @@ class TripleOAction(actions.Action):
|
||||
ironic_endpoint.url,
|
||||
token=security_ctx.auth_token,
|
||||
region_name=ironic_endpoint.region,
|
||||
os_ironic_api_version='1.36',
|
||||
# 1.46 for conductor_group
|
||||
os_ironic_api_version='1.46',
|
||||
# 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
|
||||
|
@ -39,7 +39,7 @@ class TestActionsBase(tests_base.TestCase):
|
||||
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.36',
|
||||
'http://ironic/v1', max_retries=12, os_ironic_api_version='1.46',
|
||||
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()
|
||||
|
@ -879,6 +879,25 @@ class NodesTest(base.TestCase):
|
||||
driver_info={'ucs_password': 'random', 'ucs_address': 'foo.bar',
|
||||
'ucs_username': 'test'})
|
||||
|
||||
def test_register_ironic_node_conductor_group(self):
|
||||
node_properties = {"cpus": "1",
|
||||
"memory_mb": "2048",
|
||||
"local_gb": "30",
|
||||
"cpu_arch": "amd64",
|
||||
"capabilities": "num_nics:6"}
|
||||
node = self._get_node()
|
||||
node['pm_type'] = 'cisco-ucs-managed'
|
||||
node['conductor_group'] = 'cg1'
|
||||
client = mock.MagicMock()
|
||||
nodes.register_ironic_node(node, client=client)
|
||||
client.node.create.assert_called_once_with(
|
||||
driver='cisco-ucs-managed', name='node1',
|
||||
properties=node_properties,
|
||||
resource_class='baremetal',
|
||||
driver_info={'ucs_password': 'random', 'ucs_address': 'foo.bar',
|
||||
'ucs_username': 'test'},
|
||||
conductor_group='cg1')
|
||||
|
||||
def test_register_ironic_node_pxe_ucs(self):
|
||||
node_properties = {"cpus": "1",
|
||||
"memory_mb": "2048",
|
||||
|
@ -418,6 +418,9 @@ def register_ironic_node(node, client):
|
||||
if field in node:
|
||||
create_map.update({field: six.text_type(node[field])})
|
||||
|
||||
conductor_group = node.get("conductor_group")
|
||||
if conductor_group:
|
||||
create_map["conductor_group"] = conductor_group
|
||||
node_id = handler.unique_id_from_fields(node)
|
||||
LOG.debug('Registering node %s with ironic.', node_id)
|
||||
ironic_node = client.node.create(**create_map)
|
||||
@ -496,6 +499,7 @@ _NON_DRIVER_FIELDS = {'cpu': '/properties/cpus',
|
||||
'ramdisk_id': ['/driver_info/deploy_ramdisk',
|
||||
'/driver_info/rescue_ramdisk'],
|
||||
'platform': '/extra/tripleo_platform',
|
||||
'conductor_group': '/conductor_group',
|
||||
}
|
||||
|
||||
_NON_DRIVER_FIELDS.update({field: '/%s' % field
|
||||
|
Loading…
Reference in New Issue
Block a user