def __init__(self): try: super(MultipleVMTest, self).__init__() random = str(uuid.uuid4())[:5] network_name = "net-" + random router_name = "router-" + random sec_group_name = "sg-" + random self.net_base = Base(network_name=network_name, router_name=router_name, sec_group_name=sec_group_name) self.compute = Compute_base() except Exception as e: LOG.warning( _LW('Init test env failed, msg: %(msg)s, traceback: ' '%(tb)s.'), { 'msg': e, 'tb': traceback.format_exc() }) raise exceptions.InitFailed
# !/usr/bin/python import sys import traceback from automation.common import exceptions from automation import config from automation.i18n import _LW from oslo_log import log as logging from testcases.compute_tests.base_compute import Base CONF = config.CONF LOG = logging.getLogger(__name__) if __name__ == '__main__': try: server = Base() except Exception as e: LOG.warning( _LW('Init test env failed, msg: %(msg)s, traceback: ' '%(tb)s.'), { 'msg': e, 'tb': traceback.format_exc() }) raise exceptions.InitFailed try: server_created = server.create_server() server_details = server.show_server(server_created['id']) server.power_off(server_created['id']) server_current_qos = str( server.get_server_current_qos(server_created['id'])) qos_list = server.get_qos_types()
def live_migration_test(self): try: compute = Base() except Exception as err: LOG.error(_LE('init env failed for %s'), str(err)) raise exceptions.ServerFault try: instance = compute.create_server() compute.show_server(instance['id']) orig_host = compute.get_server_host(instance['id']) # when migrate, the status transfer from MIGRATING # TO ACTIVE # do not use block migration and no host is assigned self.manager.servers_client.live_migrate_server( instance['id'], None, False) compute._check_server_status_interval(instance['id'], 'ACTIVE', interval=10, timeout=60) # check the host attributes curr_host = compute.get_server_host(instance['id']) LOG.debug(('the origin host %(orig)s the current host' ' %(curr)s'), {'orig': orig_host, 'curr': curr_host}) if curr_host is not None and orig_host == curr_host: raise exceptions.ServerMigrateFailed() LOG.info(_LI('live migrate of %s successful'), instance['id']) except Exception as err: LOG.error(_LE('migrate server failed for %s'), str(err)) compute.delete_all() raise exceptions.ServerMigrateFailed() finally: compute.delete_all()
import traceback from automation.common import exceptions from automation import config from automation.i18n import _LW from oslo_log import log as logging from testcases.compute_tests.base_compute import Base CONF = config.CONF LOG = logging.getLogger(__name__) instance_types = [str(i) for i in range(1, 6)] if __name__ == '__main__': try: server = Base() except Exception as e: LOG.warning( _LW('Init test env failed, msg: %(msg)s, traceback: ' '%(tb)s.'), { 'msg': e, 'tb': traceback.format_exc() }) raise exceptions.InitFailed try: server_created = server.create_server() server_details = server.show_server(server_created['id']) original_host = server_details.get("OS-EXT-SRV-ATTR:host") original_flavor = server_details.get("flavor").get("id") server.resize(server_created['id'], CONF.compute.flavor_name_alt) server_details = server.show_server(server_created['id'])
class MultipleVMTest(Base): def __init__(self): try: super(MultipleVMTest, self).__init__() random = str(uuid.uuid4())[:5] network_name = "net-" + random router_name = "router-" + random sec_group_name = "sg-" + random self.net_base = Base(network_name=network_name, router_name=router_name, sec_group_name=sec_group_name) self.compute = Compute_base() except Exception as e: LOG.warning( _LW('Init test env failed, msg: %(msg)s, traceback: ' '%(tb)s.'), { 'msg': e, 'tb': traceback.format_exc() }) raise exceptions.InitFailed def test_multipleVM(self): try: network = self.create_network() subnet = self.create_subnet(network.get('id')) router = self.create_router() self.router_set_external_gw(router.get('id')) self.router_add_subnet(router.get('id'), subnet.get('id')) sg = self.create_security_group() self.create_security_group_rule(sg.get('id'), 'IPv4', 'ingress', '0.0.0.0/0', 'ICMP') except Exception as e: LOG.warning( _LW('Create network env failed, msg: %(msg)s, ' 'traceback: %(tb)s.'), { 'msg': e, 'tb': traceback.format_exc() }) self.delete_all() raise e try: success_count = 0 vm_count = random.randint(1, 10) for i in range(vm_count): try: LOG.info( _LI('Create and delete %(i)d of %(vm_count)d vm' ' start'), { 'i': i + 1, 'vm_count': vm_count }) vm_name = "server-" + str(uuid.uuid4())[:5] server = self.compute.\ create_server(name=vm_name, network_id=network.get('id'), sec_grp_id=sg.get('id')) interfaces = self.compute.\ show_server_interfaces(server['id']) interfaces = interfaces.get('interfaceAttachments', []) if not interfaces: LOG.warning( _LW('During network test server ' 'has no port!')) raise port_id = interfaces[0]['port_id'] floatingip = self.create_floating_ip(port_id) floatingip_addr = floatingip['floating_ip_address'] self.test_ping_floatingip(floatingip_addr) success_count += 1 LOG.info( _LI('Create and delete %(i)d of %(vm_count)d vm' ' success'), { 'i': i + 1, 'vm_count': vm_count }) except Exception as e: LOG.warning( _LW('Create and delete %(i)d of %(vm_count)d ' 'vm failed, msg: %(msg)s, ' 'traceback: %(tb)s.'), { 'i': i + 1, 'vm_count': vm_count, 'msg': e, 'tb': traceback.format_exc() }) LOG.info( _LI(' %(success_count)d success of %(vm_count)d round ' 'total'), { 'success_count': success_count, 'vm_count': vm_count }) except Exception as e: LOG.warning( _LW('Test multiple vm failed, msg: %(msg)s, ' 'traceback: %(tb)s.'), { 'msg': e, 'tb': traceback.format_exc() }) finally: is_successfully_deleted = True try: self.compute.delete_all() except Exception as e: LOG.warning( _LW('Clear compute resource failed, msg: %(msg)s, ' 'traceback: %(tb)s.'), { 'msg': e, 'tb': traceback.format_exc() }) is_successfully_deleted = False try: self.delete_all() except Exception as e: LOG.warning( _LW('Clear network resource failed, msg: %(msg)s, ' 'traceback: %(tb)s.'), { 'msg': e, 'tb': traceback.format_exc() }) is_successfully_deleted = False if not is_successfully_deleted: raise exceptions.DeleteException
# !/usr/bin/python import traceback from automation.common import exceptions from automation import config from automation.i18n import _LW from oslo_log import log as logging from testcases.compute_tests.base_compute import Base CONF = config.CONF LOG = logging.getLogger(__name__) if __name__ == '__main__': try: server = Base() except Exception as e: LOG.warning( _LW('Init test env failed, msg: %(msg)s, traceback: ' '%(tb)s.'), { 'msg': e, 'tb': traceback.format_exc() }) raise exceptions.InitFailed try: server_created = server.create_server() server_details = server.show_server(server_created['id']) except Exception as e: LOG.warning( _LW('Test create server failed, msg: %(msg)s, traceback: ' '%(tb)s.'), { 'msg': e,
# !/usr/bin/python import time import traceback from automation.common import exceptions from automation import config from automation.i18n import _LW from oslo_log import log as logging from testcases.compute_tests.base_compute import Base CONF = config.CONF LOG = logging.getLogger(__name__) if __name__ == '__main__': try: server = Base() except Exception as e: LOG.warning( _LW('Init test env failed, msg: %(msg)s, traceback: ' '%(tb)s.'), { 'msg': e, 'tb': traceback.format_exc() }) raise exceptions.InitFailed try: server_created = server.create_server() server_details = server.show_server(server_created['id']) server.power_off(server_created['id']) time.sleep(1200) server.power_on(server_created['id']) time.sleep(1200)
import traceback from automation.common import exceptions from automation import config from automation.i18n import _LW from oslo_log import log as logging from testcases.compute_tests.base_compute import Base as BaseCompute from testcases.volume_tests.base import Base as BaseVolume CONF = config.CONF LOG = logging.getLogger(__name__) if __name__ == '__main__': try: volume = BaseVolume() server = BaseCompute() except Exception as e: LOG.warning( _LW('Init test env failed, msg: %(msg)s, traceback: ' '%(tb)s.'), { 'msg': e, 'tb': traceback.format_exc() }) raise exceptions.InitFailed try: server_created = server.create_server() volume_created = volume.create_volume() server.attach_volume(server_created['id'], volume_created['id']) volume.check_volume_status_interval(volume_created['id'], 'in-use') server.detach_volume(server_created['id'], volume_created['id']) volume.check_volume_status_interval(volume_created['id'], 'available')
class SecurityGroupTest(Base): def __init__(self): try: super(SecurityGroupTest, self).__init__() random = str(uuid.uuid4())[:5] network_name = "net-" + random router_name = "router-" + random sec_group_name = "sg-" + random self.net_base = Base(network_name=network_name, router_name=router_name, sec_group_name=sec_group_name) self.compute = Compute_base() except Exception as e: LOG.warning( _LW('Init test env failed, msg: %(msg)s, traceback: ' '%(tb)s.'), { 'msg': e, 'tb': traceback.format_exc() }) raise exceptions.InitFailed def test_security_group(self): try: network = self.create_network() subnet = self.create_subnet(network.get('id')) router = self.create_router() self.router_set_external_gw(router.get('id')) self.router_add_subnet(router.get('id'), subnet.get('id')) sg = self.create_security_group(self.sec_group_name) sg_rule = self.create_security_group_rule(sg.get('id'), 'IPv4', 'ingress', '0.0.0.0/0', 'ICMP') except Exception as e: LOG.warning( _LW('Create network env failed, msg: %(msg)s, ' 'traceback: %(tb)s.'), { 'msg': e, 'tb': traceback.format_exc() }) self.delete_all() raise e try: self.create_security_group() vm_name = "server-" + str(uuid.uuid4())[:5] server = self.compute.create_server(name=vm_name, network_id=network.get('id'), sec_grp_id=sg.get('id')) interfaces = self.compute.show_server_interfaces(server['id']) interfaces = interfaces.get('interfaceAttachments', []) if not interfaces: LOG.warning(_LW('During network test server has no port!')) raise port_id = interfaces[0]['port_id'] floatingip = self.create_floating_ip(port_id) floatingip_addr = floatingip['floating_ip_address'] self.test_ping_floatingip(floatingip_addr) # negative test self.delete_sec_group_rule(sg_rule['id']) try: time.sleep(20) self.test_ping_floatingip(floatingip_addr, 10, 30) except exceptions.TimeoutException: LOG.info( _LI('Congratulations! Security group test ' 'successfully!')) else: raise exceptions.SecurityGroupException except Exception as e: LOG.warning( _LW('Test security group failed, msg: %(msg)s, ' 'traceback: %(tb)s.'), { 'msg': e, 'tb': traceback.format_exc() }) finally: is_successfully_deleted = True try: self.compute.delete_all() except Exception as e: LOG.warning( _LW('Clear compute resource failed, msg: %(msg)s, ' 'traceback: %(tb)s.'), { 'msg': e, 'tb': traceback.format_exc() }) is_successfully_deleted = False try: self.delete_all() except Exception as e: LOG.warning( _LW('Clear network resource failed, msg: %(msg)s, ' 'traceback: %(tb)s.'), { 'msg': e, 'tb': traceback.format_exc() }) is_successfully_deleted = False if not is_successfully_deleted: raise exceptions.DeleteException