yahoo-eng-team team mailing list archive
-
yahoo-eng-team team
-
Mailing list archive
-
Message #66216
[Bug 1686999] Re: Instance with two attached volumes fails to start with error: Duplicate ID 'drive-ide0-0-0' for drive
I think this is one of those edge cases that the work around you
provided is the right way through. The decorating on images is meant to
be part of the original image build process, and doesn't magically fix
things.
** Changed in: nova
Status: New => Won't Fix
--
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/1686999
Title:
Instance with two attached volumes fails to start with error:
Duplicate ID 'drive-ide0-0-0' for drive
Status in OpenStack Compute (nova):
Won't Fix
Bug description:
nova version: mitaka
I imported into Openstack a Linux Centos machine. The instance does
not have support for VirtIO. I had to import the boot disk as hda
(decorating the glance image with hw_disk_bus='ide'). Now I have this
instance with two volumes attached, but when I try to boot the
following XML is generated.
<disk type='network' device='disk'>
<driver name='qemu' type='raw' cache='writeback'/>
[..CUT...]
<target dev='hda' bus='ide'/>
<serial>c3841ee3-3f9a-457e-b504-d35e367a1193</serial>
<address type='drive' controller='0' bus='0' target='0' unit='0'/>
</disk>
<disk type='network' device='disk'>
<driver name='qemu' type='raw' cache='writeback'/>
[..CUT...]
<target dev='vda' bus='ide'/>
<serial>63e05c59-8de1-4908-a3dd-3f2261c82ea9</serial>
<address type='drive' controller='0' bus='0' target='0' unit='0'/>
</disk>
This is because the two cinder volumes attached appear as /dev/hda and
/dev/sda, and this creates a duplicate disk in the XML.
The machine does not boot, and in the nova-compute.log I find a
stacktrace.
2017-04-28 12:56:35.356 43378 ERROR oslo_messaging.rpc.dispatcher Traceback (most recent call last):
2017-04-28 12:56:35.356 43378 ERROR oslo_messaging.rpc.dispatcher File "/usr/lib/python2.7/dist-packages/oslo_messaging/rpc/dispatcher.py", line 138, in _dispatch_and_reply
2017-04-28 12:56:35.356 43378 ERROR oslo_messaging.rpc.dispatcher incoming.message))
2017-04-28 12:56:35.356 43378 ERROR oslo_messaging.rpc.dispatcher File "/usr/lib/python2.7/dist-packages/oslo_messaging/rpc/dispatcher.py", line 185, in _dispatch
2017-04-28 12:56:35.356 43378 ERROR oslo_messaging.rpc.dispatcher return self._do_dispatch(endpoint, method, ctxt, args)
2017-04-28 12:56:35.356 43378 ERROR oslo_messaging.rpc.dispatcher File "/usr/lib/python2.7/dist-packages/oslo_messaging/rpc/dispatcher.py", line 127, in _do_dispatch
2017-04-28 12:56:35.356 43378 ERROR oslo_messaging.rpc.dispatcher result = func(ctxt, **new_args)
2017-04-28 12:56:35.356 43378 ERROR oslo_messaging.rpc.dispatcher File "/usr/lib/python2.7/dist-packages/nova/exception.py", line 110, in wrapped
2017-04-28 12:56:35.356 43378 ERROR oslo_messaging.rpc.dispatcher payload)
2017-04-28 12:56:35.356 43378 ERROR oslo_messaging.rpc.dispatcher File "/usr/lib/python2.7/dist-packages/oslo_utils/excutils.py", line 220, in __exit__
2017-04-28 12:56:35.356 43378 ERROR oslo_messaging.rpc.dispatcher self.force_reraise()
2017-04-28 12:56:35.356 43378 ERROR oslo_messaging.rpc.dispatcher File "/usr/lib/python2.7/dist-packages/oslo_utils/excutils.py", line 196, in force_reraise
2017-04-28 12:56:35.356 43378 ERROR oslo_messaging.rpc.dispatcher six.reraise(self.type_, self.value, self.tb)
2017-04-28 12:56:35.356 43378 ERROR oslo_messaging.rpc.dispatcher File "/usr/lib/python2.7/dist-packages/nova/exception.py", line 89, in wrapped
2017-04-28 12:56:35.356 43378 ERROR oslo_messaging.rpc.dispatcher return f(self, context, *args, **kw)
2017-04-28 12:56:35.356 43378 ERROR oslo_messaging.rpc.dispatcher File "/usr/lib/python2.7/dist-packages/nova/compute/manager.py", line 359, in decorated_function
2017-04-28 12:56:35.356 43378 ERROR oslo_messaging.rpc.dispatcher LOG.warning(msg, e, instance=instance)
2017-04-28 12:56:35.356 43378 ERROR oslo_messaging.rpc.dispatcher File "/usr/lib/python2.7/dist-packages/oslo_utils/excutils.py", line 220, in __exit__
2017-04-28 12:56:35.356 43378 ERROR oslo_messaging.rpc.dispatcher self.force_reraise()
2017-04-28 12:56:35.356 43378 ERROR oslo_messaging.rpc.dispatcher File "/usr/lib/python2.7/dist-packages/oslo_utils/excutils.py", line 196, in force_reraise
2017-04-28 12:56:35.356 43378 ERROR oslo_messaging.rpc.dispatcher six.reraise(self.type_, self.value, self.tb)
2017-04-28 12:56:35.356 43378 ERROR oslo_messaging.rpc.dispatcher File "/usr/lib/python2.7/dist-packages/nova/compute/manager.py", line 328, in decorated_function
2017-04-28 12:56:35.356 43378 ERROR oslo_messaging.rpc.dispatcher return function(self, context, *args, **kwargs)
2017-04-28 12:56:35.356 43378 ERROR oslo_messaging.rpc.dispatcher File "/usr/lib/python2.7/dist-packages/nova/compute/manager.py", line 409, in decorated_function
2017-04-28 12:56:35.356 43378 ERROR oslo_messaging.rpc.dispatcher return function(self, context, *args, **kwargs)
2017-04-28 12:56:35.356 43378 ERROR oslo_messaging.rpc.dispatcher File "/usr/lib/python2.7/dist-packages/nova/compute/manager.py", line 387, in decorated_function
2017-04-28 12:56:35.356 43378 ERROR oslo_messaging.rpc.dispatcher kwargs['instance'], e, sys.exc_info())
2017-04-28 12:56:35.356 43378 ERROR oslo_messaging.rpc.dispatcher File "/usr/lib/python2.7/dist-packages/oslo_utils/excutils.py", line 220, in __exit__
2017-04-28 12:56:35.356 43378 ERROR oslo_messaging.rpc.dispatcher self.force_reraise()
2017-04-28 12:56:35.356 43378 ERROR oslo_messaging.rpc.dispatcher File "/usr/lib/python2.7/dist-packages/oslo_utils/excutils.py", line 196, in force_reraise
2017-04-28 12:56:35.356 43378 ERROR oslo_messaging.rpc.dispatcher six.reraise(self.type_, self.value, self.tb)
2017-04-28 12:56:35.356 43378 ERROR oslo_messaging.rpc.dispatcher File "/usr/lib/python2.7/dist-packages/nova/compute/manager.py", line 375, in decorated_function
2017-04-28 12:56:35.356 43378 ERROR oslo_messaging.rpc.dispatcher return function(self, context, *args, **kwargs)
2017-04-28 12:56:35.356 43378 ERROR oslo_messaging.rpc.dispatcher File "/usr/lib/python2.7/dist-packages/nova/compute/manager.py", line 2606, in start_instance
2017-04-28 12:56:35.356 43378 ERROR oslo_messaging.rpc.dispatcher self._power_on(context, instance)
2017-04-28 12:56:35.356 43378 ERROR oslo_messaging.rpc.dispatcher File "/usr/lib/python2.7/dist-packages/nova/compute/manager.py", line 2579, in _power_on
2017-04-28 12:56:35.356 43378 ERROR oslo_messaging.rpc.dispatcher block_device_info)
2017-04-28 12:56:35.356 43378 ERROR oslo_messaging.rpc.dispatcher File "/usr/lib/python2.7/dist-packages/nova/virt/libvirt/driver.py", line 2623, in power_on
2017-04-28 12:56:35.356 43378 ERROR oslo_messaging.rpc.dispatcher self._hard_reboot(context, instance, network_info, block_device_info)
2017-04-28 12:56:35.356 43378 ERROR oslo_messaging.rpc.dispatcher File "/usr/lib/python2.7/dist-packages/nova/virt/libvirt/driver.py", line 2514, in _hard_reboot
2017-04-28 12:56:35.356 43378 ERROR oslo_messaging.rpc.dispatcher vifs_already_plugged=True)
2017-04-28 12:56:35.356 43378 ERROR oslo_messaging.rpc.dispatcher File "/usr/lib/python2.7/dist-packages/nova/virt/libvirt/driver.py", line 4926, in _create_domain_and_network
2017-04-28 12:56:35.356 43378 ERROR oslo_messaging.rpc.dispatcher xml, pause=pause, power_on=power_on)
2017-04-28 12:56:35.356 43378 ERROR oslo_messaging.rpc.dispatcher File "/usr/lib/python2.7/dist-packages/nova/virt/libvirt/driver.py", line 4857, in _create_domain
2017-04-28 12:56:35.356 43378 ERROR oslo_messaging.rpc.dispatcher guest.launch(pause=pause)
2017-04-28 12:56:35.356 43378 ERROR oslo_messaging.rpc.dispatcher File "/usr/lib/python2.7/dist-packages/nova/virt/libvirt/guest.py", line 142, in launch
2017-04-28 12:56:35.356 43378 ERROR oslo_messaging.rpc.dispatcher self._encoded_xml, errors='ignore')
2017-04-28 12:56:35.356 43378 ERROR oslo_messaging.rpc.dispatcher File "/usr/lib/python2.7/dist-packages/oslo_utils/excutils.py", line 220, in __exit__
2017-04-28 12:56:35.356 43378 ERROR oslo_messaging.rpc.dispatcher self.force_reraise()
2017-04-28 12:56:35.356 43378 ERROR oslo_messaging.rpc.dispatcher File "/usr/lib/python2.7/dist-packages/oslo_utils/excutils.py", line 196, in force_reraise
2017-04-28 12:56:35.356 43378 ERROR oslo_messaging.rpc.dispatcher six.reraise(self.type_, self.value, self.tb)
2017-04-28 12:56:35.356 43378 ERROR oslo_messaging.rpc.dispatcher File "/usr/lib/python2.7/dist-packages/nova/virt/libvirt/guest.py", line 137, in launch
2017-04-28 12:56:35.356 43378 ERROR oslo_messaging.rpc.dispatcher return self._domain.createWithFlags(flags)
2017-04-28 12:56:35.356 43378 ERROR oslo_messaging.rpc.dispatcher File "/usr/lib/python2.7/dist-packages/eventlet/tpool.py", line 186, in doit
2017-04-28 12:56:35.356 43378 ERROR oslo_messaging.rpc.dispatcher result = proxy_call(self._autowrap, f, *args, **kwargs)
2017-04-28 12:56:35.356 43378 ERROR oslo_messaging.rpc.dispatcher File "/usr/lib/python2.7/dist-packages/eventlet/tpool.py", line 144, in proxy_call
2017-04-28 12:56:35.356 43378 ERROR oslo_messaging.rpc.dispatcher rv = execute(f, *args, **kwargs)
2017-04-28 12:56:35.356 43378 ERROR oslo_messaging.rpc.dispatcher File "/usr/lib/python2.7/dist-packages/eventlet/tpool.py", line 125, in execute
2017-04-28 12:56:35.356 43378 ERROR oslo_messaging.rpc.dispatcher six.reraise(c, e, tb)
2017-04-28 12:56:35.356 43378 ERROR oslo_messaging.rpc.dispatcher File "/usr/lib/python2.7/dist-packages/eventlet/tpool.py", line 83, in tworker
2017-04-28 12:56:35.356 43378 ERROR oslo_messaging.rpc.dispatcher rv = meth(*args, **kwargs)
2017-04-28 12:56:35.356 43378 ERROR oslo_messaging.rpc.dispatcher File "/usr/lib/python2.7/dist-packages/libvirt.py", line 1065, in createWithFlags
2017-04-28 12:56:35.356 43378 ERROR oslo_messaging.rpc.dispatcher if ret == -1: raise libvirtError ('virDomainCreateWithFlags() failed', dom=self)
2017-04-28 12:56:35.356 43378 ERROR oslo_messaging.rpc.dispatcher libvirtError: internal error: process exited while connecting to monitor: [..CUT..] Duplicate ID 'drive-ide0-0-0' for drive
In liberty the two disked attached where marked as /dev/sda /dev/hdb,
and everything was working. In mitaka I see this behavior where the
two attachments are marked as /dev/sda and /dev/hda and the VM is not
booting.
To manage notifications about this bug go to:
https://bugs.launchpad.net/nova/+bug/1686999/+subscriptions
References