Comment 0 for bug 1486204

Revision history for this message
Maxim Nestratov (mnestratov) wrote : User specified volume device names are not ignored

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.