# glance --os-image-api-version 1 image-list
+----+------+-------------+------------------+------+--------+
| ID | Name | Disk Format | Container Format | Size | Status |
+----+------+-------------+------------------+------+--------+
+----+------+-------------+------------------+------+--------+
# glance --os-image-api-version 2 image-list
None is not of type u'string'
Failed validating u'type' in schema[u'properties'][u'ramdisk_id']:
{u'description': u'ID of image stored in Glance that should be used as the ramdisk when booting an AMI-style image.',
u'is_base': False,
u'pattern': u'^([0-9a-fA-F]){8}-([0-9a-fA-F]){4}-([0-9a-fA-F]){4}-([0-9a-fA-F]){4}-([0-9a-fA-F]){12}$',
u'type': u'string'}
All VM snapshot images created by libvirt KVM driver in Nova that did not have ramdisk or kernel_id values will exhibit this behavior and they will fail to boot/spawn/deploy when Nova moves to use Glance v2.
Image using the rbd ephemeral snapshot code, https://review.openstack.org/#/c/125963/, are already exhibiting the failure behavior because this spawn path uses a Glance v2 show call to get image locations.
I used slightly different reproduction steps.
# glance --os-image- api-version 1 image-list -----+- ------- -----+- ------- ------- ---+--- ---+--- -----+ -----+- ------- -----+- ------- ------- ---+--- ---+--- -----+ -----+- ------- -----+- ------- ------- ---+--- ---+--- -----+
+----+-
| ID | Name | Disk Format | Container Format | Size | Status |
+----+-
+----+-
# glance --os-image- api-version 1 image-create --name test --disk-format raw --container-format bare --property ramdisk_id= --property kernel_id= --file ./junkfile ------- ------- ---+--- ------- ------- ------- ------- ------- + ------- ------- ---+--- ------- ------- ------- ------- ------- + c8c4ea5ae1e3890 8a | 05T20:03: 54.817722 | 2e4d-47f3- a092-d7da541c24 51 | 9b84f488140c737 cd | 05T20:03: 55.411470 | ------- ------- ---+--- ------- ------- ------- ------- ------- +
+------
| Property | Value |
+------
| Property 'kernel_id' | None |
| Property 'ramdisk_id' | None |
| checksum | 0632d04c8ec91b3
| container_format | bare |
| created_at | 2015-06-
| deleted | False |
| deleted_at | None |
| disk_format | raw |
| id | 1438711d-
| is_public | False |
| min_disk | 0 |
| min_ram | 0 |
| name | test |
| owner | 963177847ec149c
| protected | False |
| size | 5 |
| status | active |
| updated_at | 2015-06-
| virtual_size | None |
+------
# glance --os-image- api-version 2 image-list
None is not of type u'string'
Failed validating u'type' in schema[ u'properties' ][u'ramdisk_ id']: description' : u'ID of image stored in Glance that should be used as the ramdisk when booting an AMI-style image.', 9a-fA-F] ){8}-([ 0-9a-fA- F]){4}- ([0-9a- fA-F]){ 4}-([0- 9a-fA-F] ){4}-([ 0-9a-fA- F]){12} $',
{u'
u'is_base': False,
u'pattern': u'^([0-
u'type': u'string'}
On instance[ u'ramdisk_ id']:
None
The proposed fix https:/ /review. openstack. org/#/c/ 176379/ 2 fixes the problem.
All VM snapshot images created by libvirt KVM driver in Nova that did not have ramdisk or kernel_id values will exhibit this behavior and they will fail to boot/spawn/deploy when Nova moves to use Glance v2.
Image using the rbd ephemeral snapshot code, https:/ /review. openstack. org/#/c/ 125963/, are already exhibiting the failure behavior because this spawn path uses a Glance v2 show call to get image locations.