Public bug reported: Description ===========
provide 2 block device mappings, both bootable volumes with only 1 of them having a boot_index (i.e. only 1 specified as boot device) and both have different bus types. Observe booted instance is actually an instance of the image with no boot_index! Steps to reproduce ================== Created volume from cirros image Created volume from ubuntu image Attempted to create instance sourced from ubuntu volume and also have the cirros volume attached - set boot index to 0 for ubuntu volume - set no boot index for cirros (in trial 2, i set it to -1 explicitly so it would only be an attached volume) - bus type provided for ubuntu volume was 'ide' - bus type provided for cirros volume was 'virtio' - send server payload - observed the instance is booted from the cirros volume despite having no boot index! sample payload : {"server":{"flavorRef":"8e41c8ce-8bca-4012-92f0-6d83dc4e7dfe","name ":"vol-test_cirros-bootable_0_cb3378f2-01d1-4662-8c9e- df6cff05c056","networks":[{"port":"1c11a3f9-47e6-4374-9890-54b5dd91f7c2"}],"block_device_mapping_v2":[{"uuid":"03b3c938-ed05-41a3-af92-5344431892ae","source_type":"volume","destination_type":"volume","delete_on_termination":"false","disk_bus": "virtio" },{"uuid":"7cebbbc0-113e- 452b-b577-9043140656bf","boot_index":"0","source_type":"volume","destination_type":"volume","delete_on_termination":"false","disk_bus": "ide" },{"uuid":"5870a3d6-f475-4312-b26f- 5162d76b9074","source_type":"volume","destination_type":"volume","delete_on_termination":"false","disk_bus": "virtio" }]} NOTE : when the ubuntu volume is the only volume and the bus type is IDE, the created instance is an ubuntu instance Also, if both volumes have the bus types set to virtio, the ubuntu instance is correctly booted. Appears to be some bus type related issue, but it wasn't documented anywhere and there's no error. Expected result =============== Boot from the volume with boot index provided or fail with error Actual result ============= Boots from the other volume, even though it has no boot index. Environment =========== Openstack Kilo hypervisor : libvirt + KVM storage : LVM networking : neutron with openvswitch ** Affects: nova Importance: Undecided Status: 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/1570107 Title: block device mapping : booting up attached volumes with no boot index when multiple bootable volumes are used Status in OpenStack Compute (nova): New Bug description: Description =========== provide 2 block device mappings, both bootable volumes with only 1 of them having a boot_index (i.e. only 1 specified as boot device) and both have different bus types. Observe booted instance is actually an instance of the image with no boot_index! Steps to reproduce ================== Created volume from cirros image Created volume from ubuntu image Attempted to create instance sourced from ubuntu volume and also have the cirros volume attached - set boot index to 0 for ubuntu volume - set no boot index for cirros (in trial 2, i set it to -1 explicitly so it would only be an attached volume) - bus type provided for ubuntu volume was 'ide' - bus type provided for cirros volume was 'virtio' - send server payload - observed the instance is booted from the cirros volume despite having no boot index! sample payload : {"server":{"flavorRef":"8e41c8ce-8bca-4012-92f0-6d83dc4e7dfe","name ":"vol-test_cirros-bootable_0_cb3378f2-01d1-4662-8c9e- df6cff05c056","networks":[{"port":"1c11a3f9-47e6-4374-9890-54b5dd91f7c2"}],"block_device_mapping_v2":[{"uuid":"03b3c938-ed05-41a3-af92-5344431892ae","source_type":"volume","destination_type":"volume","delete_on_termination":"false","disk_bus": "virtio" },{"uuid":"7cebbbc0-113e- 452b-b577-9043140656bf","boot_index":"0","source_type":"volume","destination_type":"volume","delete_on_termination":"false","disk_bus": "ide" },{"uuid":"5870a3d6-f475-4312-b26f- 5162d76b9074","source_type":"volume","destination_type":"volume","delete_on_termination":"false","disk_bus": "virtio" }]} NOTE : when the ubuntu volume is the only volume and the bus type is IDE, the created instance is an ubuntu instance Also, if both volumes have the bus types set to virtio, the ubuntu instance is correctly booted. Appears to be some bus type related issue, but it wasn't documented anywhere and there's no error. Expected result =============== Boot from the volume with boot index provided or fail with error Actual result ============= Boots from the other volume, even though it has no boot index. Environment =========== Openstack Kilo hypervisor : libvirt + KVM storage : LVM networking : neutron with openvswitch To manage notifications about this bug go to: https://bugs.launchpad.net/nova/+bug/1570107/+subscriptions -- Mailing list: https://launchpad.net/~yahoo-eng-team Post to : yahoo-eng-team@lists.launchpad.net Unsubscribe : https://launchpad.net/~yahoo-eng-team More help : https://help.launchpad.net/ListHelp