Merge "Update and enable Cloudify-based testcases"
[functest.git] / functest / ci / testcases.yaml
index 2ca54b0..7ae021f 100644 (file)
@@ -3,7 +3,6 @@ tiers:
     -
         name: healthcheck
         order: 0
-        ci_loop: '(merge)|(verify)|(daily)|(weekly)'
         description: >-
             First tier to be executed to verify the basic
             operations in the VIM.
@@ -16,59 +15,82 @@ tiers:
                 description: >-
                     This test case verifies the retrieval of OpenStack clients:
                     Keystone, Glance, Neutron and Nova and may perform some
-                    simple queries. When the config value of
-                    snaps.use_keystone is True, functest must have access to
-                    the cloud's private network.
-                dependencies:
-                    installer: ''
-                    scenario: ''
+                    simple queries.
                 run:
-                    module:
-                        'functest.opnfv_tests.openstack.snaps.connection_check'
-                    class: 'ConnectionCheck'
+                    name: connection_check
 
             -
-                case_name: api_check
+                case_name: tenantnetwork1
                 project_name: functest
                 criteria: 100
                 blocking: true
                 description: >-
-                    This test case verifies the retrieval of OpenStack clients:
-                    Keystone, Glance, Neutron and Nova and may perform some
-                    simple queries. When the config value of
-                    snaps.use_keystone is True, functest must have access to
-                    the cloud's private network.
-                dependencies:
-                    installer: ''
-                    scenario: '^((?!lxd).)*$'
+                    It creates and configures all tenant network ressources
+                    required by advanced testcases (subnet, network and
+                    router).
                 run:
-                    module: 'functest.opnfv_tests.openstack.snaps.api_check'
-                    class: 'ApiCheck'
+                    name: tenantnetwork1
 
             -
-                case_name: snaps_health_check
+                case_name: tenantnetwork2
                 project_name: functest
                 criteria: 100
                 blocking: true
                 description: >-
-                    This test case creates executes the SimpleHealthCheck
-                    Python test class which creates an, image, flavor, network,
-                    and Cirros VM instance and observes the console output to
-                    validate the single port obtains the correct IP address.
-                dependencies:
-                    installer: ''
-                    scenario: '^((?!lxd).)*$'
+                    It creates new user/project before creating and configuring
+                    all tenant network ressources required by a testcase
+                    (subnet, network and router).
                 run:
-                    module: 'functest.opnfv_tests.openstack.snaps.health_check'
-                    class: 'HealthCheck'
+                    name: tenantnetwork2
+
+            -
+                case_name: vmready1
+                project_name: functest
+                criteria: 100
+                blocking: true
+                description: >-
+                    It inherits from TenantNetwork1 which creates all network
+                    resources and prepares a future VM attached to that
+                    network.
+                run:
+                    name: vmready1
+
+            -
+                case_name: vmready2
+                project_name: functest
+                criteria: 100
+                blocking: true
+                description: >-
+                    It creates new user/project before creating and configuring
+                    all tenant network ressources, flavors, images, etc.
+                    required by advanced testcases.
+                run:
+                    name: vmready2
+
+            -
+                case_name: singlevm1
+                project_name: functest
+                criteria: 100
+                blocking: true
+                description: >-
+                    It inherits from TenantNetwork1 which creates all network
+                    resources and completes it by booting a VM attached to that
+                    network.
+                run:
+                    name: singlevm1
+
+            -
+                case_name: singlevm2
+                project_name: functest
+                criteria: 100
+                blocking: true
+                description: >-
+                    It creates new user/project before creating and configuring
+                    all tenant network ressources and vms required by advanced
+                    testcases.
+                run:
+                    name: singlevm2
 
-    -
-        name: smoke
-        order: 1
-        ci_loop: '(daily)|(weekly)'
-        description: >-
-            Set of basic Functional tests to validate the OPNFV scenarios.
-        testcases:
             -
                 case_name: vping_ssh
                 project_name: functest
@@ -78,12 +100,8 @@ tiers:
                     This test case verifies: 1) SSH to an instance using
                     floating IPs over the public network. 2) Connectivity
                     between 2 instances over a private network.
-                dependencies:
-                    installer: ''
-                    scenario: '^((?!lxd).)*$'
                 run:
-                    module: 'functest.opnfv_tests.openstack.vping.vping_ssh'
-                    class: 'VPingSSH'
+                    name: vping_ssh
 
             -
                 case_name: vping_userdata
@@ -93,16 +111,69 @@ tiers:
                 description: >-
                     This test case verifies:  1) Boot a VM with given userdata.
                     2) Connectivity between 2 instances over a private network.
+                run:
+                    name: vping_userdata
+
+            -
+                case_name: cinder_test
+                project_name: functest
+                criteria: 100
+                blocking: true
+                description: >-
+                    This test case verifies: 1) Attach volume and to 1
+                    instance; 2) Write data on volume 3) Detach volume
+                    from instance 1, attach it on instance 2 3) Read volume
+                    data
+                run:
+                    name: cinder_test
+
+            -
+                case_name: odl
+                project_name: functest
+                criteria: 100
+                blocking: true
+                description: >-
+                    Test Suite for the OpenDaylight SDN Controller. It
+                    integrates some test suites from upstream using
+                    Robot as the test framework.
                 dependencies:
-                    installer: ''
-                    scenario: '^((?!lxd).)*$'
+                    - DEPLOY_SCENARIO: 'odl'
+                run:
+                    name: odl
+                    args:
+                        suites:
+                            - /src/odl_test/csit/suites/integration/basic
+                            - /src/odl_test/csit/suites/openstack/neutron
+
+            -
+                case_name: api_check
+                project_name: functest
+                criteria: 100
+                blocking: true
+                description: >-
+                    This test case verifies the retrieval of OpenStack clients:
+                    Keystone, Glance, Neutron and Nova and may perform some
+                    simple queries. When the config value of
+                    snaps.use_keystone is True, functest must have access to
+                    the cloud's private network.
+                run:
+                    name: api_check
+
+            -
+                case_name: snaps_health_check
+                project_name: functest
+                criteria: 100
+                blocking: true
+                description: >-
+                    This test case creates executes the SimpleHealthCheck
+                    Python test class which creates an, image, flavor, network,
+                    and Cirros VM instance and observes the console output to
+                    validate the single port obtains the correct IP address.
                 run:
-                    module:
-                        'functest.opnfv_tests.openstack.vping.vping_userdata'
-                    class: 'VPingUserdata'
+                    name: snaps_health_check
 
             -
-                case_name: tempest_smoke_serial
+                case_name: tempest_smoke
                 project_name: functest
                 criteria: 100
                 blocking: false
@@ -111,12 +182,36 @@ tiers:
                     Tempest suite. The list of test cases is generated by
                     Tempest automatically and depends on the parameters of
                     the OpenStack deplopyment.
-                dependencies:
-                    installer: ''
-                    scenario: ''
+                    https://github.com/openstack/tempest/blob/18.0.0/tox.ini#L114
+                run:
+                    name: tempest_common
+                    args:
+                        mode: '(?=.*\[.*\bsmoke\b.*\])(^tempest\.api)'
+                        option:
+                            - '--concurrency=4'
+
+    -
+        name: smoke
+        order: 1
+        description: >-
+            Set of basic Functional tests to validate the OPNFV scenarios.
+        testcases:
+            -
+                case_name: neutron-tempest-plugin-api
+                project_name: functest
+                criteria: 100
+                blocking: false
+                description: >-
+                    This test case runs the Tempest suite proposed by the
+                    Neutron project. The list of test cases is generated by
+                    Tempest automatically and depends on the parameters of
+                    the OpenStack deployment.
                 run:
-                    module: 'functest.opnfv_tests.openstack.tempest.tempest'
-                    class: 'TempestSmokeSerial'
+                    name: tempest_common
+                    args:
+                        mode: '^neutron_tempest_plugin\.api'
+                        option:
+                            - '--concurrency=4'
 
             -
                 case_name: rally_sanity
@@ -126,92 +221,76 @@ tiers:
                 description: >-
                     This test case runs a sub group of tests of the OpenStack
                     Rally suite in smoke mode.
-                dependencies:
-                    installer: ''
-                    scenario: ''
                 run:
-                    module: 'functest.opnfv_tests.openstack.rally.rally'
-                    class: 'RallySanity'
+                    name: rally_sanity
 
             -
                 case_name: refstack_defcore
                 project_name: functest
-                enabled: false
                 criteria: 100
                 blocking: false
                 description: >-
                     This test case runs a sub group of tests of the OpenStack
                     Defcore testcases.
-                dependencies:
-                    installer: ''
-                    scenario: ''
                 run:
-                    module:
-                        'functest.opnfv_tests.openstack.refstack.refstack'
-                    class: 'Refstack'
+                    name: refstack_defcore
+                    args:
+                        option:
+                            - '--concurrency=4'
 
             -
-                case_name: patrole
+                case_name: tempest_full
                 project_name: functest
                 criteria: 100
                 blocking: false
                 description: >-
-                    Test suite from Patrole project.
-                dependencies:
-                    installer: ''
-                    scenario: ''
+                    The list of test cases is generated by
+                    Tempest automatically and depends on the parameters of
+                    the OpenStack deployment.
+                    https://github.com/openstack/tempest/blob/18.0.0/tox.ini#L83
                 run:
-                    module: 'functest.opnfv_tests.openstack.patrole.patrole'
-                    class: 'Patrole'
+                    name: tempest_common
                     args:
-                        role: 'admin'
-                        services:
-                            - 'image'
-                            - 'network'
-                        exclude:
-                            - 'test_networks_multiprovider_rbac'
+                        mode: '(?!.*\[.*\bslow\b.*\])(^tempest\.api)'
+                        option:
+                            - '--concurrency=4'
 
             -
-                case_name: odl
+                case_name: tempest_scenario
                 project_name: functest
                 criteria: 100
                 blocking: false
                 description: >-
-                    Test Suite for the OpenDaylight SDN Controller. It
-                    integrates some test suites from upstream using
-                    Robot as the test framework.
-                dependencies:
-                    installer: ''
-                    scenario: 'odl'
+                    The list of test cases is generated by
+                    Tempest automatically and depends on the parameters of
+                    the OpenStack deployment.
+                    https://github.com/openstack/tempest/blob/18.0.0/tox.ini#L84
                 run:
-                    module: 'functest.opnfv_tests.sdn.odl.odl'
-                    class: 'ODLTests'
+                    name: tempest_common
                     args:
-                        suites:
-                            - /src/odl_test/csit/suites/integration/basic
-                            - /src/odl_test/csit/suites/openstack/neutron
+                        mode: '(?!.*\[.*\bslow\b.*\])(^tempest\.scenario)'
+                        option:
+                            - '--concurrency=1'
 
             -
-                case_name: odl_netvirt
+                case_name: patrole
                 project_name: functest
                 criteria: 100
                 blocking: false
                 description: >-
-                    Test Suite for the OpenDaylight SDN Controller when
-                    the NetVirt features are installed. It integrates
-                    some test suites from upstream using Robot as the
-                    test framework.
-                dependencies:
-                    installer: 'apex'
-                    scenario: 'os-odl_l3-nofeature'
+                    Test suite from Patrole project.
                 run:
-                    module: 'functest.opnfv_tests.sdn.odl.odl'
-                    class: 'ODLTests'
+                    name: patrole
                     args:
-                        suites:
-                            - /src/odl_test/csit/suites/integration/basic
-                            - /src/odl_test/csit/suites/openstack/neutron
-                            - /src/odl_test/csit/suites/openstack/connectivity
+                        role: 'admin'
+                        includes:
+                            - 'image'
+                            - 'network'
+                        excludes:
+                            - 'network.test_flavors_rbac'
+                            - 'network.test_network_ip_availability_rbac'
+                            - 'test_networks_multiprovider_rbac'
+                            - 'test_auto_allocated_topology_rbac'
 
             -
                 case_name: snaps_smoke
@@ -226,13 +305,8 @@ tiers:
                     this functionality. When the config value of
                     snaps.use_keystone is True, functest must have access to
                     the cloud's private network.
-
-                dependencies:
-                    installer: ''
-                    scenario: '^((?!lxd).)*$'
                 run:
-                    module: 'functest.opnfv_tests.openstack.snaps.smoke'
-                    class: 'SnapsSmoke'
+                    name: snaps_smoke
 
             -
                 case_name: neutron_trunk
@@ -244,17 +318,126 @@ tiers:
                     OpenStack Tempest suite. The list of test cases is
                     generated by Tempest having as input the relevant
                     testcase list file.
+                run:
+                    name: tempest_common
+                    args:
+                        mode: 'neutron_tempest_plugin.(api|scenario).test_trunk'
+                        neutron_extensions:
+                            - trunk
+                            - trunk-details
+
+            -
+                case_name: networking-bgpvpn
+                project_name: functest
+                criteria: 100
+                blocking: false
+                description: >-
+                    This test case runs OpenStack networking-bgpvpn Tempest
+                    suite. The list of test cases is generated by Tempest
+                    having as input the relevant regex.
+                run:
+                    name: tempest_common
+                    args:
+                        mode: '^networking_bgpvpn_tempest\.'
+                        neutron_extensions:
+                            - bgpvpn
+                        option:
+                            - '--concurrency=4'
+
+            -
+                case_name: networking-sfc
+                project_name: functest
+                criteria: 100
+                blocking: false
+                description: >-
+                    This test case runs OpenStack networking-sfc Tempest
+                    suite. The list of test cases is generated by Tempest
+                    having as input the relevant regex.
+                run:
+                    name: tempest_common
+                    args:
+                        mode:
+                            '^(?:networking_sfc\.tests\.tempest_plugin.tests.api).*$'
+                        neutron_extensions:
+                            - sfc
+                        option:
+                            - '--concurrency=0'
+
+            -
+                case_name: barbican
+                project_name: functest
+                criteria: 100
+                blocking: false
+                description: >-
+                    It leverages on the tempest plugin containing tests used to
+                    verify the functionality of a barbican installation.
+                run:
+                    name: barbican
+                    args:
+                        mode:
+                            '^barbican_tempest_plugin.((?!test_signed_image_upload_boot_failure).)*$'
+                        services:
+                            - barbican
+
+    -
+        name: benchmarking
+        order: 2
+        description: >-
+            Run several OpenStack performance tools
+            https://docs.openstack.org/performance-docs/latest/methodologies/tools.html
+        testcases:
+            -
+                case_name: rally_full
+                project_name: functest
+                criteria: 100
+                blocking: false
+                description: >-
+                    This test case runs the full suite of scenarios of the
+                    OpenStack Rally suite using several threads and iterations.
+                run:
+                    name: rally_full
+
+            -
+                case_name: rally_jobs
+                project_name: functest
+                criteria: 100
+                blocking: false
+                description: >-
+                    This test case runs a group of Rally jobs used in
+                    OpenStack gating
+                run:
+                    name: rally_jobs
+
+            -
+                case_name: vmtp
+                project_name: functest
+                criteria: 100
+                blocking: false
+                description: >-
+                    VMTP is a small python application that will automatically
+                    perform ping connectivity, round trip time measurement
+                    (latency) and TCP/UDP throughput
                 dependencies:
-                    installer: '(fuel)|(apex)|(compass)'
-                    scenario: ''
+                    - POD_ARCH: '^(?!aarch64$)'
+                run:
+                    name: vmtp
+
+            -
+                case_name: shaker
+                project_name: functest
+                criteria: 100
+                blocking: false
+                description: >-
+                    Shaker wraps around popular system network testing tools
+                    like iperf, iperf3 and netperf (with help of flent). Shaker
+                    is able to deploy OpenStack instances and networks in
+                    different topologies.
                 run:
-                    module: 'functest.opnfv_tests.openstack.tempest.tempest'
-                    class: 'TempestNeutronTrunk'
+                    name: shaker
 
     -
         name: features
-        order: 2
-        ci_loop: '(daily)|(weekly)'
+        order: 3
         description: >-
             Test suites from feature projects
             integrated in functest
@@ -262,16 +445,16 @@ tiers:
             -
                 case_name: doctor-notification
                 project_name: doctor
+                enabled: false
                 criteria: 100
                 blocking: false
                 description: >-
                     Test suite from Doctor project.
                 dependencies:
-                    installer: '(apex)|(fuel)|(daisy)'
-                    scenario: '^((?!fdio|nofeature).)*$'
+                    - INSTALLER_TYPE: '(apex)|(fuel)|(daisy)'
+                    - DEPLOY_SCENARIO: '^((?!fdio|nofeature).)*$'
                 run:
-                    module: 'xtesting.core.feature'
-                    class: 'BashFeature'
+                    name: bashfeature
                     args:
                         cmd: 'doctor-test'
 
@@ -284,30 +467,28 @@ tiers:
                 description: >-
                     Test suite from SDNVPN project.
                 dependencies:
-                    installer: '(fuel)|(apex)'
-                    scenario: 'bgpvpn'
+                    - DEPLOY_SCENARIO: 'bgpvpn'
                 run:
-                    module: 'sdnvpn.test.functest.run_sdnvpn_tests'
-                    class: 'SdnvpnFunctest'
+                    name: bgpvpn
 
             -
                 case_name: functest-odl-sfc
                 project_name: sfc
+                enabled: false
                 criteria: 100
                 blocking: false
                 description: >-
                     Test suite for odl-sfc to test two chains with one SF and
                     one chain with two SFs
                 dependencies:
-                    installer: ''
-                    scenario: 'odl.*sfc'
+                    - DEPLOY_SCENARIO: 'odl.*sfc'
                 run:
-                    module: 'sfc.tests.functest.run_sfc_tests'
-                    class: 'SfcFunctest'
+                    name: functest-odl-sfc
 
             -
                 case_name: barometercollectd
                 project_name: barometer
+                enabled: false
                 criteria: 100
                 blocking: false
                 description: >-
@@ -315,91 +496,76 @@ tiers:
                     the proper configuration and basic functionality of all the
                     collectd plugins as described in the Project Release Plan
                 dependencies:
-                    installer: '(apex)|(compass)'
-                    scenario: 'bar'
-                run:
-                    module: 'baro_tests.barometer'
-                    class: 'BarometerCollectd'
-
-            -
-                case_name: fds
-                project_name: fastdatastacks
-                criteria: 100
-                blocking: false
-                description: >-
-                    Test Suite for the OpenDaylight SDN Controller when GBP
-                    features are installed. It integrates some test suites from
-                    upstream using Robot as the test framework.
-                dependencies:
-                    installer: 'apex'
-                    scenario: 'odl.*-fdio'
+                    - DEPLOY_SCENARIO: 'bar'
                 run:
-                    module: 'functest.opnfv_tests.sdn.odl.odl'
-                    class: 'ODLTests'
-                    args:
-                        suites:
-                            - /src/fds/testing/robot
+                    name: barometercollectd
 
-    -
-        name: components
-        order: 3
-        ci_loop: 'weekly'
-        description: >-
-            Extensive testing of OpenStack API.
-        testcases:
             -
-                case_name: tempest_full_parallel
+                case_name: vgpu
                 project_name: functest
-                criteria: 80
+                criteria: 100
                 blocking: false
                 description: >-
-                    The list of test cases is generated by
-                    Tempest automatically and depends on the parameters of
-                    the OpenStack deplopyment.
+                    Test suite for the OpenStack vGPU feature
                 dependencies:
-                    installer: ''
-                    scenario: ''
+                    - DEPLOY_SCENARIO: 'vgpu'
                 run:
-                    module: 'functest.opnfv_tests.openstack.tempest.tempest'
-                    class: 'TempestFullParallel'
+                    name: vgpu
 
             -
-                case_name: rally_full
-                project_name: functest
+                case_name: stor4nfv_os
+                project_name: stor4nfv
+                enabled: false
                 criteria: 100
                 blocking: false
                 description: >-
-                    This test case runs the full suite of scenarios of the
-                    OpenStack Rally suite using several threads and iterations.
+                    This tests are necessary demonstrate conformance
+                    of the OpenStack+Stor4NFV deployment.
                 dependencies:
-                    installer: ''
-                    scenario: ''
+                    - DEPLOY_SCENARIO: 'stor4nfv'
                 run:
-                    module: 'functest.opnfv_tests.openstack.rally.rally'
-                    class: 'RallyFull'
+                    name: stor4nfv_os
 
     -
         name: vnf
         order: 4
-        ci_loop: '(daily)|(weekly)'
         description: >-
             Collection of VNF test cases.
         testcases:
+            -
+                case_name: cloudify
+                project_name: functest
+                criteria: 100
+                blocking: false
+                description: >-
+                    This test case deploys the Cloudify orchestrator.
+                run:
+                    name: cloudify
             -
                 case_name: cloudify_ims
                 project_name: functest
-                criteria: 80
+                criteria: 100
                 blocking: false
                 description: >-
                     This test case deploys an OpenSource vIMS solution from
                     Clearwater using the Cloudify orchestrator. It also runs
                     some signaling traffic.
                 dependencies:
-                    installer: ''
-                    scenario: 'os-.*-nofeature-.*ha'
+                    - DEPLOY_SCENARIO: 'os-.*-nofeature-.*ha'
+                run:
+                    name: cloudify_ims
+
+            -
+                case_name: heat_ims
+                project_name: functest
+                criteria: 100
+                blocking: false
+                description: >-
+                    This test case deploys an OpenSource vIMS solution from
+                    Clearwater using the OpenStack Heat orchestrator.
+                    It also runs some signaling traffic.
                 run:
-                    module: 'functest.opnfv_tests.vnf.ims.cloudify_ims'
-                    class: 'CloudifyIms'
+                    name: heat_ims
 
             -
                 case_name: vyos_vrouter
@@ -408,12 +574,8 @@ tiers:
                 blocking: false
                 description: >-
                     This test case is vRouter testing.
-                dependencies:
-                    installer: ''
-                    scenario: 'os-.*-nofeature-.*ha'
                 run:
-                    module: 'functest.opnfv_tests.vnf.router.cloudify_vrouter'
-                    class: 'CloudifyVrouter'
+                    name: vyos_vrouter
 
             -
                 case_name: juju_epc
@@ -423,9 +585,5 @@ tiers:
                 description: >-
                     vEPC validation with Juju as VNF manager and ABoT as test
                     executor.
-                dependencies:
-                    installer: ''
-                    scenario: 'os-.*-nofeature-.*ha'
                 run:
-                    module: 'functest.opnfv_tests.vnf.epc.juju_epc'
-                    class: 'JujuEpc'
+                    name: juju_epc