Rename certification/ to tasks/
Every day Rally step by step closer to the point where Rally is going to be generic framework and it would be possible to split Rally & Rally OpenStack Plugins One of the blockers for doing this is certification & samples directories and their contents. Current apporach creates a lot of confusion: - Rally Users are running samples against production - Rally samples are actually not that usefull, because creating from them tasks takes a lot of time - Rally Users don't know what certification task is and how to use it - Samples are hard to ship/find in packaged way (when rally is installed) - Samples are going to be impossible to ship after the split - We have to keep hunderds of yaml/json files in actual state in our repo (extra work for developers) Proposed approach is to: - Create mechansim CLI command that generates samples using plugin names - Rename certification -> tasks - Put in tasks directory pre created and tested tasks for different use cases: key performance metrics, functional testing, load testing of key functionality, ha Testing - Remove samples as they are not needed anymore Change-Id: I4c45224c3af637d17dab0edea038c69a2bae8b1a
This commit is contained in:
parent
f62dcd39bd
commit
3d9b1e43a6
@ -14,7 +14,7 @@ RUN echo '[ ! -z "$TERM" -a -r /etc/motd ] && cat /etc/motd' \
|
|||||||
>> /etc/bash.bashrc; echo '\
|
>> /etc/bash.bashrc; echo '\
|
||||||
╔═════════════════════════════════════════════════════════════════════════════╗\n\
|
╔═════════════════════════════════════════════════════════════════════════════╗\n\
|
||||||
║ Welcome to Rally Docker container! ║\n\
|
║ Welcome to Rally Docker container! ║\n\
|
||||||
║ Rally certification tasks, samples and docs are located at ~/source/ ║\n\
|
║ Rally pre created tasks, samples and docs are located at ~/source/ ║\n\
|
||||||
║ Rally configuration and DB are in ~/.rally/ ║\n\
|
║ Rally configuration and DB are in ~/.rally/ ║\n\
|
||||||
║ Rally at readthedocs - http://rally.readthedocs.org ║\n\
|
║ Rally at readthedocs - http://rally.readthedocs.org ║\n\
|
||||||
║ How to contribute - http://rally.readthedocs.org/en/latest/contribute.html ║\n\
|
║ How to contribute - http://rally.readthedocs.org/en/latest/contribute.html ║\n\
|
||||||
|
@ -135,7 +135,7 @@ be done via the following steps:
|
|||||||
likely to work if your home directory has excessively open
|
likely to work if your home directory has excessively open
|
||||||
permissions (e.g., ``0755``), which is not recommended.
|
permissions (e.g., ``0755``), which is not recommended.
|
||||||
|
|
||||||
You can find all task samples, docs and certification tasks at /opt/rally/.
|
You can find all task samples, docs and pre created tasks at /opt/rally/.
|
||||||
Also you may want to save the last command as an alias:
|
Also you may want to save the last command as an alias:
|
||||||
|
|
||||||
.. code-block:: bash
|
.. code-block:: bash
|
||||||
|
6
tasks/README.rst
Normal file
6
tasks/README.rst
Normal file
@ -0,0 +1,6 @@
|
|||||||
|
================================
|
||||||
|
Rally Tasks For Production Usage
|
||||||
|
================================
|
||||||
|
|
||||||
|
|
||||||
|
Detailed Instruction TBD
|
50
tasks/openstack/README.rst
Normal file
50
tasks/openstack/README.rst
Normal file
@ -0,0 +1,50 @@
|
|||||||
|
============================
|
||||||
|
OpenStack Certification Task
|
||||||
|
============================
|
||||||
|
|
||||||
|
How To Validate & Run Task
|
||||||
|
--------------------------
|
||||||
|
|
||||||
|
To validate task with your own parameters run:
|
||||||
|
|
||||||
|
.. code-block:: console
|
||||||
|
|
||||||
|
$ rally task validate task.yaml --task-args-file task_arguments.yaml
|
||||||
|
|
||||||
|
|
||||||
|
To start task with your own parameters run:
|
||||||
|
|
||||||
|
.. code-block:: console
|
||||||
|
|
||||||
|
$ rally task start task.yaml --task-args-file task_arguments.yaml
|
||||||
|
|
||||||
|
|
||||||
|
Task Arguments
|
||||||
|
--------------
|
||||||
|
|
||||||
|
File task_arguments.yaml contains all task options:
|
||||||
|
|
||||||
|
+------------------------+----------------------------------------------------+
|
||||||
|
| Name | Description |
|
||||||
|
+========================+====================================================+
|
||||||
|
| service_list | List of services which should be tested |
|
||||||
|
+------------------------+----------------------------------------------------+
|
||||||
|
| smoke | Dry run without load from 1 user |
|
||||||
|
+------------------------+----------------------------------------------------+
|
||||||
|
| use_existing_users | In case of testing cloud with r/o Keystone e.g. AD |
|
||||||
|
+------------------------+----------------------------------------------------+
|
||||||
|
| image_name | Images name that exist in cloud |
|
||||||
|
+------------------------+----------------------------------------------------+
|
||||||
|
| flavor_name | Flavor name that exist in cloud |
|
||||||
|
+------------------------+----------------------------------------------------+
|
||||||
|
| glance_image_location | URL of image that is used to test Glance upload |
|
||||||
|
+------------------------+----------------------------------------------------+
|
||||||
|
| users_amount | Expected amount of users |
|
||||||
|
+------------------------+----------------------------------------------------+
|
||||||
|
| tenants_amount | Expected amount of tenants |
|
||||||
|
+------------------------+----------------------------------------------------+
|
||||||
|
| controllers_amount | Amount of OpenStack API nodes (controllers) |
|
||||||
|
+------------------------+----------------------------------------------------+
|
||||||
|
|
||||||
|
All options have default values, hoverer user should change them to reflect
|
||||||
|
configuration and size of tested OpenStack cloud.
|
95
tasks/openstack/macro/macro.yaml
Normal file
95
tasks/openstack/macro/macro.yaml
Normal file
@ -0,0 +1,95 @@
|
|||||||
|
{%- macro user_context(tenants,users_per_tenant, use_existing_users) -%}
|
||||||
|
{%- 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 constant_runner(concurrency=1, times=1, is_smoke=True) %}
|
||||||
|
type: "constant"
|
||||||
|
{%- if is_smoke %}
|
||||||
|
concurrency: 1
|
||||||
|
times: 1
|
||||||
|
{%- else %}
|
||||||
|
concurrency: {{ concurrency }}
|
||||||
|
times: {{ times }}
|
||||||
|
{%- endif %}
|
||||||
|
{%- endmacro %}
|
||||||
|
|
||||||
|
{%- macro rps_runner(rps=1, times=1, is_smoke=True) %}
|
||||||
|
type: rps
|
||||||
|
{%- if is_smoke %}
|
||||||
|
rps: 1
|
||||||
|
times: 1
|
||||||
|
{%- else %}
|
||||||
|
rps: {{ rps }}
|
||||||
|
times: {{ times }}
|
||||||
|
{%- endif %}
|
||||||
|
{%- 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 %}
|
||||||
|
|
||||||
|
{%- macro unlimited_nova(keypairs=false) %}
|
||||||
|
nova:
|
||||||
|
cores: -1
|
||||||
|
floating_ips: -1
|
||||||
|
instances: -1
|
||||||
|
{%- if keypairs %}
|
||||||
|
key_pairs: -1
|
||||||
|
{%- endif %}
|
||||||
|
ram: -1
|
||||||
|
security_group_rules: -1
|
||||||
|
security_groups: -1
|
||||||
|
{%- endmacro %}
|
||||||
|
|
||||||
|
{%- macro unlimited_neutron() %}
|
||||||
|
{% if "neutron" in service_list %}
|
||||||
|
neutron:
|
||||||
|
network: -1
|
||||||
|
port: -1
|
||||||
|
subnet: -1
|
||||||
|
{% endif %}
|
||||||
|
{%- endmacro %}
|
||||||
|
|
||||||
|
{%- macro glance_args(location, container="bare", type="qcow2") %}
|
||||||
|
container_format: {{ container }}
|
||||||
|
disk_format: {{ type }}
|
||||||
|
image_location: {{ location }}
|
||||||
|
{%- endmacro %}
|
8
tasks/openstack/scenario/authentication.yaml
Normal file
8
tasks/openstack/scenario/authentication.yaml
Normal file
@ -0,0 +1,8 @@
|
|||||||
|
Authenticate.keystone:
|
||||||
|
-
|
||||||
|
context:
|
||||||
|
{{ user_context(tenants_amount, users_amount, use_existing_users) }}
|
||||||
|
runner:
|
||||||
|
{{ rps_runner(rps=15*controllers_amount, times=20000*controllers_amount, is_smoke=smoke) }}
|
||||||
|
sla:
|
||||||
|
{{ no_failures_sla() }}
|
191
tasks/openstack/scenario/cinder.yaml
Normal file
191
tasks/openstack/scenario/cinder.yaml
Normal file
@ -0,0 +1,191 @@
|
|||||||
|
CinderVolumes.create_and_attach_volume:
|
||||||
|
-
|
||||||
|
args:
|
||||||
|
{{ vm_params(image_name,flavor_name,1) }}
|
||||||
|
context:
|
||||||
|
{% call user_context(tenants_amount, users_amount, use_existing_users) %}
|
||||||
|
quotas:
|
||||||
|
{{ unlimited_volumes() }}
|
||||||
|
{% endcall %}
|
||||||
|
runner:
|
||||||
|
{{ constant_runner(concurrency=min(50, 2*controllers_amount),times=min(30, 10*controllers_amount), is_smoke=smoke) }}
|
||||||
|
sla:
|
||||||
|
{{ no_failures_sla() }}
|
||||||
|
|
||||||
|
CinderVolumes.create_and_delete_snapshot:
|
||||||
|
-
|
||||||
|
args:
|
||||||
|
force: false
|
||||||
|
context:
|
||||||
|
{% call user_context(tenants_amount, users_amount, use_existing_users) %}
|
||||||
|
quotas:
|
||||||
|
{{ unlimited_volumes() }}
|
||||||
|
{{ volumes() }}
|
||||||
|
{% endcall %}
|
||||||
|
runner:
|
||||||
|
{{ constant_runner(concurrency=min(50, 2*controllers_amount),times=min(200, 67*controllers_amount), is_smoke=smoke) }}
|
||||||
|
sla:
|
||||||
|
{{ no_failures_sla() }}
|
||||||
|
|
||||||
|
CinderVolumes.create_and_delete_volume:
|
||||||
|
-
|
||||||
|
args:
|
||||||
|
size:
|
||||||
|
max: 1
|
||||||
|
min: 1
|
||||||
|
context:
|
||||||
|
{% call user_context(tenants_amount, users_amount, use_existing_users) %}
|
||||||
|
quotas:
|
||||||
|
{{ unlimited_volumes() }}
|
||||||
|
{% endcall %}
|
||||||
|
runner:
|
||||||
|
{{ constant_runner(concurrency=min(50, 2*controllers_amount),times=min(100, 33*controllers_amount), is_smoke=smoke) }}
|
||||||
|
sla:
|
||||||
|
{{ no_failures_sla() }}
|
||||||
|
-
|
||||||
|
args:
|
||||||
|
{{ vm_params(image_name,none,1) }}
|
||||||
|
context:
|
||||||
|
{% call user_context(tenants_amount, users_amount, use_existing_users) %}
|
||||||
|
quotas:
|
||||||
|
{{ unlimited_volumes() }}
|
||||||
|
{% endcall %}
|
||||||
|
runner:
|
||||||
|
{{ constant_runner(concurrency=min(50, 2*controllers_amount),times=min(100, 33*controllers_amount), is_smoke=smoke) }}
|
||||||
|
sla:
|
||||||
|
{{ no_failures_sla() }}
|
||||||
|
-
|
||||||
|
args:
|
||||||
|
size: 1
|
||||||
|
context:
|
||||||
|
{% call user_context(tenants_amount, users_amount, use_existing_users) %}
|
||||||
|
quotas:
|
||||||
|
{{ unlimited_volumes() }}
|
||||||
|
{% endcall %}
|
||||||
|
runner:
|
||||||
|
{{ constant_runner(concurrency=min(50, 2*controllers_amount),times=min(100, 33*controllers_amount), is_smoke=smoke) }}
|
||||||
|
sla:
|
||||||
|
{{ no_failures_sla() }}
|
||||||
|
|
||||||
|
CinderVolumes.create_and_extend_volume:
|
||||||
|
-
|
||||||
|
args:
|
||||||
|
new_size: 2
|
||||||
|
size: 1
|
||||||
|
context:
|
||||||
|
{% call user_context(tenants_amount, users_amount, use_existing_users) %}
|
||||||
|
quotas:
|
||||||
|
{{ unlimited_volumes() }}
|
||||||
|
{% endcall %}
|
||||||
|
runner:
|
||||||
|
{{ constant_runner(concurrency=min(50, 2*controllers_amount),times=min(100, 33*controllers_amount), is_smoke=smoke) }}
|
||||||
|
sla:
|
||||||
|
{{ no_failures_sla() }}
|
||||||
|
|
||||||
|
CinderVolumes.create_and_list_snapshots:
|
||||||
|
-
|
||||||
|
args:
|
||||||
|
detailed: true
|
||||||
|
force: false
|
||||||
|
context:
|
||||||
|
{% call user_context(tenants_amount, users_amount, use_existing_users) %}
|
||||||
|
quotas:
|
||||||
|
{{ unlimited_volumes() }}
|
||||||
|
{{ volumes() }}
|
||||||
|
{% endcall %}
|
||||||
|
runner:
|
||||||
|
{{ constant_runner(concurrency=min(50, 2*controllers_amount),times=min(100, 33*controllers_amount), is_smoke=smoke) }}
|
||||||
|
sla:
|
||||||
|
{{ no_failures_sla() }}
|
||||||
|
|
||||||
|
CinderVolumes.create_and_list_volume:
|
||||||
|
-
|
||||||
|
args:
|
||||||
|
detailed: true
|
||||||
|
{{ vm_params(image_name,none,1) }}
|
||||||
|
context:
|
||||||
|
{% call user_context(tenants_amount, users_amount, use_existing_users) %}
|
||||||
|
quotas:
|
||||||
|
{{ unlimited_volumes() }}
|
||||||
|
{% endcall %}
|
||||||
|
runner:
|
||||||
|
{{ constant_runner(concurrency=min(50, 2*controllers_amount),times=min(100, 33*controllers_amount), is_smoke=smoke) }}
|
||||||
|
sla:
|
||||||
|
{{ no_failures_sla() }}
|
||||||
|
-
|
||||||
|
args:
|
||||||
|
detailed: true
|
||||||
|
size: 1
|
||||||
|
context:
|
||||||
|
{% call user_context(tenants_amount, users_amount, use_existing_users) %}
|
||||||
|
quotas:
|
||||||
|
{{ unlimited_volumes() }}
|
||||||
|
{% endcall %}
|
||||||
|
runner:
|
||||||
|
{{ constant_runner(concurrency=min(50, 2*controllers_amount),times=min(100, 33*controllers_amount), is_smoke=smoke) }}
|
||||||
|
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(tenants_amount, users_amount, use_existing_users) %}
|
||||||
|
quotas:
|
||||||
|
{{ unlimited_volumes() }}
|
||||||
|
{% endcall %}
|
||||||
|
runner:
|
||||||
|
{{ constant_runner(concurrency=min(50, 2*controllers_amount),times=min(40, 13*controllers_amount), is_smoke=smoke) }}
|
||||||
|
sla:
|
||||||
|
{{ no_failures_sla() }}
|
||||||
|
|
||||||
|
CinderVolumes.create_from_volume_and_delete_volume:
|
||||||
|
-
|
||||||
|
args:
|
||||||
|
size: 1
|
||||||
|
context:
|
||||||
|
{% call user_context(tenants_amount, users_amount, use_existing_users) %}
|
||||||
|
quotas:
|
||||||
|
{{ unlimited_volumes() }}
|
||||||
|
{{ volumes() }}
|
||||||
|
{% endcall %}
|
||||||
|
runner:
|
||||||
|
{{ constant_runner(concurrency=min(50, 2*controllers_amount),times=min(200, 67*controllers_amount), is_smoke=smoke) }}
|
||||||
|
sla:
|
||||||
|
{{ no_failures_sla() }}
|
||||||
|
|
||||||
|
CinderVolumes.create_nested_snapshots_and_attach_volume:
|
||||||
|
-
|
||||||
|
args:
|
||||||
|
nested_level: 1
|
||||||
|
size:
|
||||||
|
max: 1
|
||||||
|
min: 1
|
||||||
|
context:
|
||||||
|
{% call user_context(tenants_amount, users_amount, use_existing_users) %}
|
||||||
|
quotas:
|
||||||
|
{{ unlimited_volumes() }}
|
||||||
|
servers:
|
||||||
|
{{ vm_params(image_name,flavor_name,none)|indent(2,true) }}
|
||||||
|
servers_per_tenant: 1
|
||||||
|
{% endcall %}
|
||||||
|
runner:
|
||||||
|
{{ constant_runner(concurrency=min(50, 2*controllers_amount),times=min(10, 3*controllers_amount), is_smoke=smoke) }}
|
||||||
|
sla:
|
||||||
|
{{ no_failures_sla() }}
|
||||||
|
|
||||||
|
Quotas.cinder_update_and_delete:
|
||||||
|
-
|
||||||
|
args:
|
||||||
|
max_quota: 1024
|
||||||
|
context:
|
||||||
|
{{ user_context(tenants_amount, users_amount, use_existing_users) }}
|
||||||
|
runner:
|
||||||
|
{{ constant_runner(concurrency=min(50, 2*controllers_amount),times=min(200, 67*controllers_amount), is_smoke=smoke) }}
|
||||||
|
sla:
|
||||||
|
{{ no_failures_sla() }}
|
30
tasks/openstack/scenario/glance.yaml
Normal file
30
tasks/openstack/scenario/glance.yaml
Normal file
@ -0,0 +1,30 @@
|
|||||||
|
GlanceImages.create_and_delete_image:
|
||||||
|
-
|
||||||
|
args:
|
||||||
|
{{ glance_args(location=glance_image_location) }}
|
||||||
|
context:
|
||||||
|
{{ user_context(tenants_amount, users_amount, use_existing_users) }}
|
||||||
|
runner:
|
||||||
|
{{ constant_runner(concurrency=min(50, 2*controllers_amount),times=min(200, 67*controllers_amount), is_smoke=smoke) }}
|
||||||
|
sla:
|
||||||
|
{{ no_failures_sla() }}
|
||||||
|
|
||||||
|
GlanceImages.create_and_list_image:
|
||||||
|
-
|
||||||
|
args:
|
||||||
|
{{ glance_args(location=glance_image_location) }}
|
||||||
|
context:
|
||||||
|
{{ user_context(tenants_amount, users_amount, use_existing_users) }}
|
||||||
|
runner:
|
||||||
|
{{ constant_runner(concurrency=min(50, 2*controllers_amount),times=min(200, 67*controllers_amount), is_smoke=smoke) }}
|
||||||
|
sla:
|
||||||
|
{{ no_failures_sla() }}
|
||||||
|
|
||||||
|
GlanceImages.list_images:
|
||||||
|
-
|
||||||
|
context:
|
||||||
|
{{ user_context(tenants_amount, users_amount, use_existing_users) }}
|
||||||
|
runner:
|
||||||
|
{{ constant_runner(concurrency=min(50, 2*controllers_amount),times=min(200, 67*controllers_amount), is_smoke=smoke) }}
|
||||||
|
sla:
|
||||||
|
{{ no_failures_sla() }}
|
62
tasks/openstack/scenario/keystone.yaml
Normal file
62
tasks/openstack/scenario/keystone.yaml
Normal file
@ -0,0 +1,62 @@
|
|||||||
|
KeystoneBasic.add_and_remove_user_role:
|
||||||
|
-
|
||||||
|
context:
|
||||||
|
{{ user_context(tenants_amount, users_amount, use_existing_users) }}
|
||||||
|
runner:
|
||||||
|
{{ constant_runner(concurrency=min(50, 7*controllers_amount),times=min(200, 67*controllers_amount), is_smoke=smoke) }}
|
||||||
|
sla:
|
||||||
|
{{ no_failures_sla() }}
|
||||||
|
|
||||||
|
KeystoneBasic.create_add_and_list_user_roles:
|
||||||
|
-
|
||||||
|
context:
|
||||||
|
{{ user_context(tenants_amount, users_amount, use_existing_users) }}
|
||||||
|
runner:
|
||||||
|
{{ constant_runner(concurrency=min(50, 7*controllers_amount),times=min(200, 67*controllers_amount), is_smoke=smoke) }}
|
||||||
|
sla:
|
||||||
|
{{ no_failures_sla() }}
|
||||||
|
|
||||||
|
KeystoneBasic.create_and_list_tenants:
|
||||||
|
-
|
||||||
|
context:
|
||||||
|
{{ user_context(tenants_amount, users_amount, use_existing_users) }}
|
||||||
|
runner:
|
||||||
|
{{ constant_runner(concurrency=min(50, 2*controllers_amount),times=min(200, 10*controllers_amount), is_smoke=smoke) }}
|
||||||
|
sla:
|
||||||
|
{{ no_failures_sla() }}
|
||||||
|
|
||||||
|
KeystoneBasic.create_and_delete_role:
|
||||||
|
-
|
||||||
|
context:
|
||||||
|
{{ user_context(tenants_amount, users_amount, use_existing_users) }}
|
||||||
|
runner:
|
||||||
|
{{ constant_runner(concurrency=min(50, 7*controllers_amount),times=min(200, 67*controllers_amount), is_smoke=smoke) }}
|
||||||
|
sla:
|
||||||
|
{{ no_failures_sla() }}
|
||||||
|
|
||||||
|
KeystoneBasic.create_and_delete_service:
|
||||||
|
-
|
||||||
|
context:
|
||||||
|
{{ user_context(tenants_amount, users_amount, use_existing_users) }}
|
||||||
|
runner:
|
||||||
|
{{ constant_runner(concurrency=min(50, 7*controllers_amount),times=min(200, 67*controllers_amount), is_smoke=smoke) }}
|
||||||
|
sla:
|
||||||
|
{{ no_failures_sla() }}
|
||||||
|
|
||||||
|
KeystoneBasic.get_entities:
|
||||||
|
-
|
||||||
|
context:
|
||||||
|
{{ user_context(tenants_amount, users_amount, use_existing_users) }}
|
||||||
|
runner:
|
||||||
|
{{ constant_runner(concurrency=min(50, 3*controllers_amount),times=min(200, 67*controllers_amount), is_smoke=smoke) }}
|
||||||
|
sla:
|
||||||
|
{{ no_failures_sla() }}
|
||||||
|
|
||||||
|
KeystoneBasic.create_update_and_delete_tenant:
|
||||||
|
-
|
||||||
|
context:
|
||||||
|
{{ user_context(tenants_amount, users_amount, use_existing_users) }}
|
||||||
|
runner:
|
||||||
|
{{ constant_runner(concurrency=min(50, 7*controllers_amount),times=min(200, 67*controllers_amount), is_smoke=smoke) }}
|
||||||
|
sla:
|
||||||
|
{{ no_failures_sla() }}
|
245
tasks/openstack/scenario/neutron.yaml
Normal file
245
tasks/openstack/scenario/neutron.yaml
Normal file
@ -0,0 +1,245 @@
|
|||||||
|
NeutronNetworks.create_and_delete_networks:
|
||||||
|
-
|
||||||
|
args:
|
||||||
|
network_create_args: {}
|
||||||
|
context:
|
||||||
|
{% call user_context(tenants_amount, users_amount, use_existing_users) %}
|
||||||
|
quotas:
|
||||||
|
neutron:
|
||||||
|
network: -1
|
||||||
|
{% endcall %}
|
||||||
|
runner:
|
||||||
|
{{ constant_runner(concurrency=2*controllers_amount, times=8*controllers_amount, is_smoke=smoke) }}
|
||||||
|
sla:
|
||||||
|
{{ no_failures_sla() }}
|
||||||
|
|
||||||
|
NeutronNetworks.create_and_delete_ports:
|
||||||
|
-
|
||||||
|
args:
|
||||||
|
network_create_args: {}
|
||||||
|
port_create_args: {}
|
||||||
|
ports_per_network: 1
|
||||||
|
context:
|
||||||
|
{% call user_context(tenants_amount, users_amount, use_existing_users) %}
|
||||||
|
quotas:
|
||||||
|
neutron:
|
||||||
|
network: -1
|
||||||
|
port: -1
|
||||||
|
{% endcall %}
|
||||||
|
runner:
|
||||||
|
{{ constant_runner(concurrency=2*controllers_amount, times=8*controllers_amount, is_smoke=smoke) }}
|
||||||
|
sla:
|
||||||
|
{{ no_failures_sla() }}
|
||||||
|
|
||||||
|
NeutronNetworks.create_and_delete_routers:
|
||||||
|
-
|
||||||
|
args:
|
||||||
|
network_create_args: {}
|
||||||
|
router_create_args: {}
|
||||||
|
subnet_cidr_start: "1.1.0.0/30"
|
||||||
|
subnet_create_args: {}
|
||||||
|
subnets_per_network: 1
|
||||||
|
context:
|
||||||
|
{% call user_context(tenants_amount, users_amount, use_existing_users) %}
|
||||||
|
quotas:
|
||||||
|
neutron:
|
||||||
|
network: -1
|
||||||
|
subnet: -1
|
||||||
|
port: -1
|
||||||
|
router: -1
|
||||||
|
{% endcall %}
|
||||||
|
runner:
|
||||||
|
{{ constant_runner(concurrency=2*controllers_amount, times=8*controllers_amount, is_smoke=smoke) }}
|
||||||
|
sla:
|
||||||
|
{{ no_failures_sla() }}
|
||||||
|
|
||||||
|
NeutronNetworks.create_and_delete_subnets:
|
||||||
|
-
|
||||||
|
args:
|
||||||
|
network_create_args: {}
|
||||||
|
subnet_cidr_start: "1.1.0.0/30"
|
||||||
|
subnet_create_args: {}
|
||||||
|
subnets_per_network: 1
|
||||||
|
context:
|
||||||
|
{% call user_context(tenants_amount, users_amount, use_existing_users) %}
|
||||||
|
quotas:
|
||||||
|
neutron:
|
||||||
|
network: -1
|
||||||
|
subnet: -1
|
||||||
|
{% endcall %}
|
||||||
|
runner:
|
||||||
|
{{ constant_runner(concurrency=2*controllers_amount, times=8*controllers_amount, is_smoke=smoke) }}
|
||||||
|
sla:
|
||||||
|
{{ no_failures_sla() }}
|
||||||
|
|
||||||
|
NeutronNetworks.create_and_list_networks:
|
||||||
|
-
|
||||||
|
args:
|
||||||
|
network_create_args: {}
|
||||||
|
context:
|
||||||
|
{% call user_context(tenants_amount, users_amount, use_existing_users) %}
|
||||||
|
quotas:
|
||||||
|
neutron:
|
||||||
|
network: -1
|
||||||
|
{% endcall %}
|
||||||
|
runner:
|
||||||
|
{{ constant_runner(concurrency=2*controllers_amount, times=8*controllers_amount, is_smoke=smoke) }}
|
||||||
|
sla:
|
||||||
|
{{ no_failures_sla() }}
|
||||||
|
|
||||||
|
NeutronNetworks.create_and_list_ports:
|
||||||
|
-
|
||||||
|
args:
|
||||||
|
network_create_args: {}
|
||||||
|
port_create_args: {}
|
||||||
|
ports_per_network: 1
|
||||||
|
context:
|
||||||
|
{% call user_context(tenants_amount, users_amount, use_existing_users) %}
|
||||||
|
quotas:
|
||||||
|
neutron:
|
||||||
|
network: -1
|
||||||
|
port: -1
|
||||||
|
{% endcall %}
|
||||||
|
runner:
|
||||||
|
{{ constant_runner(concurrency=2*controllers_amount, times=8*controllers_amount, is_smoke=smoke) }}
|
||||||
|
sla:
|
||||||
|
{{ no_failures_sla() }}
|
||||||
|
|
||||||
|
NeutronNetworks.create_and_list_routers:
|
||||||
|
-
|
||||||
|
args:
|
||||||
|
network_create_args: {}
|
||||||
|
router_create_args: {}
|
||||||
|
subnet_cidr_start: "1.1.0.0/30"
|
||||||
|
subnet_create_args: {}
|
||||||
|
subnets_per_network: 1
|
||||||
|
context:
|
||||||
|
{% call user_context(tenants_amount, users_amount, use_existing_users) %}
|
||||||
|
quotas:
|
||||||
|
neutron:
|
||||||
|
network: -1
|
||||||
|
subnet: -1
|
||||||
|
router: -1
|
||||||
|
{% endcall %}
|
||||||
|
runner:
|
||||||
|
{{ constant_runner(concurrency=2*controllers_amount, times=8*controllers_amount, is_smoke=smoke) }}
|
||||||
|
sla:
|
||||||
|
{{ no_failures_sla() }}
|
||||||
|
|
||||||
|
NeutronNetworks.create_and_list_subnets:
|
||||||
|
-
|
||||||
|
args:
|
||||||
|
network_create_args: {}
|
||||||
|
subnet_cidr_start: "1.1.0.0/30"
|
||||||
|
subnet_create_args: {}
|
||||||
|
subnets_per_network: 1
|
||||||
|
context:
|
||||||
|
{% call user_context(tenants_amount, users_amount, use_existing_users) %}
|
||||||
|
quotas:
|
||||||
|
neutron:
|
||||||
|
network: -1
|
||||||
|
subnet: -1
|
||||||
|
{% endcall %}
|
||||||
|
runner:
|
||||||
|
{{ constant_runner(concurrency=2*controllers_amount, times=8*controllers_amount, is_smoke=smoke) }}
|
||||||
|
sla:
|
||||||
|
{{ no_failures_sla() }}
|
||||||
|
|
||||||
|
NeutronNetworks.create_and_update_networks:
|
||||||
|
-
|
||||||
|
args:
|
||||||
|
network_create_args: {}
|
||||||
|
network_update_args:
|
||||||
|
admin_state_up: false
|
||||||
|
name: "_updated"
|
||||||
|
context:
|
||||||
|
{% call user_context(tenants_amount, users_amount, use_existing_users) %}
|
||||||
|
quotas:
|
||||||
|
neutron:
|
||||||
|
network: -1
|
||||||
|
{% endcall %}
|
||||||
|
runner:
|
||||||
|
{{ constant_runner(concurrency=2*controllers_amount, times=8*controllers_amount, is_smoke=smoke) }}
|
||||||
|
sla:
|
||||||
|
{{ no_failures_sla() }}
|
||||||
|
|
||||||
|
NeutronNetworks.create_and_update_ports:
|
||||||
|
-
|
||||||
|
args:
|
||||||
|
network_create_args: {}
|
||||||
|
port_create_args: {}
|
||||||
|
port_update_args:
|
||||||
|
admin_state_up: false
|
||||||
|
device_id: "dummy_id"
|
||||||
|
device_owner: "dummy_owner"
|
||||||
|
name: "_port_updated"
|
||||||
|
ports_per_network: 1
|
||||||
|
context:
|
||||||
|
{% call user_context(tenants_amount, users_amount, use_existing_users) %}
|
||||||
|
quotas:
|
||||||
|
neutron:
|
||||||
|
network: -1
|
||||||
|
port: -1
|
||||||
|
{% endcall %}
|
||||||
|
runner:
|
||||||
|
{{ constant_runner(concurrency=2*controllers_amount, times=8*controllers_amount, is_smoke=smoke) }}
|
||||||
|
sla:
|
||||||
|
{{ no_failures_sla() }}
|
||||||
|
|
||||||
|
NeutronNetworks.create_and_update_routers:
|
||||||
|
-
|
||||||
|
args:
|
||||||
|
network_create_args: {}
|
||||||
|
router_create_args: {}
|
||||||
|
router_update_args:
|
||||||
|
admin_state_up: false
|
||||||
|
name: "_router_updated"
|
||||||
|
subnet_cidr_start: "1.1.0.0/30"
|
||||||
|
subnet_create_args: {}
|
||||||
|
subnets_per_network: 1
|
||||||
|
context:
|
||||||
|
{% call user_context(tenants_amount, users_amount, use_existing_users) %}
|
||||||
|
quotas:
|
||||||
|
neutron:
|
||||||
|
network: -1
|
||||||
|
subnet: -1
|
||||||
|
port: -1
|
||||||
|
router: -1
|
||||||
|
{% endcall %}
|
||||||
|
runner:
|
||||||
|
{{ constant_runner(concurrency=2*controllers_amount, times=8*controllers_amount, is_smoke=smoke) }}
|
||||||
|
sla:
|
||||||
|
{{ no_failures_sla() }}
|
||||||
|
|
||||||
|
NeutronNetworks.create_and_update_subnets:
|
||||||
|
-
|
||||||
|
args:
|
||||||
|
network_create_args: {}
|
||||||
|
subnet_cidr_start: "1.4.0.0/16"
|
||||||
|
subnet_create_args: {}
|
||||||
|
subnet_update_args:
|
||||||
|
enable_dhcp: false
|
||||||
|
name: "_subnet_updated"
|
||||||
|
subnets_per_network: 1
|
||||||
|
context:
|
||||||
|
{% call user_context(tenants_amount, users_amount, use_existing_users) %}
|
||||||
|
quotas:
|
||||||
|
neutron:
|
||||||
|
network: -1
|
||||||
|
subnet: -1
|
||||||
|
{% endcall %}
|
||||||
|
runner:
|
||||||
|
{{ constant_runner(concurrency=2*controllers_amount, times=8*controllers_amount, is_smoke=smoke) }}
|
||||||
|
sla:
|
||||||
|
{{ no_failures_sla() }}
|
||||||
|
|
||||||
|
Quotas.neutron_update:
|
||||||
|
-
|
||||||
|
args:
|
||||||
|
max_quota: 1024
|
||||||
|
context:
|
||||||
|
{{ user_context(tenants_amount, users_amount, use_existing_users) }}
|
||||||
|
runner:
|
||||||
|
{{ constant_runner(concurrency=2*controllers_amount, times=8*controllers_amount, is_smoke=smoke) }}
|
||||||
|
sla:
|
||||||
|
{{ no_failures_sla() }}
|
195
tasks/openstack/scenario/nova.yaml
Normal file
195
tasks/openstack/scenario/nova.yaml
Normal file
@ -0,0 +1,195 @@
|
|||||||
|
NovaKeypair.boot_and_delete_server_with_keypair:
|
||||||
|
-
|
||||||
|
args:
|
||||||
|
{{ vm_params(image_name, flavor_name) }}
|
||||||
|
context:
|
||||||
|
{% call user_context(tenants_amount, users_amount, use_existing_users) %}
|
||||||
|
network:
|
||||||
|
networks_per_tenant: 1
|
||||||
|
start_cidr: "100.1.0.0/25"
|
||||||
|
quotas:
|
||||||
|
{{ unlimited_neutron() }}
|
||||||
|
{{ unlimited_nova(keypairs=true) }}
|
||||||
|
{% endcall %}
|
||||||
|
runner:
|
||||||
|
{{ constant_runner(concurrency=min(50, 2*controllers_amount), times=17*controllers_amount, is_smoke=smoke) }}
|
||||||
|
sla:
|
||||||
|
{{ no_failures_sla() }}
|
||||||
|
|
||||||
|
NovaKeypair.create_and_delete_keypair:
|
||||||
|
-
|
||||||
|
context:
|
||||||
|
{% call user_context(tenants_amount, users_amount, use_existing_users) %}
|
||||||
|
quotas:
|
||||||
|
{{ unlimited_nova(keypairs=true) }}
|
||||||
|
{% endcall %}
|
||||||
|
runner:
|
||||||
|
{{ constant_runner(concurrency=min(50, 2*controllers_amount), times=67*controllers_amount, is_smoke=smoke) }}
|
||||||
|
sla:
|
||||||
|
{{ no_failures_sla() }}
|
||||||
|
|
||||||
|
NovaKeypair.create_and_list_keypairs:
|
||||||
|
-
|
||||||
|
context:
|
||||||
|
{% call user_context(tenants_amount, users_amount, use_existing_users) %}
|
||||||
|
quotas:
|
||||||
|
{{ unlimited_nova(keypairs=true) }}
|
||||||
|
{% endcall %}
|
||||||
|
runner:
|
||||||
|
{{ constant_runner(concurrency=min(50, 2*controllers_amount), times=67*controllers_amount, is_smoke=smoke) }}
|
||||||
|
sla:
|
||||||
|
{{ no_failures_sla() }}
|
||||||
|
|
||||||
|
NovaServers.boot_and_bounce_server:
|
||||||
|
-
|
||||||
|
args:
|
||||||
|
actions:
|
||||||
|
-
|
||||||
|
hard_reboot: 1
|
||||||
|
-
|
||||||
|
soft_reboot: 1
|
||||||
|
-
|
||||||
|
stop_start: 1
|
||||||
|
-
|
||||||
|
rescue_unrescue: 1
|
||||||
|
{{ vm_params(image_name, flavor_name) }}
|
||||||
|
context:
|
||||||
|
{% call user_context(tenants_amount, users_amount, use_existing_users) %}
|
||||||
|
network:
|
||||||
|
networks_per_tenant: 1
|
||||||
|
start_cidr: "100.1.0.0/25"
|
||||||
|
quotas:
|
||||||
|
{{ unlimited_neutron() }}
|
||||||
|
{{ unlimited_nova() }}
|
||||||
|
{% endcall %}
|
||||||
|
runner:
|
||||||
|
{{ constant_runner(concurrency=min(50, 2*controllers_amount), times=17*controllers_amount, is_smoke=smoke) }}
|
||||||
|
sla:
|
||||||
|
{{ no_failures_sla() }}
|
||||||
|
|
||||||
|
NovaServers.boot_and_delete_server:
|
||||||
|
-
|
||||||
|
args:
|
||||||
|
{{ vm_params(image_name, flavor_name) }}
|
||||||
|
context:
|
||||||
|
{% call user_context(tenants_amount, users_amount, use_existing_users) %}
|
||||||
|
network:
|
||||||
|
networks_per_tenant: 1
|
||||||
|
start_cidr: "100.1.0.0/25"
|
||||||
|
quotas:
|
||||||
|
{{ unlimited_neutron() }}
|
||||||
|
{{ unlimited_nova() }}
|
||||||
|
{% endcall %}
|
||||||
|
runner:
|
||||||
|
{{ constant_runner(concurrency=min(50, 2*controllers_amount), times=17*controllers_amount, is_smoke=smoke) }}
|
||||||
|
sla:
|
||||||
|
{{ no_failures_sla() }}
|
||||||
|
|
||||||
|
NovaServers.boot_and_list_server:
|
||||||
|
-
|
||||||
|
args:
|
||||||
|
detailed: true
|
||||||
|
{{ vm_params(image_name, flavor_name) }}
|
||||||
|
context:
|
||||||
|
{% call user_context(tenants_amount, users_amount, use_existing_users) %}
|
||||||
|
network:
|
||||||
|
networks_per_tenant: 1
|
||||||
|
start_cidr: "100.1.0.0/25"
|
||||||
|
quotas:
|
||||||
|
{{ unlimited_neutron() }}
|
||||||
|
{{ unlimited_nova() }}
|
||||||
|
{% endcall %}
|
||||||
|
runner:
|
||||||
|
{{ constant_runner(concurrency=min(50, 10*controllers_amount), times=333*controllers_amount, is_smoke=smoke) }}
|
||||||
|
sla:
|
||||||
|
{{ no_failures_sla() }}
|
||||||
|
|
||||||
|
NovaServers.boot_and_rebuild_server:
|
||||||
|
-
|
||||||
|
args:
|
||||||
|
{{ vm_params(flavor=flavor_name) }}
|
||||||
|
from_image:
|
||||||
|
name: {{ image_name }}
|
||||||
|
to_image:
|
||||||
|
name: {{ image_name }}
|
||||||
|
context:
|
||||||
|
{% call user_context(tenants_amount, users_amount, use_existing_users) %}
|
||||||
|
network:
|
||||||
|
networks_per_tenant: 1
|
||||||
|
start_cidr: "100.1.0.0/25"
|
||||||
|
quotas:
|
||||||
|
{{ unlimited_neutron() }}
|
||||||
|
{{ unlimited_nova() }}
|
||||||
|
{% endcall %}
|
||||||
|
runner:
|
||||||
|
{{ constant_runner(concurrency=min(50, 2*controllers_amount), times=17*controllers_amount, is_smoke=smoke) }}
|
||||||
|
sla:
|
||||||
|
{{ no_failures_sla() }}
|
||||||
|
|
||||||
|
NovaServers.boot_server_from_volume_and_delete:
|
||||||
|
-
|
||||||
|
args:
|
||||||
|
{{ vm_params(image_name, flavor_name) }}
|
||||||
|
volume_size: 5
|
||||||
|
context:
|
||||||
|
{% call user_context(tenants_amount, users_amount, use_existing_users) %}
|
||||||
|
network:
|
||||||
|
networks_per_tenant: 1
|
||||||
|
start_cidr: "100.1.0.0/25"
|
||||||
|
quotas:
|
||||||
|
{{ unlimited_volumes() }}
|
||||||
|
{{ unlimited_neutron() }}
|
||||||
|
{{ unlimited_nova() }}
|
||||||
|
{% endcall %}
|
||||||
|
runner:
|
||||||
|
{{ constant_runner(concurrency=min(50, 3*controllers_amount), times=17*controllers_amount, is_smoke=smoke) }}
|
||||||
|
sla:
|
||||||
|
{{ no_failures_sla() }}
|
||||||
|
|
||||||
|
NovaServers.pause_and_unpause_server:
|
||||||
|
-
|
||||||
|
args:
|
||||||
|
{{ vm_params(image_name, flavor_name) }}
|
||||||
|
force_delete: false
|
||||||
|
context:
|
||||||
|
{% call user_context(tenants_amount, users_amount, use_existing_users) %}
|
||||||
|
network:
|
||||||
|
networks_per_tenant: 1
|
||||||
|
start_cidr: "100.1.0.0/25"
|
||||||
|
quotas:
|
||||||
|
{{ unlimited_neutron() }}
|
||||||
|
{{ unlimited_nova() }}
|
||||||
|
{% endcall %}
|
||||||
|
runner:
|
||||||
|
{{ constant_runner(concurrency=min(50, 2*controllers_amount), times=17*controllers_amount, is_smoke=smoke) }}
|
||||||
|
sla:
|
||||||
|
{{ no_failures_sla() }}
|
||||||
|
|
||||||
|
NovaServers.snapshot_server:
|
||||||
|
-
|
||||||
|
args:
|
||||||
|
{{ vm_params(image_name, flavor_name) }}
|
||||||
|
context:
|
||||||
|
{% call user_context(tenants_amount, users_amount, use_existing_users) %}
|
||||||
|
network:
|
||||||
|
networks_per_tenant: 1
|
||||||
|
start_cidr: "100.1.0.0/25"
|
||||||
|
quotas:
|
||||||
|
{{ unlimited_neutron() }}
|
||||||
|
{{ unlimited_nova() }}
|
||||||
|
{% endcall %}
|
||||||
|
runner:
|
||||||
|
{{ constant_runner(concurrency=min(50, 2*controllers_amount), times=17*controllers_amount, is_smoke=smoke) }}
|
||||||
|
sla:
|
||||||
|
{{ no_failures_sla() }}
|
||||||
|
|
||||||
|
Quotas.nova_update_and_delete:
|
||||||
|
-
|
||||||
|
args:
|
||||||
|
max_quota: 1024
|
||||||
|
context:
|
||||||
|
{{ user_context(tenants_amount, users_amount, use_existing_users) }}
|
||||||
|
runner:
|
||||||
|
{{ constant_runner(concurrency=min(50, 2*controllers_amount), times=17*controllers_amount, is_smoke=smoke) }}
|
||||||
|
sla:
|
||||||
|
{{ no_failures_sla() }}
|
42
tasks/openstack/task.yaml
Normal file
42
tasks/openstack/task.yaml
Normal file
@ -0,0 +1,42 @@
|
|||||||
|
{%- set glance_image_location = glance_image_location|default("https://download.cirros-cloud.net/0.3.5/cirros-0.3.5-i386-disk.img") %}
|
||||||
|
{%- set image_name = image_name|default("^(cirros.*-disk|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", "keystone", "nova", "glance", "neutron"]) %}
|
||||||
|
{%- set smoke = smoke|default(true) %}
|
||||||
|
{%- set controllers_amount = controllers_amount|default(1) %}
|
||||||
|
{%- if smoke %}
|
||||||
|
{%- set users_amount = 1 %}
|
||||||
|
{%- set tenants_amount = 1 %}
|
||||||
|
{%- else %}
|
||||||
|
{%- set users_amount = users_amount|default(1) %}
|
||||||
|
{%- set tenants_amount = tenants_amount|default(1) %}
|
||||||
|
{%- endif %}
|
||||||
|
|
||||||
|
{%- from "macro/macro.yaml" import user_context, vm_params, unlimited_volumes, constant_runner, rps_runner, no_failures_sla -%}
|
||||||
|
{%- from "macro/macro.yaml" import volumes, unlimited_nova, unlimited_neutron, glance_args -%}
|
||||||
|
|
||||||
|
---
|
||||||
|
{% if "authentication" in service_list %}
|
||||||
|
{%- include "scenario/authentication.yaml"-%}
|
||||||
|
{% endif %}
|
||||||
|
|
||||||
|
{% if "cinder" in service_list %}
|
||||||
|
{%- include "scenario/cinder.yaml"-%}
|
||||||
|
{% endif %}
|
||||||
|
|
||||||
|
{% if "keystone" in service_list %}
|
||||||
|
{%- include "scenario/keystone.yaml"-%}
|
||||||
|
{% endif %}
|
||||||
|
|
||||||
|
{% if "nova" in service_list %}
|
||||||
|
{%- include "scenario/nova.yaml"-%}
|
||||||
|
{% endif %}
|
||||||
|
|
||||||
|
{% if "glance" in service_list %}
|
||||||
|
{%- include "scenario/glance.yaml"-%}
|
||||||
|
{% endif %}
|
||||||
|
|
||||||
|
{% if "neutron" in service_list %}
|
||||||
|
{%- include "scenario/neutron.yaml"-%}
|
||||||
|
{% endif %}
|
20
tasks/openstack/task_arguments.yaml
Normal file
20
tasks/openstack/task_arguments.yaml
Normal file
@ -0,0 +1,20 @@
|
|||||||
|
---
|
||||||
|
service_list:
|
||||||
|
- authentication
|
||||||
|
- nova
|
||||||
|
- neutron
|
||||||
|
- keystone
|
||||||
|
- cinder
|
||||||
|
- glance
|
||||||
|
use_existing_users: false
|
||||||
|
image_name: "^(cirros.*-disk|TestVM)$"
|
||||||
|
flavor_name: "m1.tiny"
|
||||||
|
glance_image_location: ""
|
||||||
|
smoke: true
|
||||||
|
users_amount: 1
|
||||||
|
tenants_amount: 1
|
||||||
|
controllers_amount: 3
|
||||||
|
compute_amount: 77
|
||||||
|
storage_amount: 20
|
||||||
|
network_amount: 1
|
||||||
|
|
@ -5,7 +5,7 @@ source $SCRIPT_DIR/../rally_gate_functions.sh
|
|||||||
|
|
||||||
setUp
|
setUp
|
||||||
|
|
||||||
TASK=$RALLY_DIR/certification/openstack/task.yaml
|
TASK=$RALLY_DIR/tasks/openstack/task.yaml
|
||||||
TASK_ARGS=$RALLY_DIR/rally-jobs/certifcation_task_args.yaml
|
TASK_ARGS=$RALLY_DIR/rally-jobs/certifcation_task_args.yaml
|
||||||
|
|
||||||
TASK_ARGS="--task-args-file $TASK_ARGS"
|
TASK_ARGS="--task-args-file $TASK_ARGS"
|
||||||
|
Loading…
x
Reference in New Issue
Block a user