diff options
40 files changed, 415 insertions, 40 deletions
diff --git a/docs/dovetailtool/dovetail.tool.installation.rst b/docs/dovetailtool/dovetail.tool.installation.rst index dcd856bc..17290a35 100644 --- a/docs/dovetailtool/dovetail.tool.installation.rst +++ b/docs/dovetailtool/dovetail.tool.installation.rst @@ -71,19 +71,19 @@ Compliance and certification test cases The compliance and certification test cases can be defined under the ``/dovetail/cert`` directory, which is defined in yaml format. -A sample file named ``basic.yml`` is provided as follows: +A sample file named ``compliance_set.yml`` is provided as follows: :: - certification_basic: - name: certification_basic - testcase_list: + certification_compliance_set: + name: certification_compliance_set + testcases_list: - dovetail.ipv6.tc001 The testcase listed here is dovetail.ipv6.tc001, defined within ``dovetail/testcase``. Note: if a new test case yaml file is created, its name should start with ``certification_``, -in similiar fashion as the sample file ``certification_basic``. +in similiar fashion as the sample file ``certification_compliance_set``. Running Dovetail tool --------------------- @@ -92,10 +92,10 @@ After environment preparation is complete and test cases added, the Dovetail too :: - python run.py --scenario basic + python run.py --scenario compliance_set -The value ``basic`` passed to the ``scenario`` flag can be replaced with the test cases yaml file. -If not argument is given, the basic scenario will be run as the default. +The value ``compliance_set`` passed to the ``scenario`` flag can be replaced with the test cases yaml file. +If not argument is given, the compliance_set scenario will be run as the default. Running Dovetail in a Docker container ######################################## @@ -145,7 +145,7 @@ Attach to the container by starting it and obtaining a bash prompt with :: Inside the container the following commands can be executed to trigger the testcases :: cd /home/opnfv/dovetail/dovetail - python run.py --scenario basic + python run.py --scenario compliance_set Results Output ############### diff --git a/dovetail/cert/basic.yml b/dovetail/cert/basic.yml deleted file mode 100644 index 25ebc7ae..00000000 --- a/dovetail/cert/basic.yml +++ /dev/null @@ -1,4 +0,0 @@ -certification_basic: - name: certification_basic - testcase_list: - - dovetail.ipv6.tc001 diff --git a/dovetail/cert/compliance_set.yml b/dovetail/cert/compliance_set.yml new file mode 100644 index 00000000..b4108b4f --- /dev/null +++ b/dovetail/cert/compliance_set.yml @@ -0,0 +1,7 @@ +certification_compliance_set: + name: certification_compliance_set + testcases_list: + # Temporarily, one test case kept here as default to run + # for use of software development/debug + # TO DO: will amend when compliance set is settled + - dovetail.ipv6.tc001 diff --git a/dovetail/cert/proposed_tests.yml b/dovetail/cert/proposed_tests.yml new file mode 100644 index 00000000..6d6c8d19 --- /dev/null +++ b/dovetail/cert/proposed_tests.yml @@ -0,0 +1,42 @@ +certification_proposed_tests: + name: certification_proposed_tests + testcases_list: + # TO DO: will adjust the dovetail tool to support in later patches + # run.py --name1 {**/proposed/compliance} --name2 {**/vim/ipv6,etc} + # vim operations + - dovetail.vimops.tc001 + - dovetail.vimops.tc002 + - dovetail.vimops.tc003 + - dovetail.vimops.tc004 + - dovetail.vimops.tc005 + - dovetail.vimops.tc006 + # ipv6 + - dovetail.ipv6.tc001 + - dovetail.ipv6.tc002 + - dovetail.ipv6.tc003 + - dovetail.ipv6.tc004 + - dovetail.ipv6.tc005 + - dovetail.ipv6.tc006 + - dovetail.ipv6.tc007 + - dovetail.ipv6.tc008 + - dovetail.ipv6.tc009 + - dovetail.ipv6.tc010 + - dovetail.ipv6.tc011 + - dovetail.ipv6.tc012 + - dovetail.ipv6.tc013 + - dovetail.ipv6.tc014 + - dovetail.ipv6.tc015 + - dovetail.ipv6.tc016 + - dovetail.ipv6.tc017 + - dovetail.ipv6.tc018 + - dovetail.ipv6.tc010 + - dovetail.ipv6.tc019 + - dovetail.ipv6.tc020 + - dovetail.ipv6.tc021 + - dovetail.ipv6.tc022 + - dovetail.ipv6.tc023 + - dovetail.ipv6.tc024 + - dovetail.ipv6.tc025 + # nfvi compute/network/storage + - dovetail.nfvi.tc001 + - dovetail.nfvi.tc002 diff --git a/dovetail/conf/cmd_config.yml b/dovetail/conf/cmd_config.yml index 63d51ed0..c2108c58 100644 --- a/dovetail/conf/cmd_config.yml +++ b/dovetail/conf/cmd_config.yml @@ -41,5 +41,10 @@ cli: flags: - '--scenario' - '-s' - default: 'basic' + default: 'compliance_set' help: 'certification scenario.' + tag: + flags: + - '--tag' + - '-o' + help: 'Overwrite tags for each docker container (e.g. "functest:stable,yardstick:latest")' diff --git a/dovetail/report.py b/dovetail/report.py index eae8d180..127c191d 100644 --- a/dovetail/report.py +++ b/dovetail/report.py @@ -36,36 +36,60 @@ class Report: checker.check(testcase, db_result) @classmethod + def generate_json(cls, scenario_yaml): + report_obj = {} + report_obj['scenario'] = scenario_yaml['name'] + report_obj['testcases_list'] = [] + for testcase_name in scenario_yaml['testcases_list']: + testcase = Testcase.get(testcase_name) + testcase_in_rpt = {} + testcase_in_rpt['name'] = testcase_name + if testcase is None: + testcase_in_rpt['result'] = 'Undefined' + testcase_in_rpt['objective'] = '' + testcase_in_rpt['sub_testcase'] = [] + report_obj['testcases_list'].append(testcase_in_rpt) + continue + + testcase_in_rpt['result'] = get_pass_str(testcase.passed()) + testcase_in_rpt['objective'] = testcase.objective() + testcase_in_rpt['sub_testcase'] = [] + if testcase.sub_testcase() is not None: + for sub_test in testcase.sub_testcase(): + testcase_in_rpt['sub_testcase'].append({ + 'name': sub_test, + 'result': get_pass_str( + testcase.sub_testcase_passed(sub_test)) + }) + report_obj['testcases_list'].append(testcase_in_rpt) + logger.info(json.dumps(report_obj)) + return report_obj + + @classmethod def generate(cls, scenario_yaml): - report = '' + rpt_data = cls.generate_json(scenario_yaml) + rpt_text = '' split_line = '+-----------------------------------------------------' split_line += '---------------------+\n' - report += '\n\ + rpt_text += '\n\ +==========================================================================+\n\ | report |\n' - report += split_line - report += '|scenario: %s\n' % scenario_yaml['name'] - for testcase_name in scenario_yaml['testcase_list']: - testcase = Testcase.get(testcase_name) - if testcase is None: - report += '| [testcase]: %s\t\t\t\t[Undefined]\n' % \ - (testcase_name) - report += split_line - continue - report += '| [testcase]: %s\t\t\t\t[%s]\n' % \ - (testcase_name, get_pass_str(testcase.passed())) - report += '| |-objective: %s\n' % testcase.objective() - if testcase.sub_testcase() is not None: - for subtest in testcase.sub_testcase(): - report += '| |-%s \t\t [%s]\n' % \ - (subtest, - get_pass_str(testcase.sub_testcase_passed(subtest))) - report += split_line - - logger.info(report) - cls.save(report) - return report + rpt_text += split_line + rpt_text += '|scenario: %s\n' % rpt_data['scenario'] + for testcase in rpt_data['testcases_list']: + rpt_text += '| [testcase]: %s\t\t\t\t[%s]\n' % \ + (testcase['name'], testcase['result']) + rpt_text += '| |-objective: %s\n' % testcase['objective'] + if 'sub_testcase' in testcase: + for sub_test in testcase['sub_testcase']: + rpt_text += '| |-%s \t\t [%s]\n' % \ + (sub_test['name'], sub_test['result']) + rpt_text += split_line + + logger.info(rpt_text) + cls.save(rpt_text) + return rpt_text # save to disk as default @classmethod diff --git a/dovetail/run.py b/dovetail/run.py index 310ef2aa..b4b9dda4 100755 --- a/dovetail/run.py +++ b/dovetail/run.py @@ -9,6 +9,7 @@ import click +import sys import utils.dovetail_logger as dt_logger @@ -29,12 +30,20 @@ def load_scenario(scenario): return Scenario.get(SCENARIO_NAMING_FMT % scenario) +def set_container_tags(option_str): + for script_tag_opt in option_str.split(','): + option_str = script_tag_opt.split(':') + script_type = option_str[0].strip() + script_tag = option_str[1].strip() + dovetail_config[script_type]['docker_tag'] = script_tag + + def load_testcase(): Testcase.load() def run_test(scenario): - for testcase_name in scenario['testcase_list']: + for testcase_name in scenario['testcases_list']: logger.info('>>[testcase]: %s' % (testcase_name)) testcase = Testcase.get(testcase_name) if testcase is None: @@ -75,6 +84,16 @@ def run_test(scenario): Report.check_result(testcase, db_result) +def validate_options(input_dict): + # for 'tag' option + for key, value in input_dict.items(): + if key == 'tag': + for tag in value.split(','): + if len(tag.split(':')) != 2: + logger.error('TAGS option must be "<image>:<tag>,..."') + sys.exit(1) + + def filter_env_options(input_dict): envs_options = {} for key, value in input_dict.items(): @@ -89,6 +108,7 @@ def main(*args, **kwargs): logger.info('=======================================') logger.info('Dovetail certification: %s!' % (kwargs['scenario'])) logger.info('=======================================') + validate_options(kwargs) envs_options = filter_env_options(kwargs) update_envs(envs_options) logger.info('Your new envs for functest: %s' % @@ -97,6 +117,8 @@ def main(*args, **kwargs): dovetail_config['yardstick']['envs']) load_testcase() scenario_yaml = load_scenario(kwargs['scenario']) + if 'tag' in kwargs: + set_container_tags(kwargs['tag']) run_test(scenario_yaml) Report.generate(scenario_yaml) diff --git a/dovetail/testcase/ipv6.tc001.yml b/dovetail/testcase/ipv6.tc001.yml index 9f11ac76..1d9a9c38 100644 --- a/dovetail/testcase/ipv6.tc001.yml +++ b/dovetail/testcase/ipv6.tc001.yml @@ -1,6 +1,6 @@ dovetail.ipv6.tc001: name: dovetail.ipv6.tc001 - objective: VIM ipv6 operations, to create/delete network, port and subnet in bulk operation + objective: Bulk creation and deletion of IPv6 networks, ports and subnets scripts: type: functest testcase: tempest_smoke_serial diff --git a/dovetail/testcase/ipv6.tc002.yml b/dovetail/testcase/ipv6.tc002.yml new file mode 100644 index 00000000..86af7300 --- /dev/null +++ b/dovetail/testcase/ipv6.tc002.yml @@ -0,0 +1,9 @@ +dovetail.ipv6.tc002: + name: dovetail.ipv6.tc002 + objective: VIM ipv6 operations, to create/update/delete an IPv6 network and subnet + scripts: + type: functest + testcase: tempest_smoke_serial + sub_testcase_list: + - tempest.api.network.test_networks.NetworksIpV6Test.test_create_update_delete_network_subnet + - tempest.api.network.test_networks.NetworksIpV6TestAttrs.test_create_update_delete_network_subnet diff --git a/dovetail/testcase/ipv6.tc003.yml b/dovetail/testcase/ipv6.tc003.yml new file mode 100644 index 00000000..1fedf32c --- /dev/null +++ b/dovetail/testcase/ipv6.tc003.yml @@ -0,0 +1,9 @@ +dovetail.ipv6.tc003: + name: dovetail.ipv6.tc003 + objective: VIM ipv6 operations, to check external network visibility + scripts: + type: functest + testcase: tempest_smoke_serial + sub_testcase_list: + - tempest.api.network.test_networks.NetworksIpV6Test.test_external_network_visibility + - tempest.api.network.test_networks.NetworksIpV6TestAttrs.test_external_network_visibility diff --git a/dovetail/testcase/ipv6.tc004.yml b/dovetail/testcase/ipv6.tc004.yml new file mode 100644 index 00000000..53f9f2ed --- /dev/null +++ b/dovetail/testcase/ipv6.tc004.yml @@ -0,0 +1,11 @@ +dovetail.ipv6.tc004: + name: dovetail.ipv6.tc004 + objective: VIM ipv6 operations, to list IPv6 networks and subnets of a tenant + scripts: + type: functest + testcase: tempest_smoke_serial + sub_testcase_list: + - tempest.api.network.test_networks.NetworksIpV6Test.test_list_networks + - tempest.api.network.test_networks.NetworksIpV6Test.test_list_subnets + - tempest.api.network.test_networks.NetworksIpV6TestAttrs.test_list_networks + - tempest.api.network.test_networks.NetworksIpV6TestAttrs.test_list_subnets diff --git a/dovetail/testcase/ipv6.tc005.yml b/dovetail/testcase/ipv6.tc005.yml new file mode 100644 index 00000000..737127ca --- /dev/null +++ b/dovetail/testcase/ipv6.tc005.yml @@ -0,0 +1,11 @@ +dovetail.ipv6.tc005: + name: dovetail.ipv6.tc005 + objective: VIM ipv6 operations, to show information of an IPv6 network and subnet + scripts: + type: functest + testcase: tempest_smoke_serial + sub_testcase_list: + - tempest.api.network.test_networks.NetworksIpV6Test.test_show_network + - tempest.api.network.test_networks.NetworksIpV6Test.test_show_subnet + - tempest.api.network.test_networks.NetworksIpV6TestAttrs.test_show_network + - tempest.api.network.test_networks.NetworksIpV6TestAttrs.test_show_subnet diff --git a/dovetail/testcase/ipv6.tc006.yml b/dovetail/testcase/ipv6.tc006.yml new file mode 100644 index 00000000..2aff3bba --- /dev/null +++ b/dovetail/testcase/ipv6.tc006.yml @@ -0,0 +1,8 @@ +dovetail.ipv6.tc006: + name: dovetail.ipv6.tc006 + objective: VIM ipv6 operations, to create an IPv6 port in allowed allocation pools + scripts: + type: functest + testcase: tempest_smoke_serial + sub_testcase_list: + - tempest.api.network.test_ports.PortsIpV6TestJSON.test_create_port_in_allowed_allocation_pools diff --git a/dovetail/testcase/ipv6.tc007.yml b/dovetail/testcase/ipv6.tc007.yml new file mode 100644 index 00000000..695ae2e6 --- /dev/null +++ b/dovetail/testcase/ipv6.tc007.yml @@ -0,0 +1,8 @@ +dovetail.ipv6.tc007: + name: dovetail.ipv6.tc007 + objective: VIM ipv6 operations, to create an IPv6 port without security groups + scripts: + type: functest + testcase: tempest_smoke_serial + sub_testcase_list: + - tempest.api.network.test_ports.PortsIpV6TestJSON.test_create_port_with_no_securitygroups diff --git a/dovetail/testcase/ipv6.tc008.yml b/dovetail/testcase/ipv6.tc008.yml new file mode 100644 index 00000000..f1889446 --- /dev/null +++ b/dovetail/testcase/ipv6.tc008.yml @@ -0,0 +1,8 @@ +dovetail.ipv6.tc008: + name: dovetail.ipv6.tc008 + objective: VIM ipv6 operations, to create/update/delete an IPv6 port + scripts: + type: functest + testcase: tempest_smoke_serial + sub_testcase_list: + - tempest.api.network.test_ports.PortsIpV6TestJSON.test_create_update_delete_port diff --git a/dovetail/testcase/ipv6.tc009.yml b/dovetail/testcase/ipv6.tc009.yml new file mode 100644 index 00000000..790c0ec7 --- /dev/null +++ b/dovetail/testcase/ipv6.tc009.yml @@ -0,0 +1,8 @@ +dovetail.ipv6.tc009: + name: dovetail.ipv6.tc009 + objective: VIM ipv6 operations, to list IPv6 ports of a tenant + scripts: + type: functest + testcase: tempest_smoke_serial + sub_testcase_list: + - tempest.api.network.test_ports.PortsIpV6TestJSON.test_list_ports diff --git a/dovetail/testcase/ipv6.tc010.yml b/dovetail/testcase/ipv6.tc010.yml new file mode 100644 index 00000000..35d8ee91 --- /dev/null +++ b/dovetail/testcase/ipv6.tc010.yml @@ -0,0 +1,8 @@ +dovetail.ipv6.tc010: + name: dovetail.ipv6.tc010 + objective: VIM ipv6 operations, to show information of an IPv6 port + scripts: + type: functest + testcase: tempest_smoke_serial + sub_testcase_list: + - tempest.api.network.test_ports.PortsIpV6TestJSON.test_show_port diff --git a/dovetail/testcase/ipv6.tc011.yml b/dovetail/testcase/ipv6.tc011.yml new file mode 100644 index 00000000..db3d155e --- /dev/null +++ b/dovetail/testcase/ipv6.tc011.yml @@ -0,0 +1,8 @@ +dovetail.ipv6.tc011: + name: dovetail.ipv6.tc011 + objective: VIM ipv6 operations, to add multiple interfaces for an IPv6 router + scripts: + type: functest + testcase: tempest_smoke_serial + sub_testcase_list: + - tempest.api.network.test_routers.RoutersIpV6Test.test_add_multiple_router_interfaces diff --git a/dovetail/testcase/ipv6.tc012.yml b/dovetail/testcase/ipv6.tc012.yml new file mode 100644 index 00000000..2b471342 --- /dev/null +++ b/dovetail/testcase/ipv6.tc012.yml @@ -0,0 +1,8 @@ +dovetail.ipv6.tc012: + name: dovetail.ipv6.tc012 + objective: VIM ipv6 operations, to add and remove an IPv6 router interface with port_id + scripts: + type: functest + testcase: tempest_smoke_serial + sub_testcase_list: + - tempest.api.network.test_routers.RoutersIpV6Test.test_add_remove_router_interface_with_port_id diff --git a/dovetail/testcase/ipv6.tc013.yml b/dovetail/testcase/ipv6.tc013.yml new file mode 100644 index 00000000..ca52a434 --- /dev/null +++ b/dovetail/testcase/ipv6.tc013.yml @@ -0,0 +1,8 @@ +dovetail.ipv6.tc013: + name: dovetail.ipv6.tc013 + objective: VIM ipv6 operations, to add and remove an IPv6 router interface with subnet_id + scripts: + type: functest + testcase: tempest_smoke_serial + sub_testcase_list: + - tempest.api.network.test_routers.RoutersIpV6Test.test_add_remove_router_interface_with_subnet_id diff --git a/dovetail/testcase/ipv6.tc014.yml b/dovetail/testcase/ipv6.tc014.yml new file mode 100644 index 00000000..0982ad09 --- /dev/null +++ b/dovetail/testcase/ipv6.tc014.yml @@ -0,0 +1,8 @@ +dovetail.ipv6.tc014: + name: dovetail.ipv6.tc014 + objective: VIM ipv6 operations, to create, update, delete, list and show an IPv6 router + scripts: + type: functest + testcase: tempest_smoke_serial + sub_testcase_list: + - tempest.api.network.test_routers.RoutersIpV6Test.test_create_show_list_update_delete_router diff --git a/dovetail/testcase/ipv6.tc015.yml b/dovetail/testcase/ipv6.tc015.yml new file mode 100644 index 00000000..f4c38ac4 --- /dev/null +++ b/dovetail/testcase/ipv6.tc015.yml @@ -0,0 +1,8 @@ +dovetail.ipv6.tc015: + name: dovetail.ipv6.tc015 + objective: VIM ipv6 operations, to create, update, delete, list and show an IPv6 security group + scripts: + type: functest + testcase: tempest_smoke_serial + sub_testcase_list: + - tempest.api.network.test_security_groups.SecGroupIPv6Test.test_create_list_update_show_delete_security_group diff --git a/dovetail/testcase/ipv6.tc016.yml b/dovetail/testcase/ipv6.tc016.yml new file mode 100644 index 00000000..0bc17c1b --- /dev/null +++ b/dovetail/testcase/ipv6.tc016.yml @@ -0,0 +1,8 @@ +dovetail.ipv6.tc016: + name: dovetail.ipv6.tc016 + objective: VIM ipv6 operations, to create, delete and show security group rules + scripts: + type: functest + testcase: tempest_smoke_serial + sub_testcase_list: + - tempest.api.network.test_security_groups.SecGroupIPv6Test.test_create_show_delete_security_group_rule diff --git a/dovetail/testcase/ipv6.tc017.yml b/dovetail/testcase/ipv6.tc017.yml new file mode 100644 index 00000000..1df7caf4 --- /dev/null +++ b/dovetail/testcase/ipv6.tc017.yml @@ -0,0 +1,8 @@ +dovetail.ipv6.tc017: + name: dovetail.ipv6.tc017 + objective: VIM ipv6 operations, to list all security groups + scripts: + type: functest + testcase: tempest_smoke_serial + sub_testcase_list: + - tempest.api.network.test_security_groups.SecGroupIPv6Test.test_list_security_groups diff --git a/dovetail/testcase/ipv6.tc018.yml b/dovetail/testcase/ipv6.tc018.yml new file mode 100644 index 00000000..01c4d3f7 --- /dev/null +++ b/dovetail/testcase/ipv6.tc018.yml @@ -0,0 +1,8 @@ +dovetail.ipv6.tc018: + name: dovetail.ipv6.tc018 + objective: VIM ipv6 operations, to show information of an IPv6 port + scripts: + type: functest + testcase: tempest_full_parallel + sub_testcase_list: + - tempest.scenario.test_network_v6.TestGettingAddress.test_dhcp6_stateless_from_os diff --git a/dovetail/testcase/ipv6.tc019.yml b/dovetail/testcase/ipv6.tc019.yml new file mode 100644 index 00000000..d44b9309 --- /dev/null +++ b/dovetail/testcase/ipv6.tc019.yml @@ -0,0 +1,8 @@ +dovetail.ipv6.tc019: + name: dovetail.ipv6.tc019 + objective: VIM ipv6 operations, to do IPv6 address assignment - dual stack, DHCPv6 stateless + scripts: + type: functest + testcase: tempest_full_parallel + sub_testcase_list: + - tempest.scenario.test_network_v6.TestGettingAddress.test_dualnet_dhcp6_stateless_from_os diff --git a/dovetail/testcase/ipv6.tc020.yml b/dovetail/testcase/ipv6.tc020.yml new file mode 100644 index 00000000..e974e083 --- /dev/null +++ b/dovetail/testcase/ipv6.tc020.yml @@ -0,0 +1,8 @@ +dovetail.ipv6.tc020: + name: dovetail.ipv6.tc020 + objective: VIM ipv6 operations, to do IPv6 Address Assignment - Multiple Prefixes, DHCPv6 Stateless + scripts: + type: functest + testcase: tempest_full_parallel + sub_testcase_list: + - tempest.scenario.test_network_v6.TestGettingAddress.test_multi_prefix_dhcpv6_stateless diff --git a/dovetail/testcase/ipv6.tc021.yml b/dovetail/testcase/ipv6.tc021.yml new file mode 100644 index 00000000..20544530 --- /dev/null +++ b/dovetail/testcase/ipv6.tc021.yml @@ -0,0 +1,8 @@ +dovetail.ipv6.tc021: + name: dovetail.ipv6.tc021 + objective: VIM ipv6 operations, to do IPv6 Address Assignment - Dual Stack, Multiple Prefixes, DHCPv6 Stateless + scripts: + type: functest + testcase: tempest_full_parallel + sub_testcase_list: + - tempest.scenario.test_network_v6.TestGettingAddress.test_dualnet_multi_prefix_dhcpv6_stateless diff --git a/dovetail/testcase/ipv6.tc022.yml b/dovetail/testcase/ipv6.tc022.yml new file mode 100644 index 00000000..e01c5b6f --- /dev/null +++ b/dovetail/testcase/ipv6.tc022.yml @@ -0,0 +1,8 @@ +dovetail.ipv6.tc022: + name: dovetail.ipv6.tc022 + objective: VIM ipv6 operations, to do IPv6 Address Assignment - SLAAC + scripts: + type: functest + testcase: tempest_full_parallel + sub_testcase_list: + - tempest.scenario.test_network_v6.TestGettingAddress.test_slaac_from_os diff --git a/dovetail/testcase/ipv6.tc023.yml b/dovetail/testcase/ipv6.tc023.yml new file mode 100644 index 00000000..cd17501d --- /dev/null +++ b/dovetail/testcase/ipv6.tc023.yml @@ -0,0 +1,8 @@ +dovetail.ipv6.tc023: + name: dovetail.ipv6.tc023 + objective: VIM ipv6 operations, to do IPv6 Address Assignment - Dual Stack, SLAAC + scripts: + type: functest + testcase: tempest_full_parallel + sub_testcase_list: + - tempest.scenario.test_network_v6.TestGettingAddress.test_dualnet_dhcp6_stateless_from_os diff --git a/dovetail/testcase/ipv6.tc024.yml b/dovetail/testcase/ipv6.tc024.yml new file mode 100644 index 00000000..1c8a93f8 --- /dev/null +++ b/dovetail/testcase/ipv6.tc024.yml @@ -0,0 +1,8 @@ +dovetail.ipv6.tc024: + name: dovetail.ipv6.tc024 + objective: VIM ipv6 operations, to do IPv6 address assignment - multiple prefixes, SLAAC + scripts: + type: functest + testcase: tempest_full_parallel + sub_testcase_list: + - tempest.scenario.test_network_v6.TestGettingAddress.test_multi_prefix_slaac diff --git a/dovetail/testcase/ipv6.tc025.yml b/dovetail/testcase/ipv6.tc025.yml new file mode 100644 index 00000000..3f9d97b8 --- /dev/null +++ b/dovetail/testcase/ipv6.tc025.yml @@ -0,0 +1,8 @@ +dovetail.ipv6.tc025: + name: dovetail.ipv6.tc025 + objective: VIM ipv6 operations, to do IPv6 address assignment - dual stack, multiple prefixes, SLAAC + scripts: + type: functest + testcase: tempest_full_parallel + sub_testcase_list: + - tempest.scenario.test_network_v6.TestGettingAddress.test_dualnet_multi_prefix_slaac diff --git a/dovetail/testcase/nfvi.tc001.yml b/dovetail/testcase/nfvi.tc001.yml new file mode 100644 index 00000000..136fd9d1 --- /dev/null +++ b/dovetail/testcase/nfvi.tc001.yml @@ -0,0 +1,7 @@ +dovetail.nfvi.tc001: + name: dovetail.nfvi.tc001 + objective: testing for vping using ssh + scripts: + type: functest + testcase: vping_ssh + sub_testcase_list: diff --git a/dovetail/testcase/nfvi.tc002.yml b/dovetail/testcase/nfvi.tc002.yml new file mode 100644 index 00000000..f5724c56 --- /dev/null +++ b/dovetail/testcase/nfvi.tc002.yml @@ -0,0 +1,7 @@ +dovetail.nfvi.tc002: + name: dovetail.nfvi.tc002 + objective: testing for vping using userdata + scripts: + type: functest + testcase: vping_userdata + sub_testcase_list: diff --git a/dovetail/testcase/vimops.tc001.yml b/dovetail/testcase/vimops.tc001.yml new file mode 100644 index 00000000..3d2ba0c0 --- /dev/null +++ b/dovetail/testcase/vimops.tc001.yml @@ -0,0 +1,8 @@ +dovetail.vimops.tc001: + name: dovetail.vimops.tc001 + objective: Glance images v2 index + scripts: + type: functest + testcase: tempest_full_parallel + sub_testcase_list: + - tempest.api.image.v2.test_images.ListImagesTest.test_list_no_params diff --git a/dovetail/testcase/vimops.tc002.yml b/dovetail/testcase/vimops.tc002.yml new file mode 100644 index 00000000..15f5bf08 --- /dev/null +++ b/dovetail/testcase/vimops.tc002.yml @@ -0,0 +1,11 @@ +dovetail.vimops.tc002: + name: dovetail.vimops.tc002 + objective: Glance Images v2 Delete + scripts: + type: functest + testcase: tempest_full_parallel + sub_testcase_list: + - tempest.api.image.v2.test_images.BasicOperationsImagesTest.test_delete_image + - tempest.api.image.v2.test_images_negative.ImagesNegativeTest.test_delete_image_null_id + - tempest.api.image.v2.test_images_negative.ImagesNegativeTest.test_delete_non_existing_image + - tempest.api.image.v2.test_images_tags_negative.ImagesTagsNegativeTest.test_delete_non_existing_tag diff --git a/dovetail/testcase/vimops.tc003.yml b/dovetail/testcase/vimops.tc003.yml new file mode 100644 index 00000000..418c041c --- /dev/null +++ b/dovetail/testcase/vimops.tc003.yml @@ -0,0 +1,12 @@ +dovetail.vimops.tc003: + name: dovetail.vimops.tc003 + objective: Glance images v2 list + scripts: + type: functest + testcase: tempest_full_parallel + sub_testcase_list: + - tempest.api.image.v2.test_images.ListImagesTest.test_get_image_schema + - tempest.api.image.v2.test_images.ListImagesTest.test_get_images_schema + - tempest.api.image.v2.test_images_negative.ImagesNegativeTest.test_get_delete_deleted_image + - tempest.api.image.v2.test_images_negative.ImagesNegativeTest.test_get_image_null_id + - tempest.api.image.v2.test_images_negative.ImagesNegativeTest.test_get_non_existent_image diff --git a/dovetail/testcase/vimops.tc004.yml b/dovetail/testcase/vimops.tc004.yml new file mode 100644 index 00000000..3d205a38 --- /dev/null +++ b/dovetail/testcase/vimops.tc004.yml @@ -0,0 +1,14 @@ +dovetail.vimops.tc004: + name: dovetail.vimops.tc004 + objective: Glance images v2 list + scripts: + type: functest + testcase: tempest_full_parallel + sub_testcase_list: + - tempest.api.image.v2.test_images.ListImagesTest.test_list_images_param_container_format + - tempest.api.image.v2.test_images.ListImagesTest.test_list_images_param_disk_format + - tempest.api.image.v2.test_images.ListImagesTest.test_list_images_param_limit + - tempest.api.image.v2.test_images.ListImagesTest.test_list_images_param_min_max_size + - tempest.api.image.v2.test_images.ListImagesTest.test_list_images_param_size + - tempest.api.image.v2.test_images.ListImagesTest.test_list_images_param_status + - tempest.api.image.v2.test_images.ListImagesTest.test_list_images_param_visibility diff --git a/dovetail/testcase/vimops.tc005.yml b/dovetail/testcase/vimops.tc005.yml new file mode 100644 index 00000000..d9413849 --- /dev/null +++ b/dovetail/testcase/vimops.tc005.yml @@ -0,0 +1,10 @@ +dovetail.vimops.tc005: + name: dovetail.vimops.tc005 + objective: Glance images v2 import + scripts: + type: functest + testcase: tempest_full_parallel + sub_testcase_list: + - tempest.api.image.v2.test_images.BasicOperationsImagesTest.test_register_upload_get_image_file + - tempest.api.image.v2.test_images_negative.ImagesNegativeTest.test_register_with_invalid_container_format + - tempest.api.image.v2.test_images_negative.ImagesNegativeTest.test_register_with_invalid_disk_format diff --git a/dovetail/testcase/vimops.tc006.yml b/dovetail/testcase/vimops.tc006.yml new file mode 100644 index 00000000..0676c317 --- /dev/null +++ b/dovetail/testcase/vimops.tc006.yml @@ -0,0 +1,10 @@ +dovetail.vimops.tc006: + name: dovetail.vimops.tc006 + objective: Glance images v2 update + scripts: + type: functest + testcase: tempest_full_parallel + sub_testcase_list: + - tempest.api.image.v2.test_images.BasicOperationsImagesTest.test_update_image + - tempest.api.image.v2.test_images_tags.ImagesTagsTest.test_update_delete_tags_for_image + - tempest.api.image.v2.test_images_tags_negative.ImagesTagsNegativeTest.test_update_tags_for_non_existing_image |