--- # Copyright 2016, Rackspace US, Inc. # # Licensed under the Apache License, Version 2.0 (the "License"); # you may not use this file except in compliance with the License. # You may obtain a copy of the License at # # http://www.apache.org/licenses/LICENSE-2.0 # # Unless required by applicable law or agreed to in writing, software # distributed under the License is distributed on an "AS IS" BASIS, # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. # See the License for the specific language governing permissions and # limitations under the License. - block: - name: Execute tempest tests shell: | set -e if [ -d {{ tempest_venv_bin }} ]; then . {{ tempest_venv_bin }}/activate fi tempest run {% if tempest_run_concurrency is defined %}{% if tempest_run_concurrency | int > 0 %}--concurrency {{ tempest_run_concurrency | int }}{% else %}--serial{% endif %}{% endif %} --whitelist-file {{ tempest_test_whitelist_file_path }}{% if tempest_test_blacklist | length > 0 %} --blacklist-file {{ tempest_test_blacklist_file_path }}{% endif %} args: chdir: "{{ tempest_workspace }}" executable: /bin/bash changed_when: false register: tempest_tests_run tags: # don't trigger ANSIBLE0013 - skip_ansible_lint always: - name: Generate raw subunit results # Despite not using testrepository, we leave the output filename as # testrepository.subunit as the OpenStack Health dashboard relies on # subunit files with this particular name. # NOTE(mattt): At present we're not placing this file in a valid location # to be used by the OpenStack Health dashboard. shell: | set -e if [ -d {{ tempest_venv_bin }} ]; then . {{ tempest_venv_bin }}/activate fi {{ stestr_executable }} last --subunit > {{ tempest_log_dir }}/testrepository.subunit args: chdir: "{{ tempest_workspace }}" executable: /bin/bash changed_when: false failed_when: false tags: # don't trigger ANSIBLE0013 - skip_ansible_lint - name: Generate xml subunit results shell: | set -e if [ -d {{ tempest_venv_bin }} ]; then . {{ tempest_venv_bin }}/activate fi subunit2junitxml {{ tempest_log_dir }}/testrepository.subunit > {{ tempest_log_dir }}/tempest_results.xml args: chdir: "{{ tempest_workspace }}" executable: /bin/bash changed_when: false failed_when: false tags: # don't trigger ANSIBLE0013 - skip_ansible_lint - name: Generate html subunit results shell: | set -e if [ -d {{ tempest_venv_bin }} ]; then . {{ tempest_venv_bin }}/activate fi subunit2html {{ tempest_log_dir }}/testrepository.subunit {{ tempest_log_dir }}/stestr_results.html args: chdir: "{{ tempest_workspace }}" executable: /bin/bash changed_when: false failed_when: false tags: # don't trigger ANSIBLE0013 - skip_ansible_lint - name: Fail if tempest tests did not succeed assert: that: - "tempest_tests_run.rc == 0"