[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,319 +1,298 @@
--- ---
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:
- -
runner: title: Network related workloads.
type: "constant" workloads:
times: 100 -
concurrency: 20 description: Check performance of list_networks action and ensure >
context: network quotas are not exceeded
users: scenario:
tenants: 1 NeutronNetworks.create_and_list_networks: {}
users_per_tenant: 1 runner:
quotas: constant:
neutron: times: 100
# worst case is other 19 writers have created concurrency: 20
# resources, but quota reservation hasn't cleared contexts:
# yet on any of them. This value could be 100 users:
# without concurrency. see bug/1623390 tenants: 1
network: 119 users_per_tenant: 1
sla: quotas:
max_avg_duration_per_atomic: neutron:
neutron.list_networks: 15 # reduce as perf is fixed # worst case is other 19 writers have created
# resources, but quota reservation hasn't cleared
# yet on any of them. This value could be 100
# without concurrency. see bug/1623390
network: 119
sla:
max_avg_duration_per_atomic:
neutron.list_networks: 15 # reduce as perf is fixed
failure_rate: failure_rate:
max: 0 max: 0
-
NeutronNetworks.create_and_list_subnets: description: Check network update action
scenario:
NeutronNetworks.create_and_update_networks:
network_create_args: {}
network_update_args:
admin_state_up: False
name: "_updated"
runner:
constant:
times: 40
concurrency: 20
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
- -
args: title: Subnet related workloads.
subnets_per_network: 2 workloads:
runner: -
type: "constant" scenario:
times: 40 NeutronNetworks.create_and_list_subnets:
concurrency: 20 subnets_per_network: 2
context: runner:
users: constant:
tenants: 1 times: 40
users_per_tenant: 1 concurrency: 20
quotas: contexts:
neutron: users:
subnet: -1 tenants: 1
network: -1 users_per_tenant: 1
sla: quotas:
failure_rate: neutron:
max: 0 subnet: -1
network: -1
NeutronNetworks.create_and_list_routers: -
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
- -
args: title: Routers related workloads.
network_create_args: workloads:
subnet_create_args: -
subnet_cidr_start: "1.1.0.0/30" scenario:
subnets_per_network: 2 NeutronNetworks.create_and_list_routers:
router_create_args: network_create_args:
runner: subnet_create_args:
type: "constant" subnet_cidr_start: "1.1.0.0/30"
times: 40 subnets_per_network: 2
concurrency: 20 router_create_args:
context: runner:
users: constant:
tenants: 1 times: 40
users_per_tenant: 1 concurrency: 20
quotas: contexts:
neutron: users:
network: -1 tenants: 1
subnet: -1 users_per_tenant: 1
router: -1 quotas:
sla: neutron:
failure_rate: network: -1
max: 0 subnet: -1
router: -1
NeutronNetworks.create_and_list_ports: -
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
- -
args: title: Ports related workloads.
network_create_args: workloads:
port_create_args: -
ports_per_network: 50 description: Check performance of list ports action and ensure >
runner: network quotas are not exceeded
type: "constant" scenario:
times: 8 NeutronNetworks.create_and_list_ports:
concurrency: 4 network_create_args:
context: port_create_args:
users: ports_per_network: 50
tenants: 1 runner:
users_per_tenant: 1 constant:
quotas: times: 8
neutron: concurrency: 4
network: -1 contexts:
subnet: -1 users:
router: -1 tenants: 1
# ((ports per net + 1 dhcp) * times) + (concurrency-1) users_per_tenant: 1
# see bug/1623390 for concurrency explanation quotas:
port: 811 neutron:
sla: network: -1
max_avg_duration_per_atomic: subnet: -1
neutron.list_ports: 15 # reduce as perf is fixed router: -1
failure_rate: # ((ports per net + 1 dhcp) * times) + (concurrency-1)
max: 0 # see bug/1623390 for concurrency explanation
port: 811
NeutronNetworks.create_and_update_networks: sla:
max_avg_duration_per_atomic:
neutron.list_ports: 15 # reduce as perf is fixed
failure_rate:
max: 0
-
scenario:
NeutronNetworks.create_and_update_ports:
network_create_args: {}
port_create_args: {}
ports_per_network: 5
port_update_args:
admin_state_up: False
device_id: "dummy_id"
device_owner: "dummy_owner"
name: "_port_updated"
runner:
constant:
times: 40
concurrency: 20
contexts:
users:
tenants: 1
users_per_tenant: 1
quotas:
neutron:
network: -1
port: -1
-
scenario:
NeutronNetworks.create_and_delete_ports:
network_create_args: {}
port_create_args: {}
ports_per_network: 5
runner:
constant:
times: 40
concurrency: 20
contexts:
users:
tenants: 1
users_per_tenant: 1
quotas:
neutron:
network: -1
port: -1
- -
args: title: Quotas update check
network_create_args: {} scenario:
network_update_args: Quotas.neutron_update:
admin_state_up: False max_quota: 1024
name: "_updated"
runner: runner:
type: "constant" constant:
times: 40 times: 40
concurrency: 20 concurrency: 20
context: contexts:
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
NeutronNetworks.create_and_update_ports:
-
args:
network_create_args: {}
port_create_args: {}
ports_per_network: 5
port_update_args:
admin_state_up: False
device_id: "dummy_id"
device_owner: "dummy_owner"
name: "_port_updated"
runner:
type: "constant"
times: 40
concurrency: 20
context:
users:
tenants: 1
users_per_tenant: 1
quotas:
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
NeutronNetworks.create_and_delete_ports:
-
args:
network_create_args: {}
port_create_args: {}
ports_per_network: 5
runner:
type: "constant"
times: 40
concurrency: 20
context:
users:
tenants: 1
users_per_tenant: 1
quotas:
neutron:
network: -1
port: -1
sla:
failure_rate:
max: 0
Quotas.neutron_update:
-
args:
max_quota: 1024
runner:
type: "constant"
times: 40
concurrency: 20
context:
users: users:
tenants: 20 tenants: 20
users_per_tenant: 1 users_per_tenant: 1
sla:
failure_rate:
max: 0
NeutronTrunks.create_and_list_trunk_subports:
- -
args: title: Trunks related workload
subport_count: 125 scenario:
NeutronTrunks.create_and_list_trunk_subports:
subport_count: 125
runner: runner:
type: "constant" constant:
times: 4 times: 4
concurrency: 4 concurrency: 4
context: contexts:
users: users:
tenants: 1 tenants: 1
users_per_tenant: 1 users_per_tenant: 1