
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
39 lines
1.2 KiB
Python
39 lines
1.2 KiB
Python
# Licensed under the Apache License, Version 2.0 (the "License"); you may
|
|
# not use this file except in compliance with the License. You may obtain
|
|
# a copy of the License at
|
|
#
|
|
# http://www.apache.org/licenses/LICENSE-2.0
|
|
#
|
|
# Unless required by applicable law or agreed to in writing, software
|
|
# distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
|
|
# WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the
|
|
# License for the specific language governing permissions and limitations
|
|
# under the License.
|
|
|
|
from examples.connect import EXAMPLE_IMAGE_NAME
|
|
|
|
"""
|
|
Create resources with the Image service.
|
|
|
|
For a full guide see
|
|
http://developer.openstack.org/sdks/python/openstacksdk/user/guides/image.html
|
|
"""
|
|
|
|
|
|
def import_image(conn):
|
|
print("Import Image:")
|
|
|
|
# Url where glance can download the image
|
|
uri = 'https://download.cirros-cloud.net/0.4.0/' \
|
|
'cirros-0.4.0-x86_64-disk.img'
|
|
|
|
# Build the image attributes and import the image.
|
|
image_attrs = {
|
|
'name': EXAMPLE_IMAGE_NAME,
|
|
'disk_format': 'qcow2',
|
|
'container_format': 'bare',
|
|
'visibility': 'public',
|
|
}
|
|
image = conn.image.create_image(**image_attrs)
|
|
conn.image.import_image(image, method="web-download", uri=uri)
|