Atsushi SAKAI f7b50c48ef Add docker to image_schema on glance v2 cli
Add docker to v2 image_schema
Add docker to v2 unit tests

This is related to following glance api extension.
  https://review.openstack.org/#/c/249282/

Co-Authored-By: Kairat Kushaev <kkushaev@mirantis.com>

Closes-Bug: #1519402
Change-Id: Ia015f027788b49c1b0002fb3e3a93ac825854596
2015-12-25 12:28:55 +00:00

225 lines
7.1 KiB
Python

# Copyright 2015 OpenStack Foundation
# All Rights Reserved.
#
# 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.
_doc_url = "http://docs.openstack.org/trunk/openstack-compute/admin/content/adding-images.html" # noqa
# NOTE(flaper87): Keep a copy of the current default schema so that
# we can react on cases where there's no connection to an OpenStack
# deployment. See #1481729
_BASE_SCHEMA = {
"additionalProperties": {
"type": "string"
},
"name": "image",
"links": [
{
"href": "{self}",
"rel": "self"
},
{
"href": "{file}",
"rel": "enclosure"
},
{
"href": "{schema}",
"rel": "describedby"
}
],
"properties": {
"container_format": {
"enum": [
"ami",
"ari",
"aki",
"bare",
"ovf",
"ova",
"docker"
],
"type": "string",
"description": "Format of the container"
},
"min_ram": {
"type": "integer",
"description": "Amount of ram (in MB) required to boot image."
},
"ramdisk_id": {
"pattern": ("^([0-9a-fA-F]){8}-([0-9a-fA-F]){4}"
"-([0-9a-fA-F]){4}-([0-9a-fA-F]){4}"
"-([0-9a-fA-F]){12}$"),
"type": "string",
"description": ("ID of image stored in Glance that should be "
"used as the ramdisk when booting an AMI-style "
"image.")
},
"locations": {
"items": {
"required": [
"url",
"metadata"
],
"type": "object",
"properties": {
"url": {
"type": "string",
"maxLength": 255
},
"metadata": {
"type": "object"
}
}
},
"type": "array",
"description": ("A set of URLs to access the image "
"file kept in external store")
},
"file": {
"type": "string",
"description": "(READ-ONLY)"
},
"owner": {
"type": "string",
"description": "Owner of the image",
"maxLength": 255
},
"id": {
"pattern": ("^([0-9a-fA-F]){8}-([0-9a-fA-F]){4}"
"-([0-9a-fA-F]){4}-([0-9a-fA-F]){4}"
"-([0-9a-fA-F]){12}$"),
"type": "string",
"description": "An identifier for the image"
},
"size": {
"type": "integer",
"description": "Size of image file in bytes (READ-ONLY)"
},
"os_distro": {
"type": "string",
"description": ("Common name of operating system distribution "
"as specified in %s" % _doc_url)
},
"self": {
"type": "string",
"description": "(READ-ONLY)"
},
"disk_format": {
"enum": [
"ami",
"ari",
"aki",
"vhd",
"vmdk",
"raw",
"qcow2",
"vdi",
"iso"
],
"type": "string",
"description": "Format of the disk"
},
"os_version": {
"type": "string",
"description": ("Operating system version as "
"specified by the distributor")
},
"direct_url": {
"type": "string",
"description": ("URL to access the image file kept in "
"external store (READ-ONLY)")
},
"schema": {
"type": "string",
"description": "(READ-ONLY)"
},
"status": {
"enum": [
"queued",
"saving",
"active",
"killed",
"deleted",
"pending_delete"
],
"type": "string",
"description": "Status of the image (READ-ONLY)"
},
"tags": {
"items": {
"type": "string",
"maxLength": 255
},
"type": "array",
"description": "List of strings related to the image"
},
"kernel_id": {
"pattern": ("^([0-9a-fA-F]){8}-([0-9a-fA-F]){4}-"
"([0-9a-fA-F]){4}-([0-9a-fA-F]){4}-"
"([0-9a-fA-F]){12}$"),
"type": "string",
"description": ("ID of image stored in Glance that should be "
"used as the kernel when booting an AMI-style "
"image.")
},
"visibility": {
"enum": [
"public",
"private"
],
"type": "string",
"description": "Scope of image accessibility"
},
"updated_at": {
"type": "string",
"description": ("Date and time of the last "
"image modification (READ-ONLY)")
},
"min_disk": {
"type": "integer",
"description": ("Amount of disk space (in GB) "
"required to boot image.")
},
"virtual_size": {
"type": "integer",
"description": "Virtual size of image in bytes (READ-ONLY)"
},
"instance_uuid": {
"type": "string",
"description": "ID of instance used to create this image."
},
"name": {
"type": "string",
"description": "Descriptive name for the image",
"maxLength": 255
},
"checksum": {
"type": "string",
"description": "md5 hash of image contents. (READ-ONLY)",
"maxLength": 32
},
"created_at": {
"type": "string",
"description": "Date and time of image registration (READ-ONLY)"
},
"protected": {
"type": "boolean",
"description": "If true, image will not be deletable."
},
"architecture": {
"type": "string",
"description": ("Operating system architecture as specified "
"in %s" % _doc_url)
}
}
}