Andrey Kurilin fda172a4ce Fix the order of imports
Change-Id: I99a6f09bd5e4385f9a7710f374a1eb41bad28c74
2018-02-20 15:25:02 +00:00

238 lines
9.6 KiB
Python

# 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 import consts
from rally.task import validation
from rally_openstack import scenario
from rally_openstack.scenarios.neutron import utils
"""Scenarios for Neutron Security Groups."""
@validation.add("required_services",
services=[consts.Service.NEUTRON])
@validation.add("required_platform", platform="openstack", users=True)
@scenario.configure(
context={"cleanup@openstack": ["neutron"]},
name="NeutronSecurityGroup.create_and_list_security_groups",
platform="openstack")
class CreateAndListSecurityGroups(utils.NeutronScenario):
def run(self, security_group_create_args=None):
"""Create and list Neutron security-groups.
Measure the "neutron security-group-create" and "neutron
security-group-list" command performance.
:param security_group_create_args: dict, POST /v2.0/security-groups
request options
"""
security_group_create_args = security_group_create_args or {}
self._create_security_group(**security_group_create_args)
self._list_security_groups()
@validation.add("required_services",
services=[consts.Service.NEUTRON])
@validation.add("required_platform", platform="openstack", users=True)
@scenario.configure(
context={"cleanup@openstack": ["neutron"]},
name="NeutronSecurityGroup.create_and_show_security_group",
platform="openstack")
class CreateAndShowSecurityGroup(utils.NeutronScenario):
def run(self, security_group_create_args=None):
"""Create and show Neutron security-group.
Measure the "neutron security-group-create" and "neutron
security-group-show" command performance.
:param security_group_create_args: dict, POST /v2.0/security-groups
request options
"""
security_group_create_args = security_group_create_args or {}
security_group = self._create_security_group(
**security_group_create_args)
msg = "security_group isn't created"
self.assertTrue(security_group, err_msg=msg)
self._show_security_group(security_group)
@validation.add("required_services",
services=[consts.Service.NEUTRON])
@validation.add("required_platform", platform="openstack", users=True)
@scenario.configure(
context={"cleanup@openstack": ["neutron"]},
name="NeutronSecurityGroup.create_and_delete_security_groups",
platform="openstack")
class CreateAndDeleteSecurityGroups(utils.NeutronScenario):
def run(self, security_group_create_args=None):
"""Create and delete Neutron security-groups.
Measure the "neutron security-group-create" and "neutron
security-group-delete" command performance.
:param security_group_create_args: dict, POST /v2.0/security-groups
request options
"""
security_group_create_args = security_group_create_args or {}
security_group = self._create_security_group(
**security_group_create_args)
self._delete_security_group(security_group)
@validation.add("required_services",
services=[consts.Service.NEUTRON])
@validation.add("required_platform", platform="openstack", users=True)
@scenario.configure(
context={"cleanup@openstack": ["neutron"]},
name="NeutronSecurityGroup.create_and_update_security_groups",
platform="openstack")
class CreateAndUpdateSecurityGroups(utils.NeutronScenario):
def run(self, security_group_create_args=None,
security_group_update_args=None):
"""Create and update Neutron security-groups.
Measure the "neutron security-group-create" and "neutron
security-group-update" command performance.
:param security_group_create_args: dict, POST /v2.0/security-groups
request options
:param security_group_update_args: dict, PUT /v2.0/security-groups
update options
"""
security_group_create_args = security_group_create_args or {}
security_group_update_args = security_group_update_args or {}
security_group = self._create_security_group(
**security_group_create_args)
self._update_security_group(security_group,
**security_group_update_args)
@validation.add("required_services",
services=[consts.Service.NEUTRON])
@validation.add("required_platform", platform="openstack", users=True)
@scenario.configure(
context={"cleanup@openstack": ["neutron"]},
name="NeutronSecurityGroup.create_and_list_security_group_rules",
platform="openstack")
class CreateAndListSecurityGroupRules(utils.NeutronScenario):
def run(self, security_group_args=None,
security_group_rule_args=None):
"""Create and list Neutron security-group-rules.
Measure the "neutron security-group-rule-create" and "neutron
security-group-rule-list" command performance.
:param security_group_args: dict, POST /v2.0/security-groups
request options
:param security_group_rule_args: dict,
POST /v2.0/security-group-rules request options
"""
security_group_args = security_group_args or {}
security_group_rule_args = security_group_rule_args or {}
security_group = self._create_security_group(**security_group_args)
msg = "security_group isn't created"
self.assertTrue(security_group, err_msg=msg)
security_group_rule = self._create_security_group_rule(
security_group["security_group"]["id"], **security_group_rule_args)
msg = "security_group_rule isn't created"
self.assertTrue(security_group_rule, err_msg=msg)
security_group_rules = self._list_security_group_rules()
self.assertIn(security_group_rule["security_group_rule"]["id"],
[sgr["id"] for sgr
in security_group_rules["security_group_rules"]])
@validation.add("required_services",
services=[consts.Service.NEUTRON])
@validation.add("required_platform", platform="openstack", users=True)
@scenario.configure(
context={"cleanup@openstack": ["neutron"]},
name="NeutronSecurityGroup.create_and_show_security_group_rule",
platform="openstack")
class CreateAndShowSecurityGroupRule(utils.NeutronScenario):
def run(self, security_group_args=None,
security_group_rule_args=None):
"""Create and show Neutron security-group-rule.
Measure the "neutron security-group-rule-create" and "neutron
security-group-rule-show" command performance.
:param security_group_args: dict, POST /v2.0/security-groups
request options
:param security_group_rule_args: dict,
POST /v2.0/security-group-rules request options
"""
security_group_args = security_group_args or {}
security_group_rule_args = security_group_rule_args or {}
security_group = self._create_security_group(**security_group_args)
msg = "security_group isn't created"
self.assertTrue(security_group, err_msg=msg)
security_group_rule = self._create_security_group_rule(
security_group["security_group"]["id"], **security_group_rule_args)
msg = "security_group_rule isn't created"
self.assertTrue(security_group_rule, err_msg=msg)
self._show_security_group_rule(
security_group_rule["security_group_rule"]["id"])
@validation.add("required_services",
services=[consts.Service.NEUTRON])
@validation.add("required_platform", platform="openstack", users=True)
@scenario.configure(
context={"cleanup@openstack": ["neutron"]},
name="NeutronSecurityGroup.create_and_delete_security_group_rule",
platform="openstack")
class CreateAndDeleteSecurityGroupRule(utils.NeutronScenario):
def run(self, security_group_args=None,
security_group_rule_args=None):
"""Create and delete Neutron security-group-rule.
Measure the "neutron security-group-rule-create" and "neutron
security-group-rule-delete" command performance.
:param security_group_args: dict, POST /v2.0/security-groups
request options
:param security_group_rule_args: dict,
POST /v2.0/security-group-rules request options
"""
security_group_args = security_group_args or {}
security_group_rule_args = security_group_rule_args or {}
security_group = self._create_security_group(**security_group_args)
msg = "security_group isn't created"
self.assertTrue(security_group, err_msg=msg)
security_group_rule = self._create_security_group_rule(
security_group["security_group"]["id"], **security_group_rule_args)
msg = "security_group_rule isn't created"
self.assertTrue(security_group_rule, err_msg=msg)
self._delete_security_group_rule(
security_group_rule["security_group_rule"]["id"])
self._delete_security_group(security_group)