Anton Staroverov 812ca50882 Moving of Nova scenarios into separate classes
Since current scenario implementation transforms method to class
at runtime, it is reasonable to have class-based scenario
implementation which will be much simpler to use behind the scenes.

This class should be based on Scenario and do not break compatibility.
The only required method is run() which is actually a body of scenario.

Change-Id: If6d69aa6b16d1aa3745422e772bca98e6c4eaf9a
2016-10-05 13:59:22 +00:00

39 lines
1.4 KiB
Python

# Copyright 2016 IBM Corp.
# All Rights Reserved.
#
# 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.plugins.openstack import scenario
from rally.plugins.openstack.scenarios.nova import utils
from rally.task import validation
"""Scenarios for Nova availability-zones."""
@validation.required_services(consts.Service.NOVA)
@validation.required_openstack(admin=True)
@scenario.configure(name="NovaAvailabilityZones.list_availability_zones")
class ListAvailabilityZones(utils.NovaScenario):
def run(self, detailed=True):
"""List all availability zones.
Measure the "nova availability-zone-list" command performance.
:param detailed: True if the availability-zone listing should contain
detailed information about all of them
"""
self._list_availability_zones(detailed)