
Interoperable image import process are introduced in the Image API v2.6. It mainly allow image importing from an external url and let Image Service download it by itself without sending binary data at image creation. This commit will add a method import_image in both Image resource and proxy. I also add a simple create_image proxy function for creating an image without uploading it's data, as it is not required in glance API. Change-Id: Idee9bea3f1f5db412e0ecd2105adff316aef4c4b Story: 2005085 Task: 29671
3.5 KiB
Using OpenStack Image
Before working with the Image service, you'll need to create a
connection to your OpenStack cloud by following the connect
user guide. This will
provide you with the conn
variable used in the examples
below.
The primary resource of the Image service is the image.
List Images
An image is a collection of files for a specific operating system that you use to create or rebuild a server. OpenStack provides pre-built images. You can also create custom images, or snapshots, from servers that you have launched. Images come in different formats and are sometimes called virtual machine images.
../examples/image/list.py
Full example: image resource list
Create Image
Create an image by uploading its data and setting its attributes.
../examples/image/create.py
Full example: image resource create
Create Image via interoperable image import process
Create an image then use interoperable image import process to download data from a web URL.
For more information about the image import process, please check interoperable image import
../examples/image/import.py
Full example: image resource import
Downloading an Image with stream=True
As images are often very large pieces of data, storing their entire contents in the memory of your application can be less than desirable. A more efficient method may be to iterate over a stream of the response data.
By choosing to stream the response content, you determine the
chunk_size
that is appropriate for your needs, meaning only
that many bytes of data are read for each iteration of the loop until
all data has been consumed. See requests.Response.iter_content
for more
information.
When you choose to stream an image download, openstacksdk is no longer able to compute the checksum of the response data for you. This example shows how you might do that yourself, in a very similar manner to how the library calculates checksums for non-streamed responses.
../examples/image/download.py
Downloading an Image with stream=False
If you wish to download an image's contents all at once and to
memory, simply set stream=False
, which is the default.
../examples/image/download.py
Full example: image resource download
Delete Image
Delete an image.
../examples/image/delete.py
Full example: image resource delete