Merge "Ironic update_provider_tree: restore traits override"
This commit is contained in:
commit
b10e9e48a1
|
@ -1014,6 +1014,14 @@ class IronicDriverTestCase(test.NoDBTestCase):
|
|||
result = self.ptree.data(mock.sentinel.nodename).traits
|
||||
self.assertEqual(set(traits), result)
|
||||
|
||||
# A different set of traits - we should replace (for now).
|
||||
traits = ['trait1', 'trait7', 'trait42']
|
||||
mock_nfc.return_value = _get_cached_node(
|
||||
uuid=mock.sentinel.nodename, traits=traits)
|
||||
self.driver.update_provider_tree(self.ptree, mock.sentinel.nodename)
|
||||
result = self.ptree.data(mock.sentinel.nodename).traits
|
||||
self.assertEqual(set(traits), result)
|
||||
|
||||
@mock.patch.object(FAKE_CLIENT.node, 'get')
|
||||
@mock.patch.object(FAKE_CLIENT.node, 'list')
|
||||
@mock.patch.object(objects.InstanceList, 'get_uuids_by_host')
|
||||
|
|
|
@ -801,9 +801,10 @@ class IronicDriver(virt_driver.ComputeDriver):
|
|||
}
|
||||
|
||||
provider_tree.update_inventory(nodename, result)
|
||||
# TODO(efried): *Unset* traits that are "owned" by ironic virt but not
|
||||
# set on the node object.
|
||||
provider_tree.add_traits(nodename, *node.traits)
|
||||
# TODO(efried): *Unset* (remove_traits) if "owned" by ironic virt but
|
||||
# not set on the node object, and *set* (add_traits) only those both
|
||||
# owned by ironic virt and set on the node object.
|
||||
provider_tree.update_traits(nodename, node.traits)
|
||||
|
||||
def get_available_resource(self, nodename):
|
||||
"""Retrieve resource information.
|
||||
|
|
Loading…
Reference in New Issue