Comment 25 for bug 1596602

Revision history for this message
Matt Riedemann (mriedem) wrote :

So the problem it looks like is we don't deploy this file:

https://raw.githubusercontent.com/openstack/glance/master/etc/schema-image.json

To /etc/glance/ on our glance-api (controller) nodes. That defines the schema for kernel_id and ramdisk_id (among other things). It's deployed with devstack which is why we don't see issues in the upstream CI:

http://logs.openstack.org/77/335277/1/check/gate-tempest-dsvm-full/de259ec/logs/etc/glance/schema-image.json.txt.gz

The schema we have in our cloud is this:

http://paste.openstack.org/show/542625/

With:

   "additionalProperties":{
      "type":"string"
   },

So if you pass kernel_id and ramdisk_id, they must not be None, but that's what nova sends:

https://github.com/openstack/nova/blob/3f8076acdc7756b8a5f0f16d4885a47cb001483e/nova/image/glance.py#L844

Basically the glance API, or the image schema at least, is completely configurable and nova isn't using the schema from glance to tell what properties it can and can't set in the image body on the request to glance.

So this is a bug in nova now to use the schema from glance.