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:
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 I3ce12563846b2c 34ac778d44e7582 eef930ae4b0 was merged, change I76a7cfd995db6c 04f7af48ff8c9ac dd55750ed76 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-e5cadb79a5 05 --flavor m1.tiny instance-volume
or like this
nova boot ct-3 --flavor m1.small --block- device- mapping vda=b2ac7e52- 6ad3-4c11- 9178-c3bf52fd37 3f:::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-71c427e809 09 admin demo] [instance: 6943e226- 8c23-4137- a897-bdbbcebcd3 1d] 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.