Public bug reported: With current nova in master, when booting an instance using an existing volume without specifying the device_name fails with the following traceback in nova compute:
$ nova boot --boot-volume f1f2de9c-eedf-41cf-9089-a41ec0706b3e --flavor m1.custom --key-name default server --poll 2014-03-10 05:48:27.735 DEBUG oslo.messaging._drivers.amqp [-] UNIQUE_ID is 38af8a6ad88649449919434f9facd899. from (pid=21192) _add_unique_id /opt/stack/oslo.messaging/oslo/messaging/_drivers/amqp.py:338 2014-03-10 05:48:27.750 ERROR nova.compute.manager [req-f7b15296-7be8-4cc5-9e8c-1ea3658baa7e admin admin] [instance: 7ce5a209-49a3-417b-aa0d-0ccf066dc660] Error: '<class 'nova.objects.block_device.BlockDeviceMapping'>' object has no attribute 'mount_device' 2014-03-10 05:48:27.750 TRACE nova.compute.manager [instance: 7ce5a209-49a3-417b-aa0d-0ccf066dc660] Traceback (most recent call last): 2014-03-10 05:48:27.750 TRACE nova.compute.manager [instance: 7ce5a209-49a3-417b-aa0d-0ccf066dc660] File "/opt/stack/nova/nova/compute/manager.py", line 1242, in _build_instance 2014-03-10 05:48:27.750 TRACE nova.compute.manager [instance: 7ce5a209-49a3-417b-aa0d-0ccf066dc660] bdms) 2014-03-10 05:48:27.750 TRACE nova.compute.manager [instance: 7ce5a209-49a3-417b-aa0d-0ccf066dc660] File "/opt/stack/nova/nova/compute/manager.py", line 1573, in _default_block_device_names 2014-03-10 05:48:27.750 TRACE nova.compute.manager [instance: 7ce5a209-49a3-417b-aa0d-0ccf066dc660] root_bdm) 2014-03-10 05:48:27.750 TRACE nova.compute.manager [instance: 7ce5a209-49a3-417b-aa0d-0ccf066dc660] File "/opt/stack/nova/nova/compute/manager.py", line 1530, in _default_root_device_name 2014-03-10 05:48:27.750 TRACE nova.compute.manager [instance: 7ce5a209-49a3-417b-aa0d-0ccf066dc660] root_bdm) 2014-03-10 05:48:27.750 TRACE nova.compute.manager [instance: 7ce5a209-49a3-417b-aa0d-0ccf066dc660] File "/opt/stack/nova/nova/virt/libvirt/driver.py", line 5084, in default_root_device_name 2014-03-10 05:48:27.750 TRACE nova.compute.manager [instance: 7ce5a209-49a3-417b-aa0d-0ccf066dc660] cdrom_bus) 2014-03-10 05:48:27.750 TRACE nova.compute.manager [instance: 7ce5a209-49a3-417b-aa0d-0ccf066dc660] File "/opt/stack/nova/nova/virt/libvirt/blockinfo.py", line 422, in get_root_info 2014-03-10 05:48:27.750 TRACE nova.compute.manager [instance: 7ce5a209-49a3-417b-aa0d-0ccf066dc660] if not get_device_name(root_bdm) and root_device_name: 2014-03-10 05:48:27.750 TRACE nova.compute.manager [instance: 7ce5a209-49a3-417b-aa0d-0ccf066dc660] File "/opt/stack/nova/nova/virt/libvirt/blockinfo.py", line 392, in get_device_name 2014-03-10 05:48:27.750 TRACE nova.compute.manager [instance: 7ce5a209-49a3-417b-aa0d-0ccf066dc660] return bdm.get('device_name') or bdm.get('mount_device') 2014-03-10 05:48:27.750 TRACE nova.compute.manager [instance: 7ce5a209-49a3-417b-aa0d-0ccf066dc660] File "/opt/stack/nova/nova/objects/base.py", line 411, in get 2014-03-10 05:48:27.750 TRACE nova.compute.manager [instance: 7ce5a209-49a3-417b-aa0d-0ccf066dc660] self.__class__, key)) 2014-03-10 05:48:27.750 TRACE nova.compute.manager [instance: 7ce5a209-49a3-417b-aa0d-0ccf066dc660] AttributeError: '<class 'nova.objects.block_device.BlockDeviceMapping'>' object has no attribute 'mount_device' 2014-03-10 05:48:27.750 TRACE nova.compute.manager [instance: 7ce5a209-49a3-417b-aa0d-0ccf066dc660] 2014-03-10 05:48:27.753 DEBUG nova.compute.utils [req-f7b15296-7be8-4cc5-9e8c-1ea3658baa7e admin admin] [instance: 7ce5a209-49a3-417b-aa0d-0ccf066dc660] Build of instance 7ce5a209-49a3-417b-aa0d-0ccf066dc660 was re-scheduled: '<class 'nova.objects.block_device.BlockDeviceMapping'>' object has no attribute 'mount_device' from (pid=21192) notify_about_instance_usage /opt/stack/nova/nova/compute/utils.py:334 2014-03-10 05:48:27.753 TRACE nova.compute.utils [instance: 7ce5a209-49a3-417b-aa0d-0ccf066dc660] Traceback (most recent call last): 2014-03-10 05:48:27.753 TRACE nova.compute.utils [instance: 7ce5a209-49a3-417b-aa0d-0ccf066dc660] File "/opt/stack/nova/nova/compute/manager.py", line 1134, in _run_instance 2014-03-10 05:48:27.753 TRACE nova.compute.utils [instance: 7ce5a209-49a3-417b-aa0d-0ccf066dc660] instance, image_meta, legacy_bdm_in_spec) 2014-03-10 05:48:27.753 TRACE nova.compute.utils [instance: 7ce5a209-49a3-417b-aa0d-0ccf066dc660] File "/opt/stack/nova/nova/compute/manager.py", line 1293, in _build_instance 2014-03-10 05:48:27.753 TRACE nova.compute.utils [instance: 7ce5a209-49a3-417b-aa0d-0ccf066dc660] reason=unicode(exc_info[1])) 2014-03-10 05:48:27.753 TRACE nova.compute.utils [instance: 7ce5a209-49a3-417b-aa0d-0ccf066dc660] RescheduledException: Build of instance 7ce5a209-49a3-417b-aa0d-0ccf066dc660 was re-scheduled: '<class 'nova.objects.block_device.BlockDeviceMapping'>' object has no attribute 'mount_device' 2014-03-10 05:48:27.753 TRACE nova.compute. ** Affects: nova Importance: Undecided Status: New ** Tags: libvirt -- 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/1290302 Title: Booting from volume fails when the device_name is not specified Status in OpenStack Compute (Nova): New Bug description: With current nova in master, when booting an instance using an existing volume without specifying the device_name fails with the following traceback in nova compute: $ nova boot --boot-volume f1f2de9c-eedf-41cf-9089-a41ec0706b3e --flavor m1.custom --key-name default server --poll 2014-03-10 05:48:27.735 DEBUG oslo.messaging._drivers.amqp [-] UNIQUE_ID is 38af8a6ad88649449919434f9facd899. from (pid=21192) _add_unique_id /opt/stack/oslo.messaging/oslo/messaging/_drivers/amqp.py:338 2014-03-10 05:48:27.750 ERROR nova.compute.manager [req-f7b15296-7be8-4cc5-9e8c-1ea3658baa7e admin admin] [instance: 7ce5a209-49a3-417b-aa0d-0ccf066dc660] Error: '<class 'nova.objects.block_device.BlockDeviceMapping'>' object has no attribute 'mount_device' 2014-03-10 05:48:27.750 TRACE nova.compute.manager [instance: 7ce5a209-49a3-417b-aa0d-0ccf066dc660] Traceback (most recent call last): 2014-03-10 05:48:27.750 TRACE nova.compute.manager [instance: 7ce5a209-49a3-417b-aa0d-0ccf066dc660] File "/opt/stack/nova/nova/compute/manager.py", line 1242, in _build_instance 2014-03-10 05:48:27.750 TRACE nova.compute.manager [instance: 7ce5a209-49a3-417b-aa0d-0ccf066dc660] bdms) 2014-03-10 05:48:27.750 TRACE nova.compute.manager [instance: 7ce5a209-49a3-417b-aa0d-0ccf066dc660] File "/opt/stack/nova/nova/compute/manager.py", line 1573, in _default_block_device_names 2014-03-10 05:48:27.750 TRACE nova.compute.manager [instance: 7ce5a209-49a3-417b-aa0d-0ccf066dc660] root_bdm) 2014-03-10 05:48:27.750 TRACE nova.compute.manager [instance: 7ce5a209-49a3-417b-aa0d-0ccf066dc660] File "/opt/stack/nova/nova/compute/manager.py", line 1530, in _default_root_device_name 2014-03-10 05:48:27.750 TRACE nova.compute.manager [instance: 7ce5a209-49a3-417b-aa0d-0ccf066dc660] root_bdm) 2014-03-10 05:48:27.750 TRACE nova.compute.manager [instance: 7ce5a209-49a3-417b-aa0d-0ccf066dc660] File "/opt/stack/nova/nova/virt/libvirt/driver.py", line 5084, in default_root_device_name 2014-03-10 05:48:27.750 TRACE nova.compute.manager [instance: 7ce5a209-49a3-417b-aa0d-0ccf066dc660] cdrom_bus) 2014-03-10 05:48:27.750 TRACE nova.compute.manager [instance: 7ce5a209-49a3-417b-aa0d-0ccf066dc660] File "/opt/stack/nova/nova/virt/libvirt/blockinfo.py", line 422, in get_root_info 2014-03-10 05:48:27.750 TRACE nova.compute.manager [instance: 7ce5a209-49a3-417b-aa0d-0ccf066dc660] if not get_device_name(root_bdm) and root_device_name: 2014-03-10 05:48:27.750 TRACE nova.compute.manager [instance: 7ce5a209-49a3-417b-aa0d-0ccf066dc660] File "/opt/stack/nova/nova/virt/libvirt/blockinfo.py", line 392, in get_device_name 2014-03-10 05:48:27.750 TRACE nova.compute.manager [instance: 7ce5a209-49a3-417b-aa0d-0ccf066dc660] return bdm.get('device_name') or bdm.get('mount_device') 2014-03-10 05:48:27.750 TRACE nova.compute.manager [instance: 7ce5a209-49a3-417b-aa0d-0ccf066dc660] File "/opt/stack/nova/nova/objects/base.py", line 411, in get 2014-03-10 05:48:27.750 TRACE nova.compute.manager [instance: 7ce5a209-49a3-417b-aa0d-0ccf066dc660] self.__class__, key)) 2014-03-10 05:48:27.750 TRACE nova.compute.manager [instance: 7ce5a209-49a3-417b-aa0d-0ccf066dc660] AttributeError: '<class 'nova.objects.block_device.BlockDeviceMapping'>' object has no attribute 'mount_device' 2014-03-10 05:48:27.750 TRACE nova.compute.manager [instance: 7ce5a209-49a3-417b-aa0d-0ccf066dc660] 2014-03-10 05:48:27.753 DEBUG nova.compute.utils [req-f7b15296-7be8-4cc5-9e8c-1ea3658baa7e admin admin] [instance: 7ce5a209-49a3-417b-aa0d-0ccf066dc660] Build of instance 7ce5a209-49a3-417b-aa0d-0ccf066dc660 was re-scheduled: '<class 'nova.objects.block_device.BlockDeviceMapping'>' object has no attribute 'mount_device' from (pid=21192) notify_about_instance_usage /opt/stack/nova/nova/compute/utils.py:334 2014-03-10 05:48:27.753 TRACE nova.compute.utils [instance: 7ce5a209-49a3-417b-aa0d-0ccf066dc660] Traceback (most recent call last): 2014-03-10 05:48:27.753 TRACE nova.compute.utils [instance: 7ce5a209-49a3-417b-aa0d-0ccf066dc660] File "/opt/stack/nova/nova/compute/manager.py", line 1134, in _run_instance 2014-03-10 05:48:27.753 TRACE nova.compute.utils [instance: 7ce5a209-49a3-417b-aa0d-0ccf066dc660] instance, image_meta, legacy_bdm_in_spec) 2014-03-10 05:48:27.753 TRACE nova.compute.utils [instance: 7ce5a209-49a3-417b-aa0d-0ccf066dc660] File "/opt/stack/nova/nova/compute/manager.py", line 1293, in _build_instance 2014-03-10 05:48:27.753 TRACE nova.compute.utils [instance: 7ce5a209-49a3-417b-aa0d-0ccf066dc660] reason=unicode(exc_info[1])) 2014-03-10 05:48:27.753 TRACE nova.compute.utils [instance: 7ce5a209-49a3-417b-aa0d-0ccf066dc660] RescheduledException: Build of instance 7ce5a209-49a3-417b-aa0d-0ccf066dc660 was re-scheduled: '<class 'nova.objects.block_device.BlockDeviceMapping'>' object has no attribute 'mount_device' 2014-03-10 05:48:27.753 TRACE nova.compute. To manage notifications about this bug go to: https://bugs.launchpad.net/nova/+bug/1290302/+subscriptions -- Mailing list: https://launchpad.net/~yahoo-eng-team Post to : yahoo-eng-team@lists.launchpad.net Unsubscribe : https://launchpad.net/~yahoo-eng-team More help : https://help.launchpad.net/ListHelp