The blacklist defined for older release with in the job does not have test attributes leading to break the role. In order to have compatibility between older blacklist and newer blacklist having test tag schema fixes the issue. Change-Id: Ide422b7b60a0b3a9321fb4686f0a2ab922200b7e Signed-off-by: Chandan Kumar (raukadah) <chkumar@redhat.com>
177 lines
5.2 KiB
YAML
177 lines
5.2 KiB
YAML
---
|
|
# Copyright 2014, Rackspace US, Inc.
|
|
# Copyright 2018, Red Hat, 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.
|
|
|
|
- name: Create tempest directories
|
|
file:
|
|
path: "{{ item.path }}"
|
|
state: directory
|
|
owner: "{{ item.owner | default(omit) }}"
|
|
group: "{{ item.group | default(omit) }}"
|
|
mode: "{{ item.mode|default('0755') }}"
|
|
with_items:
|
|
- path: "{{ tempest_log_dir | realpath }}"
|
|
owner: root
|
|
- path: "{{ tempest_image_dir }}"
|
|
- path: "{{ tempest_workspace }}"
|
|
- path: "/etc/tempest"
|
|
owner: root
|
|
group: root
|
|
|
|
- name: Copy tempest config
|
|
config_template:
|
|
src: "tempest.conf.j2"
|
|
dest: "/etc/tempest/tempest.conf"
|
|
owner: "root"
|
|
group: "root"
|
|
mode: "0644"
|
|
config_overrides: "{{ tempest_tempest_conf_overrides }}"
|
|
config_type: "ini"
|
|
register: copy_tempest_config
|
|
when: not tempest_use_tempestconf | bool
|
|
|
|
- name: Move over workspace when config is updated
|
|
shell: |
|
|
set -e
|
|
|
|
if [ -d {{ tempest_venv_bin }} ]; then
|
|
. {{ tempest_venv_bin }}/activate
|
|
else
|
|
exit 0
|
|
fi
|
|
|
|
if tempest workspace list | grep ' workspace '; then
|
|
|
|
# Get a backup suffix
|
|
export CURDATE=$(date +"%d%^b%g_%H%M%S%Z")
|
|
|
|
# Get the dirname for 'workspace' directly from the tempest workspace list
|
|
WSPATH=$(dirname $(tempest workspace list | awk '{if($2 == "workspace"){print $4}}'))
|
|
|
|
# Rename the workspace
|
|
tempest workspace rename --old-name workspace --new-name workspace_${CURDATE}
|
|
|
|
# A workspace move only changes the config. The move happens manually.
|
|
if [ -d "${WSPATH}/workspace" ]
|
|
then
|
|
mv ${WSPATH}/workspace ${WSPATH}/workspace_${CURDATE}
|
|
tempest workspace move --name workspace_${CURDATE} --path ${WSPATH}/workspace_${CURDATE}/
|
|
fi
|
|
|
|
exit 3
|
|
fi
|
|
args:
|
|
executable: /bin/bash
|
|
register: tempest_move_workspace
|
|
changed_when: tempest_move_workspace.rc == 3
|
|
failed_when:
|
|
- tempest_move_workspace.rc != 0
|
|
- tempest_move_workspace.rc != 3
|
|
when: copy_tempest_config.changed
|
|
tags:
|
|
# don't trigger ANSIBLE0016
|
|
- skip_ansible_lint
|
|
|
|
- name: Initialise tempest workspace
|
|
shell: |
|
|
set -e
|
|
if [ ! -d {{ tempest_workspace }}/etc ]; then
|
|
if [ -d {{ tempest_venv_bin }} ]; then
|
|
. {{ tempest_venv_bin }}/activate
|
|
fi
|
|
# (guilhermesp) We are adding this conditional here to avoid
|
|
# breakage when we are upgrade from rocky to stein as the workspace
|
|
# path has been change between these two releases
|
|
if tempest workspace list | grep ' workspace '; then
|
|
if ! tempest workspace list | grep ' workspace ' | grep -w {{ tempest_workspace }}; then
|
|
# Init not working on existing entry. Renme old workspace instead and init new.
|
|
export CURDATE=$(date +"%d%^b%g_%H%M%S%Z")
|
|
tempest workspace rename --old-name workspace --new-name workspace_${CURDATE}
|
|
tempest init {{ tempest_workspace }}
|
|
fi
|
|
fi
|
|
tempest init {{ tempest_workspace }}
|
|
exit 3
|
|
fi
|
|
args:
|
|
executable: /bin/bash
|
|
register: tempest_init_workspace
|
|
changed_when: tempest_init_workspace.rc == 3
|
|
failed_when:
|
|
- tempest_init_workspace.rc != 0
|
|
- tempest_init_workspace.rc != 3
|
|
tags:
|
|
# don't trigger ANSIBLE0013
|
|
- skip_ansible_lint
|
|
|
|
- import_tasks: tempestconf.yml
|
|
when: tempest_use_tempestconf | bool
|
|
tags:
|
|
- tempest-config
|
|
- tempestconf
|
|
|
|
- name: List installed tempest plugins
|
|
shell: |
|
|
set -e
|
|
if [ -d {{ tempest_venv_bin }} ]; then
|
|
. {{ tempest_venv_bin }}/activate
|
|
fi
|
|
tempest list-plugins
|
|
args:
|
|
executable: /bin/bash
|
|
when: "debug | bool"
|
|
|
|
- name: List tempest tests
|
|
shell: |
|
|
set -e
|
|
if [ -d {{ tempest_venv_bin }} ];
|
|
then
|
|
. {{ tempest_venv_bin }}/activate
|
|
fi
|
|
tempest run -l
|
|
args:
|
|
chdir: "{{ tempest_workspace }}"
|
|
executable: /bin/bash
|
|
when: "debug | bool"
|
|
changed_when: false
|
|
|
|
- name: Generate tempest test whitelist
|
|
copy:
|
|
content: |
|
|
{% for item in tempest_test_whitelist | unique | sort %}
|
|
{% if item %}
|
|
{{ item }}
|
|
{% endif %}
|
|
{% endfor %}
|
|
dest: "{{ tempest_test_whitelist_file_path }}"
|
|
when:
|
|
- tempest_test_whitelist | length > 0
|
|
|
|
# Tests to NOT execute:
|
|
# This sets up a list of tests to skip, which can even include those included in the whitelist.
|
|
- name: Generate tempest test blacklist
|
|
copy:
|
|
content: |
|
|
{% for item in tempest_test_blacklist %}
|
|
{% if item.test is defined %}
|
|
{{ item.test }}
|
|
{% else %}
|
|
{{ item }}
|
|
{% endif %}
|
|
{% endfor %}
|
|
dest: "{{ tempest_test_blacklist_file_path }}"
|
|
when:
|
|
- tempest_test_blacklist | length > 0
|