add image schemas for image
add image schemas for image V2 Change-Id: Ica35b854dc2f2f36b62c71025dd3f0440d93c85a
This commit is contained in:
parent
af19ff4141
commit
1ca0ede168
@ -75,6 +75,293 @@ class TestSchemasClient(base.BaseServiceTest):
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
FAKE_SHOW_SCHEMA_IMAGE = {
|
||||||
|
"additionalProperties": {
|
||||||
|
"type": "string"
|
||||||
|
},
|
||||||
|
"links": [
|
||||||
|
{
|
||||||
|
"href": "{self}",
|
||||||
|
"rel": "self"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"href": "{file}",
|
||||||
|
"rel": "enclosure"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"href": "{schema}",
|
||||||
|
"rel": "describedby"
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"name": "image",
|
||||||
|
"properties": {
|
||||||
|
"architecture": {
|
||||||
|
"description": "Operating system architecture as "
|
||||||
|
"specified in https://docs.openstack.org/"
|
||||||
|
"python-glanceclient/latest/cli"
|
||||||
|
"/property-keys.html",
|
||||||
|
"is_base": False,
|
||||||
|
"type": "string"
|
||||||
|
},
|
||||||
|
"checksum": {
|
||||||
|
"description": "md5 hash of image contents.",
|
||||||
|
"maxLength": 32,
|
||||||
|
"readOnly": True,
|
||||||
|
"type": [
|
||||||
|
"null",
|
||||||
|
"string"
|
||||||
|
]
|
||||||
|
},
|
||||||
|
"container_format": {
|
||||||
|
"description": "Format of the container",
|
||||||
|
"enum": [
|
||||||
|
None,
|
||||||
|
"ami",
|
||||||
|
"ari",
|
||||||
|
"aki",
|
||||||
|
"bare",
|
||||||
|
"ovf",
|
||||||
|
"ova",
|
||||||
|
"docker"
|
||||||
|
],
|
||||||
|
"type": [
|
||||||
|
"null",
|
||||||
|
"string"
|
||||||
|
]
|
||||||
|
},
|
||||||
|
"created_at": {
|
||||||
|
"description": "Date and time of image registration",
|
||||||
|
"readOnly": True,
|
||||||
|
"type": "string"
|
||||||
|
},
|
||||||
|
"direct_url": {
|
||||||
|
"description": "URL to access the image file "
|
||||||
|
"kept in external store",
|
||||||
|
"readOnly": True,
|
||||||
|
"type": "string"
|
||||||
|
},
|
||||||
|
"disk_format": {
|
||||||
|
"description": "Format of the disk",
|
||||||
|
"enum": [
|
||||||
|
None,
|
||||||
|
"ami",
|
||||||
|
"ari",
|
||||||
|
"aki",
|
||||||
|
"vhd",
|
||||||
|
"vhdx",
|
||||||
|
"vmdk",
|
||||||
|
"raw",
|
||||||
|
"qcow2",
|
||||||
|
"vdi",
|
||||||
|
"iso",
|
||||||
|
"ploop"
|
||||||
|
],
|
||||||
|
"type": [
|
||||||
|
"null",
|
||||||
|
"string"
|
||||||
|
]
|
||||||
|
},
|
||||||
|
"file": {
|
||||||
|
"description": "An image file url",
|
||||||
|
"readOnly": True,
|
||||||
|
"type": "string"
|
||||||
|
},
|
||||||
|
"id": {
|
||||||
|
"description": "An identifier for the image",
|
||||||
|
"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"
|
||||||
|
},
|
||||||
|
"instance_uuid": {
|
||||||
|
"description": "Metadata which can be used to record which"
|
||||||
|
" instance this image is associated with. "
|
||||||
|
"(Informational only, does not create "
|
||||||
|
"an instance snapshot.)",
|
||||||
|
"is_base": False,
|
||||||
|
"type": "string"
|
||||||
|
},
|
||||||
|
"kernel_id": {
|
||||||
|
"description": "ID of image stored in Glance that should "
|
||||||
|
"be used as the kernel when booting an "
|
||||||
|
"AMI-style image.",
|
||||||
|
"is_base": False,
|
||||||
|
"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": [
|
||||||
|
"null",
|
||||||
|
"string"
|
||||||
|
]
|
||||||
|
},
|
||||||
|
"locations": {
|
||||||
|
"description": "A set of URLs to access the image file "
|
||||||
|
"kept in external store",
|
||||||
|
"items": {
|
||||||
|
"properties": {
|
||||||
|
"metadata": {
|
||||||
|
"type": "object"
|
||||||
|
},
|
||||||
|
"url": {
|
||||||
|
"maxLength": 255,
|
||||||
|
"type": "string"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"required": [
|
||||||
|
"url",
|
||||||
|
"metadata"
|
||||||
|
],
|
||||||
|
"type": "object"
|
||||||
|
},
|
||||||
|
"type": "array"
|
||||||
|
},
|
||||||
|
"min_disk": {
|
||||||
|
"description": "Amount of disk space (in GB) "
|
||||||
|
"required to boot image.",
|
||||||
|
"type": "integer"
|
||||||
|
},
|
||||||
|
"min_ram": {
|
||||||
|
"description": "Amount of ram (in MB) required "
|
||||||
|
"to boot image.",
|
||||||
|
"type": "integer"
|
||||||
|
},
|
||||||
|
"name": {
|
||||||
|
"description": "Descriptive name for the image",
|
||||||
|
"maxLength": 255,
|
||||||
|
"type": [
|
||||||
|
"null",
|
||||||
|
"string"
|
||||||
|
]
|
||||||
|
},
|
||||||
|
"os_distro": {
|
||||||
|
"description": "Common name of operating system distribution "
|
||||||
|
"as specified in https://docs.openstack.org/"
|
||||||
|
"python-glanceclient/latest/cli/"
|
||||||
|
"property-keys.html",
|
||||||
|
"is_base": False,
|
||||||
|
"type": "string"
|
||||||
|
},
|
||||||
|
"os_hash_algo": {
|
||||||
|
"description": "Algorithm to calculate the os_hash_value",
|
||||||
|
"maxLength": 64,
|
||||||
|
"readOnly": True,
|
||||||
|
"type": [
|
||||||
|
"null",
|
||||||
|
"string"
|
||||||
|
]
|
||||||
|
},
|
||||||
|
"os_hash_value": {
|
||||||
|
"description": "Hexdigest of the image contents "
|
||||||
|
"using the algorithm specified by "
|
||||||
|
"the os_hash_algo",
|
||||||
|
"maxLength": 128,
|
||||||
|
"readOnly": True,
|
||||||
|
"type": [
|
||||||
|
"null",
|
||||||
|
"string"
|
||||||
|
]
|
||||||
|
},
|
||||||
|
"os_hidden": {
|
||||||
|
"description": "If true, image will not appear in default"
|
||||||
|
" image list response.",
|
||||||
|
"type": "boolean"
|
||||||
|
},
|
||||||
|
"os_version": {
|
||||||
|
"description": "Operating system version as specified by "
|
||||||
|
"the distributor",
|
||||||
|
"is_base": False,
|
||||||
|
"type": "string"
|
||||||
|
},
|
||||||
|
"owner": {
|
||||||
|
"description": "Owner of the image",
|
||||||
|
"maxLength": 255,
|
||||||
|
"type": [
|
||||||
|
"null",
|
||||||
|
"string"
|
||||||
|
]
|
||||||
|
},
|
||||||
|
"protected": {
|
||||||
|
"description": "If true, image will not be deletable.",
|
||||||
|
"type": "boolean"
|
||||||
|
},
|
||||||
|
"ramdisk_id": {
|
||||||
|
"description": "ID of image stored in Glance that should"
|
||||||
|
" be used as the ramdisk when booting an "
|
||||||
|
"AMI-style image.",
|
||||||
|
"is_base": False,
|
||||||
|
"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": [
|
||||||
|
"null",
|
||||||
|
"string"
|
||||||
|
]
|
||||||
|
},
|
||||||
|
"schema": {
|
||||||
|
"description": "An image schema url",
|
||||||
|
"readOnly": True,
|
||||||
|
"type": "string"
|
||||||
|
},
|
||||||
|
"self": {
|
||||||
|
"description": "An image self url",
|
||||||
|
"readOnly": True,
|
||||||
|
"type": "string"
|
||||||
|
},
|
||||||
|
"size": {
|
||||||
|
"description": "Size of image file in bytes",
|
||||||
|
"readOnly": True,
|
||||||
|
"type": [
|
||||||
|
"null",
|
||||||
|
"integer"
|
||||||
|
]
|
||||||
|
},
|
||||||
|
"status": {
|
||||||
|
"description": "Status of the image",
|
||||||
|
"enum": [
|
||||||
|
"queued",
|
||||||
|
"saving",
|
||||||
|
"active",
|
||||||
|
"killed",
|
||||||
|
"deleted",
|
||||||
|
"pending_delete",
|
||||||
|
"deactivated",
|
||||||
|
"uploading",
|
||||||
|
"importing"
|
||||||
|
],
|
||||||
|
"readOnly": True,
|
||||||
|
"type": "string"
|
||||||
|
},
|
||||||
|
"tags": {
|
||||||
|
"description": "List of strings related to the image",
|
||||||
|
"items": {
|
||||||
|
"maxLength": 255,
|
||||||
|
"type": "string"
|
||||||
|
},
|
||||||
|
"type": "array"
|
||||||
|
},
|
||||||
|
"updated_at": {
|
||||||
|
"description": "Date and time of the last image modification",
|
||||||
|
"readOnly": True,
|
||||||
|
"type": "string"
|
||||||
|
},
|
||||||
|
"virtual_size": {
|
||||||
|
"description": "Virtual size of image in bytes",
|
||||||
|
"readOnly": True,
|
||||||
|
"type": [
|
||||||
|
"null",
|
||||||
|
"integer"
|
||||||
|
]
|
||||||
|
},
|
||||||
|
"visibility": {
|
||||||
|
"description": "Scope of image accessibility",
|
||||||
|
"enum": [
|
||||||
|
"public",
|
||||||
|
"private"
|
||||||
|
],
|
||||||
|
"type": "string"
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
def setUp(self):
|
def setUp(self):
|
||||||
super(TestSchemasClient, self).setUp()
|
super(TestSchemasClient, self).setUp()
|
||||||
fake_auth = fake_auth_provider.FakeAuthProvider()
|
fake_auth = fake_auth_provider.FakeAuthProvider()
|
||||||
@ -89,6 +376,22 @@ class TestSchemasClient(base.BaseServiceTest):
|
|||||||
bytes_body,
|
bytes_body,
|
||||||
schema="members")
|
schema="members")
|
||||||
|
|
||||||
|
def _test_show_schema_image(self, bytes_body=False):
|
||||||
|
self.check_service_client_function(
|
||||||
|
self.client.show_schema,
|
||||||
|
'tempest.lib.common.rest_client.RestClient.get',
|
||||||
|
self.FAKE_SHOW_SCHEMA_IMAGE,
|
||||||
|
bytes_body,
|
||||||
|
schema="image")
|
||||||
|
|
||||||
|
def _test_show_schema_images(self, bytes_body=False):
|
||||||
|
self.check_service_client_function(
|
||||||
|
self.client.show_schema,
|
||||||
|
'tempest.lib.common.rest_client.RestClient.get',
|
||||||
|
self.FAKE_SHOW_SCHEMA_IMAGE,
|
||||||
|
bytes_body,
|
||||||
|
schema="images")
|
||||||
|
|
||||||
def _test_show_schema(self, bytes_body=False):
|
def _test_show_schema(self, bytes_body=False):
|
||||||
self.check_service_client_function(
|
self.check_service_client_function(
|
||||||
self.client.show_schema,
|
self.client.show_schema,
|
||||||
@ -103,6 +406,18 @@ class TestSchemasClient(base.BaseServiceTest):
|
|||||||
def test_show_schema_members_with_bytes_body(self):
|
def test_show_schema_members_with_bytes_body(self):
|
||||||
self._test_show_schema_members(bytes_body=True)
|
self._test_show_schema_members(bytes_body=True)
|
||||||
|
|
||||||
|
def test_show_schema_image_with_str_body(self):
|
||||||
|
self._test_show_schema_image()
|
||||||
|
|
||||||
|
def test_show_schema_image_with_bytes_body(self):
|
||||||
|
self._test_show_schema_image(bytes_body=True)
|
||||||
|
|
||||||
|
def test_show_schema_images_with_str_body(self):
|
||||||
|
self._test_show_schema_images()
|
||||||
|
|
||||||
|
def test_show_schema_images_with_bytes_body(self):
|
||||||
|
self._test_show_schema_images(bytes_body=True)
|
||||||
|
|
||||||
def test_show_schema_with_str_body(self):
|
def test_show_schema_with_str_body(self):
|
||||||
self._test_show_schema()
|
self._test_show_schema()
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user