X-Git-Url: https://gerrit.opnfv.org/gerrit/gitweb?a=blobdiff_plain;f=functest%2Fopnfv_tests%2Fopenstack%2Fshaker%2Fshaker.py;h=d7f97c18d8457fd754985b8f6ee9919b5da70752;hb=refs%2Fchanges%2F61%2F68561%2F1;hp=097d9b2a76ccdd81d9ce874d514b4beee22f2829;hpb=707501c11aef0e8c03eb59bc2c0680dcca9bdce8;p=functest.git diff --git a/functest/opnfv_tests/openstack/shaker/shaker.py b/functest/opnfv_tests/openstack/shaker/shaker.py index 097d9b2a7..d7f97c18d 100644 --- a/functest/opnfv_tests/openstack/shaker/shaker.py +++ b/functest/opnfv_tests/openstack/shaker/shaker.py @@ -22,6 +22,7 @@ import os import scp from functest.core import singlevm +from functest.utils import env class Shaker(singlevm.SingleVm2): @@ -37,12 +38,21 @@ class Shaker(singlevm.SingleVm2): username = 'ubuntu' port = 9000 ssh_connect_loops = 12 - create_server_timeout = 360 + create_server_timeout = 300 + shaker_timeout = '3600' + quota_instances = -1 + quota_cores = -1 def __init__(self, **kwargs): super(Shaker, self).__init__(**kwargs) self.role = None + def check_requirements(self): + if self.count_active_hypervisors() < 2: + self.__logger.warning("Shaker requires at least 2 hypervisors") + self.is_skipped = True + self.project.clean() + def prepare(self): super(Shaker, self).prepare() self.cloud.create_security_group_rule( @@ -74,6 +84,10 @@ class Shaker(singlevm.SingleVm2): "heat_stack_owner", user=self.project.user.id, project=self.project.project.id, domain=self.project.domain.id) + self.orig_cloud.set_compute_quotas( + self.project.project.name, + instances=self.quota_instances, + cores=self.quota_cores) scpc = scp.SCPClient(self.ssh.get_transport()) scpc.put('/home/opnfv/functest/conf/env_file', remote_path='~/') if os.environ.get('OS_CACERT'): @@ -87,12 +101,13 @@ class Shaker(singlevm.SingleVm2): 'export OS_PROJECT_ID={} && ' 'unset OS_TENANT_NAME && ' 'unset OS_TENANT_ID && ' - 'export OS_PASSWORD={} && ' + 'unset OS_ENDPOINT_TYPE && ' + 'export OS_PASSWORD="{}" && ' '{}' 'env && ' - 'shaker --image-name {} --flavor-name {} ' - '--server-endpoint {}:9000 --scenario ' - 'openstack/full_l2,' + 'timeout {} shaker --debug --image-name {} --flavor-name {} ' + '--server-endpoint {}:9000 --external-net {} --dns-nameservers {} ' + '--scenario openstack/full_l2,' 'openstack/full_l3_east_west,' 'openstack/full_l3_north_south,' 'openstack/perf_l3_north_south ' @@ -101,10 +116,11 @@ class Shaker(singlevm.SingleVm2): self.project.project.id, self.project.password, 'export OS_CACERT=~/os_cacert && ' if os.environ.get( 'OS_CACERT') else '', - self.image.name, self.flavor.name, - self.fip.floating_ip_address)) - self.__logger.info("output:\n%s", stdout.read()) - self.__logger.info("error:\n%s", stderr.read()) + self.shaker_timeout, self.image.name, self.flavor.name, + self.fip.floating_ip_address, self.ext_net.id, + env.get('NAMESERVER'))) + self.__logger.info("output:\n%s", stdout.read().decode("utf-8")) + self.__logger.info("error:\n%s", stderr.read().decode("utf-8")) if not os.path.exists(self.res_dir): os.makedirs(self.res_dir) try: