# Changes that run through devstack-tempest-ipv6 are likely to have an impact on
# the devstack part of the job, so we keep devstack in the main play to
# avoid zuul retrying on legitimate failures.
- hosts: all
  roles:
    - orchestrate-devstack

# We run tests only on one node, regardless how many nodes are in the system
- hosts: tempest
  roles:
    - setup-tempest-run-dir
    - setup-tempest-data-dir
    - acl-devstack-files
    # Verify the IPv6-only deployments. This role will perform check for
    # IPv6 only env for example Devstack IPv6 settings and services listen
    # address is IPv6 etc. This is invoked before tests are run so that we can
    # fail early if anything missing the IPv6 settings or deployments.
    - devstack-ipv6-only-deployments-verification
  tasks:
    - name: Run tempest cleanup init-saved-state
      include_role:
        name: tempest-cleanup
      vars:
        init_saved_state: true
      when: (run_tempest_dry_cleanup is defined and run_tempest_dry_cleanup | bool) or
            (run_tempest_cleanup is defined and run_tempest_cleanup | bool) or
            (run_tempest_fail_if_leaked_resources is defined and run_tempest_fail_if_leaked_resources | bool) or
            (run_tempest_cleanup_prefix is defined and run_tempest_cleanup_prefix | bool)

    - name: Run Tempest version <= 26.0.0
      include_role:
        name: run-tempest-26
      when:
        - zuul.branch is defined
        - zuul.branch in ["stable/ocata", "stable/pike", "stable/queens", "stable/rocky", "stable/stein"]

    - name: Run Tempest
      include_role:
        name: run-tempest
      when:
        - zuul.branch is defined
        - zuul.branch not in ["stable/ocata", "stable/pike", "stable/queens", "stable/rocky", "stable/stein"]

    - name: Run tempest cleanup dry-run
      include_role:
        name: tempest-cleanup
      vars:
        dry_run: true
      when: run_tempest_dry_cleanup is defined and run_tempest_dry_cleanup | bool

    - name: Run tempest cleanup
      include_role:
        name: tempest-cleanup
      when: run_tempest_cleanup is defined and run_tempest_cleanup | bool
