Volume attached at different path than reported by nova/cinder when using config drive
Affects | Status | Importance | Assigned to | Milestone | |
---|---|---|---|---|---|
Cinder |
Invalid
|
Undecided
|
Unassigned | ||
OpenStack Compute (nova) |
Invalid
|
Undecided
|
Unassigned |
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_
+------
| Field | Value |
+------
| OS-DCF:diskConfig | MANUAL |
| OS-EXT-
| OS-EXT-
| OS-EXT-
| OS-EXT-STS:vm_state | building |
| OS-SRV-
| OS-SRV-
| accessIPv4 | |
| accessIPv6 | |
| addresses | |
| adminPass | redacted |
| config_drive | True |
| created | 2016-03-
| flavor | v1-standard-2 (ca2a6e9c-
| hostId | |
| id | cdaf7671-
| image | ubuntu-trusty (d42c4ce4-
| key_name | clarkb-work |
| name | clarkb-test |
| os-extended-
| progress | 0 |
| project_id | projectid |
| properties | |
| security_groups | [{u'name': u'default'}] |
| status | BUILD |
| updated | 2016-03-
| user_id | userid |
+------
$ OS_CLIENT_
+------
| Field | Value |
+------
| attachments | [] |
| availability_zone | ca-ymq-2 |
| bootable | false |
| consistencygroup_id | None |
| created_at | 2016-03-
| description | None |
| encrypted | False |
| id | a2bba82c-
| 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_
$ OS_CLIENT_
+------
| Field | Value |
+------
| attachments | [{u'server_id': u'cdaf7671-
| | u'volume_id': u'a2bba82c-
| availability_zone | ca-ymq-2 |
| bootable | false |
| consistencygroup_id | None |
| created_at | 2016-03-
| description | None |
| encrypted | False |
| id | a2bba82c-
| multiattach | False |
| name | clarkb-test |
| os-vol-
| os-volume-
| os-volume-
| 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@
total 0
lrwxrwxrwx 1 root root 9 Mar 17 21:13 virtio-
$ ssh ubuntu@
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-
Changed in nova: | |
status: | Expired → New |
Changed in nova: | |
status: | New → Invalid |
Possibly related to https:/ /bugs.launchpad .net/nova/ +bug/1558343/ comments/ 2