Add resource_class to fields in ironic node cache

Per the discussion in [1], the ironic nodes added to the node cache in
the ironic virt driver may be missing the required field resource_class,
as this field is not in _NODE_FIELDS. In practice, this is typically
not an issue (possibly never), as the normal code path uses a
detailed list to sync all ironic nodes, which contain all fields
(including resource_class). However, some code paths use a single
node query with the fields limited to _NODE_FIELDS, so could result in a
node in the cache without a resource_class.

This change adds resource_class to _NODE_FIELDS.

[1]
https://review.openstack.org/#/c/532288/9/nova/virt/ironic/driver.py@79

Change-Id: Id84b4a47d05532d341a9b6ca2de7e9e66e1930da
Closes-Bug: #1746209
This commit is contained in:
Mark Goddard 2018-01-31 11:11:32 +00:00
parent d18936470f
commit 5895566a42
1 changed files with 1 additions and 1 deletions

View File

@ -76,7 +76,7 @@ _UNPROVISION_STATES = (ironic_states.ACTIVE, ironic_states.DEPLOYFAIL,
_NODE_FIELDS = ('uuid', 'power_state', 'target_power_state', 'provision_state',
'target_provision_state', 'last_error', 'maintenance',
'properties', 'instance_uuid', 'traits')
'properties', 'instance_uuid', 'traits', 'resource_class')
# Console state checking interval in seconds
_CONSOLE_STATE_CHECKING_INTERVAL = 1