2015-08-18 19:17:19 |
Maxim Nestratov |
bug |
|
|
added bug |
2015-08-18 19:17:38 |
Maxim Nestratov |
affects |
cinder |
nova |
|
2015-08-18 19:42:34 |
OpenStack Infra |
nova: status |
New |
In Progress |
|
2015-08-18 19:42:34 |
OpenStack Infra |
nova: assignee |
|
Maxim Nestratov (mnestratov) |
|
2015-08-19 05:12:50 |
Feodor Tersin |
nova: status |
In Progress |
Incomplete |
|
2015-08-19 08:26:33 |
Maxim Nestratov |
summary |
User specified volume device names are not ignored |
libvirt: user specified volume device names are not ignored |
|
2015-08-19 08:37:58 |
Maxim Nestratov |
description |
After change I3ce12563846b2c34ac778d44e7582eef930ae4b0 was merged, change I76a7cfd995db6c04f7af48ff8c9acdd55750ed76 ceased to work for root volume device name.
Now we have a situation when we try to boot an instance from volume with specified device name e.g. like this:
nova boot --block-device device=vdc,source=volume,dest=volume,size=1,bootindex=0,id=433756c2-d4dc-4560-b247-e5cadb79a505 --flavor m1.tiny instance-volume
or like this
nova boot ct-3 --flavor m1.small --block-device-mapping vda=b2ac7e52-6ad3-4c11-9178-c3bf52fd373f:::0
with libvirt driver , it will try to clear user specified device name and use driver default device name and we will actually see log warning for this:
2015-08-18 15:05:53.892 WARNING nova.virt.libvirt.driver [req-09b86d01-be81-42ac-aabb-71c427e80909 admin demo] [instance: 6943e226-8c23-4137-a897-bdbbcebcd31d] Ignoring supplied device name: /dev/vda. Libvirt can't honour user-supplied dev names
but nothing will actually happen. It is so because instance.root_device_name is set based on user specified device name in nova.compute.manager._default_block_device_names before driver's default_device_names_for_instance is called and user input is cleared, while bdm in nova.virt.libvirt.blockinfo.get_disk_mapping are updated taking into account instance.root_device_name. |
After change I3ce12563846b2c34ac778d44e7582eef930ae4b0 was merged, change I76a7cfd995db6c04f7af48ff8c9acdd55750ed76 ceased to work for root volume device name.
Now we have a situation when we try to boot an instance from volume with specified device name e.g. like this:
nova boot --block-device device=vdc,source=volume,dest=volume,size=1,bootindex=0,id=433756c2-d4dc-4560-b247-e5cadb79a505 --flavor m1.tiny instance-volume
(with any virt_type)
or like this
nova boot ct-3 --flavor m1.small --block-device-mapping vda=b2ac7e52-6ad3-4c11-9178-c3bf52fd373f:::0
(for virt_type=parallels, which doesn't support virtio bus)
with libvirt driver , it will try to clear user specified device name and use driver default device name and we will actually see log warning for this:
2015-08-18 15:05:53.892 WARNING nova.virt.libvirt.driver [req-09b86d01-be81-42ac-aabb-71c427e80909 admin demo] [instance: 6943e226-8c23-4137-a897-bdbbcebcd31d] Ignoring supplied device name: /dev/vda. Libvirt can't honour user-supplied dev names
but nothing will actually happen. It is so because instance.root_device_name is set based on user specified device name in nova.compute.manager._default_block_device_names before driver's default_device_names_for_instance is called and user input is cleared, while bdm in nova.virt.libvirt.blockinfo.get_disk_mapping are updated taking into account instance.root_device_name. |
|
2015-08-19 10:25:31 |
Maxim Nestratov |
description |
After change I3ce12563846b2c34ac778d44e7582eef930ae4b0 was merged, change I76a7cfd995db6c04f7af48ff8c9acdd55750ed76 ceased to work for root volume device name.
Now we have a situation when we try to boot an instance from volume with specified device name e.g. like this:
nova boot --block-device device=vdc,source=volume,dest=volume,size=1,bootindex=0,id=433756c2-d4dc-4560-b247-e5cadb79a505 --flavor m1.tiny instance-volume
(with any virt_type)
or like this
nova boot ct-3 --flavor m1.small --block-device-mapping vda=b2ac7e52-6ad3-4c11-9178-c3bf52fd373f:::0
(for virt_type=parallels, which doesn't support virtio bus)
with libvirt driver , it will try to clear user specified device name and use driver default device name and we will actually see log warning for this:
2015-08-18 15:05:53.892 WARNING nova.virt.libvirt.driver [req-09b86d01-be81-42ac-aabb-71c427e80909 admin demo] [instance: 6943e226-8c23-4137-a897-bdbbcebcd31d] Ignoring supplied device name: /dev/vda. Libvirt can't honour user-supplied dev names
but nothing will actually happen. It is so because instance.root_device_name is set based on user specified device name in nova.compute.manager._default_block_device_names before driver's default_device_names_for_instance is called and user input is cleared, while bdm in nova.virt.libvirt.blockinfo.get_disk_mapping are updated taking into account instance.root_device_name. |
After change I3ce12563846b2c34ac778d44e7582eef930ae4b0 was merged, change I76a7cfd995db6c04f7af48ff8c9acdd55750ed76 ceased to work for root volume device name.
Now we have a situation when we try to boot an instance from volume with specified device name e.g. like this:
nova boot --block-device device=vdc,source=volume,dest=volume,size=1,bootindex=0,id=433756c2-d4dc-4560-b247-e5cadb79a505 --flavor m1.tiny instance-volume
(with any virt_type)
or like this
nova boot ct-3 --flavor m1.small --block-device-mapping vda=b2ac7e52-6ad3-4c11-9178-c3bf52fd373f:::0
(for virt_type=parallels, which doesn't support virtio bus)
with libvirt driver , it will try to clear user specified device name and use driver default device name and we will actually see log warning for this:
2015-08-18 15:05:53.892 WARNING nova.virt.libvirt.driver [req-09b86d01-be81-42ac-aabb-71c427e80909 admin demo] [instance: 6943e226-8c23-4137-a897-bdbbcebcd31d] Ignoring supplied device name: /dev/vda. Libvirt can't honour user-supplied dev names
but nothing will actually happen. It is so because instance.root_device_name is set based on user specified device name in nova.compute.manager._default_block_device_names before driver's default_device_names_for_instance is called and user input is cleared, while bdm in nova.virt.libvirt.blockinfo.get_disk_mapping are updated taking into account instance.root_device_name.
The problem is also that code generating device names for secondary devices is dependent on specified root_device_name that is according to ignoring logic should not be taken into account. |
|
2015-08-19 13:42:21 |
OpenStack Infra |
nova: status |
Incomplete |
In Progress |
|
2016-02-17 10:12:30 |
Martins Jakubovics |
bug |
|
|
added subscriber Martins Jakubovics |
2016-02-17 16:22:35 |
Sean Dague |
nova: importance |
Undecided |
Medium |
|
2016-03-30 08:22:52 |
OpenStack Infra |
nova: assignee |
Maxim Nestratov (mnestratov) |
Mikhail Feoktistov (mfeoktistov) |
|
2016-08-26 08:54:43 |
MarkMielke |
bug |
|
|
added subscriber MarkMielke |
2016-10-07 10:12:36 |
OpenStack Infra |
nova: assignee |
Mikhail Feoktistov (mfeoktistov) |
Maxim Nestratov (mnestratov) |
|
2016-11-05 11:08:41 |
Dongwon Cho |
bug |
|
|
added subscriber Dongwon Cho |