From 1290e4904f80e44079e2f738f9b2520cb2c67e10 Mon Sep 17 00:00:00 2001 From: confi-surya Date: Thu, 26 Jul 2018 10:42:30 +0000 Subject: [PATCH] Move server groups schema into its own file compute response schema for server groups API are present in servers.py where service client is in its own file. We need to have schema also into separate file as service client methods. Change-Id: Ib91d8108e37d91be82f4f0919da0381d40439211 --- .../response/compute/v2_1/server_groups.py | 65 +++++++++++++++++++ .../response/compute/v2_1/servers.py | 52 --------------- .../v2_13/{servers.py => server_groups.py} | 11 ++-- .../services/compute/server_groups_client.py | 6 +- 4 files changed, 75 insertions(+), 59 deletions(-) create mode 100644 tempest/lib/api_schema/response/compute/v2_1/server_groups.py rename tempest/lib/api_schema/response/compute/v2_13/{servers.py => server_groups.py} (74%) diff --git a/tempest/lib/api_schema/response/compute/v2_1/server_groups.py b/tempest/lib/api_schema/response/compute/v2_1/server_groups.py new file mode 100644 index 0000000000..01db20b880 --- /dev/null +++ b/tempest/lib/api_schema/response/compute/v2_1/server_groups.py @@ -0,0 +1,65 @@ +# Copyright 2017 NTT Corporation. 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. + +common_server_group = { + 'type': 'object', + 'properties': { + 'id': {'type': 'string'}, + 'name': {'type': 'string'}, + 'policies': { + 'type': 'array', + 'items': {'type': 'string'} + }, + # 'members' attribute contains the array of instance's UUID of + # instances present in server group + 'members': { + 'type': 'array', + 'items': {'type': 'string'} + }, + 'metadata': {'type': 'object'} + }, + 'additionalProperties': False, + 'required': ['id', 'name', 'policies', 'members', 'metadata'] +} + +create_show_server_group = { + 'status_code': [200], + 'response_body': { + 'type': 'object', + 'properties': { + 'server_group': common_server_group + }, + 'additionalProperties': False, + 'required': ['server_group'] + } +} + +delete_server_group = { + 'status_code': [204] +} + +list_server_groups = { + 'status_code': [200], + 'response_body': { + 'type': 'object', + 'properties': { + 'server_groups': { + 'type': 'array', + 'items': common_server_group + } + }, + 'additionalProperties': False, + 'required': ['server_groups'] + } +} diff --git a/tempest/lib/api_schema/response/compute/v2_1/servers.py b/tempest/lib/api_schema/response/compute/v2_1/servers.py index 2954de0057..b69e1f1d40 100644 --- a/tempest/lib/api_schema/response/compute/v2_1/servers.py +++ b/tempest/lib/api_schema/response/compute/v2_1/servers.py @@ -345,58 +345,6 @@ list_addresses = { } } -common_server_group = { - 'type': 'object', - 'properties': { - 'id': {'type': 'string'}, - 'name': {'type': 'string'}, - 'policies': { - 'type': 'array', - 'items': {'type': 'string'} - }, - # 'members' attribute contains the array of instance's UUID of - # instances present in server group - 'members': { - 'type': 'array', - 'items': {'type': 'string'} - }, - 'metadata': {'type': 'object'} - }, - 'additionalProperties': False, - 'required': ['id', 'name', 'policies', 'members', 'metadata'] -} - -create_show_server_group = { - 'status_code': [200], - 'response_body': { - 'type': 'object', - 'properties': { - 'server_group': common_server_group - }, - 'additionalProperties': False, - 'required': ['server_group'] - } -} - -delete_server_group = { - 'status_code': [204] -} - -list_server_groups = { - 'status_code': [200], - 'response_body': { - 'type': 'object', - 'properties': { - 'server_groups': { - 'type': 'array', - 'items': common_server_group - } - }, - 'additionalProperties': False, - 'required': ['server_groups'] - } -} - instance_actions = { 'type': 'object', 'properties': { diff --git a/tempest/lib/api_schema/response/compute/v2_13/servers.py b/tempest/lib/api_schema/response/compute/v2_13/server_groups.py similarity index 74% rename from tempest/lib/api_schema/response/compute/v2_13/servers.py rename to tempest/lib/api_schema/response/compute/v2_13/server_groups.py index a90f3e4f2b..2b59e385db 100644 --- a/tempest/lib/api_schema/response/compute/v2_13/servers.py +++ b/tempest/lib/api_schema/response/compute/v2_13/server_groups.py @@ -14,21 +14,22 @@ import copy -from tempest.lib.api_schema.response.compute.v2_1 import servers +from tempest.lib.api_schema.response.compute.v2_1 import server_groups -common_server_group = copy.deepcopy(servers.common_server_group) +common_server_group = copy.deepcopy(server_groups.common_server_group) common_server_group['properties']['project_id'] = {'type': 'string'} common_server_group['properties']['user_id'] = {'type': 'string'} common_server_group['required'].append('project_id') common_server_group['required'].append('user_id') -create_show_server_group = copy.deepcopy(servers.create_show_server_group) +create_show_server_group = copy.deepcopy( + server_groups.create_show_server_group) create_show_server_group['response_body']['properties'][ 'server_group'] = common_server_group -delete_server_group = copy.deepcopy(servers.delete_server_group) +delete_server_group = copy.deepcopy(server_groups.delete_server_group) -list_server_groups = copy.deepcopy(servers.list_server_groups) +list_server_groups = copy.deepcopy(server_groups.list_server_groups) list_server_groups['response_body']['properties']['server_groups'][ 'items'] = common_server_group diff --git a/tempest/lib/services/compute/server_groups_client.py b/tempest/lib/services/compute/server_groups_client.py index 03cd645cd0..0d440d5f07 100644 --- a/tempest/lib/services/compute/server_groups_client.py +++ b/tempest/lib/services/compute/server_groups_client.py @@ -16,8 +16,10 @@ from oslo_serialization import jsonutils as json -from tempest.lib.api_schema.response.compute.v2_1 import servers as schema -from tempest.lib.api_schema.response.compute.v2_13 import servers as schemav213 +from tempest.lib.api_schema.response.compute.v2_1 import server_groups \ + as schema +from tempest.lib.api_schema.response.compute.v2_13 import server_groups \ + as schemav213 from tempest.lib.common import rest_client from tempest.lib.services.compute import base_compute_client