openstack-ansible-os_tempest/tasks/tempest_post_install.yml

96 lines
2.7 KiB
YAML

---
# Copyright 2014, 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.
- name: Get admin tenant id
keystone:
command: get_tenant
tenant_name: admin
endpoint: "{{ keystone_service_adminurl }}"
login_user: "{{ keystone_admin_user_name }}"
login_password: "{{ keystone_auth_admin_password }}"
login_project_name: "{{ keystone_admin_tenant_name }}"
insecure: "{{ keystone_service_adminuri_insecure }}"
register: add_service
until: add_service|success
retries: 6
delay: 5
- name: Store admin tenant id
set_fact:
tempest_admin_tenant_id: "{{ keystone_facts.id }}"
- name: Create tempest directories
file:
path: "{{ item.path }}"
state: directory
owner: "root"
group: "root"
mode: "{{ item.mode|default('0755') }}"
with_items:
- path: "{{ tempest_log_dir }}"
- path: "{{ ansible_env.HOME }}/.tempest/etc"
- path: "{{ tempest_image_dir }}"
- name: Image(s) download
get_url:
url: "{{ item.url }}"
dest: "{{ tempest_image_dir }}"
sha256sum: "{{ item.sha256 }}"
with_items: "{{ tempest_images }}"
when: tempest_service_available_glance | bool
register: fetch_url
until: fetch_url | success
retries: 6
delay: 5
- name: Copy tempest config
config_template:
src: "tempest.conf.j2"
dest: "{{ ansible_env.HOME }}/.tempest/etc/tempest.conf"
owner: "root"
group: "root"
mode: "0644"
config_overrides: "{{ tempest_tempest_conf_overrides }}"
config_type: "ini"
- name: Initialise tempest workspace
shell: |
if [ ! -d {{ tempest_venv_bin | dirname }}/workspace ]
then
. {{ tempest_venv_bin }}/activate
tempest init {{ tempest_venv_bin | dirname }}/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
- 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 }}"