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
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-f3f11a5252 ac ------- ------- ------- ---+--- ------- ------- ------- ------- ------- ------- ----+ ------- ------- ------- ---+--- ------- ------- ------- ------- ------- ------- ----+ 92c14662941cb79 13 | 7bcd-4844- b23e-f3f11a5252 ac | 79dded1be4c9a54 bf | ------- ------- ------- ---+--- ------- ------- ------- ------- ------- ------- ----+
+------
| Property | Value |
+------
| Property 'hw_disk_bus' | ide |
| Property 'hw_vif_model' | rtl813 |
| Property 'murano_image_info' | {"title": "Murano Demo", "type": "cirros.demo"} |
| checksum | 64d7c1cd2b6f60c
| container_format | bare |
| created_at | 2015-03-10T13:31:01 |
| deleted | False |
| disk_format | qcow2 |
| id | a375c384-
| is_public | True |
| min_disk | 0 |
| min_ram | 64 |
| name | TestVM |
| owner | 7f526ceabbd644b
| 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 7bcd-4844- b23e-f3f11a5252 ac ------- ------- -+----- ------- ------- ------- ------- -----+ ------- ------- -+----- ------- ------- ------- ------- -----+ 11T10:48: 51.715445 | ab3d-4b2e- 99ec-3d9bd710ed 33 | 7bcd-4844- b23e-f3f11a5252 ac | ------- ------- -+----- ------- ------- ------- ------- -----+
root@node-1:~# cinder create 1 --image-id a375c384-
+------
| Property | Value |
+------
| attachments | [] |
| availability_zone | nova |
| bootable | false |
| created_at | 2015-03-
| display_description | None |
| display_name | None |
| encrypted | False |
| id | d81c849c-
| image_id | a375c384-
| metadata | {} |
| size | 1 |
| snapshot_id | None |
| source_volid | None |
| status | creating |
| volume_type | None |
+------
root@node-1:~# cinder show d81c849c- ab3d-4b2e- 99ec-3d9bd710ed 33 ------- ------- ------- ------- -----+- ------- ------- ------- ------- ------- ------- ------- ----+ ------- ------- ------- ------- -----+- ------- ------- ------- ------- ------- ------- ------- ----+ 11T10:48: 52.000000 | ab3d-4b2e- 99ec-3d9bd710ed 33 | host-attr: host |rbd:volumes# DEFAULT | mig-status- attr:migstat |None | mig-status- attr:name_ id |None | tenant- attr:tenant_ id |7f526ceabbd644 b79dded1be4c9a5 4bf | replication: driver_ data |None | replication: extended_ status |None | image_metadata |{u'container_ format' : u'bare', u'min_ram': u'64', | 7bcd-4844- b23e-f3f11a5252 ac', | 0c92c14662941cb 7913', | ------- ------- ------- ------- -----+- ------- ------- ------- ------- ------- ------- ------- ----+
+------
| Property | Value |
+------
| attachments |[] |
| availability_zone |nova |
| bootable |true |
| created_at |2015-03-
| display_description |None |
| display_name |None |
| encrypted |False |
| id |d81c849c-
| metadata |{} |
| os-vol-
| os-vol-
| os-vol-
| os-vol-
| os-volume-
| os-volume-
| size |1 |
| snapshot_id |None |
| source_volid |None |
| status |available |
| volume_
| |u'disk_format': u'qcow2', u'image_name': u'TestVM', |
| |u'image_id': u'a375c384-
| |u'checksum': u'64d7c1cd2b6f6
| |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: image_metadata dict in volume show information should be with dict 'properties'
volume_
{u'container_ format' : u'bare', u'min_ram': u'64', 7bcd-4844- b23e-f3f11a5252 ac', 0c92c14662941cb 7913',
u'disk_format': u'qcow2', u'image_name': u'TestVM',
u'image_id': u'a375c384-
u'checksum': u'64d7c1cd2b6f6
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', 7bcd-4844- b23e-f3f11a5252 ac', 0c92c14662941cb 7913',
u'disk_format': u'qcow2', u'image_name': u'TestVM',
u'image_id': u'a375c384-
u'checksum': u'64d7c1cd2b6f6
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