Port rally plugins to use proper modules
Sometime ago, all OpenStack related stuff moved from the main repository to the separate one - https://github.com/openstack/rally-openstack . All further development and maintance will be done only in a new repository. As for first major release, the structure is not changed, so only imports should be changed. Also, this patch fixes deprecated usage of validators. Change-Id: Ibd884b4686477ca990271868b0555fbea80e07f1
This commit is contained in:
parent
5ec66ffeed
commit
bda4071ae6
@ -1,19 +1,21 @@
|
|||||||
import six
|
|
||||||
import time
|
|
||||||
import socket
|
|
||||||
|
|
||||||
from os import path
|
from os import path
|
||||||
|
import socket
|
||||||
|
import time
|
||||||
|
|
||||||
|
|
||||||
from rally.common import logging
|
from rally.common import logging
|
||||||
from rally.common import sshutils
|
from rally.common import sshutils
|
||||||
from rally import consts
|
|
||||||
from rally import exceptions
|
from rally import exceptions
|
||||||
from rally.plugins.openstack import scenario
|
from rally_openstack import consts
|
||||||
from rally.plugins.openstack.scenarios.vm import utils as vm_utils
|
from rally_openstack import scenario
|
||||||
from rally.plugins.openstack.scenarios.cinder import utils as cinder_utils
|
from rally_openstack.scenarios.vm import utils as vm_utils
|
||||||
|
from rally_openstack.scenarios.cinder import utils as cinder_utils
|
||||||
from rally.task import atomic
|
from rally.task import atomic
|
||||||
from rally.task import types
|
from rally.task import types
|
||||||
from rally.task import validation
|
from rally.task import validation
|
||||||
from rally.task import utils as task_utils
|
from rally.task import utils as task_utils
|
||||||
|
import six
|
||||||
|
|
||||||
|
|
||||||
LOG = logging.getLogger(__name__)
|
LOG = logging.getLogger(__name__)
|
||||||
|
|
||||||
@ -45,6 +47,7 @@ def failover(self, host, command, port=22, username="", password="",
|
|||||||
LOG.debug("SSH session of disruptor command timeouted, continue...")
|
LOG.debug("SSH session of disruptor command timeouted, continue...")
|
||||||
pass
|
pass
|
||||||
|
|
||||||
|
|
||||||
def _run_command(self, server_ip, port, username, password, command,
|
def _run_command(self, server_ip, port, username, password, command,
|
||||||
pkey=None, key_filename=None):
|
pkey=None, key_filename=None):
|
||||||
"""Run command via SSH on server.
|
"""Run command via SSH on server.
|
||||||
@ -72,6 +75,7 @@ def _run_command(self, server_ip, port, username, password, command,
|
|||||||
self._wait_for_ssh(ssh)
|
self._wait_for_ssh(ssh)
|
||||||
return _run_command_over_ssh(self, ssh, command)
|
return _run_command_over_ssh(self, ssh, command)
|
||||||
|
|
||||||
|
|
||||||
@atomic.action_timer("vm.run_command_over_ssh")
|
@atomic.action_timer("vm.run_command_over_ssh")
|
||||||
def _run_command_over_ssh(self, ssh, command):
|
def _run_command_over_ssh(self, ssh, command):
|
||||||
"""Run command inside an instance.
|
"""Run command inside an instance.
|
||||||
@ -116,6 +120,7 @@ def _run_command_over_ssh(self, ssh, command):
|
|||||||
|
|
||||||
return ssh.execute(cmd, stdin=stdin, timeout=10)
|
return ssh.execute(cmd, stdin=stdin, timeout=10)
|
||||||
|
|
||||||
|
|
||||||
def one_killing_iteration(self, server, fip, computes, disruptor_cmd,
|
def one_killing_iteration(self, server, fip, computes, disruptor_cmd,
|
||||||
stop_instance):
|
stop_instance):
|
||||||
"""Find the host where instance is hosted, disrupt the host and
|
"""Find the host where instance is hosted, disrupt the host and
|
||||||
@ -183,6 +188,7 @@ def one_killing_iteration(self, server, fip, computes, disruptor_cmd,
|
|||||||
LOG.debug("VM console logs:\n%s", console_logs)
|
LOG.debug("VM console logs:\n%s", console_logs)
|
||||||
raise
|
raise
|
||||||
|
|
||||||
|
|
||||||
def recover_instance_ha(self, image, flavor, computes,
|
def recover_instance_ha(self, image, flavor, computes,
|
||||||
volume_args=None,
|
volume_args=None,
|
||||||
floating_network=None,
|
floating_network=None,
|
||||||
@ -284,15 +290,19 @@ def recover_instance_ha(self, image, flavor, computes,
|
|||||||
)
|
)
|
||||||
self._delete_server_with_fip(server, fip, force_delete=force_delete)
|
self._delete_server_with_fip(server, fip, force_delete=force_delete)
|
||||||
|
|
||||||
|
|
||||||
@types.convert(image={"type": "glance_image"},
|
@types.convert(image={"type": "glance_image"},
|
||||||
flavor={"type": "nova_flavor"})
|
flavor={"type": "nova_flavor"})
|
||||||
@validation.image_valid_on_flavor("flavor", "image")
|
@validation.add("image_valid_on_flavor",
|
||||||
@validation.valid_command("command", required=False)
|
flavor_param="flavor", image_param="image")
|
||||||
@validation.number("port", minval=1, maxval=65535, nullable=True,
|
@validation.add("valid_command", param_name="command", required=False)
|
||||||
integer_only=True)
|
@validation.add("number", param_name="port", minval=1, maxval=65535,
|
||||||
@validation.external_network_exists("floating_network")
|
nullable=True, integer_only=True)
|
||||||
@validation.required_services(consts.Service.NOVA, consts.Service.CINDER)
|
@validation.add("external_network_exists", param_name="floating_network")
|
||||||
@validation.required_openstack(users=True, admin=True)
|
@validation.add("required_services",
|
||||||
|
services=[consts.Service.NOVA, consts.Service.CINDER])
|
||||||
|
@validation.add("required_platform", platform="openstack",
|
||||||
|
users=True, admin=True)
|
||||||
@scenario.configure(context={"cleanup@openstack": ["nova", "cinder"],
|
@scenario.configure(context={"cleanup@openstack": ["nova", "cinder"],
|
||||||
"keypair@openstack": {}, "allow_ssh@openstack": None},
|
"keypair@openstack": {}, "allow_ssh@openstack": None},
|
||||||
name="InstanceHA.recover_instance_fip_and_volume",
|
name="InstanceHA.recover_instance_fip_and_volume",
|
||||||
@ -320,15 +330,19 @@ class InstanceHARecoverFIPAndVolume(vm_utils.VMScenario, cinder_utils.CinderBasi
|
|||||||
max_log_length=max_log_length,
|
max_log_length=max_log_length,
|
||||||
**kwargs)
|
**kwargs)
|
||||||
|
|
||||||
|
|
||||||
@types.convert(image={"type": "glance_image"},
|
@types.convert(image={"type": "glance_image"},
|
||||||
flavor={"type": "nova_flavor"})
|
flavor={"type": "nova_flavor"})
|
||||||
@validation.image_valid_on_flavor("flavor", "image")
|
@validation.add("image_valid_on_flavor",
|
||||||
@validation.valid_command("command", required=False)
|
flavor_param="flavor", image_param="image")
|
||||||
@validation.number("port", minval=1, maxval=65535, nullable=True,
|
@validation.add("valid_command", param_name="command", required=False)
|
||||||
integer_only=True)
|
@validation.add("number", param_name="port", minval=1, maxval=65535,
|
||||||
@validation.external_network_exists("floating_network")
|
nullable=True, integer_only=True)
|
||||||
@validation.required_services(consts.Service.NOVA, consts.Service.CINDER)
|
@validation.add("external_network_exists", param_name="floating_network")
|
||||||
@validation.required_openstack(users=True, admin=True)
|
@validation.add("required_services",
|
||||||
|
services=[consts.Service.NOVA, consts.Service.CINDER])
|
||||||
|
@validation.add("required_platform", platform="openstack",
|
||||||
|
users=True, admin=True)
|
||||||
@scenario.configure(context={"cleanup@openstack": ["nova", "cinder"],
|
@scenario.configure(context={"cleanup@openstack": ["nova", "cinder"],
|
||||||
"keypair@openstack": {}, "allow_ssh@openstack": None},
|
"keypair@openstack": {}, "allow_ssh@openstack": None},
|
||||||
name="InstanceHA.recover_instance_two_cycles",
|
name="InstanceHA.recover_instance_two_cycles",
|
||||||
@ -357,15 +371,19 @@ class InstanceHARecoverTwoCycle(vm_utils.VMScenario, cinder_utils.CinderBasic):
|
|||||||
max_log_length=max_log_length,
|
max_log_length=max_log_length,
|
||||||
**kwargs)
|
**kwargs)
|
||||||
|
|
||||||
|
|
||||||
@types.convert(image={"type": "glance_image"},
|
@types.convert(image={"type": "glance_image"},
|
||||||
flavor={"type": "nova_flavor"})
|
flavor={"type": "nova_flavor"})
|
||||||
@validation.image_valid_on_flavor("flavor", "image")
|
@validation.add("image_valid_on_flavor",
|
||||||
@validation.valid_command("command", required=False)
|
flavor_param="flavor", image_param="image")
|
||||||
@validation.number("port", minval=1, maxval=65535, nullable=True,
|
@validation.add("valid_command", param_name="command", required=False)
|
||||||
integer_only=True)
|
@validation.add("number", param_name="port", minval=1, maxval=65535,
|
||||||
@validation.external_network_exists("floating_network")
|
nullable=True, integer_only=True)
|
||||||
@validation.required_services(consts.Service.NOVA, consts.Service.CINDER)
|
@validation.add("external_network_exists", param_name="floating_network")
|
||||||
@validation.required_openstack(users=True, admin=True)
|
@validation.add("required_services",
|
||||||
|
services=[consts.Service.NOVA, consts.Service.CINDER])
|
||||||
|
@validation.add("required_platform", platform="openstack",
|
||||||
|
users=True, admin=True)
|
||||||
@scenario.configure(context={"cleanup@openstack": ["nova", "cinder"],
|
@scenario.configure(context={"cleanup@openstack": ["nova", "cinder"],
|
||||||
"keypair@openstack": {}, "allow_ssh@openstack": None},
|
"keypair@openstack": {}, "allow_ssh@openstack": None},
|
||||||
name="InstanceHA.recover_stopped_instance_fip",
|
name="InstanceHA.recover_stopped_instance_fip",
|
||||||
@ -394,15 +412,19 @@ class InstanceHARecoverStopped(vm_utils.VMScenario, cinder_utils.CinderBasic):
|
|||||||
max_log_length=max_log_length,
|
max_log_length=max_log_length,
|
||||||
**kwargs)
|
**kwargs)
|
||||||
|
|
||||||
|
|
||||||
@types.convert(image={"type": "glance_image"},
|
@types.convert(image={"type": "glance_image"},
|
||||||
flavor={"type": "nova_flavor"})
|
flavor={"type": "nova_flavor"})
|
||||||
@validation.image_valid_on_flavor("flavor", "image")
|
@validation.add("image_valid_on_flavor",
|
||||||
@validation.valid_command("command", required=False)
|
flavor_param="flavor", image_param="image")
|
||||||
@validation.number("port", minval=1, maxval=65535, nullable=True,
|
@validation.add("valid_command", param_name="command", required=False)
|
||||||
integer_only=True)
|
@validation.add("number", param_name="port", minval=1, maxval=65535,
|
||||||
@validation.external_network_exists("floating_network")
|
nullable=True, integer_only=True)
|
||||||
@validation.required_services(consts.Service.NOVA, consts.Service.CINDER)
|
@validation.add("external_network_exists", param_name="floating_network")
|
||||||
@validation.required_openstack(users=True, admin=True)
|
@validation.add("required_services",
|
||||||
|
services=[consts.Service.NOVA, consts.Service.CINDER])
|
||||||
|
@validation.add("required_platform", platform="openstack",
|
||||||
|
users=True, admin=True)
|
||||||
@scenario.configure(context={"cleanup@openstack": ["nova", "cinder"],
|
@scenario.configure(context={"cleanup@openstack": ["nova", "cinder"],
|
||||||
"keypair@openstack": {}, "allow_ssh@openstack": None},
|
"keypair@openstack": {}, "allow_ssh@openstack": None},
|
||||||
name="InstanceHA.recover_instance_nova_compute",
|
name="InstanceHA.recover_instance_nova_compute",
|
||||||
|
Loading…
Reference in New Issue
Block a user