← Back to team overview

yahoo-eng-team team mailing list archive

[Bug 1798172] [NEW] Ironic driver tries to update the compute_node's UUID which of course fails in case of existing compute_nodes

 

Public bug reported:

The patch - https://review.openstack.org/#/c/571535 was introduced with
the aim of keeping the same uuid value for ironic nodes and their
corresponding compute_node records. This works fine for when new nodes
are created. However upon restart/periodic updates from the ironic
driver, it tries to update the uuid of an existing compute_node record
based on the resource update from the ironic driver and this fails since
once a uuid is set it cannot be changed/updated.

Error traceback:

2018-10-11 02:30:34.142 21850 ERROR nova.compute.manager [req-62cf93be-023b-41ca-8971-d3dbab4324f8 - - - - -] Error updating resources for node e3ef5531-3c39-458a-99f0-fd44592ae1ae.: ReadOnlyFieldError: Cannot modify readonly field uuid
2018-10-11 02:30:34.142 21850 ERROR nova.compute.manager Traceback (most recent call last):
2018-10-11 02:30:34.142 21850 ERROR nova.compute.manager   File "/usr/lib/python2.7/site-packages/nova/compute/manager.py", line 7337, in update_available_resource_for_node
2018-10-11 02:30:34.142 21850 ERROR nova.compute.manager     rt.update_available_resource(context, nodename)
2018-10-11 02:30:34.142 21850 ERROR nova.compute.manager   File "/usr/lib/python2.7/site-packages/nova/compute/resource_tracker.py", line 680, in update_available_resource
2018-10-11 02:30:34.142 21850 ERROR nova.compute.manager     self._update_available_resource(context, resources)
2018-10-11 02:30:34.142 21850 ERROR nova.compute.manager   File "/usr/lib/python2.7/site-packages/oslo_concurrency/lockutils.py", line 274, in inner
2018-10-11 02:30:34.142 21850 ERROR nova.compute.manager     return f(*args, **kwargs)
2018-10-11 02:30:34.142 21850 ERROR nova.compute.manager   File "/usr/lib/python2.7/site-packages/nova/compute/resource_tracker.py", line 704, in _update_available_resource
2018-10-11 02:30:34.142 21850 ERROR nova.compute.manager     self._init_compute_node(context, resources)
2018-10-11 02:30:34.142 21850 ERROR nova.compute.manager   File "/usr/lib/python2.7/site-packages/nova/compute/resource_tracker.py", line 559, in _init_compute_node
2018-10-11 02:30:34.142 21850 ERROR nova.compute.manager     self._copy_resources(cn, resources)
2018-10-11 02:30:34.142 21850 ERROR nova.compute.manager   File "/usr/lib/python2.7/site-packages/nova/compute/resource_tracker.py", line 617, in _copy_resources
2018-10-11 02:30:34.142 21850 ERROR nova.compute.manager     compute_node.update_from_virt_driver(resources)
2018-10-11 02:30:34.142 21850 ERROR nova.compute.manager   File "/usr/lib/python2.7/site-packages/nova/objects/compute_node.py", line 353, in update_from_virt_driver
2018-10-11 02:30:34.142 21850 ERROR nova.compute.manager     setattr(self, key, resources[key])
2018-10-11 02:30:34.142 21850 ERROR nova.compute.manager   File "/usr/lib/python2.7/site-packages/oslo_versionedobjects/base.py", line 77, in setter
2018-10-11 02:30:34.142 21850 ERROR nova.compute.manager     raise exception.ReadOnlyFieldError(field=name)
2018-10-11 02:30:34.142 21850 ERROR nova.compute.manager ReadOnlyFieldError: Cannot modify readonly field uuid

** Affects: nova
     Importance: High
         Status: Triaged

** Affects: nova/rocky
     Importance: High
         Status: Confirmed


** Tags: compute ironic upgrade

-- 
You received this bug notification because you are a member of Yahoo!
Engineering Team, which is subscribed to OpenStack Compute (nova).
https://bugs.launchpad.net/bugs/1798172

Title:
  Ironic driver tries to update the compute_node's UUID which of course
  fails in case of existing compute_nodes

Status in OpenStack Compute (nova):
  Triaged
Status in OpenStack Compute (nova) rocky series:
  Confirmed

Bug description:
  The patch - https://review.openstack.org/#/c/571535 was introduced
  with the aim of keeping the same uuid value for ironic nodes and their
  corresponding compute_node records. This works fine for when new nodes
  are created. However upon restart/periodic updates from the ironic
  driver, it tries to update the uuid of an existing compute_node record
  based on the resource update from the ironic driver and this fails
  since once a uuid is set it cannot be changed/updated.

  Error traceback:

  2018-10-11 02:30:34.142 21850 ERROR nova.compute.manager [req-62cf93be-023b-41ca-8971-d3dbab4324f8 - - - - -] Error updating resources for node e3ef5531-3c39-458a-99f0-fd44592ae1ae.: ReadOnlyFieldError: Cannot modify readonly field uuid
  2018-10-11 02:30:34.142 21850 ERROR nova.compute.manager Traceback (most recent call last):
  2018-10-11 02:30:34.142 21850 ERROR nova.compute.manager   File "/usr/lib/python2.7/site-packages/nova/compute/manager.py", line 7337, in update_available_resource_for_node
  2018-10-11 02:30:34.142 21850 ERROR nova.compute.manager     rt.update_available_resource(context, nodename)
  2018-10-11 02:30:34.142 21850 ERROR nova.compute.manager   File "/usr/lib/python2.7/site-packages/nova/compute/resource_tracker.py", line 680, in update_available_resource
  2018-10-11 02:30:34.142 21850 ERROR nova.compute.manager     self._update_available_resource(context, resources)
  2018-10-11 02:30:34.142 21850 ERROR nova.compute.manager   File "/usr/lib/python2.7/site-packages/oslo_concurrency/lockutils.py", line 274, in inner
  2018-10-11 02:30:34.142 21850 ERROR nova.compute.manager     return f(*args, **kwargs)
  2018-10-11 02:30:34.142 21850 ERROR nova.compute.manager   File "/usr/lib/python2.7/site-packages/nova/compute/resource_tracker.py", line 704, in _update_available_resource
  2018-10-11 02:30:34.142 21850 ERROR nova.compute.manager     self._init_compute_node(context, resources)
  2018-10-11 02:30:34.142 21850 ERROR nova.compute.manager   File "/usr/lib/python2.7/site-packages/nova/compute/resource_tracker.py", line 559, in _init_compute_node
  2018-10-11 02:30:34.142 21850 ERROR nova.compute.manager     self._copy_resources(cn, resources)
  2018-10-11 02:30:34.142 21850 ERROR nova.compute.manager   File "/usr/lib/python2.7/site-packages/nova/compute/resource_tracker.py", line 617, in _copy_resources
  2018-10-11 02:30:34.142 21850 ERROR nova.compute.manager     compute_node.update_from_virt_driver(resources)
  2018-10-11 02:30:34.142 21850 ERROR nova.compute.manager   File "/usr/lib/python2.7/site-packages/nova/objects/compute_node.py", line 353, in update_from_virt_driver
  2018-10-11 02:30:34.142 21850 ERROR nova.compute.manager     setattr(self, key, resources[key])
  2018-10-11 02:30:34.142 21850 ERROR nova.compute.manager   File "/usr/lib/python2.7/site-packages/oslo_versionedobjects/base.py", line 77, in setter
  2018-10-11 02:30:34.142 21850 ERROR nova.compute.manager     raise exception.ReadOnlyFieldError(field=name)
  2018-10-11 02:30:34.142 21850 ERROR nova.compute.manager ReadOnlyFieldError: Cannot modify readonly field uuid

To manage notifications about this bug go to:
https://bugs.launchpad.net/nova/+bug/1798172/+subscriptions


Follow ups