Comment 2 for bug 1447215

Samuel Matzek (smatzek) wrote :

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
+-----------------------+--------------------------------------+
| Property | Value |
+-----------------------+--------------------------------------+
| Property 'kernel_id' | None |
| Property 'ramdisk_id' | None |
| checksum | 0632d04c8ec91b3c8c4ea5ae1e38908a |
| container_format | bare |
| created_at | 2015-06-05T20:03:54.817722 |
| deleted | False |
| deleted_at | None |
| disk_format | raw |
| id | 1438711d-2e4d-47f3-a092-d7da541c2451 |
| is_public | False |
| min_disk | 0 |
| min_ram | 0 |
| name | test |
| owner | 963177847ec149c9b84f488140c737cd |
| protected | False |
| size | 5 |
| status | active |
| updated_at | 2015-06-05T20:03:55.411470 |
| 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']:
    {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'}

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.