Browse Source

Sync rally config from Neutron.

This lets us compare things to core Neutron performance.

Depends-On: https://review.opendev.org/681167/
Change-Id: I2c1acf71e5dbf51b550fce85c94041bc57a8a7a4
changes/05/664605/16
Brian Haley 2 years ago
parent
commit
129ff8e8a0
  1. 766
      rally-jobs/ovn.yaml
  2. 5
      zuul.d/networking-ovn-jobs.yaml

766
rally-jobs/ovn.yaml

@ -1,307 +1,501 @@
---
NeutronNetworks.create_and_list_networks:
-
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
failure_rate:
max: 0
{% set floating_network = floating_network or "public" %}
{% set image_name = "^(cirros.*-disk|TestVM)$" %}
{% set flavor_name = "m1.tiny" %}
NeutronNetworks.create_and_list_subnets:
-
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:
---
version: 2
title: Rally Task for OpenStack Networking OVN CI
description: >
The task contains various scenarios to prevent concurrency issues
subtasks:
-
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
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
NeutronNetworks.create_and_list_ports:
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:
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: 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: {}
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:
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: {}
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:
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: {}
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"
title: Quotas update check
scenario:
Quotas.neutron_update:
max_quota: 1024
runner:
type: "constant"
times: 40
concurrency: 20
context:
constant:
times: 40
concurrency: 20
contexts:
users:
tenants: 1
tenants: 20
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"
title: Trunks related workload
scenario:
NeutronTrunks.create_and_list_trunks:
subport_count: 125
runner:
type: "constant"
times: 40
concurrency: 20
context:
constant:
times: 4
concurrency: 4
contexts:
users:
tenants: 1
users_per_tenant: 1
quotas:
neutron:
network: -1
port: -1
sla:
failure_rate:
max: 0
NeutronNetworks.create_and_delete_networks:
port: 1000
-
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:
title: Floating IP related workloads
workloads:
-
scenario:
NeutronNetworks.create_and_delete_floating_ips:
floating_network: {{ floating_network }}
floating_ip_args: {}
runner:
constant:
times: 10
concurrency: 5
contexts:
users:
tenants: 2
users_per_tenant: 3
quotas:
neutron:
floatingip: -1
-
scenario:
NeutronNetworks.create_and_list_floating_ips:
floating_network: {{ floating_network }}
floating_ip_args: {}
runner:
constant:
times: 10
concurrency: 5
contexts:
users:
tenants: 2
users_per_tenant: 3
quotas:
neutron:
floatingip: -1
-
scenario:
NeutronNetworks.associate_and_dissociate_floating_ips:
floating_network: {{ floating_network }}
runner:
constant:
times: 10
concurrency: 5
contexts:
users:
tenants: 2
users_per_tenant: 3
quotas:
neutron:
floatingip: -1
-
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:
title: Security Group Related Scenarios
workloads:
-
scenario:
NeutronSecurityGroup.create_and_delete_security_group_rule:
security_group_args: {}
security_group_rule_args: {}
runner:
constant:
times: 50
concurrency: 10
contexts:
users:
tenants: 2
users_per_tenant: 3
quotas:
neutron:
security_group: -1
security_group_rule: -1
-
scenario:
NeutronSecurityGroup.create_and_delete_security_groups:
security_group_create_args: {}
runner:
constant:
times: 50
concurrency: 10
contexts:
users:
tenants: 2
users_per_tenant: 3
quotas:
neutron:
security_group: -1
-
scenario:
NeutronSecurityGroup.create_and_list_security_group_rules:
security_group_args: {}
security_group_rule_args: {}
security_group_rules_count: 20
runner:
constant:
times: 50
concurrency: 10
contexts:
users:
tenants: 2
users_per_tenant: 3
quotas:
neutron:
security_group: -1
security_group_rule: -1
-
scenario:
NeutronSecurityGroup.create_and_list_security_groups:
security_group_create_args: {}
runner:
constant:
times: 50
concurrency: 10
contexts:
users:
tenants: 2
users_per_tenant: 3
quotas:
neutron:
security_group: -1
-
scenario:
NeutronSecurityGroup.create_and_show_security_group_rule:
security_group_args: {}
security_group_rule_args: {}
runner:
constant:
times: 50
concurrency: 10
contexts:
users:
tenants: 2
users_per_tenant: 3
quotas:
neutron:
security_group: -1
security_group_rule: -1
-
scenario:
NeutronSecurityGroup.create_and_show_security_group:
security_group_create_args: {}
runner:
constant:
times: 50
concurrency: 10
contexts:
users:
tenants: 2
users_per_tenant: 3
quotas:
neutron:
security_group: -1
-
scenario:
NeutronSecurityGroup.create_and_update_security_groups:
security_group_create_args: {}
security_group_update_args: {}
runner:
constant:
times: 50
concurrency: 10
contexts:
users:
tenants: 2
users_per_tenant: 3
quotas:
neutron:
security_group: -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_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:
tenants: 20
users_per_tenant: 1
sla:
failure_rate:
max: 0
title: VM booting workloads
workloads:
-
scenario:
NovaServers.boot_and_delete_server:
flavor:
name: {{flavor_name}}
image:
name: {{image_name}}
auto_assign_nic: true
runner:
constant:
times: 2
concurrency: 2
contexts:
users:
tenants: 2
users_per_tenant: 2
network: {}
sla:
# NovaServers.boot_and_delete_server is unstable and frequently
# times out when waiting for the VM to become ACTIVE. We run this
# scenario for the osprofiler report and we ignore the rally
# scenario outcome. Ideally we should eliminate the cause of the
# timeouts, but even until then we'll get usable osprofiler
# results.
failure_rate:
max: 100

5
zuul.d/networking-ovn-jobs.yaml

@ -299,6 +299,11 @@
ENABLE_CHASSIS_AS_GW: true
OVN_L3_CREATE_PUBLIC_NETWORK: true
OVN_BRANCH: master
devstack_local_conf:
post-config:
"${RALLY_CONF_DIR}/${RALLY_CONF_FILE}":
openstack:
neutron_bind_l2_agent_types: "OVN Controller Gateway agent"
rally_task: rally-jobs/ovn.yaml
timeout: 7800

Loading…
Cancel
Save