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:
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.
So the problem it looks like is we don't deploy this file:
https:/ /raw.githubuser content. 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:
"additionalP roperties" :{ 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/ 3f8076acdc7756b 8a5f0f16d4885a4 7cb001483e/ 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.