---
tiers:
    -
        name: smoke
        order: 1
        description: >-
            Set of basic Functional tests to validate the OPNFV scenarios.
        testcases:
            -
                case_name: tempest_smoke
                project_name: functest
                criteria: 100
                blocking: false
                description: >-
                    This test case runs the smoke subset of the OpenStack
                    Tempest suite. The list of test cases is generated by
                    Tempest automatically and depends on the parameters of
                    the OpenStack deplopyment.
                    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'

            -
                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:
                    name: tempest_common
                    args:
                        mode: '^neutron_tempest_plugin\.api'
                        option:
                            - '--concurrency=4'

            -
                case_name: rally_sanity
                project_name: functest
                criteria: 100
                blocking: false
                description: >-
                    This test case runs a sub group of tests of the OpenStack
                    Rally suite in smoke mode.
                run:
                    name: rally_sanity

            -
                case_name: refstack_defcore
                project_name: functest
                criteria: 100
                blocking: false
                description: >-
                    This test case runs a sub group of tests of the OpenStack
                    Defcore testcases.
                run:
                    name: refstack_defcore
                    args:
                        option:
                            - '--concurrency=4'

            -
                case_name: patrole
                project_name: functest
                criteria: 100
                blocking: false
                description: >-
                    Test suite from Patrole project.
                run:
                    name: patrole
                    args:
                        role: 'admin'
                        includes:
                            - 'image'
                            - 'network'
                        excludes:
                            - 'test_networks_multiprovider_rbac'

            -
                case_name: snaps_smoke
                project_name: functest
                criteria: 100
                blocking: false
                description: >-
                    This test case contains tests that setup and destroy
                    environments with VMs with and without Floating IPs
                    with a newly created user and project. Set the config
                    value snaps.use_floating_ips (True|False) to toggle
                    this functionality. When the config value of
                    snaps.use_keystone is True, functest must have access to
                    the cloud's private network.
                run:
                    name: snaps_smoke

            -
                case_name: neutron_trunk
                project_name: functest
                criteria: 100
                blocking: false
                description: >-
                    This test case runs the neutron trunk subtest of the
                    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