Add Rally Plugin for Neutron

This Plugin creates a security group and creates a port with that security group and also
deletes them. This well help us do control plane performance testing of new firewall
implementations, etc.

Change-Id: I7d5c7713388a0000fef73aaadc8c79a1dd0950c1
This commit is contained in:
Sai Sindhur Malleni 2016-10-11 15:06:12 -04:00
parent 7642550e5c
commit 4adfe7074b
3 changed files with 62 additions and 0 deletions

View File

@ -99,6 +99,7 @@ rally:
- subnet-router-create: rally/rally-plugins/subnet-router-create
- glance-create-boot-delete: rally/rally-plugins/glance-create-boot-delete
- nova-create-pbench-uperf: rally/rally-plugins/nova-create-pbench-uperf
- neutron-securitygroup-port: rally/rally-plugins/neutron-securitygroup-port
benchmarks:
- name: authenticate
enabled: true
@ -251,6 +252,9 @@ rally:
image_location: /home/stack/cirros
flavor_name: m1.tiny
file: rally/rally-plugins/glance-create-boot-delete/glance_create_boot_delete.yml
- name: neutron-securitygroup-port
enabled: false
file: rally/rally-plugins/neutron-securitygroup-port/neutron-securitygroup-port.yml
- name: nova-create-pbench-uperf
enabled: true
hypervisor_server: "nova:overcloud-compute-1.localdomain"

View File

@ -0,0 +1,32 @@
# Licensed under the Apache License, Version 2.0 (the "License");
# you may not use this file except in compliance with the License.
# You may obtain a copy of the License at
#
# http://www.apache.org/licenses/LICENSE-2.0
#
# Unless required by applicable law or agreed to in writing, software
# distributed under the License is distributed on an "AS IS" BASIS,
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
# See the License for the specific language governing permissions and
# limitations under the License.
from rally.task import scenario
from rally.plugins.openstack.scenarios.neutron import utils as neutron_utils
from rally.task import validation
class BrowbeatPlugin(neutron_utils.NeutronScenario,
scenario.Scenario):
@validation.required_openstack(users=True)
@scenario.configure(context={"cleanup": ["neutron"]})
def neutron_securitygroup_port(self, network_create_args=None,
security_group_create_args={}, port_create_args={}, **kwargs):
net = self._create_network(network_create_args or {})
sec_grp = self._create_security_group(**security_group_create_args)
sec_grp_list = []
sec_grp_list.append(sec_grp['security_group']['id'])
port_create_args['security_groups'] = sec_grp_list
port = self._create_port(net, port_create_args)
self._delete_port(port)
self._delete_security_group(sec_grp)

View File

@ -0,0 +1,26 @@
{% set sla_max_avg_duration = sla_max_avg_duration or 60 %}
{% set sla_max_failure = sla_max_failure or 0 %}
{% set sla_max_seconds = sla_max_seconds or 60 %}
---
BrowbeatPlugin.neutron_securitygroup_port:
-
args:
network_create_args: {}
runner:
concurrency: {{concurrency}}
times: {{times}}
type: "constant"
context:
users:
tenants: 1
users_per_tenant: 8
quotas:
neutron:
network: -1
port: -1
security_group: -1
sla:
max_avg_duration: {{sla_max_avg_duration}}
max_seconds_per_iteration: {{sla_max_seconds}}
failure_rate:
max: {{sla_max_failure}}