.coverage
.tox
.cache
+.pytest_cache
nosetests.xml
unittest_results.log
docs/_build
pre_config/
docs/index.rst
-docs/requirements.txt
\ No newline at end of file
+docs/requirements.txt
def create_log(cls):
cls.logger = dt_logger.Logger(__name__ + '.Report').getLogger()
+ @classmethod
+ def check_tc_result(cls, testcase):
+ result_path = dt_cfg.dovetail_config['result_dir']
+ check_results_file = dt_utils.get_value_from_dict(
+ 'report.check_results_file', testcase.testcase)
+ if not check_results_file:
+ cls.logger.error("Failed to get 'check_results_file' from config "
+ "file of test case {}".format(testcase.name()))
+ cls.check_result(testcase)
+ return None
+ result_file = os.path.join(result_path, check_results_file)
+ if os.path.isfile(result_file):
+ cls.logger.info(
+ "Results have been stored with file {}.".format(result_file))
+ result = cls.get_result(testcase, result_file)
+ cls.check_result(testcase, result)
+ return result
+ else:
+ cls.logger.error(
+ "Failed to store results with file {}.".format(result_file))
+ cls.check_result(testcase)
+ return None
+
@staticmethod
- def check_result(testcase, db_result):
+ def check_result(testcase, db_result=None):
checker = CheckerFactory.create(testcase.validate_type())
if checker is not None:
checker.check(testcase, db_result)
os.chdir(cwd)
@classmethod
- def get_result(cls, testcase):
+ def get_result(cls, testcase, check_results_file):
validate_testcase = testcase.validate_testcase()
type = testcase.validate_type()
crawler = CrawlerFactory.create(type)
# if validate_testcase in cls.results[type]:
# return cls.results[type][validate_testcase]
- result = crawler.crawl(testcase)
+ result = crawler.crawl(testcase, check_results_file)
if result is not None:
cls.results[type][validate_testcase] = result
cls.logger = \
dt_logger.Logger(__name__ + '.FunctestCrawler').getLogger()
- def crawl(self, testcase=None):
- return self.crawl_from_file(testcase)
+ def crawl(self, testcase, file_path):
+ return self.crawl_from_file(testcase, file_path)
- def crawl_from_file(self, testcase=None):
+ def crawl_from_file(self, testcase, file_path):
dovetail_config = dt_cfg.dovetail_config
criteria = 'FAIL'
details = {}
duration = 0
testcase_name = testcase.validate_testcase()
build_tag = '%s-%s' % (dovetail_config['build_tag'], testcase.name())
- file_path = \
- os.path.join(dovetail_config['result_dir'],
- dovetail_config[self.type]['result']['file_path'])
if not os.path.exists(file_path):
self.logger.error('Result file not found: {}'.format(file_path))
return None
cls.logger = \
dt_logger.Logger(__name__ + '.YardstickCrawler').getLogger()
- def crawl(self, testcase=None):
- return self.crawl_from_file(testcase)
+ def crawl(self, testcase, file_path):
+ return self.crawl_from_file(testcase, file_path)
- def crawl_from_file(self, testcase=None):
- file_path = os.path.join(dt_cfg.dovetail_config['result_dir'],
- testcase.name() + '.out')
+ def crawl_from_file(self, testcase, file_path):
if not os.path.exists(file_path):
self.logger.error('Result file not found: {}'.format(file_path))
return None
cls.logger = \
dt_logger.Logger(__name__ + '.BottlenecksCrawler').getLogger()
- def crawl(self, testcase=None):
- return self.crawl_from_file(testcase)
+ def crawl(self, testcase, file_path):
+ return self.crawl_from_file(testcase, file_path)
- def crawl_from_file(self, testcase=None):
- file_path = os.path.join(dt_cfg.dovetail_config['result_dir'],
- testcase.name() + '.out')
+ def crawl_from_file(self, testcase, file_path):
if not os.path.exists(file_path):
self.logger.error('Result file not found: {}'.format(file_path))
return None
def __init__(self):
self.type = 'shell'
- def crawl(self, testcase=None):
- return self.crawl_from_file(testcase)
+ def crawl(self, testcase, file_path):
+ return self.crawl_from_file(testcase, file_path)
- def crawl_from_file(self, testcase=None):
- file_path = os.path.join(dt_cfg.dovetail_config['result_dir'],
- testcase.name()) + '.out'
+ def crawl_from_file(self, testcase, file_path):
if not os.path.exists(file_path):
return None
try:
cls.logger = \
dt_logger.Logger(__name__ + '.VnftestCrawler').getLogger()
- def crawl(self, testcase):
- return self.crawl_from_file(testcase)
-
- def crawl_from_file(self, testcase):
+ def crawl(self, testcase, file_path):
+ return self.crawl_from_file(testcase, file_path)
- file_path = os.path.join(dt_cfg.dovetail_config['result_dir'],
- testcase.name() + '.out')
+ def crawl_from_file(self, testcase, file_path):
if not os.path.exists(file_path):
self.logger.error('Result file not found: {}'.format(file_path))
return None
if run_testcase:
testcase.run()
- stop_on_fail = check_tc_result(testcase, logger)
+ stop_on_fail = Report.check_tc_result(testcase)
try:
if (not stop_on_fail or stop_on_fail['criteria'] == "FAIL") \
and dt_cfg.dovetail_config['stop']:
return duration
-def check_tc_result(testcase, logger):
- result_dir = dt_cfg.dovetail_config['result_dir']
- validate_type = testcase.validate_type()
- functest_result = dt_cfg.dovetail_config['functest']['result']['file_path']
- if validate_type.lower() in ['yardstick', 'bottlenecks', 'vnftest']:
- result_file = os.path.join(result_dir, testcase.name() + '.out')
- elif validate_type.lower() == 'functest':
- result_file = os.path.join(result_dir, functest_result)
- else:
- logger.error("Don't support {} now.".format(validate_type))
- return
- if os.path.isfile(result_file):
- logger.info(
- "Results have been stored with file {}.".format(result_file))
- else:
- logger.error(
- "Failed to store results with file {}.".format(result_file))
- result = Report.get_result(testcase)
- Report.check_result(testcase, result)
- return result
-
-
def validate_input(input_dict, check_dict, logger):
func_tag = input_dict['functest_tag']
yard_tag = input_dict['yardstick_tag']
if not dt_cfg.dovetail_config['noclean']:
Container.clean(container_id, self.type)
- def save_logs(self):
- pass
+ def archive_logs(self):
+ result_path = os.path.join(os.environ["DOVETAIL_HOME"], 'results')
+ src_files = dt_utils.get_value_from_dict(
+ 'report.source_archive_files', self.testcase.testcase)
+ dest_files = dt_utils.get_value_from_dict(
+ 'report.dest_archive_files', self.testcase.testcase)
+ if not src_files and not dest_files:
+ return True
+ if not (src_files and dest_files) or len(src_files) != len(dest_files):
+ self.logger.error("Can't find corresponding 'result_dest_files' "
+ "for 'result_source_files' with testcase {}"
+ .format(self.testcase.name()))
+ return False
+ res = True
+ for index in range(0, len(src_files)):
+ src_file_path = os.path.join(result_path, src_files[index])
+ dest_file_path = os.path.join(result_path, dest_files[index])
+ if os.path.isfile(src_file_path):
+ os.renames(src_file_path, dest_file_path)
+ else:
+ self.logger.error("Can't find file {}.".format(src_file_path))
+ res = False
+ return res
@staticmethod
def _render(task_template, **kwargs):
self.type = 'functest'
super(FunctestRunner, self).__init__(testcase)
- def save_logs(self):
- validate_testcase = self.testcase.validate_testcase()
- test_area = self.testcase.name().split(".")[1]
- result_path = os.path.join(os.environ["DOVETAIL_HOME"], 'results')
- dest_path = os.path.join(result_path, test_area + '_logs')
- dest_file = os.path.join(dest_path, self.testcase.name() + '.log')
- if validate_testcase == 'tempest_custom':
- source_file = os.path.join(result_path, 'tempest', 'tempest.log')
- elif validate_testcase == 'refstack_defcore':
- source_file = os.path.join(result_path, 'refstack', 'tempest.log')
- elif validate_testcase == 'bgpvpn':
- source_file = os.path.join(result_path, 'bgpvpn.log')
- elif validate_testcase == 'patrole':
- source_file = os.path.join(result_path, 'patrole', 'tempest.log')
- elif validate_testcase == 'neutron_trunk':
- source_file = os.path.join(result_path,
- 'neutron_trunk',
- 'tempest.log')
- else:
- source_file = None
- if source_file:
- if os.path.isfile(source_file):
- os.renames(source_file, dest_file)
- else:
- self.logger.error("Tempest log file for test case {} is not "
- "found.".format(self.testcase.name()))
-
class YardstickRunner(DockerRunner):
runner = TestRunnerFactory.create(self)
try:
runner.run()
- runner.save_logs()
+ runner.archive_logs()
except AttributeError as e:
self.logger.exception(
'Test case: {} Exception: {}'.format(self.name, e))
openstack --insecure flavor delete yardstick-flavor)'
result:
dir: '/tmp'
- file_path: 'bottlenecks.log'
openrc: '/tmp/admin_rc.sh'
extra_container:
- 'Bottlenecks-Yardstick'
- 'echo test for postcondition in functest'
result:
dir: '/home/opnfv/functest/results'
- file_path: 'functest_results.txt'
openrc: '/home/opnfv/functest/conf/env_file'
result:
dir: '/home/onap/vnftest/results'
log: '/tmp/vnftest'
- file_path: 'vnftest.log'
key_path: '/root/.ssh/id_rsa'
openrc: '/etc/vnftest/openstack.creds'
vnftest_conf:
- 'echo this is post_condition'
result:
dir: '/tmp/yardstick'
- file_path: 'yardstick.log'
openrc: '/etc/yardstick/openstack.creds'
type: yardstick
testcase: opnfv_yardstick_tc048
report:
+ source_archive_files:
+ - yardstick.log
+ - dovetail.ha.cinder_api.out
+ dest_archive_files:
+ - ha_logs/dovetail.ha.cinder_api.log
+ - ha_logs/dovetail.ha.cinder_api.out
+ check_results_file: ha_logs/dovetail.ha.cinder_api.out
sub_testcase_list:
type: yardstick
testcase: opnfv_yardstick_tc025
report:
+ source_archive_files:
+ - yardstick.log
+ - dovetail.ha.controller_restart.out
+ dest_archive_files:
+ - ha_logs/dovetail.ha.controller_restart.log
+ - ha_logs/dovetail.ha.controller_restart.out
+ check_results_file: ha_logs/dovetail.ha.controller_restart.out
sub_testcase_list:
type: yardstick
testcase: opnfv_yardstick_tc051
report:
+ source_archive_files:
+ - yardstick.log
+ - dovetail.ha.cpu_load.out
+ dest_archive_files:
+ - ha_logs/dovetail.ha.cpu_load.log
+ - ha_logs/dovetail.ha.cpu_load.out
+ check_results_file: ha_logs/dovetail.ha.cpu_load.out
sub_testcase_list:
type: yardstick
testcase: opnfv_yardstick_tc090
report:
+ source_archive_files:
+ - yardstick.log
+ - dovetail.ha.database.out
+ dest_archive_files:
+ - ha_logs/dovetail.ha.database.log
+ - ha_logs/dovetail.ha.database.out
+ check_results_file: ha_logs/dovetail.ha.database.out
sub_testcase_list:
type: yardstick
testcase: opnfv_yardstick_tc052
report:
+ source_archive_files:
+ - yardstick.log
+ - dovetail.ha.disk_load.out
+ dest_archive_files:
+ - ha_logs/dovetail.ha.disk_load.log
+ - ha_logs/dovetail.ha.disk_load.out
+ check_results_file: ha_logs/dovetail.ha.disk_load.out
sub_testcase_list:
type: yardstick
testcase: opnfv_yardstick_tc047
report:
+ source_archive_files:
+ - yardstick.log
+ - dovetail.ha.glance_api.out
+ dest_archive_files:
+ - ha_logs/dovetail.ha.glance_api.log
+ - ha_logs/dovetail.ha.glance_api.out
+ check_results_file: ha_logs/dovetail.ha.glance_api.out
sub_testcase_list:
type: yardstick
testcase: opnfv_yardstick_tc053
report:
+ source_archive_files:
+ - yardstick.log
+ - dovetail.ha.haproxy.out
+ dest_archive_files:
+ - ha_logs/dovetail.ha.haproxy.log
+ - ha_logs/dovetail.ha.haproxy.out
+ check_results_file: ha_logs/dovetail.ha.haproxy.out
sub_testcase_list:
type: yardstick
testcase: opnfv_yardstick_tc046
report:
+ source_archive_files:
+ - yardstick.log
+ - dovetail.ha.keystone.out
+ dest_archive_files:
+ - ha_logs/dovetail.ha.keystone.log
+ - ha_logs/dovetail.ha.keystone.out
+ check_results_file: ha_logs/dovetail.ha.keystone.out
sub_testcase_list:
post_condition:
- 'source /etc/yardstick/openstack.creds && openstack --insecure image delete cirros-ha-11'
report:
+ source_archive_files:
+ - yardstick.log
+ - dovetail.ha.neutron_l3_agent.out
+ dest_archive_files:
+ - ha_logs/dovetail.ha.neutron_l3_agent.log
+ - ha_logs/dovetail.ha.neutron_l3_agent.out
+ check_results_file: ha_logs/dovetail.ha.neutron_l3_agent.out
sub_testcase_list:
type: yardstick
testcase: opnfv_yardstick_tc045
report:
+ source_archive_files:
+ - yardstick.log
+ - dovetail.ha.neutron_server.out
+ dest_archive_files:
+ - ha_logs/dovetail.ha.neutron_server.log
+ - ha_logs/dovetail.ha.neutron_server.out
+ check_results_file: ha_logs/dovetail.ha.neutron_server.out
sub_testcase_list:
type: yardstick
testcase: opnfv_yardstick_tc019
report:
+ source_archive_files:
+ - yardstick.log
+ - dovetail.ha.nova_api.out
+ dest_archive_files:
+ - ha_logs/dovetail.ha.nova_api.log
+ - ha_logs/dovetail.ha.nova_api.out
+ check_results_file: ha_logs/dovetail.ha.nova_api.out
sub_testcase_list:
type: yardstick
testcase: opnfv_yardstick_tc056
report:
+ source_archive_files:
+ - yardstick.log
+ - dovetail.ha.rabbitmq.out
+ dest_archive_files:
+ - ha_logs/dovetail.ha.rabbitmq.log
+ - ha_logs/dovetail.ha.rabbitmq.out
+ check_results_file: ha_logs/dovetail.ha.rabbitmq.out
sub_testcase_list:
type: functest
testcase: api_check
report:
+ source_archive_files:
+ - functest.log
+ dest_archive_files:
+ - healthcheck_logs/dovetail.healthcheck.api_check.log
+ check_results_file: 'functest_results.txt'
sub_testcase_list:
type: functest
testcase: connection_check
report:
+ source_archive_files:
+ - functest.log
+ dest_archive_files:
+ - healthcheck_logs/dovetail.healthcheck.connection_check.log
+ check_results_file: 'functest_results.txt'
sub_testcase_list:
type: functest
testcase: snaps_health_check
report:
+ source_archive_files:
+ - functest.log
+ dest_archive_files:
+ - healthcheck_logs/dovetail.healthcheck.snaps_health_check.log
+ check_results_file: 'functest_results.txt'
sub_testcase_list:
type: vnftest
testcase: onap_vnftest_tc001
report:
- sub_testcase_list:
\ No newline at end of file
+ source_archive_files:
+ - vnftest.log
+ - dovetail.onap.vnf_lifecycle.out
+ dest_archive_files:
+ - onap_logs/dovetail.onap.vnf_lifecycle.log
+ - onap_logs/dovetail.onap.vnf_lifecycle.out
+ check_results_file: onap_logs/dovetail.onap.vnf_lifecycle.out
+ sub_testcase_list:
exist_src_file: sdnvpn_config_testcase4.yaml
dest_path: /usr/lib/python2.7/site-packages/sdnvpn/test/functest/config.yaml
report:
+ source_archive_files:
+ - functest.log
+ - bgpvpn.log
+ dest_archive_files:
+ - sdnvpn_logs/dovetail.sdnvpn.router_association.functest.log
+ - sdnvpn_logs/dovetail.sdnvpn.router_association.log
+ check_results_file: 'functest_results.txt'
sub_testcase_list:
exist_src_file: sdnvpn_config_testcase8.yaml
dest_path: /usr/lib/python2.7/site-packages/sdnvpn/test/functest/config.yaml
report:
+ source_archive_files:
+ - functest.log
+ - bgpvpn.log
+ dest_archive_files:
+ - sdnvpn_logs/dovetail.sdnvpn.router_association_floating_ip.functest.log
+ - sdnvpn_logs/dovetail.sdnvpn.router_association_floating_ip.log
+ check_results_file: 'functest_results.txt'
sub_testcase_list:
exist_src_file: sdnvpn_config_testcase1.yaml
dest_path: /usr/lib/python2.7/site-packages/sdnvpn/test/functest/config.yaml
report:
+ source_archive_files:
+ - functest.log
+ - bgpvpn.log
+ dest_archive_files:
+ - sdnvpn_logs/dovetail.sdnvpn.subnet_connectivity.functest.log
+ - sdnvpn_logs/dovetail.sdnvpn.subnet_connectivity.log
+ check_results_file: 'functest_results.txt'
sub_testcase_list:
exist_src_file: sdnvpn_config_testcase2.yaml
dest_path: /usr/lib/python2.7/site-packages/sdnvpn/test/functest/config.yaml
report:
+ source_archive_files:
+ - functest.log
+ - bgpvpn.log
+ dest_archive_files:
+ - sdnvpn_logs/dovetail.sdnvpn.tenant_separation.functest.log
+ - sdnvpn_logs/dovetail.sdnvpn.tenant_separation.log
+ check_results_file: 'functest_results.txt'
sub_testcase_list:
type: functest
testcase: patrole
report:
+ source_archive_files:
+ - functest.log
+ - patrole/tempest.log
+ - patrole/tempest-report.html
+ dest_archive_files:
+ - security_logs/dovetail.security.patrole.functest.log
+ - security_logs/dovetail.security.patrole.log
+ - security_logs/dovetail.security.patrole.html
+ check_results_file: 'functest_results.txt'
sub_testcase_list:
type: functest
testcase: snaps_smoke
report:
+ source_archive_files:
+ - functest.log
+ dest_archive_files:
+ - snaps_logs/dovetail.snaps.smoke.log
+ check_results_file: 'functest_results.txt'
sub_testcase_list:
type: bottlenecks
testcase: posca_factor_ping
report:
+ source_archive_files:
+ - bottlenecks.log
+ - dovetail.stress.ping.out
+ dest_archive_files:
+ - stress_logs/dovetail.stress.ping.log
+ - stress_logs/dovetail.stress.ping.out
+ check_results_file: stress_logs/dovetail.stress.ping.out
sub_testcase_list:
exist_src_file: sdnvpn_config_tc000.yaml
dest_path: /usr/lib/python2.7/site-packages/sdnvpn/test/functest/config.yaml
report:
+ source_archive_files:
+ - functest.log
+ - bgpvpn.log
+ dest_archive_files:
+ - tempest_logs/dovetail.tempest.bgpvpn.functest.log
+ - tempest_logs/dovetail.tempest.bgpvpn.log
+ check_results_file: 'functest_results.txt'
sub_testcase_list:
src_file: tempest_custom.txt
dest_path: /usr/lib/python2.7/site-packages/functest/opnfv_tests/openstack/tempest/custom_tests/test_list.txt
report:
+ source_archive_files:
+ - functest.log
+ - tempest/tempest.log
+ - tempest/tempest-report.html
+ dest_archive_files:
+ - tempest_logs/dovetail.tempest.compute.functest.log
+ - tempest_logs/dovetail.tempest.compute.log
+ - tempest_logs/dovetail.tempest.compute.html
+ check_results_file: 'functest_results.txt'
sub_testcase_list:
- tempest.api.compute.flavors.test_flavors.FlavorsV2TestJSON.test_get_flavor[id-1f12046b-753d-40d2-abb6-d8eb8b30cb2f,smoke]
- tempest.api.compute.flavors.test_flavors.FlavorsV2TestJSON.test_list_flavors[id-e36c0eaa-dff5-4082-ad1f-3f9a80aa3f59,smoke]
src_file: tempest_custom.txt
dest_path: /usr/lib/python2.7/site-packages/functest/opnfv_tests/openstack/tempest/custom_tests/test_list.txt
report:
+ source_archive_files:
+ - functest.log
+ - tempest/tempest.log
+ - tempest/tempest-report.html
+ dest_archive_files:
+ - tempest_logs/dovetail.tempest.identity_v2.functest.log
+ - tempest_logs/dovetail.tempest.identity_v2.log
+ - tempest_logs/dovetail.tempest.identity_v2.html
+ check_results_file: 'functest_results.txt'
sub_testcase_list:
- tempest.api.identity.admin.v2.test_services.ServicesTestJSON.test_list_services[id-34ea6489-012d-4a86-9038-1287cadd5eca,smoke]
- tempest.api.identity.admin.v2.test_users.UsersTestJSON.test_create_user[id-2d55a71e-da1d-4b43-9c03-d269fd93d905,smoke]
src_file: tempest_custom.txt
dest_path: /usr/lib/python2.7/site-packages/functest/opnfv_tests/openstack/tempest/custom_tests/test_list.txt
report:
+ source_archive_files:
+ - functest.log
+ - tempest/tempest.log
+ - tempest/tempest-report.html
+ dest_archive_files:
+ - tempest_logs/dovetail.tempest.identity_v3.functest.log
+ - tempest_logs/dovetail.tempest.identity_v3.log
+ - tempest_logs/dovetail.tempest.identity_v3.html
+ check_results_file: 'functest_results.txt'
sub_testcase_list:
- tempest.api.identity.admin.v3.test_credentials.CredentialsTestJSON.test_credentials_create_get_update_delete[id-7cd59bf9-bda4-4c72-9467-d21cab278355,smoke]
- tempest.api.identity.admin.v3.test_domains.DefaultDomainTestJSON.test_default_domain_exists[id-17a5de24-e6a0-4e4a-a9ee-d85b6e5612b5,smoke]
src_file: tempest_custom.txt
dest_path: /usr/lib/python2.7/site-packages/functest/opnfv_tests/openstack/tempest/custom_tests/test_list.txt
report:
+ source_archive_files:
+ - functest.log
+ - tempest/tempest.log
+ - tempest/tempest-report.html
+ dest_archive_files:
+ - tempest_logs/dovetail.tempest.image.functest.log
+ - tempest_logs/dovetail.tempest.image.log
+ - tempest_logs/dovetail.tempest.image.html
+ check_results_file: 'functest_results.txt'
sub_testcase_list:
- tempest.api.image.v2.test_images.BasicOperationsImagesTest.test_register_upload_get_image_file[id-139b765e-7f3d-4b3d-8b37-3ca3876ee318,smoke]
- tempest.api.image.v2.test_versions.VersionsTest.test_list_versions[id-659ea30a-a17c-4317-832c-0f68ed23c31d,smoke]
src_file: tempest_custom.txt
dest_path: /usr/lib/python2.7/site-packages/functest/opnfv_tests/openstack/tempest/custom_tests/test_list.txt
report:
+ source_archive_files:
+ - functest.log
+ - tempest/tempest.log
+ - tempest/tempest-report.html
+ dest_archive_files:
+ - tempest_logs/dovetail.tempest.ipv6.functest.log
+ - tempest_logs/dovetail.tempest.ipv6.log
+ - tempest_logs/dovetail.tempest.ipv6.html
+ check_results_file: 'functest_results.txt'
sub_testcase_list:
- tempest.api.network.test_networks.BulkNetworkOpsIpV6Test.test_bulk_create_delete_network[id-d4f9024d-1e28-4fc1-a6b1-25dbc6fa11e2,smoke]
- tempest.api.network.test_networks.BulkNetworkOpsIpV6Test.test_bulk_create_delete_port[id-48037ff2-e889-4c3b-b86a-8e3f34d2d060,smoke]
src_file: tempest_custom.txt
dest_path: /usr/lib/python2.7/site-packages/functest/opnfv_tests/openstack/tempest/custom_tests/test_list.txt
report:
+ source_archive_files:
+ - functest.log
+ - tempest/tempest.log
+ - tempest/tempest-report.html
+ dest_archive_files:
+ - tempest_logs/dovetail.tempest.multi_node_scheduling.functest.log
+ - tempest_logs/dovetail.tempest.multi_node_scheduling.log
+ - tempest_logs/dovetail.tempest.multi_node_scheduling.html
+ check_results_file: 'functest_results.txt'
sub_testcase_list:
- tempest.scenario.test_server_multinode.TestServerMultinode.test_schedule_to_all_nodes[compute,id-9cecbe35-b9d4-48da-a37e-7ce70aa43d30,network,smoke]
- tempest.api.compute.servers.test_server_group.ServerGroupTestJSON.test_create_delete_multiple_server_groups_with_same_name_policy[id-154dc5a4-a2fe-44b5-b99e-f15806a4a113]
src_file: tempest_custom.txt
dest_path: /usr/lib/python2.7/site-packages/functest/opnfv_tests/openstack/tempest/custom_tests/test_list.txt
report:
+ source_archive_files:
+ - functest.log
+ - tempest/tempest.log
+ - tempest/tempest-report.html
+ dest_archive_files:
+ - tempest_logs/dovetail.tempest.network.functest.log
+ - tempest_logs/dovetail.tempest.network.log
+ - tempest_logs/dovetail.tempest.network.html
+ check_results_file: 'functest_results.txt'
sub_testcase_list:
- tempest.api.network.test_extensions.ExtensionsTestJSON.test_list_show_extensions[id-ef28c7e6-e646-4979-9d67-deb207bc5564,smoke]
- tempest.api.network.test_floating_ips.FloatingIPTestJSON.test_create_floating_ip_specifying_a_fixed_ip_address[id-36de4bd0-f09c-43e3-a8e1-1decc1ffd3a5,smoke]
src_file: tempest_custom.txt
dest_path: /usr/lib/python2.7/site-packages/functest/opnfv_tests/openstack/tempest/custom_tests/test_list.txt
report:
+ source_archive_files:
+ - functest.log
+ - tempest/tempest.log
+ - tempest/tempest-report.html
+ dest_archive_files:
+ - tempest_logs/dovetail.tempest.network_security.functest.log
+ - tempest_logs/dovetail.tempest.network_security.log
+ - tempest_logs/dovetail.tempest.network_security.html
+ check_results_file: 'functest_results.txt'
sub_testcase_list:
- tempest.scenario.test_network_basic_ops.TestNetworkBasicOps.test_port_security_macspoofing_port[compute,id-7c0bb1a2-d053-49a4-98f9-ca1a1d849f63,network,slow]
- tempest.scenario.test_security_groups_basic_ops.TestSecurityGroupsBasicOps.test_cross_tenant_traffic[compute,id-e79f879e-debb-440c-a7e4-efeda05b6848,network]
pre_condition:
- 'cp /home/opnfv/userconfig/pre_config/tempest_conf.yaml /usr/lib/python2.7/site-packages/functest/opnfv_tests/openstack/tempest/custom_tests/tempest_conf.yaml'
- 'cp /home/opnfv/userconfig/pre_config/testcases.yaml /usr/lib/python2.7/site-packages/xtesting/ci/testcases.yaml'
- pre_copy:
- src_file: osinterop.txt
- dest_path: /usr/lib/python2.7/site-packages/functest/opnfv_tests/openstack/refstack_client/defcore.txt
report:
+ source_archive_files:
+ - functest.log
+ - refstack/tempest.log
+ - refstack/tempest-report.html
+ dest_archive_files:
+ - tempest_logs/dovetail.tempest.osinterop.functest.log
+ - tempest_logs/dovetail.tempest.osinterop.log
+ - tempest_logs/dovetail.tempest.osinterop.html
+ check_results_file: 'functest_results.txt'
sub_testcase_list:
- tempest.api.network.test_security_groups.SecGroupTest.test_create_security_group_rule_with_icmp_type_code
- tempest.api.network.test_networks.NetworksTest.test_update_subnet_gw_dns_host_routes_dhcp
type: functest
testcase: neutron_trunk
report:
+ source_archive_files:
+ - functest.log
+ - neutron_trunk/tempest.log
+ - neutron_trunk/tempest-report.html
+ dest_archive_files:
+ - tempest_logs/dovetail.tempest.neutron_trunk_ports.functest.log
+ - tempest_logs/dovetail.tempest.neutron_trunk_ports.log
+ - tempest_logs/dovetail.tempest.neutron_trunk_ports.html
+ check_results_file: 'functest_results.txt'
sub_testcase_list:
src_file: tempest_custom.txt
dest_path: /usr/lib/python2.7/site-packages/functest/opnfv_tests/openstack/tempest/custom_tests/test_list.txt
report:
+ source_archive_files:
+ - functest.log
+ - tempest/tempest.log
+ - tempest/tempest-report.html
+ dest_archive_files:
+ - tempest_logs/dovetail.tempest.vm_lifecycle.functest.log
+ - tempest_logs/dovetail.tempest.vm_lifecycle.log
+ - tempest_logs/dovetail.tempest.vm_lifecycle.html
+ check_results_file: 'functest_results.txt'
sub_testcase_list:
- tempest.scenario.test_minimum_basic.TestMinimumBasicScenario.test_minimum_basic_scenario[compute,id-bdbb5441-9204-419d-a225-b4fdbfb1a1a8,image,network,volume]
- tempest.scenario.test_network_advanced_server_ops.TestNetworkAdvancedServerOps.test_server_connectivity_cold_migration[compute,id-a4858f6c-401e-4155-9a49-d5cd053d1a2f,network,slow]
src_file: tempest_custom.txt
dest_path: /usr/lib/python2.7/site-packages/functest/opnfv_tests/openstack/tempest/custom_tests/test_list.txt
report:
+ source_archive_files:
+ - functest.log
+ - tempest/tempest.log
+ - tempest/tempest-report.html
+ dest_archive_files:
+ - tempest_logs/dovetail.tempest.volume.functest.log
+ - tempest_logs/dovetail.tempest.volume.log
+ - tempest_logs/dovetail.tempest.volume.html
+ check_results_file: 'functest_results.txt'
sub_testcase_list:
- tempest.api.volume.test_volumes_actions.VolumesActionsTest.test_attach_detach_volume_to_instance[compute,id-fff42874-7db5-4487-a8e1-ddda5fb5288d,smoke]
#
testcase: cloudify_ims
image_name: opnfv/functest-vnf
report:
+ source_archive_files:
+ - functest.log
+ dest_archive_files:
+ - vnf_logs/dovetail.vnf.vims.log
+ check_results_file: 'functest_results.txt'
sub_testcase_list:
type: functest
testcase: vping_ssh
report:
+ source_archive_files:
+ - functest.log
+ dest_archive_files:
+ - vping_logs/dovetail.vping.ssh.log
+ check_results_file: 'functest_results.txt'
sub_testcase_list:
type: functest
testcase: vping_userdata
report:
+ source_archive_files:
+ - functest.log
+ dest_archive_files:
+ - vping_logs/dovetail.vping.userdata.log
+ check_results_file: 'functest_results.txt'
sub_testcase_list: