# NOTE(andreaf) The number of vcpus is not available on all systems.
# See https://github.com/ansible/ansible/issues/30688
# When not available, we fall back to ansible_processor_cores
- name: Get hw.logicalcpu from sysctl
  shell: sysctl hw.logicalcpu | cut -d' ' -f2
  register: sysctl_hw_logicalcpu
  when: ansible_processor_vcpus is not defined

- name: Number of cores
  set_fact:
    num_cores: "{{ansible_processor_vcpus|default(sysctl_hw_logicalcpu.stdout)}}"

- name: Set concurrency for cores == 3 or less
  set_fact:
    default_concurrency: "{{ num_cores }}"
  when: num_cores|int <= 3

- name: Limit max concurrency when more than 3 vcpus are available
  set_fact:
    default_concurrency: "{{ num_cores|int // 2 }}"
  when: num_cores|int > 3

- name: Override target branch
  set_fact:
    target_branch: "{{ zuul.override_checkout }}"
  when: zuul.override_checkout is defined

- name: Use stable branch upper-constraints till stable/stein
  set_fact:
    # TOX_CONSTRAINTS_FILE is new name, UPPER_CONSTRAINTS_FILE is old one, best to set both
    tempest_tox_environment: "{{ tempest_tox_environment | combine({'UPPER_CONSTRAINTS_FILE': stable_constraints_file}) | combine({'TOX_CONSTRAINTS_FILE': stable_constraints_file}) }}"
  when: target_branch in ["stable/ocata", "stable/pike", "stable/queens", "stable/rocky", "stable/stein"]

- name: Use Configured upper-constraints for non-master Tempest
  set_fact:
    # TOX_CONSTRAINTS_FILE is new name, UPPER_CONSTRAINTS_FILE is old one, best to set both
    tempest_tox_environment: "{{ tempest_tox_environment | combine({'UPPER_CONSTRAINTS_FILE': devstack_localrc['TEMPEST_VENV_UPPER_CONSTRAINTS']}) | combine({'TOX_CONSTRAINTS_FILE': devstack_localrc['TEMPEST_VENV_UPPER_CONSTRAINTS']}) }}"
  when:
    - devstack_localrc is defined
    - "'TEMPEST_BRANCH' in devstack_localrc"
    - "'TEMPEST_VENV_UPPER_CONSTRAINTS' in devstack_localrc"
    - devstack_localrc['TEMPEST_BRANCH'] != 'master'
    - devstack_localrc['TEMPEST_VENV_UPPER_CONSTRAINTS'] != 'default'

- name: Set OS_TEST_TIMEOUT if requested
  set_fact:
    tempest_tox_environment: "{{ tempest_tox_environment | combine({'OS_TEST_TIMEOUT': tempest_test_timeout}) }}"
  when: tempest_test_timeout != ''

- when:
    - tempest_test_blacklist is defined
  block:
    - name: Check for test blacklist file
      stat:
        path: "{{ tempest_test_blacklist }}"
      register:
        blacklist_stat

    - name: Build blacklist option
      set_fact:
        blacklist_option: "--blacklist-file={{ tempest_test_blacklist|quote }}"
      when: blacklist_stat.stat.exists

- name: Run Tempest
  command: tox -e {{tox_envlist}} {{tox_extra_args}} -- {{tempest_test_regex|quote}} {{blacklist_option|default('')}} \
            --concurrency={{tempest_concurrency|default(default_concurrency)}} \
            --black-regex={{tempest_black_regex|quote}}
  args:
    chdir: "{{devstack_base_dir}}/tempest"
  register: tempest_run_result
  become: true
  become_user: tempest
  environment: "{{ tempest_tox_environment }}"
