[rally] Port input task to the new format.

The new task format was introduced recently. It unifies different
sections and tries to make the things a bit simpler.

Rally task consists of subtasks. Their amount should be at least one.
The subtask is a group of workloads. Soon, it will be possible to define
a single SLA for all workloads in a subtask and even more - use once
executed contexts for workloads (i.e. create temporary users, network not
for each workload but for a group of them).

The workload is a combination of different plugins to be executed for a
test. The most important are Scenario plugin (what will be executed in
each iteration), runner (how the load should be generated) and contexts
(what resources should be precreated before the workload).

One scenario with different runners/contexts can create different load.
To distinguish them the new section "description" of workload was
introduced. It allows to add a custom description for a workload which
will be dispayed in the report files. In case of missing "description"
section, the description of scenario will be taken.

Also, I need to mention that "failure_rate: 0" SLA is a default now, so
there is no need to specify it.

Change-Id: If99e8c722d9ccb18b8b9d7e12214e76e483a2016
This commit is contained in:
Andrey Kurilin 2017-09-22 18:53:35 +03:00
parent 95fd904184
commit 93b8a3301c
1 changed files with 282 additions and 303 deletions

View File

@ -1,11 +1,22 @@
---
NeutronNetworks.create_and_list_networks:
version: 2
title: Rally Task for OpenStack Neutron CI
description: >
The task contains various scenarios to prevent concurrency issues
subtasks:
-
title: Network related workloads.
workloads:
-
description: Check performance of list_networks action and ensure >
network quotas are not exceeded
scenario:
NeutronNetworks.create_and_list_networks: {}
runner:
type: "constant"
constant:
times: 100
concurrency: 20
context:
contexts:
users:
tenants: 1
users_per_tenant: 1
@ -22,16 +33,52 @@
failure_rate:
max: 0
NeutronNetworks.create_and_list_subnets:
-
args:
subnets_per_network: 2
description: Check network update action
scenario:
NeutronNetworks.create_and_update_networks:
network_create_args: {}
network_update_args:
admin_state_up: False
name: "_updated"
runner:
type: "constant"
constant:
times: 40
concurrency: 20
context:
contexts:
users:
tenants: 1
users_per_tenant: 1
quotas:
neutron:
network: -1
-
scenario:
NeutronNetworks.create_and_delete_networks: {}
runner:
constant:
times: 40
concurrency: 20
contexts:
users:
tenants: 1
users_per_tenant: 1
quotas:
neutron:
network: -1
subnet: -1
-
title: Subnet related workloads.
workloads:
-
scenario:
NeutronNetworks.create_and_list_subnets:
subnets_per_network: 2
runner:
constant:
times: 40
concurrency: 20
contexts:
users:
tenants: 1
users_per_tenant: 1
@ -39,23 +86,64 @@
neutron:
subnet: -1
network: -1
sla:
failure_rate:
max: 0
NeutronNetworks.create_and_list_routers:
-
args:
scenario:
NeutronNetworks.create_and_update_subnets:
network_create_args: {}
subnet_create_args: {}
subnet_cidr_start: "1.4.0.0/16"
subnets_per_network: 2
subnet_update_args:
enable_dhcp: True
name: "_subnet_updated"
runner:
constant:
times: 100
concurrency: 20
contexts:
users:
tenants: 1
users_per_tenant: 5
quotas:
neutron:
network: -1
subnet: -1
port: -1
-
scenario:
NeutronNetworks.create_and_delete_subnets:
network_create_args: {}
subnet_create_args: {}
subnet_cidr_start: "1.1.0.0/30"
subnets_per_network: 2
runner:
constant:
times: 40
concurrency: 20
contexts:
users:
tenants: 1
users_per_tenant: 1
quotas:
neutron:
network: -1
subnet: -1
-
title: Routers related workloads.
workloads:
-
scenario:
NeutronNetworks.create_and_list_routers:
network_create_args:
subnet_create_args:
subnet_cidr_start: "1.1.0.0/30"
subnets_per_network: 2
router_create_args:
runner:
type: "constant"
constant:
times: 40
concurrency: 20
context:
contexts:
users:
tenants: 1
users_per_tenant: 1
@ -64,21 +152,67 @@
network: -1
subnet: -1
router: -1
sla:
failure_rate:
max: 0
NeutronNetworks.create_and_list_ports:
-
args:
scenario:
NeutronNetworks.create_and_update_routers:
network_create_args: {}
subnet_create_args: {}
subnet_cidr_start: "1.1.0.0/30"
subnets_per_network: 2
router_create_args: {}
router_update_args:
admin_state_up: False
name: "_router_updated"
runner:
constant:
times: 40
concurrency: 20
contexts:
users:
tenants: 1
users_per_tenant: 1
quotas:
neutron:
network: -1
subnet: -1
router: -1
-
scenario:
NeutronNetworks.create_and_delete_routers:
network_create_args: {}
subnet_create_args: {}
subnet_cidr_start: "1.1.0.0/30"
subnets_per_network: 2
router_create_args: {}
runner:
constant:
times: 40
concurrency: 20
contexts:
users:
tenants: 1
users_per_tenant: 1
quotas:
neutron:
network: -1
subnet: -1
router: -1
-
title: Ports related workloads.
workloads:
-
description: Check performance of list ports action and ensure >
network quotas are not exceeded
scenario:
NeutronNetworks.create_and_list_ports:
network_create_args:
port_create_args:
ports_per_network: 50
runner:
type: "constant"
constant:
times: 8
concurrency: 4
context:
contexts:
users:
tenants: 1
users_per_tenant: 1
@ -95,87 +229,9 @@
neutron.list_ports: 15 # reduce as perf is fixed
failure_rate:
max: 0
NeutronNetworks.create_and_update_networks:
-
args:
network_create_args: {}
network_update_args:
admin_state_up: False
name: "_updated"
runner:
type: "constant"
times: 40
concurrency: 20
context:
users:
tenants: 1
users_per_tenant: 1
quotas:
neutron:
network: -1
sla:
failure_rate:
max: 0
NeutronNetworks.create_and_update_subnets:
-
args:
network_create_args: {}
subnet_create_args: {}
subnet_cidr_start: "1.4.0.0/16"
subnets_per_network: 2
subnet_update_args:
enable_dhcp: True
name: "_subnet_updated"
runner:
type: "constant"
times: 100
concurrency: 20
context:
users:
tenants: 1
users_per_tenant: 5
quotas:
neutron:
network: -1
subnet: -1
port: -1
sla:
failure_rate:
max: 0
NeutronNetworks.create_and_update_routers:
-
args:
network_create_args: {}
subnet_create_args: {}
subnet_cidr_start: "1.1.0.0/30"
subnets_per_network: 2
router_create_args: {}
router_update_args:
admin_state_up: False
name: "_router_updated"
runner:
type: "constant"
times: 40
concurrency: 20
context:
users:
tenants: 1
users_per_tenant: 1
quotas:
neutron:
network: -1
subnet: -1
router: -1
sla:
failure_rate:
max: 0
scenario:
NeutronNetworks.create_and_update_ports:
-
args:
network_create_args: {}
port_create_args: {}
ports_per_network: 5
@ -185,10 +241,10 @@
device_owner: "dummy_owner"
name: "_port_updated"
runner:
type: "constant"
constant:
times: 40
concurrency: 20
context:
contexts:
users:
tenants: 1
users_per_tenant: 1
@ -196,89 +252,17 @@
neutron:
network: -1
port: -1
sla:
failure_rate:
max: 0
NeutronNetworks.create_and_delete_networks:
-
args:
network_create_args: {}
runner:
type: "constant"
times: 40
concurrency: 20
context:
users:
tenants: 1
users_per_tenant: 1
quotas:
neutron:
network: -1
subnet: -1
sla:
failure_rate:
max: 0
NeutronNetworks.create_and_delete_subnets:
-
args:
network_create_args: {}
subnet_create_args: {}
subnet_cidr_start: "1.1.0.0/30"
subnets_per_network: 2
runner:
type: "constant"
times: 40
concurrency: 20
context:
users:
tenants: 1
users_per_tenant: 1
quotas:
neutron:
network: -1
subnet: -1
sla:
failure_rate:
max: 0
NeutronNetworks.create_and_delete_routers:
-
args:
network_create_args: {}
subnet_create_args: {}
subnet_cidr_start: "1.1.0.0/30"
subnets_per_network: 2
router_create_args: {}
runner:
type: "constant"
times: 40
concurrency: 20
context:
users:
tenants: 1
users_per_tenant: 1
quotas:
neutron:
network: -1
subnet: -1
router: -1
sla:
failure_rate:
max: 0
scenario:
NeutronNetworks.create_and_delete_ports:
-
args:
network_create_args: {}
port_create_args: {}
ports_per_network: 5
runner:
type: "constant"
constant:
times: 40
concurrency: 20
context:
contexts:
users:
tenants: 1
users_per_tenant: 1
@ -286,34 +270,29 @@
neutron:
network: -1
port: -1
sla:
failure_rate:
max: 0
Quotas.neutron_update:
-
args:
title: Quotas update check
scenario:
Quotas.neutron_update:
max_quota: 1024
runner:
type: "constant"
constant:
times: 40
concurrency: 20
context:
contexts:
users:
tenants: 20
users_per_tenant: 1
sla:
failure_rate:
max: 0
NeutronTrunks.create_and_list_trunk_subports:
-
args:
title: Trunks related workload
scenario:
NeutronTrunks.create_and_list_trunk_subports:
subport_count: 125
runner:
type: "constant"
constant:
times: 4
concurrency: 4
context:
contexts:
users:
tenants: 1
users_per_tenant: 1