Ironic: report node.resource_class
Bump API microversion and expose this up to the resource tracker. Change-Id: Ie0f1e7b04cefc0d4656dce7ade81b5148f528dc5 Partial-Bug: #1604916
This commit is contained in:
parent
c1e739c607
commit
7b8195a8a8
@ -74,7 +74,7 @@ class IronicClientWrapperTestCase(test.NoDBTestCase):
|
||||
'ironic_url': CONF.ironic.api_endpoint,
|
||||
'max_retries': CONF.ironic.api_max_retries,
|
||||
'retry_interval': CONF.ironic.api_retry_interval,
|
||||
'os_ironic_api_version': '1.20'}
|
||||
'os_ironic_api_version': '1.21'}
|
||||
mock_ir_cli.assert_called_once_with(1, **expected)
|
||||
|
||||
@mock.patch.object(ironic_client, 'get_client')
|
||||
@ -87,7 +87,7 @@ class IronicClientWrapperTestCase(test.NoDBTestCase):
|
||||
'ironic_url': CONF.ironic.api_endpoint,
|
||||
'max_retries': CONF.ironic.api_max_retries,
|
||||
'retry_interval': CONF.ironic.api_retry_interval,
|
||||
'os_ironic_api_version': '1.20'}
|
||||
'os_ironic_api_version': '1.21'}
|
||||
mock_ir_cli.assert_called_once_with(1, **expected)
|
||||
|
||||
@mock.patch.object(ironic_client, 'get_client')
|
||||
@ -101,7 +101,7 @@ class IronicClientWrapperTestCase(test.NoDBTestCase):
|
||||
'ironic_url': CONF.ironic.api_endpoint,
|
||||
'max_retries': CONF.ironic.api_max_retries,
|
||||
'retry_interval': CONF.ironic.api_retry_interval,
|
||||
'os_ironic_api_version': '1.20',
|
||||
'os_ironic_api_version': '1.21',
|
||||
'os_cacert': 'fake-cafile',
|
||||
'ca_file': 'fake-cafile'}
|
||||
mock_ir_cli.assert_called_once_with(1, **expected)
|
||||
|
@ -254,7 +254,8 @@ class IronicDriverTestCase(test.NoDBTestCase):
|
||||
node = ironic_utils.get_test_node(uuid=node_uuid,
|
||||
instance_uuid=self.instance_uuid,
|
||||
instance_info=instance_info,
|
||||
properties=props)
|
||||
properties=props,
|
||||
resource_class='foo')
|
||||
|
||||
result = self.driver._node_resource(node)
|
||||
|
||||
@ -266,7 +267,7 @@ class IronicDriverTestCase(test.NoDBTestCase):
|
||||
"disk_available_least",
|
||||
"supported_instances",
|
||||
"stats",
|
||||
"numa_topology"]
|
||||
"numa_topology", "resource_class"]
|
||||
wantkeys.sort()
|
||||
gotkeys = result.keys()
|
||||
gotkeys.sort()
|
||||
@ -287,6 +288,7 @@ class IronicDriverTestCase(test.NoDBTestCase):
|
||||
|
||||
self.assertEqual(node_uuid, result['hypervisor_hostname'])
|
||||
self.assertEqual(stats, result['stats'])
|
||||
self.assertEqual('foo', result['resource_class'])
|
||||
self.assertIsNone(result['numa_topology'])
|
||||
|
||||
def test__node_resource(self):
|
||||
|
@ -46,6 +46,7 @@ def get_test_node(**kw):
|
||||
'reservation': kw.get('reservation'),
|
||||
'maintenance': kw.get('maintenance', False),
|
||||
'network_interface': kw.get('network_interface'),
|
||||
'resource_class': kw.get('resource_class'),
|
||||
'extra': kw.get('extra', {}),
|
||||
'updated_at': kw.get('created_at'),
|
||||
'created_at': kw.get('updated_at')})()
|
||||
|
@ -29,7 +29,7 @@ CONF = cfg.CONF
|
||||
ironic = None
|
||||
|
||||
# The API version required by the Ironic driver
|
||||
IRONIC_API_VERSION = (1, 20)
|
||||
IRONIC_API_VERSION = (1, 21)
|
||||
|
||||
|
||||
class IronicClientWrapper(object):
|
||||
|
@ -322,6 +322,7 @@ class IronicDriver(virt_driver.ComputeDriver):
|
||||
'hypervisor_hostname': str(node.uuid),
|
||||
'hypervisor_type': self._get_hypervisor_type(),
|
||||
'hypervisor_version': self._get_hypervisor_version(),
|
||||
'resource_class': node.resource_class,
|
||||
# The Ironic driver manages multiple hosts, so there are
|
||||
# likely many different CPU models in use. As such it is
|
||||
# impossible to provide any meaningful info on the CPU
|
||||
|
@ -0,0 +1,4 @@
|
||||
---
|
||||
upgrade:
|
||||
- The ironic driver now requires python-ironicclient>=1.6.0,
|
||||
and requires the ironic service to support API version 1.21.
|
Loading…
x
Reference in New Issue
Block a user