Revision history [back]

Hi David! Hope all is well in this New Year! :)

To answer your question, it's important to understand that uec-publish-tarball does not actually upload the tarball to Glance. What actually happens is that uec-publish-tarball is communicating with the nova-api endpoint, on the EC2 API controller, and the controller is communicating with both Glance and nova-objectstore, which acts as the (required by uec-publish-tarball) S3 service that is used to store things like the manifest.xml and image part files. Once the tarball is unpacked and the contents decrypted, the final uncompressed, decrypted disk image file is what is uploaded to Glance.

You are correct that stack.sh unpacks a tarball (with a cirros ramdisk, kernel and disk image) by default and uses the glance CLI tool to upload each piece to Glance in devstack. However, the only image you can actually use in Horizon to build a server instance is the disk image, so it's kind of silly listing the kernel and ramdisk images since you cannot (currently at least) boot an instance in Horizon or the Compute API by specifying a ramdisk, kernel and/or filesystem image separately. At least, that's AFAIK...

Finally, per your assertion that Glance should set name = image_location if name is None, I think that's an admirable idea. Unfortunately, though, the location field is not actually editable or viewable after being set by Glance (since it can contain security credentials -- for instance, for logging into a swift backend cluster providing actual storage to Glance).

That said, I'm not opposed to defaulting name to the UUID of the image if no name was specified... would that work?

Cheers! -jay