https://blueprints.launchpad.net/ironic/+spec/non-glance-image-refs
Add the ability to provide non-Glance references for images that are used by Ironic.
Currently, kernels and ramdisks, image_source images are downloaded from Glance, provided their UUID. This requires Glance to be up and running, and does not allow providing images from specific URL or from local disk.
The proposal is to create new image service base class for downloading images provided URL for them; also to add some common protocol support, i.e. downloading from remote HTTP servers and using images available in local file system.
Depending on the URL, different image service will be used:
Continue having a hard-dependency on Glance.
None
None
None
None
None
Operators should download images from trusted sources.
None
Depending on the protocol used to download image, network usage can be either reduced (using local files) or remains the same.
None
Since Ironic may be used without Glance, developers can’t make the assumption that Glance image metadata is the only source for such information. Deployers must be capable of supplying Ironic with all required metadata programmatically, and such requirements must be documented.
For example, because of kernel and ramdisk UUIDs are currently got from image_source image properties returned by Glance, links for those should be put into instance_info dictionary if Glance is not used. Another example is whole disk instance images that need to have is_whole_disk flag in instance_info in order to not to fetch kernel and ramdisk.
Developers can easily add their own image services to download images using specific protocols that are needed.
None
Tests for downloading images using different protocols will be added to Tempest.
For backwards compatibility it is allowed for image URL to contain only Glance image UUID.
Possibility of specifying URLs for images and protocols supported should be added to documentation.
If a driver uses some image metadata provided by Glance, it should be added to documentation, so that operators that decide not to run Glance can know which additional metadata they should provide manually.
Except where otherwise noted, this document is licensed under Creative Commons Attribution 3.0 License. See all OpenStack Legal Documents.