yahoo-eng-team team mailing list archive
-
yahoo-eng-team team
-
Mailing list archive
-
Message #56533
[Bug 1558807] Re: Volume attached at different path than reported by nova/cinder when using config drive
** Changed in: nova
Status: Expired => New
--
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/1558807
Title:
Volume attached at different path than reported by nova/cinder when
using config drive
Status in Cinder:
Invalid
Status in OpenStack Compute (nova):
New
Bug description:
When booting a node with config drive then attaching a cinder volume
we see conflicting information about where the cinder volume is
attached. In this case the config drive is at /dev/vdb, the cinder
volume is at /dev/vdc but volume show reports the cinder volume to be
at /dev/vdb.
This shows how one can get nova/cinder in this state using
openstackclient (assuming that config drives attach to /dev/vdb):
$ OS_CLIENT_CONFIG_FILE=../vexxhost/vexx.yaml venv/bin/openstack --os-cloud openstackci-vexxhost server create --config-drive True --key-name clarkb-work --image ubuntu-trusty --flavor v1-standard-2 clarkb-test
+--------------------------------------+------------------------------------------------------+
| Field | Value |
+--------------------------------------+------------------------------------------------------+
| OS-DCF:diskConfig | MANUAL |
| OS-EXT-AZ:availability_zone | |
| OS-EXT-STS:power_state | 0 |
| OS-EXT-STS:task_state | scheduling |
| OS-EXT-STS:vm_state | building |
| OS-SRV-USG:launched_at | None |
| OS-SRV-USG:terminated_at | None |
| accessIPv4 | |
| accessIPv6 | |
| addresses | |
| adminPass | redacted |
| config_drive | True |
| created | 2016-03-17T21:12:38Z |
| flavor | v1-standard-2 (ca2a6e9c-2236-4107-8905-7ae9427132ff) |
| hostId | |
| id | cdaf7671-5a5c-4118-a422-d8aae096bd1e |
| image | ubuntu-trusty (d42c4ce4-3fa0-4dcb-877e-1d66a05a4f8d) |
| key_name | clarkb-work |
| name | clarkb-test |
| os-extended-volumes:volumes_attached | [] |
| progress | 0 |
| project_id | projectid |
| properties | |
| security_groups | [{u'name': u'default'}] |
| status | BUILD |
| updated | 2016-03-17T21:12:38Z |
| user_id | userid |
+--------------------------------------+------------------------------------------------------+
$ OS_CLIENT_CONFIG_FILE=../vexxhost/vexx.yaml venv/bin/openstack --os-cloud openstackci-vexxhost volume create --size 100 clarkb-test
+---------------------+--------------------------------------+
| Field | Value |
+---------------------+--------------------------------------+
| attachments | [] |
| availability_zone | ca-ymq-2 |
| bootable | false |
| consistencygroup_id | None |
| created_at | 2016-03-17T21:13:13.683882 |
| description | None |
| encrypted | False |
| id | a2bba82c-ef08-48fe-9c3c-eafc8644207c |
| multiattach | False |
| name | clarkb-test |
| properties | |
| replication_status | disabled |
| size | 100 |
| snapshot_id | None |
| source_volid | None |
| status | creating |
| type | None |
| user_id | userid |
+---------------------+--------------------------------------+
$ OS_CLIENT_CONFIG_FILE=../vexxhost/vexx.yaml venv/bin/openstack --os-cloud openstackci-vexxhost server add volume clarkb-test clarkb-test
$ OS_CLIENT_CONFIG_FILE=../vexxhost/vexx.yaml venv/bin/openstack --os-cloud openstackci-vexxhost volume show clarkb-test
+---------------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------+
| Field | Value |
+---------------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------+
| attachments | [{u'server_id': u'cdaf7671-5a5c-4118-a422-d8aae096bd1e', u'attachment_id': u'18f184b3-123e-4b5c-af66-d5c5b93af5ed', u'host_name': None, |
| | u'volume_id': u'a2bba82c-ef08-48fe-9c3c-eafc8644207c', u'device': u'/dev/vdb', u'id': u'a2bba82c-ef08-48fe-9c3c-eafc8644207c'}] |
| availability_zone | ca-ymq-2 |
| bootable | false |
| consistencygroup_id | None |
| created_at | 2016-03-17T21:13:13.000000 |
| description | None |
| encrypted | False |
| id | a2bba82c-ef08-48fe-9c3c-eafc8644207c |
| multiattach | False |
| name | clarkb-test |
| os-vol-tenant-attr:tenant_id | tenantid |
| os-volume-replication:driver_data | None |
| os-volume-replication:extended_status | None |
| properties | attached_mode='rw', readonly='False' |
| replication_status | disabled |
| size | 100 |
| snapshot_id | None |
| source_volid | None |
| status | in-use |
| type | None |
| user_id | userid |
+---------------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------+
$ ssh ubuntu@199.19.213.70 ls -l /dev/disk/by-id
total 0
lrwxrwxrwx 1 root root 9 Mar 17 21:13 virtio-a2bba82c-ef08-48fe-9 -> ../../vdc
$ ssh ubuntu@199.19.213.70 ls -l /dev/disk/by-label
total 0
lrwxrwxrwx 1 root root 10 Mar 17 21:12 cloudimg-rootfs -> ../../vda1
lrwxrwxrwx 1 root root 9 Mar 17 21:12 config-2 -> ../../vdb
As a workaround we have specified the device path when attaching the volume but this is apparently deprecated and not expected to work properly. Therefore it is important that volume show report the correct device path.
One possible option here if libvirt cannot provide this info reliably
is that cinder/nova seem to reliably use /dev/by-id/virtio-
someportionofvolumeuuidhere. The api could possibly return this path
instead since it is deterministic.
To manage notifications about this bug go to:
https://bugs.launchpad.net/cinder/+bug/1558807/+subscriptions
References