---
tiers:
    -
        name: healthcheck
        order: 0
        description: >-
            First tier to be executed to verify the basic
            operations in the VIM.
        testcases:
            -
                case_name: connection_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.
                run:
                    name: connection_check

            -
                case_name: tenantnetwork1
                project_name: functest
                criteria: 100
                blocking: true
                description: >-
                    It creates and configures all tenant network ressources
                    required by advanced testcases (subnet, network and
                    router).
                run:
                    name: tenantnetwork1

            -
                case_name: tenantnetwork2
                project_name: functest
                criteria: 100
                blocking: true
                description: >-
                    It creates new user/project before creating and configuring
                    all tenant network ressources required by a testcase
                    (subnet, network and router).
                run:
                    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

            -
                case_name: vping_ssh
                project_name: functest
                criteria: 100
                blocking: true
                description: >-
                    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.
                run:
                    name: vping_ssh

            -
                case_name: vping_userdata
                project_name: functest
                criteria: 100
                blocking: true
                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:
                    - 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:
                    name: snaps_health_check