vpn testcases added in proposed_tests 93/34193/3
authorMatthewLi <matthew.lijun@huawei.com>
Thu, 4 May 2017 03:12:53 +0000 (23:12 -0400)
committerMatthewLi <matthew.lijun@huawei.com>
Mon, 8 May 2017 01:20:45 +0000 (21:20 -0400)
JIRA: DOVETAIL-212

after communicating with Tim/jose, help to add vpn testcase into proposed_tests

reference: https://wiki.opnfv.org/display/sdnvpn/SDNVPN+Testing#SDNVPNTesting-TestcompliancetemplateforDovetail

Change-Id: Id34a2cadba625abbdbc59ef11affeccba24fa10c
Signed-off-by: MatthewLi <matthew.lijun@huawei.com>
13 files changed:
dovetail/compliance/proposed_tests.yml
dovetail/conf/dovetail_config.yml
dovetail/container.py
dovetail/testcase/sdnvpn.tc001.yml [new file with mode: 0644]
dovetail/testcase/sdnvpn.tc002.yml [new file with mode: 0644]
dovetail/testcase/sdnvpn.tc003.yml [new file with mode: 0644]
dovetail/testcase/sdnvpn.tc004.yml [new file with mode: 0644]
dovetail/testcase/sdnvpn.tc008.yml [new file with mode: 0644]
userconfig/sdnvpn_config_testcase1.yaml [new file with mode: 0644]
userconfig/sdnvpn_config_testcase2.yaml [new file with mode: 0644]
userconfig/sdnvpn_config_testcase3.yaml [new file with mode: 0644]
userconfig/sdnvpn_config_testcase4.yaml [new file with mode: 0644]
userconfig/sdnvpn_config_testcase8.yaml [new file with mode: 0644]

index aaaa202..cc4bfa8 100644 (file)
@@ -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
index 332628a..87a4f59 100644 (file)
@@ -20,6 +20,7 @@ testarea_supported:
   - ha
   - ipv6
   - nfvi
+  - sdnvpn
   - vimops
 
 functest_testsuite:
@@ -31,6 +32,7 @@ functest_testsuite:
   - promise
 
 functest_testcase:
+  - bgpvpn
   - connection_check
   - api_check
   - snaps_health_check
index 5c128c0..ae7c8e2 100644 (file)
@@ -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 (file)
index 0000000..a453838
--- /dev/null
@@ -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 (file)
index 0000000..0e4cb51
--- /dev/null
@@ -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 (file)
index 0000000..3da7ccd
--- /dev/null
@@ -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 (file)
index 0000000..6e6727d
--- /dev/null
@@ -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 (file)
index 0000000..80b01d7
--- /dev/null
@@ -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 (file)
index 0000000..d9e4a1b
--- /dev/null
@@ -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 (file)
index 0000000..07b0adf
--- /dev/null
@@ -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 (file)
index 0000000..60592cb
--- /dev/null
@@ -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 (file)
index 0000000..1e22135
--- /dev/null
@@ -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 (file)
index 0000000..c825997
--- /dev/null
@@ -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'