Public bug reported: When booting instance with block_device_mapping_v2 provided with source_type set to "image" and also providing imageRef with a different uuid than the one provided in block_device_mapping_v2.uuid the instance will be booted but it will contain image metadata from the imageRef while the boot volume with have image meta data from the block_device_mapping_v2.uuid field.
Steps to reproduce ================== Step 1: ======= call /servers api curl REQ: curl -g -i -X POST http://nova- endpoint:8774/v2/5ee09552880049c6b56f96c99081ddf1/servers -H "Content- Type: application/json; charset=UTF-8" -H "X-Auth-Token: authtoken" -H "Content-Type: application/json" -d '{"server": {"name": "new-server- test","imageRef": "cbb2746c-6342-4946-84ab-09ca0c8be82b","flavorRef": "2e7f5353-cff7-4723-bbec-b35b12999d83","availability_zone": "zone-1","block_device_mapping_v2": [{"boot_index": "0","uuid": "1616a9c4-a6f4-4bed-99dc-a742695d9999","source_type": "image","volume_size": "30","destination_type": "volume","delete_on_termination": false}]}}' Step 2: ======= check server information: openstack server show 5e903f37-318e-4b03-a9ad-1cea598fa313 -c name -c image -c os-extended-volumes:volumes_attach +--------------------------------------+-----------------------------------------------------------+ | Field | Value | +--------------------------------------+-----------------------------------------------------------+ | image | Image1 (cbb2746c-6342-4946-84ab-09ca0c8be82b) | | name | new-server-test | | os-extended-volumes:volumes_attached | [{u'id': u'e03eb79c-67d8-4c4c-997e-fe3eeb400968'}] | +--------------------------------------+-----------------------------------------------------------+ Step 3: ======= check volume information: openstack volume show e03eb79c-67d8-4c4c-997e-fe3eeb400968 -c volume_image_metadata +-----------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | Field | Value | +-----------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | volume_image_metadata | {u'description': u'', u'checksum': u'e7f6e7d7d38423a705394ad72fdb823c', u'min_ram': u'0', u'disk_format': u'qcow2', u'image_name': u'Image2', u'image_id': | | | u'1616a9c4-a6f4-4bed-99dc-a742695d9999', u'container_format': u'bare', u'min_disk': u'30', u'size': u'8823242752'} | +-----------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ Expected Result =============== server should not be tagged with image image1 since the actual image source is the image2 specified in block_device_mapping_v2. Actual Result ============== server is tagged with image image1 ** 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/1648501 Title: providing different imageRef when using block_device_mapping (image -> volume) Status in OpenStack Compute (nova): New Bug description: When booting instance with block_device_mapping_v2 provided with source_type set to "image" and also providing imageRef with a different uuid than the one provided in block_device_mapping_v2.uuid the instance will be booted but it will contain image metadata from the imageRef while the boot volume with have image meta data from the block_device_mapping_v2.uuid field. Steps to reproduce ================== Step 1: ======= call /servers api curl REQ: curl -g -i -X POST http://nova- endpoint:8774/v2/5ee09552880049c6b56f96c99081ddf1/servers -H "Content- Type: application/json; charset=UTF-8" -H "X-Auth-Token: authtoken" -H "Content-Type: application/json" -d '{"server": {"name": "new-server- test","imageRef": "cbb2746c-6342-4946-84ab-09ca0c8be82b","flavorRef": "2e7f5353-cff7-4723-bbec-b35b12999d83","availability_zone": "zone-1","block_device_mapping_v2": [{"boot_index": "0","uuid": "1616a9c4-a6f4-4bed-99dc-a742695d9999","source_type": "image","volume_size": "30","destination_type": "volume","delete_on_termination": false}]}}' Step 2: ======= check server information: openstack server show 5e903f37-318e-4b03-a9ad-1cea598fa313 -c name -c image -c os-extended-volumes:volumes_attach +--------------------------------------+-----------------------------------------------------------+ | Field | Value | +--------------------------------------+-----------------------------------------------------------+ | image | Image1 (cbb2746c-6342-4946-84ab-09ca0c8be82b) | | name | new-server-test | | os-extended-volumes:volumes_attached | [{u'id': u'e03eb79c-67d8-4c4c-997e-fe3eeb400968'}] | +--------------------------------------+-----------------------------------------------------------+ Step 3: ======= check volume information: openstack volume show e03eb79c-67d8-4c4c-997e-fe3eeb400968 -c volume_image_metadata +-----------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | Field | Value | +-----------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | volume_image_metadata | {u'description': u'', u'checksum': u'e7f6e7d7d38423a705394ad72fdb823c', u'min_ram': u'0', u'disk_format': u'qcow2', u'image_name': u'Image2', u'image_id': | | | u'1616a9c4-a6f4-4bed-99dc-a742695d9999', u'container_format': u'bare', u'min_disk': u'30', u'size': u'8823242752'} | +-----------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ Expected Result =============== server should not be tagged with image image1 since the actual image source is the image2 specified in block_device_mapping_v2. Actual Result ============== server is tagged with image image1 To manage notifications about this bug go to: https://bugs.launchpad.net/nova/+bug/1648501/+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