Since it is now possible to both boot instances and attach volumes without specifying device names after https://blueprints.launchpad.net/nova/+spec/improve-block-device- handling BP has been implemented. in which case the device names will be handled properly by Nova.
It is still possible to supply device names (for backwards compatibility's sake), which would cause the same behavior as described above. This is really an issue due to the fact that there is no way to make sure libvirt uses the same device name as supplied to it since libvirt only takes this as ordering hints. the best solution really _is_ to rely on Nova to actually choose the device name as per implemented BP. ** Changed in: nova Status: Confirmed => 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/1075971 Title: Attach volume with libvirt disregards target device but still reserves it Status in OpenStack Compute (Nova): Won't Fix Bug description: Running devstack with libvirt/qemu - the problem is that attaching a volume (either by passing it with --block_device_mapping to boot or by using nova volume-attach) completely disregards the device name passed as can be seen fromt the folloowng shell session. However the device remains reserved so subsequent attach attempts will fail on the specified device, and succeed with some other given (which will not be honored again). The following session is how to reproduce it: [ndipanov@devstack devstack]$ cinder list +--------------------------------------+-----------+--------------+------+-------------+-------------+ | ID | Status | Display Name | Size | Volume Type | Attached to | +--------------------------------------+-----------+--------------+------+-------------+-------------+ | 5792f1ed-c5f7-40c6-913f-43aa66c717c7 | available | bootable | 3 | None | | | abc77933-119b-4105-b085-092c93be36f5 | available | blank_2 | 1 | None | | | b4de941a-627c-447a-9226-456159d95173 | available | blank | 1 | None | | +--------------------------------------+-----------+--------------+------+-------------+-------------+ [ndipanov@devstack devstack]$ nova list [ndipanov@devstack devstack]$ nova boot --image c346fdd1-d438-472b-98f5-b4c5f2b716f8 --flavor 1 --block_device_mapping vdr=b4de941a-627c-447a-9226-456159d95173:::0 --key_name nova_key w_vol +------------------------+--------------------------------------+ | Property | Value | +------------------------+--------------------------------------+ | OS-DCF:diskConfig | MANUAL | | OS-EXT-STS:power_state | 0 | | OS-EXT-STS:task_state | scheduling | | OS-EXT-STS:vm_state | building | | accessIPv4 | | | accessIPv6 | | | adminPass | CqgT4dXkq64t | | config_drive | | | created | 2012-11-07T14:02:00Z | | flavor | m1.tiny | | hostId | | | id | caa459d5-27ae-4c5b-b190-fd740054a2ec | | image | cirros-0.3.0-x86_64-uec | | key_name | nova_key | | metadata | {} | | name | w_vol | | progress | 0 | | security_groups | [{u'name': u'default'}] | | status | BUILD | | tenant_id | 5f68e605463940dda20e876604385c43 | | updated | 2012-11-07T14:02:01Z | | user_id | 104895e85fe54ae5a2cc5c5a650f50b0 | +------------------------+--------------------------------------+ [ndipanov@devstack devstack]$ nova list +--------------------------------------+-------+--------+------------------+ | ID | Name | Status | Networks | +--------------------------------------+-------+--------+------------------+ | caa459d5-27ae-4c5b-b190-fd740054a2ec | w_vol | ACTIVE | private=10.0.0.2 | +--------------------------------------+-------+--------+------------------+ [ndipanov@devstack devstack]$ ssh -o StrictHostKeyChecking=no -i nova_key.priv cirros@10.0.0.2 @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ @ WARNING: REMOTE HOST IDENTIFICATION HAS CHANGED! @ @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ IT IS POSSIBLE THAT SOMEONE IS DOING SOMETHING NASTY! Someone could be eavesdropping on you right now (man-in-the-middle attack)! It is also possible that a host key has just been changed. The fingerprint for the RSA key sent by the remote host is 57:ca:fe:e8:4f:b6:30:5a:06:20:d4:37:ed:06:aa:c8. Please contact your system administrator. Add correct host key in /home/ndipanov/.ssh/known_hosts to get rid of this message. Offending RSA key in /home/ndipanov/.ssh/known_hosts:2 Password authentication is disabled to avoid man-in-the-middle attacks. Keyboard-interactive authentication is disabled to avoid man-in-the-middle attacks. $ cat /proc/partitions major minor #blocks name 253 0 24576 vda 253 16 1048576 vdb $ ls -la /dev | grep vd.* lrwxrwxrwx 1 root root 3 Nov 7 07:03 root -> vda brw------- 1 root root 253, 0 Nov 7 07:02 vda brw------- 1 root root 253, 16 Nov 7 07:02 vdb $ Connection to 10.0.0.2 closed. [ndipanov@devstack devstack]$ cinder list +--------------------------------------+-----------+--------------+------+-------------+--------------------------------------+ | ID | Status | Display Name | Size | Volume Type | Attached to | +--------------------------------------+-----------+--------------+------+-------------+--------------------------------------+ | 5792f1ed-c5f7-40c6-913f-43aa66c717c7 | available | bootable | 3 | None | | | abc77933-119b-4105-b085-092c93be36f5 | available | blank_2 | 1 | None | | | b4de941a-627c-447a-9226-456159d95173 | in-use | blank | 1 | None | caa459d5-27ae-4c5b-b190-fd740054a2ec | +--------------------------------------+-----------+--------------+------+-------------+--------------------------------------+ (reverse-i-search)`vol': nova boot --image c346fdd1-d438-472b-98f5-b4c5f2b716f8 --flavor 1 --block_device_mapping vdr=b4de941a-627c-447a-9226-456159d95173:::0 --key_name nova_key w_^Cl [ndipanov@devstack devstack]$ nova volume-attach w_vol abc77933-119b-4105-b085-092c93be36f5 /dev/vdr ERROR: The supplied device path (/dev/vda) is in use. Traceback (most recent call last): File "/opt/stack/nova/nova/openstack/common/rpc/amqp.py", line 276, in _process_data rval = self.proxy.dispatch(ctxt, version, method, **args) File "/opt/stack/nova/nova/openstack/common/rpc/dispatcher.py", line 145, in dispatch return getattr(proxyobj, method)(ctxt, **kwargs) File "/opt/stack/nova/nova/exception.py", line 117, in wrapped temp_level, payload) File "/usr/lib64/python2.7/contextlib.py", line 24, in __exit__ self.gen.next() File "/opt/stack/nova/nova/exception.py", line 92, in wrapped return f(*args, **kw) File "/opt/stack/nova/nova/compute/manager.py", line 175, in decorated_function pass File "/usr/lib64/python2.7/contextlib.py", line 24, in __exit__ self.gen.next() File "/opt/stack/nova/nova/compute/manager.py", line 161, in decorated_function return function(self, context, *args, **kwargs) File "/opt/stack/nova/nova/compute/manager.py", line 202, in decorated_function kwargs['instance']['uuid'], e, sys.exc_info()) File "/usr/lib64/python2.7/contextlib.py", line 24, in __exit__ self.gen.next() File "/opt/stack/nova/nova/compute/manager.py", line 190, in decorated_function return function(self, context, *args, **kwargs) File "/opt/stack/nova/nova/compute/manager.py", line 2167, in reserve_block_device_name return do_reserve() File "/opt/stack/nova/nova/openstack/common/lockutils.py", line 229, in inner retval = f(*args, **kwargs) File "/opt/stack/nova/nova/compute/manager.py", line 2160, in do_reserve device) File "/opt/stack/nova/nova/compute/utils.py", line 110, in get_device_name_for_instance raise exception.DevicePathInUse(path=device) DevicePathInUse: The supplied device path (/dev/vda) is in use. (HTTP 400) (Request-ID: req-76852a0d-1c70-4e11-879c-0089956ba02e) [ndipanov@devstack ~]$ nova volume-attach w_vol abc77933-119b-4105-b085-092c93be36f5 /dev/vdc +----------+--------------------------------------+ | Property | Value | +----------+--------------------------------------+ | device | /dev/vdc | | id | abc77933-119b-4105-b085-092c93be36f5 | | serverId | caa459d5-27ae-4c5b-b190-fd740054a2ec | | volumeId | abc77933-119b-4105-b085-092c93be36f5 | +----------+--------------------------------------+ This seems to be somehow related to the changes introduced by https://bugs.launchpad.net/nova/+bug/1004328 To manage notifications about this bug go to: https://bugs.launchpad.net/nova/+bug/1075971/+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