diff options
-rw-r--r-- | dovetail/compliance/proposed_tests.yml | 6 | ||||
-rw-r--r-- | dovetail/conf/dovetail_config.yml | 2 | ||||
-rw-r--r-- | dovetail/container.py | 15 | ||||
-rw-r--r-- | dovetail/testcase/sdnvpn.tc001.yml | 12 | ||||
-rw-r--r-- | dovetail/testcase/sdnvpn.tc002.yml | 12 | ||||
-rw-r--r-- | dovetail/testcase/sdnvpn.tc003.yml | 12 | ||||
-rw-r--r-- | dovetail/testcase/sdnvpn.tc004.yml | 12 | ||||
-rw-r--r-- | dovetail/testcase/sdnvpn.tc008.yml | 12 | ||||
-rw-r--r-- | userconfig/sdnvpn_config_testcase1.yaml | 33 | ||||
-rw-r--r-- | userconfig/sdnvpn_config_testcase2.yaml | 43 | ||||
-rw-r--r-- | userconfig/sdnvpn_config_testcase3.yaml | 32 | ||||
-rw-r--r-- | userconfig/sdnvpn_config_testcase4.yaml | 33 | ||||
-rw-r--r-- | userconfig/sdnvpn_config_testcase8.yaml | 29 |
13 files changed, 249 insertions, 4 deletions
diff --git a/dovetail/compliance/proposed_tests.yml b/dovetail/compliance/proposed_tests.yml index aaaa2023..cc4bfa8c 100644 --- a/dovetail/compliance/proposed_tests.yml +++ b/dovetail/compliance/proposed_tests.yml @@ -45,3 +45,9 @@ proposed_tests: - dovetail.ha.tc009 # - dovetail.ha.tc010 # - dovetail.ha.tc011 + # sdnvpn + - dovetail.sdnvpn.tc001 + - dovetail.sdnvpn.tc002 + - dovetail.sdnvpn.tc003 + - dovetail.sdnvpn.tc004 + - dovetail.sdnvpn.tc008 diff --git a/dovetail/conf/dovetail_config.yml b/dovetail/conf/dovetail_config.yml index ec1f5254..934ff6a6 100644 --- a/dovetail/conf/dovetail_config.yml +++ b/dovetail/conf/dovetail_config.yml @@ -21,6 +21,7 @@ testarea_supported: - ha - ipv6 - nfvi + - sdnvpn - vimops functest_testsuite: @@ -32,6 +33,7 @@ functest_testsuite: - promise functest_testcase: + - bgpvpn - connection_check - api_check - snaps_health_check diff --git a/dovetail/container.py b/dovetail/container.py index 5c128c0b..ae7c8e2e 100644 --- a/dovetail/container.py +++ b/dovetail/container.py @@ -59,12 +59,19 @@ class Container(object): # set functest envs and TEST_DB_URL for creating functest container @staticmethod - def set_functest_config(): + def set_functest_config(testcase_name): # These are all just used by Functest's function push_results_to_db. # And has nothing to do with DoveTail running test cases. - ins_type = " -e INSTALLER_TYPE=unknown" - scenario = " -e DEPLOY_SCENARIO=unknown" + ins_type = os.getenv('INSTALLER_TYPE', "unknown") + scenario = os.getenv('DEPLOY_SCENARIO', "unknown") + ins_type = ''.join([" -e INSTALLER_TYPE=", ins_type]) + scenario = ''.join([" -e DEPLOY_SCENARIO=", scenario]) + # vpn testcase only runs when scenario name includes bgpvpn + # functest requirements + if 'sdnvpn' in testcase_name: + ins_type = "-e INSTALLER_TYPE=netvirt" + scenario = " -e DEPLOY_SCENARIO=bgpvpn" node = " -e NODE_NAME=master" envs = "%s %s %s" % (ins_type, scenario, node) @@ -122,7 +129,7 @@ class Container(object): config = "" if type.lower() == "functest": - config = cls.set_functest_config() + config = cls.set_functest_config(testcase_name) if type.lower() == "yardstick": config = cls.set_yardstick_config() if not config: diff --git a/dovetail/testcase/sdnvpn.tc001.yml b/dovetail/testcase/sdnvpn.tc001.yml new file mode 100644 index 00000000..a453838a --- /dev/null +++ b/dovetail/testcase/sdnvpn.tc001.yml @@ -0,0 +1,12 @@ +--- +dovetail.sdnvpn.tc001: + name: dovetail.sdnvpn.tc001 + objective: Connectivity between Neutron subnets through association of Neutron Networks to VPNs + validate: + type: functest + testcase: bgpvpn + pre_copy: + src_file: sdnvpn_config_testcase1.yaml + dest_path: /home/opnfv/repos/sdnvpn/sdnvpn/test/functest/config.yaml + report: + sub_testcase_list: diff --git a/dovetail/testcase/sdnvpn.tc002.yml b/dovetail/testcase/sdnvpn.tc002.yml new file mode 100644 index 00000000..0e4cb51e --- /dev/null +++ b/dovetail/testcase/sdnvpn.tc002.yml @@ -0,0 +1,12 @@ +--- +dovetail.sdnvpn.tc002: + name: dovetail.sdnvpn.tc002 + objective: Separation of tenant networks through association to different VPNs + validate: + type: functest + testcase: bgpvpn + pre_copy: + src_file: sdnvpn_config_testcase2.yaml + dest_path: /home/opnfv/repos/sdnvpn/sdnvpn/test/functest/config.yaml + report: + sub_testcase_list: diff --git a/dovetail/testcase/sdnvpn.tc003.yml b/dovetail/testcase/sdnvpn.tc003.yml new file mode 100644 index 00000000..3da7ccd1 --- /dev/null +++ b/dovetail/testcase/sdnvpn.tc003.yml @@ -0,0 +1,12 @@ +--- +dovetail.sdnvpn.tc003: + name: dovetail.sdnvpn.tc003 + objective: Data center gateway integration through BGP peering + validate: + type: functest + testcase: bgpvpn + pre_copy: + src_file: sdnvpn_config_testcase3.yaml + dest_path: /home/opnfv/repos/sdnvpn/sdnvpn/test/functest/config.yaml + report: + sub_testcase_list: diff --git a/dovetail/testcase/sdnvpn.tc004.yml b/dovetail/testcase/sdnvpn.tc004.yml new file mode 100644 index 00000000..6e6727d2 --- /dev/null +++ b/dovetail/testcase/sdnvpn.tc004.yml @@ -0,0 +1,12 @@ +--- +dovetail.sdnvpn.tc004: + name: dovetail.sdnvpn.tc004 + objective: VPN provides connectivity between subnets using association of Neutron Router to VPNs + validate: + type: functest + testcase: bgpvpn + pre_copy: + src_file: sdnvpn_config_testcase4.yaml + dest_path: /home/opnfv/repos/sdnvpn/sdnvpn/test/functest/config.yaml + report: + sub_testcase_list: diff --git a/dovetail/testcase/sdnvpn.tc008.yml b/dovetail/testcase/sdnvpn.tc008.yml new file mode 100644 index 00000000..80b01d7b --- /dev/null +++ b/dovetail/testcase/sdnvpn.tc008.yml @@ -0,0 +1,12 @@ +--- +dovetail.sdnvpn.tc008: + name: dovetail.sdnvpn.tc008 + objective: associate Neutron Router with an attached subnet to a VPN and verify reachability of the Floating IP + validate: + type: functest + testcase: bgpvpn + pre_copy: + src_file: sdnvpn_config_testcase8.yaml + dest_path: /home/opnfv/repos/sdnvpn/sdnvpn/test/functest/config.yaml + report: + sub_testcase_list: diff --git a/userconfig/sdnvpn_config_testcase1.yaml b/userconfig/sdnvpn_config_testcase1.yaml new file mode 100644 index 00000000..d9e4a1b4 --- /dev/null +++ b/userconfig/sdnvpn_config_testcase1.yaml @@ -0,0 +1,33 @@ +defaults: + flavor: m1.tiny # adapt to your environment + +testcases: + tempest: + enabled: true + description: Neutron BGPVPN tests in tempest + testname_db: functest_tempest # declared name in the test api + # http://testresults.opnfv.org/test/api/v1/projects/sdnvpn/cases + + testcase_1: + enabled: true + description: VPN provides connectivity between subnets + testname_db: functest_testcase_1 + instance_1_name: sdnvpn-1-1 + instance_2_name: sdnvpn-1-2 + instance_3_name: sdnvpn-1-3 + instance_4_name: sdnvpn-1-4 + instance_5_name: sdnvpn-1-5 + image_name: sdnvpn-image + net_1_name: sdnvpn-1-1-net + subnet_1_name: sdnvpn-1-1-subnet + subnet_1_cidr: 10.10.10.0/24 + router_1_name: sdnvpn-1-1-router + net_2_name: sdnvpn-1-2-net + subnet_2_name: sdnvpn-1-2-subnet + subnet_2_cidr: 10.10.11.0/24 + router_2_name: sdnvpn-1-2-router + secgroup_name: sdnvpn-sg + secgroup_descr: Security group for SDNVPN test cases + targets1: '88:88' + targets2: '55:55' + route_distinguishers: '11:11' diff --git a/userconfig/sdnvpn_config_testcase2.yaml b/userconfig/sdnvpn_config_testcase2.yaml new file mode 100644 index 00000000..07b0adfa --- /dev/null +++ b/userconfig/sdnvpn_config_testcase2.yaml @@ -0,0 +1,43 @@ +defaults: + flavor: m1.tiny # adapt to your environment + +testcases: + tempest: + enabled: true + description: Neutron BGPVPN tests in tempest + testname_db: functest_tempest # declared name in the test api + # http://testresults.opnfv.org/test/api/v1/projects/sdnvpn/cases + + testcase_2: + enabled: true + description: Tenant separation + testname_db: functest_testcase_2 + instance_1_name: sdnvpn-2-1 + instance_2_name: sdnvpn-2-2 + instance_3_name: sdnvpn-2-3 + instance_4_name: sdnvpn-2-4 + instance_5_name: sdnvpn-2-5 + instance_1_ip: 10.10.10.11 + instance_2_ip: 10.10.10.12 + instance_3_ip: 10.10.11.13 + instance_4_ip: 10.10.10.12 + instance_5_ip: 10.10.11.13 + image_name: sdnvpn-image + net_1_name: sdnvpn-2-1-net + subnet_1a_name: sdnvpn-2-1a-subnet + subnet_1a_cidr: 10.10.10.0/24 + subnet_1b_name: sdnvpn-2-1b-subnet + subnet_1b_cidr: 10.10.11.0/24 + router_1_name: sdnvpn-2-1-router + net_2_name: sdnvpn-2-2-net + subnet_2a_name: sdnvpn-2-2a-subnet + subnet_2a_cidr: 10.10.11.0/24 + subnet_2b_name: sdnvpn-2-2b-subnet + subnet_2b_cidr: 10.10.10.0/24 + router_2_name: sdnvpn-2-2-router + secgroup_name: sdnvpn-sg + secgroup_descr: Security group for SDNVPN test cases + targets1: '88:88' + targets2: '55:55' + route_distinguishers1: '111:111' + route_distinguishers2: '222:222' diff --git a/userconfig/sdnvpn_config_testcase3.yaml b/userconfig/sdnvpn_config_testcase3.yaml new file mode 100644 index 00000000..60592cbb --- /dev/null +++ b/userconfig/sdnvpn_config_testcase3.yaml @@ -0,0 +1,32 @@ +defaults: + flavor: m1.tiny # adapt to your environment + +testcases: + tempest: + enabled: true + description: Neutron BGPVPN tests in tempest + testname_db: functest_tempest # declared name in the test api + # http://testresults.opnfv.org/test/api/v1/projects/sdnvpn/cases + + testcase_3: + enabled: true + description: Data center gateway integration + testname_db: functest_testcase_3 + secgroup_name: sdnvpn-sg + secgroup_descr: Security group for SDNVPN test cases + image_name: sdnvpn-image + ubuntu_image_name: sdnvpn-ubuntu-image + net_1_name: sdnvpn-3-1-net + subnet_1_name: sdnvpn-3-1-subnet + subnet_1_cidr: 10.10.10.0/24 + router_1_name: sdnvpn-3-1-router + quagga_net_name: sdnvpn-3-2-quagga-net + quagga_subnet_name: sdnvpn-3-2-quagga-subnet + quagga_subnet_cidr: 10.10.11.0/24 + quagga_router_name: sdnvpn-3-2-quagga-router + quagga_instance_name: sdnvpn-3-2-quagga + quagga_instance_ip: 10.10.11.5 + instance_1_name: sdnvpn-3-1 + instance_1_ip: 10.10.10.5 + import_targets: '31:31' + export_targets: '32:32' diff --git a/userconfig/sdnvpn_config_testcase4.yaml b/userconfig/sdnvpn_config_testcase4.yaml new file mode 100644 index 00000000..1e221354 --- /dev/null +++ b/userconfig/sdnvpn_config_testcase4.yaml @@ -0,0 +1,33 @@ +defaults: + flavor: m1.tiny # adapt to your environment + +testcases: + tempest: + enabled: true + description: Neutron BGPVPN tests in tempest + testname_db: functest_tempest # declared name in the test api + # http://testresults.opnfv.org/test/api/v1/projects/sdnvpn/cases + + testcase_4: + enabled: true + description: VPN provides connectivity between subnets using router association + testname_db: functest_testcase_4 + instance_1_name: sdnvpn-4-1 + instance_2_name: sdnvpn-4-2 + instance_3_name: sdnvpn-4-3 + instance_4_name: sdnvpn-4-4 + instance_5_name: sdnvpn-4-5 + image_name: sdnvpn-image + net_1_name: sdnvpn-4-1-net + subnet_1_name: sdnvpn-4-1-subnet + subnet_1_cidr: 10.10.10.0/24 + router_1_name: sdnvpn-4-1-router + net_2_name: sdnvpn-4-2-net + subnet_2_name: sdnvpn-4-2-subnet + subnet_2_cidr: 10.10.11.0/24 + router_2_name: sdnvpn-4-2-router + secgroup_name: sdnvpn-sg + secgroup_descr: Security group for SDNVPN test cases + targets1: '88:88' + targets2: '55:55' + route_distinguishers: '12:12' diff --git a/userconfig/sdnvpn_config_testcase8.yaml b/userconfig/sdnvpn_config_testcase8.yaml new file mode 100644 index 00000000..c825997b --- /dev/null +++ b/userconfig/sdnvpn_config_testcase8.yaml @@ -0,0 +1,29 @@ +defaults: + flavor: m1.tiny # adapt to your environment + +testcases: + tempest: + enabled: true + description: Neutron BGPVPN tests in tempest + testname_db: functest_tempest # declared name in the test api + # http://testresults.opnfv.org/test/api/v1/projects/sdnvpn/cases + + testcase_8: + enabled: true + description: Test floating IP and router assoc coexistence + testname_db: functest_testcase_8 + image_name: sdnvpn-image + instance_1_name: sdnvpn-8-1 + instance_2_name: sdnvpn-8-2 + net_1_name: sdnvpn-8-1 + subnet_1_name: sdnvpn-8-1-subnet + subnet_1_cidr: 10.10.10.0/24 + router_1_name: sdnvpn-8-1-router + net_2_name: sdnvpn-8-2 + subnet_2_name: sdnvpn-8-2-subnet + subnet_2_cidr: 10.10.20.0/24 + router_2_name: sdnvpn-8-2-router + secgroup_name: sdnvpn-sg + secgroup_descr: Security group for SDNVPN test cases + targets: '88:88' + route_distinguishers: '18:18' |