← Back to team overview

yahoo-eng-team team mailing list archive

[Bug 1648501] [NEW] providing different imageRef when using block_device_mapping (image -> volume)

 

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