aboutsummaryrefslogtreecommitdiffstats
path: root/functest/opnfv_tests/openstack
diff options
context:
space:
mode:
Diffstat (limited to 'functest/opnfv_tests/openstack')
-rw-r--r--functest/opnfv_tests/openstack/rally/rally.py8
-rwxr-xr-xfunctest/opnfv_tests/openstack/refstack_client/refstack_client.py69
-rwxr-xr-xfunctest/opnfv_tests/openstack/refstack_client/tempest_conf.py53
-rw-r--r--functest/opnfv_tests/openstack/tempest/custom_tests/blacklist.txt12
-rw-r--r--functest/opnfv_tests/openstack/tempest/tempest.py8
-rw-r--r--functest/opnfv_tests/openstack/vping/vping_base.py22
-rwxr-xr-xfunctest/opnfv_tests/openstack/vping/vping_ssh.py8
7 files changed, 121 insertions, 59 deletions
diff --git a/functest/opnfv_tests/openstack/rally/rally.py b/functest/opnfv_tests/openstack/rally/rally.py
index 46d6a570..8c6abc15 100644
--- a/functest/opnfv_tests/openstack/rally/rally.py
+++ b/functest/opnfv_tests/openstack/rally/rally.py
@@ -17,7 +17,7 @@ import time
import iniparse
import yaml
-from functest.core import testcase_base
+from functest.core import testcase
from functest.utils.constants import CONST
import functest.utils.functest_logger as ft_logger
import functest.utils.functest_utils as ft_utils
@@ -26,7 +26,7 @@ import functest.utils.openstack_utils as os_utils
logger = ft_logger.Logger('Rally').getLogger()
-class RallyBase(testcase_base.TestcaseBase):
+class RallyBase(testcase.TestCase):
TESTS = ['authenticate', 'glance', 'cinder', 'heat', 'keystone',
'neutron', 'nova', 'quotas', 'requests', 'vm', 'all']
GLANCE_IMAGE_NAME = CONST.openstack_image_name
@@ -526,10 +526,10 @@ class RallyBase(testcase_base.TestcaseBase):
self._run_tests()
self._generate_report()
self._clean_up()
- res = testcase_base.TestcaseBase.EX_OK
+ res = testcase.TestCase.EX_OK
except Exception as e:
logger.error('Error with run: %s' % e)
- res = testcase_base.TestcaseBase.EX_RUN_ERROR
+ res = testcase.TestCase.EX_RUN_ERROR
self.stop_time = time.time()
return res
diff --git a/functest/opnfv_tests/openstack/refstack_client/refstack_client.py b/functest/opnfv_tests/openstack/refstack_client/refstack_client.py
index 4312b7f9..37aa9e39 100755
--- a/functest/opnfv_tests/openstack/refstack_client/refstack_client.py
+++ b/functest/opnfv_tests/openstack/refstack_client/refstack_client.py
@@ -12,18 +12,18 @@ import sys
import subprocess
import time
-from functest.core import testcase_base
+from functest.core import testcase
from functest.opnfv_tests.openstack.tempest import conf_utils
-from functest.utils import openstack_utils
from functest.utils.constants import CONST
import functest.utils.functest_logger as ft_logger
import functest.utils.functest_utils as ft_utils
+from tempest_conf import TempestConf
""" logging configuration """
logger = ft_logger.Logger("refstack_defcore").getLogger()
-class RefstackClient(testcase_base.TestcaseBase):
+class RefstackClient(testcase.TestCase):
def __init__(self):
super(RefstackClient, self).__init__()
@@ -35,12 +35,6 @@ class RefstackClient(testcase_base.TestcaseBase):
self.CONF_PATH)
self.defcorelist = os.path.join(self.FUNCTEST_TEST,
self.DEFCORE_LIST)
- self.VERIFIER_ID = conf_utils.get_verifier_id()
- self.VERIFIER_REPO_DIR = conf_utils.get_verifier_repo_dir(
- self.VERIFIER_ID)
- self.DEPLOYMENT_ID = conf_utils.get_verifier_deployment_id()
- self.DEPLOYMENT_DIR = conf_utils.get_verifier_deployment_dir(
- self.VERIFIER_ID, self.DEPLOYMENT_ID)
def source_venv(self):
@@ -143,59 +137,62 @@ class RefstackClient(testcase_base.TestcaseBase):
logger.info("Testcase %s success_rate is %s%%, is marked as %s"
% (self.case_name, success_rate, self.criteria))
- def defcore_env_prepare(self):
- try:
- img_flavor_dict = conf_utils.create_tempest_resources(
- use_custom_images=True, use_custom_flavors=True)
- conf_utils.configure_tempest_defcore(
- self.DEPLOYMENT_DIR, img_flavor_dict)
- self.source_venv()
- res = testcase_base.TestcaseBase.EX_OK
- except KeyError as e:
- logger.error("defcore prepare env error with: %s", e)
- res = testcase_base.TestcaseBase.EX_RUN_ERROR
-
- return res
-
def run(self):
+ '''used for functest command line,
+ functest testcase run refstack_defcore'''
self.start_time = time.time()
if not os.path.exists(conf_utils.REFSTACK_RESULTS_DIR):
os.makedirs(conf_utils.REFSTACK_RESULTS_DIR)
try:
- self.defcore_env_prepare()
+ tempestconf = TempestConf()
+ tempestconf.generate_tempestconf()
+ self.source_venv()
self.run_defcore_default()
self.parse_refstack_result()
- res = testcase_base.TestcaseBase.EX_OK
+ res = testcase.TestCase.EX_OK
except Exception as e:
logger.error('Error with run: %s', e)
- res = testcase_base.TestcaseBase.EX_RUN_ERROR
+ res = testcase.TestCase.EX_RUN_ERROR
self.stop_time = time.time()
return res
+ def _prep_test(self):
+ '''Check that the config file exists.'''
+ if not os.path.isfile(self.confpath):
+ logger.error("Conf file not valid: %s" % self.confpath)
+ if not os.path.isfile(self.testlist):
+ logger.error("testlist file not valid: %s" % self.testlist)
+
def main(self, **kwargs):
+ '''used for manually running,
+ python refstack_client.py -c <tempest_conf_path>
+ --testlist <testlist_path>
+ can generate a reference tempest.conf by
+ python tempest_conf.py
+ '''
try:
- tempestconf = kwargs['config']
- testlist = kwargs['testlist']
+ self.confpath = kwargs['config']
+ self.testlist = kwargs['testlist']
except KeyError as e:
logger.error("Cannot run refstack client. Please check "
"%s", e)
return self.EX_RUN_ERROR
try:
- openstack_utils.source_credentials(CONST.openstack_creds)
- self.defcore_env_prepare()
- self.run_defcore(tempestconf, testlist)
- res = testcase_base.TestcaseBase.EX_OK
+ self.source_venv()
+ self._prep_test()
+ self.run_defcore(self.confpath, self.testlist)
+ res = testcase.TestCase.EX_OK
except Exception as e:
logger.error('Error with run: %s', e)
- res = testcase_base.TestcaseBase.EX_RUN_ERROR
+ res = testcase.TestCase.EX_RUN_ERROR
return res
-class RefstackClientParser(testcase_base.TestcaseBase):
+class RefstackClientParser(testcase.TestCase):
def __init__(self):
super(RefstackClientParser, self).__init__()
@@ -228,7 +225,7 @@ if __name__ == '__main__':
args = parser.parse_args(sys.argv[1:])
try:
result = refstackclient.main(**args)
- if result != testcase_base.TestcaseBase.EX_OK:
+ if result != testcase.TestCase.EX_OK:
sys.exit(result)
except Exception:
- sys.exit(testcase_base.TestcaseBase.EX_RUN_ERROR)
+ sys.exit(testcase.TestCase.EX_RUN_ERROR)
diff --git a/functest/opnfv_tests/openstack/refstack_client/tempest_conf.py b/functest/opnfv_tests/openstack/refstack_client/tempest_conf.py
new file mode 100755
index 00000000..5624ed79
--- /dev/null
+++ b/functest/opnfv_tests/openstack/refstack_client/tempest_conf.py
@@ -0,0 +1,53 @@
+#!/usr/bin/env python
+
+# matthew.lijun@huawei.com
+# All rights reserved. This program and the accompanying materials
+# are made available under the terms of the Apache License, Version 2.0
+# which accompanies this distribution, and is available at
+# http://www.apache.org/licenses/LICENSE-2.0
+import sys
+
+from functest.core import testcase
+from functest.opnfv_tests.openstack.tempest import conf_utils
+from functest.utils import openstack_utils
+from functest.utils.constants import CONST
+import functest.utils.functest_logger as ft_logger
+
+""" logging configuration """
+logger = ft_logger.Logger("refstack_defcore").getLogger()
+
+
+class TempestConf(object):
+ def __init__(self):
+ self.VERIFIER_ID = conf_utils.get_verifier_id()
+ self.VERIFIER_REPO_DIR = conf_utils.get_verifier_repo_dir(
+ self.VERIFIER_ID)
+ self.DEPLOYMENT_ID = conf_utils.get_verifier_deployment_id()
+ self.DEPLOYMENT_DIR = conf_utils.get_verifier_deployment_dir(
+ self.VERIFIER_ID, self.DEPLOYMENT_ID)
+
+ def generate_tempestconf(self):
+ try:
+ openstack_utils.source_credentials(CONST.openstack_creds)
+ img_flavor_dict = conf_utils.create_tempest_resources(
+ use_custom_images=True, use_custom_flavors=True)
+ conf_utils.configure_tempest_defcore(
+ self.DEPLOYMENT_DIR, img_flavor_dict)
+ except KeyError as e:
+ logger.error("defcore prepare env error with: %s", e)
+
+ def main(self):
+ try:
+ self.generate_tempestconf()
+ res = testcase.TestCase.EX_OK
+ except Exception as e:
+ logger.error('Error with run: %s', e)
+ res = testcase.TestCase.EX_RUN_ERROR
+
+ return res
+
+if __name__ == '__main__':
+ tempestconf = TempestConf()
+ result = tempestconf.main()
+ if result != testcase.TestCase.EX_OK:
+ sys.exit(result)
diff --git a/functest/opnfv_tests/openstack/tempest/custom_tests/blacklist.txt b/functest/opnfv_tests/openstack/tempest/custom_tests/blacklist.txt
index 43edabc1..75bbd749 100644
--- a/functest/opnfv_tests/openstack/tempest/custom_tests/blacklist.txt
+++ b/functest/opnfv_tests/openstack/tempest/custom_tests/blacklist.txt
@@ -71,3 +71,15 @@
- fuel
tests:
- tempest.scenario.test_server_basic_ops.TestServerBasicOps.test_server_basic_ops
+
+
+ # https://bugs.opendaylight.org/show_bug.cgi?id=5586
+ scenarios:
+ - os-odl-bgpvpn-ha
+ - os-odl-gluon-noha
+ - os-odl_l2-bgpvpn-ha
+ installers:
+ - apex
+ - fuel
+ tests:
+ - tempest.api.compute.servers.test_server_actions.ServerActionsTestJSON.test_reboot_server_hard
diff --git a/functest/opnfv_tests/openstack/tempest/tempest.py b/functest/opnfv_tests/openstack/tempest/tempest.py
index 54556a32..0addbd17 100644
--- a/functest/opnfv_tests/openstack/tempest/tempest.py
+++ b/functest/opnfv_tests/openstack/tempest/tempest.py
@@ -16,7 +16,7 @@ import time
import yaml
-from functest.core import testcase_base
+from functest.core import testcase
from functest.opnfv_tests.openstack.tempest import conf_utils
from functest.utils.constants import CONST
import functest.utils.functest_logger as ft_logger
@@ -26,7 +26,7 @@ import functest.utils.functest_utils as ft_utils
logger = ft_logger.Logger("Tempest").getLogger()
-class TempestCommon(testcase_base.TestcaseBase):
+class TempestCommon(testcase.TestCase):
def __init__(self):
super(TempestCommon, self).__init__()
@@ -223,10 +223,10 @@ class TempestCommon(testcase_base.TestcaseBase):
self.apply_tempest_blacklist()
self.run_verifier_tests()
self.parse_verifier_result()
- res = testcase_base.TestcaseBase.EX_OK
+ res = testcase.TestCase.EX_OK
except Exception as e:
logger.error('Error with run: %s' % e)
- res = testcase_base.TestcaseBase.EX_RUN_ERROR
+ res = testcase.TestCase.EX_RUN_ERROR
self.stop_time = time.time()
return res
diff --git a/functest/opnfv_tests/openstack/vping/vping_base.py b/functest/opnfv_tests/openstack/vping/vping_base.py
index 9d57cfae..584ded38 100644
--- a/functest/opnfv_tests/openstack/vping/vping_base.py
+++ b/functest/opnfv_tests/openstack/vping/vping_base.py
@@ -12,12 +12,12 @@ import pprint
import time
from datetime import datetime
-import functest.core.testcase_base as testcase_base
+import functest.core.testcase as testcase
import functest.utils.openstack_utils as os_utils
from functest.utils.constants import CONST
-class VPingBase(testcase_base.TestcaseBase):
+class VPingBase(testcase.TestCase):
def __init__(self):
super(VPingBase, self).__init__()
self.logger = None
@@ -52,23 +52,23 @@ class VPingBase(testcase_base.TestcaseBase):
def run(self, **kwargs):
if not self.check_repo_exist():
- return testcase_base.TestcaseBase.EX_RUN_ERROR
+ return testcase.TestCase.EX_RUN_ERROR
image_id = self.create_image()
if not image_id:
- return testcase_base.TestcaseBase.EX_RUN_ERROR
+ return testcase.TestCase.EX_RUN_ERROR
flavor = self.get_flavor()
if not flavor:
- return testcase_base.TestcaseBase.EX_RUN_ERROR
+ return testcase.TestCase.EX_RUN_ERROR
network_id = self.create_network_full()
if not network_id:
- return testcase_base.TestcaseBase.EX_RUN_ERROR
+ return testcase.TestCase.EX_RUN_ERROR
sg_id = self.create_security_group()
if not sg_id:
- return testcase_base.TestcaseBase.EX_RUN_ERROR
+ return testcase.TestCase.EX_RUN_ERROR
self.delete_exist_vms()
@@ -84,7 +84,7 @@ class VPingBase(testcase_base.TestcaseBase):
None,
sg_id)
if not vm1:
- return testcase_base.TestcaseBase.EX_RUN_ERROR
+ return testcase.TestCase.EX_RUN_ERROR
test_ip = self.get_test_ip(vm1)
vm2 = self.boot_vm(self.vm2_name,
@@ -94,17 +94,17 @@ class VPingBase(testcase_base.TestcaseBase):
test_ip,
sg_id)
if not vm2:
- return testcase_base.TestcaseBase.EX_RUN_ERROR
+ return testcase.TestCase.EX_RUN_ERROR
EXIT_CODE = self.do_vping(vm2, test_ip)
- if EXIT_CODE == testcase_base.TestcaseBase.EX_RUN_ERROR:
+ if EXIT_CODE == testcase.TestCase.EX_RUN_ERROR:
return EXIT_CODE
self.stop_time = time.time()
self.parse_result(EXIT_CODE,
self.start_time,
self.stop_time)
- return testcase_base.TestcaseBase.EX_OK
+ return testcase.TestCase.EX_OK
def boot_vm_preparation(self, config, vmname, test_ip):
pass
diff --git a/functest/opnfv_tests/openstack/vping/vping_ssh.py b/functest/opnfv_tests/openstack/vping/vping_ssh.py
index 7a58a41f..fc2f01c6 100755
--- a/functest/opnfv_tests/openstack/vping/vping_ssh.py
+++ b/functest/opnfv_tests/openstack/vping/vping_ssh.py
@@ -19,7 +19,7 @@ from scp import SCPClient
import functest.utils.functest_logger as ft_logger
import functest.utils.openstack_utils as os_utils
import vping_base
-import functest.core.testcase_base as testcase_base
+import functest.core.testcase as testcase
class VPingSSH(vping_base.VPingBase):
@@ -32,12 +32,12 @@ class VPingSSH(vping_base.VPingBase):
def do_vping(self, vm, test_ip):
floatip = self.add_float_ip(vm)
if not floatip:
- return testcase_base.TestcaseBase.EX_RUN_ERROR
+ return testcase.TestCase.EX_RUN_ERROR
ssh = self.establish_ssh(vm, floatip)
if not ssh:
- return testcase_base.TestcaseBase.EX_RUN_ERROR
+ return testcase.TestCase.EX_RUN_ERROR
if not self.transfer_ping_script(ssh, floatip):
- return testcase_base.TestcaseBase.EX_RUN_ERROR
+ return testcase.TestCase.EX_RUN_ERROR
return self.do_vping_ssh(ssh, test_ip)
def add_float_ip(self, vm):