When a delete is issued for an instance that doesn't have a cell_name in the db, a delete is broadcast to all cells. As that message passes through the cells rpc layer the instance is converted from an object to a dict. This causes a problem when it gets to the cell since the delete methods expect to receive an object.
2014-03-13 15:21:49.717 31063 ERROR nova.cells.messaging [req-d2d5f4ea-4010-405a-b52a-8f19d3991498 10110789 5877036] Error processing message locally: 'dict' object has no attribute 'disable_terminate'
2014-03-13 15:21:49.717 31063 TRACE nova.cells.messaging Traceback (most recent call last):
2014-03-13 15:21:49.717 31063 TRACE nova.cells.messaging File "/opt/rackstack/615.4/nova/lib/python2.6/site-packages/nova/cells/messaging.py", line 211, in _process_locally
2014-03-13 15:21:49.717 31063 TRACE nova.cells.messaging resp_value = self.msg_runner._process_message_locally(self)
2014-03-13 15:21:49.717 31063 TRACE nova.cells.messaging File "/opt/rackstack/615.4/nova/lib/python2.6/site-packages/nova/cells/messaging.py", line 1291, in _process_message_locally
2014-03-13 15:21:49.717 31063 TRACE nova.cells.messaging return fn(message, **message.method_kwargs)
2014-03-13 15:21:49.717 31063 TRACE nova.cells.messaging File "/opt/rackstack/615.4/nova/lib/python2.6/site-packages/nova/cells/messaging.py", line 1101, in instance_delete_everywhere
2014-03-13 15:21:49.717 31063 TRACE nova.cells.messaging self.compute_api.delete(message.ctxt, instance)
2014-03-13 15:21:49.717 31063 TRACE nova.cells.messaging File "/opt/rackstack/615.4/nova/lib/python2.6/site-packages/nova/compute/api.py", line 199, in wrapped
2014-03-13 15:21:49.717 31063 TRACE nova.cells.messaging return func(self, context, target, *args, **kwargs)
2014-03-13 15:21:49.717 31063 TRACE nova.cells.messaging File "/opt/rackstack/615.4/nova/lib/python2.6/site-packages/nova/compute/api.py", line 189, in inner
2014-03-13 15:21:49.717 31063 TRACE nova.cells.messaging return function(self, context, instance, *args, **kwargs)
2014-03-13 15:21:49.717 31063 TRACE nova.cells.messaging File "/opt/rackstack/615.4/nova/lib/python2.6/site-packages/nova/compute/api.py", line 216, in _wrapped
2014-03-13 15:21:49.717 31063 TRACE nova.cells.messaging return fn(self, context, instance, *args, **kwargs)
2014-03-13 15:21:49.717 31063 TRACE nova.cells.messaging File "/opt/rackstack/615.4/nova/lib/python2.6/site-packages/nova/compute/api.py", line 170, in inner
2014-03-13 15:21:49.717 31063 TRACE nova.cells.messaging return f(self, context, instance, *args, **kw)
2014-03-13 15:21:49.717 31063 TRACE nova.cells.messaging File "/opt/rackstack/615.4/nova/lib/python2.6/site-packages/nova/compute/api.py", line 1710, in delete
2014-03-13 15:21:49.717 31063 TRACE nova.cells.messaging self._delete_instance(context, instance)
2014-03-13 15:21:49.717 31063 TRACE nova.cells.messaging File "/opt/rackstack/615.4/nova/lib/python2.6/site-packages/nova/compute/api.py", line 1700, in _delete_instance
2014-03-13 15:21:49.717 31063 TRACE nova.cells.messaging task_state=task_states.DELETING)
2014-03-13 15:21:49.717 31063 TRACE nova.cells.messaging File "/opt/rackstack/615.4/nova/lib/python2.6/site-packages/nova/compute/api.py", line 1395, in _delete
2014-03-13 15:21:49.717 31063 TRACE nova.cells.messaging if instance.disable_terminate:
2014-03-13 15:21:49.717 31063 TRACE nova.cells.messaging AttributeError: 'dict' object has no attribute 'disable_terminate'
2014-03-13 15:21:49.717 31063 TRACE nova.cells.messaging
Fix proposed to branch: master /review. openstack. org/81049
Review: https:/