From 93b8a3301ceb717033ff2cadde30daf0a61006a4 Mon Sep 17 00:00:00 2001 From: Andrey Kurilin Date: Fri, 22 Sep 2017 18:53:35 +0300 Subject: [PATCH] [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 --- rally-jobs/neutron-neutron.yaml | 585 +++++++++++++++----------------- 1 file changed, 282 insertions(+), 303 deletions(-) diff --git a/rally-jobs/neutron-neutron.yaml b/rally-jobs/neutron-neutron.yaml index d328b70c744..f9d0c2cd8b0 100644 --- a/rally-jobs/neutron-neutron.yaml +++ b/rally-jobs/neutron-neutron.yaml @@ -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: - type: "constant" - times: 100 - concurrency: 20 - context: - users: - tenants: 1 - users_per_tenant: 1 - quotas: - neutron: - # 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 + 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: + constant: + times: 100 + concurrency: 20 + contexts: + users: + tenants: 1 + users_per_tenant: 1 + quotas: + neutron: + # 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: - max: 0 - - NeutronNetworks.create_and_list_subnets: + failure_rate: + max: 0 + - + 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: - subnets_per_network: 2 - runner: - type: "constant" - times: 40 - concurrency: 20 - context: - users: - tenants: 1 - users_per_tenant: 1 - quotas: - neutron: - subnet: -1 - network: -1 - sla: - failure_rate: - max: 0 - - NeutronNetworks.create_and_list_routers: + 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 + quotas: + neutron: + subnet: -1 + network: -1 + - + 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: - 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_list_ports: + 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: + 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_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: - network_create_args: - port_create_args: - ports_per_network: 50 - runner: - type: "constant" - times: 8 - concurrency: 4 - context: - users: - tenants: 1 - users_per_tenant: 1 - quotas: - neutron: - network: -1 - subnet: -1 - router: -1 - # ((ports per net + 1 dhcp) * times) + (concurrency-1) - # see bug/1623390 for concurrency explanation - port: 811 - sla: - max_avg_duration_per_atomic: - neutron.list_ports: 15 # reduce as perf is fixed - failure_rate: - max: 0 - - NeutronNetworks.create_and_update_networks: + 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: + constant: + times: 8 + concurrency: 4 + contexts: + users: + tenants: 1 + users_per_tenant: 1 + quotas: + neutron: + network: -1 + subnet: -1 + router: -1 + # ((ports per net + 1 dhcp) * times) + (concurrency-1) + # see bug/1623390 for concurrency explanation + port: 811 + 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: - network_create_args: {} - network_update_args: - admin_state_up: False - name: "_updated" + title: Quotas update check + scenario: + Quotas.neutron_update: + max_quota: 1024 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 - - 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: + constant: + times: 40 + concurrency: 20 + contexts: users: tenants: 20 users_per_tenant: 1 - sla: - failure_rate: - max: 0 - NeutronTrunks.create_and_list_trunk_subports: - - args: - subport_count: 125 + title: Trunks related workload + scenario: + NeutronTrunks.create_and_list_trunk_subports: + subport_count: 125 runner: - type: "constant" - times: 4 - concurrency: 4 - context: + constant: + times: 4 + concurrency: 4 + contexts: users: tenants: 1 users_per_tenant: 1