Certification task: macros and cinder checks

Change-Id: I4b947dc8494ed6184333ac2e473c35ecb3314d31
This commit is contained in:
Yaroslav Isakov 2015-09-18 17:23:46 +03:00 committed by Boris Pavlovic
parent 7637e5f646
commit ce560cee73
2 changed files with 281 additions and 0 deletions

View File

@ -0,0 +1,245 @@
{%- set image_name = image_name|default("^(cirros.*uec|TestVM)$") %}
{%- set flavor_name = flavor_name|default("m1.tiny") %}
{%- set use_existing_users = use_existing_users|default(false) %}
{%- set service_list = service_list|default(["authentication", "cinder"]) %}
{%- macro user_context(tenants=1,users_per_tenant=1) -%}
{%- if use_existing_users and caller is not defined -%} {}
{%- else %}
{%- if not use_existing_users %}
users:
tenants: {{ tenants }}
users_per_tenant: {{ users_per_tenant }}
{%- endif %}
{%- if caller is defined %}
{{ caller() }}
{%- endif %}
{%- endif %}
{%- endmacro %}
{%- macro vm_params(image=none, flavor=none, size=none) %}
{%- if flavor is not none %}
flavor:
name: {{ flavor }}
{%- endif %}
{%- if image is not none %}
image:
name: {{ image }}
{%- endif %}
{%- if size is not none %}
size: {{ size }}
{%- endif %}
{%- endmacro %}
{%- macro unlimited_volumes() %}
cinder:
gigabytes: -1
snapshots: -1
volumes: -1
{%- endmacro %}
{%- macro runner(type='constant',concurrency=1,times=1) %}
type: {{ type }}
concurrency: {{ concurrency }}
times: {{ times }}
{%- endmacro %}
{%- macro no_failures_sla() %}
failure_rate:
max: 0
{%- endmacro %}
{%- macro volumes(size=1, volumes_per_tenant=1) %}
volumes:
size: {{ size }}
volumes_per_tenant: {{ volumes_per_tenant }}
{%- endmacro %}
---
{% if "authentication" in service_list %}
Authenticate.keystone:
-
context:
{{ user_context() }}
runner:
{{ runner() }}
sla:
{{ no_failures_sla() }}
{% endif %}
{% if "cinder" in service_list %}
CinderVolumes.create_and_attach_volume:
-
args:
{{ vm_params(image_name,flavor_name,1) }}
context:
{% call user_context() %}
quotas:
{{ unlimited_volumes() }}
{% endcall %}
runner:
{{ runner() }}
sla:
{{ no_failures_sla() }}
CinderVolumes.create_and_delete_snapshot:
-
args:
force: false
context:
{% call user_context() %}
quotas:
{{ unlimited_volumes() }}
{{ volumes() }}
{% endcall %}
runner:
{{ runner() }}
sla:
{{ no_failures_sla() }}
CinderVolumes.create_and_delete_volume:
-
args:
size:
max: 1
min: 1
context:
{% call user_context() %}
quotas:
{{ unlimited_volumes() }}
{% endcall %}
runner:
{{ runner() }}
sla:
{{ no_failures_sla() }}
-
args:
{{ vm_params(image_name,none,1) }}
context:
{% call user_context() %}
quotas:
{{ unlimited_volumes() }}
{% endcall %}
runner:
{{ runner() }}
sla:
{{ no_failures_sla() }}
-
args:
size: 1
context:
{% call user_context() %}
quotas:
{{ unlimited_volumes() }}
{% endcall %}
runner:
{{ runner() }}
sla:
{{ no_failures_sla() }}
CinderVolumes.create_and_extend_volume:
-
args:
new_size: 2
size: 1
context:
{% call user_context() %}
quotas:
{{ unlimited_volumes() }}
{% endcall %}
runner:
{{ runner() }}
sla:
{{ no_failures_sla() }}
CinderVolumes.create_and_list_snapshots:
-
args:
detailed: true
force: false
context:
{% call user_context() %}
quotas:
{{ unlimited_volumes() }}
{{ volumes() }}
{% endcall %}
runner:
{{ runner() }}
sla:
{{ no_failures_sla() }}
CinderVolumes.create_and_list_volume:
-
args:
detailed: true
{{ vm_params(image_name,none,1) }}
context:
{% call user_context() %}
quotas:
{{ unlimited_volumes() }}
{% endcall %}
runner:
{{ runner() }}
sla:
{{ no_failures_sla() }}
-
args:
detailed: true
size: 1
context:
{% call user_context() %}
quotas:
{{ unlimited_volumes() }}
{% endcall %}
runner:
{{ runner() }}
sla:
{{ no_failures_sla() }}
CinderVolumes.create_and_upload_volume_to_image:
-
args:
container_format: "bare"
disk_format: "raw"
do_delete: true
force: false
size: 1
context:
{% call user_context() %}
quotas:
{{ unlimited_volumes() }}
{% endcall %}
runner:
{{ runner() }}
sla:
{{ no_failures_sla() }}
CinderVolumes.create_from_volume_and_delete_volume:
-
args:
size: 1
context:
{% call user_context() %}
quotas:
{{ unlimited_volumes() }}
{{ volumes() }}
{% endcall %}
runner:
{{ runner() }}
sla:
{{ no_failures_sla() }}
CinderVolumes.create_nested_snapshots_and_attach_volume:
-
args:
nested_level:
max: 1
min: 1
size:
max: 1
min: 1
context:
{% call user_context() %}
quotas:
{{ unlimited_volumes() }}
servers:
{{ vm_params(image_name,flavor_name,none)|indent(2,true) }}
servers_per_tenant: 1
{% endcall %}
runner:
{{ runner() }}
sla:
{{ no_failures_sla() }}
{% endif %}

View File

@ -0,0 +1,36 @@
# Copyright 2014: Mirantis Inc.
# Copyright 2014: Catalyst IT Ltd.
# 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.
import os
import traceback
import unittest
from tests.functional import utils
class TestCertificationTask(unittest.TestCase):
def test_task_samples_is_valid(self):
rally = utils.Rally()
full_path = os.path.join(
os.path.dirname(__file__), os.pardir, os.pardir,
"certification", "openstack", "task.yaml")
try:
rally("task validate --task %s" % full_path)
except Exception:
print(traceback.format_exc())
self.assertTrue(False, "Wrong task config %s" % full_path)