Comment 8 for bug 1421439

Revision history for this message
Sergey Nikitin (snikitin) wrote :

It's a Cinder bug.
steps to reproduce:
1. edit TestVM image property:
glance image-update TestVM --property hw_disk_bus=ide --property hw_vif_model=rtl813

root@node-1:~# glance image-show a375c384-7bcd-4844-b23e-f3f11a5252ac
+------------------------------+-------------------------------------------------+
| Property | Value |
+------------------------------+-------------------------------------------------+
| Property 'hw_disk_bus' | ide |
| Property 'hw_vif_model' | rtl813 |
| Property 'murano_image_info' | {"title": "Murano Demo", "type": "cirros.demo"} |
| checksum | 64d7c1cd2b6f60c92c14662941cb7913 |
| container_format | bare |
| created_at | 2015-03-10T13:31:01 |
| deleted | False |
| disk_format | qcow2 |
| id | a375c384-7bcd-4844-b23e-f3f11a5252ac |
| is_public | True |
| min_disk | 0 |
| min_ram | 64 |
| name | TestVM |
| owner | 7f526ceabbd644b79dded1be4c9a54bf |
| protected | False |
| size | 13167616 |
| status | active |
| updated_at | 2015-03-10T13:56:25 |
+------------------------------+-------------------------------------------------+

Here we see two new properties: Property 'hw_disk_bus'= ide and Property 'hw_vif_model'=rtl813

2. create a volume from this image
root@node-1:~# cinder create 1 --image-id a375c384-7bcd-4844-b23e-f3f11a5252ac
+---------------------+--------------------------------------+
| Property | Value |
+---------------------+--------------------------------------+
| attachments | [] |
| availability_zone | nova |
| bootable | false |
| created_at | 2015-03-11T10:48:51.715445 |
| display_description | None |
| display_name | None |
| encrypted | False |
| id | d81c849c-ab3d-4b2e-99ec-3d9bd710ed33 |
| image_id | a375c384-7bcd-4844-b23e-f3f11a5252ac |
| metadata | {} |
| size | 1 |
| snapshot_id | None |
| source_volid | None |
| status | creating |
| volume_type | None |
+---------------------+--------------------------------------+

root@node-1:~# cinder show d81c849c-ab3d-4b2e-99ec-3d9bd710ed33
+---------------------------------------+------------------------------------------------------+
| Property | Value |
+---------------------------------------+------------------------------------------------------+
| attachments |[] |
| availability_zone |nova |
| bootable |true |
| created_at |2015-03-11T10:48:52.000000 |
| display_description |None |
| display_name |None |
| encrypted |False |
| id |d81c849c-ab3d-4b2e-99ec-3d9bd710ed33 |
| metadata |{} |
| os-vol-host-attr:host |rbd:volumes#DEFAULT |
| os-vol-mig-status-attr:migstat |None |
| os-vol-mig-status-attr:name_id |None |
| os-vol-tenant-attr:tenant_id |7f526ceabbd644b79dded1be4c9a54bf |
| os-volume-replication:driver_data |None |
| os-volume-replication:extended_status |None |
| size |1 |
| snapshot_id |None |
| source_volid |None |
| status |available |
| volume_image_metadata |{u'container_format': u'bare', u'min_ram': u'64', |
| |u'disk_format': u'qcow2', u'image_name': u'TestVM', |
| |u'image_id': u'a375c384-7bcd-4844-b23e-f3f11a5252ac', |
| |u'checksum': u'64d7c1cd2b6f60c92c14662941cb7913', |
| |u'min_disk': u'0', u'size': u'13167616'} |
| volume_type |None |
+---------------------------------------+------------------------------------------------------+

As you see here we have no information about image properties 'hw_disk_bus' and 'hw_vif_model' (it should be in dictionary 'volume_image_metadata')

expected:
volume_image_metadata dict in volume show information should be with dict 'properties'

{u'container_format': u'bare', u'min_ram': u'64',
u'disk_format': u'qcow2', u'image_name': u'TestVM',
u'image_id': u'a375c384-7bcd-4844-b23e-f3f11a5252ac',
u'checksum': u'64d7c1cd2b6f60c92c14662941cb7913',
u'min_disk': u'0', u'size': u'13167616',
u'properties': {u'hw_vif_model': u'rtl813', u'hw_disk_bus': u'ide'}}

Actual:

volume_image_metadata dict in volume show information has NO dict 'properties'

{u'container_format': u'bare', u'min_ram': u'64',
u'disk_format': u'qcow2', u'image_name': u'TestVM',
u'image_id': u'a375c384-7bcd-4844-b23e-f3f11a5252ac',
u'checksum': u'64d7c1cd2b6f60c92c14662941cb7913',
u'min_disk': u'0', u'size': u'13167616'}

This properties is needed when we trying to boot instance here https://github.com/openstack/nova/blob/master/nova/compute/api.py#L1082-L1087