tripleo-quickstart-extras/playbooks/tempest.yml

85 lines
2.9 KiB
YAML

---
- name: Fail the tempest playbook on undefined cloud name and install method
fail:
msg: |
The variable tempest_install_method and tempest_cloud_name is required and
has not been set.
when:
- tempest_install_method is not defined
- tempest_cloud_name is not defined
- name: Initialize neutron service for network creation
set_fact:
tempest_service_available_neutron: true
- name: Create /root/.config/openstack directory
file:
state: directory
path: "/root/.config/openstack"
mode: 0700
become: true
- name: Copy clouds.yaml file to /root directory
block:
- name: Copy clouds.yaml file from user's home to /root directory
copy:
src: '{{ ansible_user_dir }}/.config/openstack/clouds.yaml'
remote_src: true
dest: '/root/.config/openstack/clouds.yaml'
mode: 0600
become: true
rescue:
- name: Copy clouds.yaml file /etc/openstack to /root directory
copy:
src: '/etc/openstack/clouds.yaml'
remote_src: true
dest: '/root/.config/openstack/clouds.yaml'
mode: 0600
become: true
- name: Set network vars
set_fact:
tempest_public_net_physical_type: 'datacentre'
tempest_private_net_provider_type: 'geneve'
tempest_public_subnet_cidr: '{{ tempest_cidr }}'
tempest_public_subnet_gateway_ip: '{{ tempest_cidr|nthhost(1) }}'
tempest_public_subnet_allocation_pools: '{{ tempest_cidr|nthhost(100) ~ "-" ~ tempest_cidr|nthhost(120) }}'
tempest_network_ping_gateway: true
when: tempest_cidr is defined
- name: Set tempest workspace related vars
set_fact:
tempest_use_tempestconf: true
tempest_service_setup_host: '{{ inventory_hostname }}'
tempest_workspace: "{{ ansible_user_dir }}/tempest"
stackviz_venv_bin: "{{ ansible_user_dir }}/stackviz_venv/bin"
- name: set facts while running tempest from source
set_fact:
tempest_git_repo: https://opendev.org/openstack/tempest
tempest_tempestconf_git_repo: https://opendev.org/openstack/python-tempestconf
tempest_tempestconf_venv_bin: "{{ ansible_user_dir }}/tempestconf_venv/bin"
tempest_venv_bin: "{{ ansible_user_dir }}/tempest_venv/bin"
when: tempest_install_method == 'source'
- name: Load tempest skiplist file
include_vars: "{{ playbook_dir | dirname }}/vars/tempest_skip_{{ release | default('master') }}.yml"
# TODO(arxcruz): For now this is the easiest way to fix this:
# os_tempest uses the variable tempest_test_blacklist while we use
# known_failures. Change now, means a lot of changes on other parts of the code
# (tempestmail, validate-tempest, etc). Once we migrate to os_tempest we can
# switch that.
- name: Set tempest_test_blacklist
set_fact:
tempest_test_blacklist: "{{ known_failures | json_query('[?undercloud != `true`]') }}"
when: tempest_cloud_name != 'undercloud'
- name: Run os_tempest role
vars:
ansible_become: true
debug: true
tempest_run: 'yes'
include_role:
name: os_tempest