rescue is broken with no-db-compute

Bug #1133572 reported by Vish Ishaya
10
This bug affects 2 people
Affects Status Importance Assigned to Milestone
OpenStack Compute (nova)
Fix Released
High
Dan Smith

Bug Description

something In no-db-compute changes caused extra_specs to be omitted from the instance during rescue leading to a failure when rescue is called:

2013-02-26 11:44:30.139 ERROR nova.openstack.common.rpc.amqp [req-63168d2e-350b-4ee5-be1a-c72f7da3ebf0 demo demo] Exception during message handling
2013-02-26 11:44:30.139 TRACE nova.openstack.common.rpc.amqp Traceback (most recent call last):
2013-02-26 11:44:30.139 TRACE nova.openstack.common.rpc.amqp File "/opt/stack/nova/nova/openstack/common/rpc/amqp.py", line 393, in _process_data
2013-02-26 11:44:30.139 TRACE nova.openstack.common.rpc.amqp rval = self.proxy.dispatch(ctxt, version, method, **args)
2013-02-26 11:44:30.139 TRACE nova.openstack.common.rpc.amqp File "/opt/stack/nova/nova/openstack/common/rpc/dispatcher.py", line 133, in dispatch
2013-02-26 11:44:30.139 TRACE nova.openstack.common.rpc.amqp return getattr(proxyobj, method)(ctxt, **kwargs)
2013-02-26 11:44:30.139 TRACE nova.openstack.common.rpc.amqp File "/opt/stack/nova/nova/exception.py", line 109, in wrapped
2013-02-26 11:44:30.139 TRACE nova.openstack.common.rpc.amqp temp_level, payload)
2013-02-26 11:44:30.139 TRACE nova.openstack.common.rpc.amqp File "/usr/lib/python2.7/contextlib.py", line 24, in __exit__
2013-02-26 11:44:30.139 TRACE nova.openstack.common.rpc.amqp self.gen.next()
2013-02-26 11:44:30.139 TRACE nova.openstack.common.rpc.amqp File "/opt/stack/nova/nova/exception.py", line 88, in wrapped
2013-02-26 11:44:30.139 TRACE nova.openstack.common.rpc.amqp return f(self, context, *args, **kw)
2013-02-26 11:44:30.139 TRACE nova.openstack.common.rpc.amqp File "/opt/stack/nova/nova/compute/manager.py", line 207, in decorated_function
2013-02-26 11:44:30.139 TRACE nova.openstack.common.rpc.amqp pass
2013-02-26 11:44:30.139 TRACE nova.openstack.common.rpc.amqp File "/usr/lib/python2.7/contextlib.py", line 24, in __exit__
2013-02-26 11:44:30.139 TRACE nova.openstack.common.rpc.amqp self.gen.next()
2013-02-26 11:44:30.139 TRACE nova.openstack.common.rpc.amqp File "/opt/stack/nova/nova/compute/manager.py", line 193, in decorated_function
2013-02-26 11:44:30.139 TRACE nova.openstack.common.rpc.amqp return function(self, context, *args, **kwargs)
2013-02-26 11:44:30.139 TRACE nova.openstack.common.rpc.amqp File "/opt/stack/nova/nova/compute/manager.py", line 258, in decorated_function
2013-02-26 11:44:30.139 TRACE nova.openstack.common.rpc.amqp function(self, context, *args, **kwargs)
2013-02-26 11:44:30.139 TRACE nova.openstack.common.rpc.amqp File "/opt/stack/nova/nova/compute/manager.py", line 235, in decorated_function
2013-02-26 11:44:30.139 TRACE nova.openstack.common.rpc.amqp e, sys.exc_info())
2013-02-26 11:44:30.139 TRACE nova.openstack.common.rpc.amqp File "/usr/lib/python2.7/contextlib.py", line 24, in __exit__
2013-02-26 11:44:30.139 TRACE nova.openstack.common.rpc.amqp self.gen.next()
2013-02-26 11:44:30.139 TRACE nova.openstack.common.rpc.amqp File "/opt/stack/nova/nova/compute/manager.py", line 222, in decorated_function
2013-02-26 11:44:30.139 TRACE nova.openstack.common.rpc.amqp return function(self, context, *args, **kwargs)
2013-02-26 11:44:30.139 TRACE nova.openstack.common.rpc.amqp File "/opt/stack/nova/nova/compute/manager.py", line 1799, in rescue_instance
2013-02-26 11:44:30.139 TRACE nova.openstack.common.rpc.amqp rescue_image_meta, admin_password)
2013-02-26 11:44:30.139 TRACE nova.openstack.common.rpc.amqp File "/opt/stack/nova/nova/virt/libvirt/driver.py", line 1463, in rescue
2013-02-26 11:44:30.139 TRACE nova.openstack.common.rpc.amqp image_meta, rescue=rescue_images)
2013-02-26 11:44:30.139 TRACE nova.openstack.common.rpc.amqp File "/opt/stack/nova/nova/virt/libvirt/driver.py", line 2300, in to_xml
2013-02-26 11:44:30.139 TRACE nova.openstack.common.rpc.amqp disk_info, rescue, block_device_info)
2013-02-26 11:44:30.139 TRACE nova.openstack.common.rpc.amqp File "/opt/stack/nova/nova/virt/libvirt/driver.py", line 2115, in get_guest_config
2013-02-26 11:44:30.139 TRACE nova.openstack.common.rpc.amqp for key, value in instance['extra_specs'].iteritems():
2013-02-26 11:44:30.139 TRACE nova.openstack.common.rpc.amqp KeyError: 'extra_specs'
2013-02-26 11:44:30.139 TRACE nova.openstack.common.rpc.amqp

Changed in nova:
importance: Undecided → High
status: New → Triaged
assignee: nobody → Dan Smith (danms)
milestone: none → grizzly-rc1
Revision history for this message
OpenStack Infra (hudson-openstack) wrote : Fix proposed to nova (master)

Fix proposed to branch: master
Review: https://review.openstack.org/23114

Changed in nova:
status: Triaged → In Progress
Revision history for this message
OpenStack Infra (hudson-openstack) wrote : Fix merged to nova (master)

Reviewed: https://review.openstack.org/23114
Committed: http://github.com/openstack/nova/commit/6f47035605e471562a3c7de593a272cf1b5a3a86
Submitter: Jenkins
Branch: master

commit 6f47035605e471562a3c7de593a272cf1b5a3a86
Author: Dan Smith <email address hidden>
Date: Wed Feb 27 14:50:50 2013 -0500

    Add instance_type_get() to virt api

    ...and remove the use of instance['extra_specs'] from the libvirt and
    baremetal virt drivers. Also remove the hack in instance_update()
    which places them there in the first place.

    Fixes bug 1133572

    Change-Id: I39e9fabb28b48dc52ec47f58d76b0bf2c6ee0204

Changed in nova:
status: In Progress → Fix Committed
Thierry Carrez (ttx)
Changed in nova:
status: Fix Committed → Fix Released
Thierry Carrez (ttx)
Changed in nova:
milestone: grizzly-rc1 → 2013.1
To post a comment you must log in.
This report contains Public information  
Everyone can see this information.

Other bug subscribers

Remote bug watches

Bug watches keep track of this bug in other bug trackers.