372058c19f
It may be necessary to install extra Python packages inside the kolla-ansible virtualenv, such as when required by Ansible plugins. For example, using the hashi_vault lookup plugin requires the hvac Python package to be installed. This patch adds a kolla_ansible_venv_extra_requirements list variable which contains Python package requirements to add to the kolla-ansible requirements file. Its default value is an empty list. Change-Id: Ie0541dc05e2ab94af230d0113a23c544755424c7
60 lines
2.2 KiB
YAML
60 lines
2.2 KiB
YAML
---
|
|
- hosts: localhost
|
|
connection: local
|
|
tasks:
|
|
- name: Create a temporary directory
|
|
tempfile:
|
|
state: directory
|
|
register: tempfile_result
|
|
|
|
- block:
|
|
- name: Test the kolla-ansible role with extra Python requirements
|
|
include_role:
|
|
name: ../../kolla-ansible
|
|
vars:
|
|
kolla_ansible_source_path: "{{ temp_path }}/src"
|
|
kolla_ansible_ctl_install_type: "source"
|
|
kolla_ansible_source_url: "http://github.com/openstack/kolla-ansible"
|
|
kolla_ansible_source_version: "master"
|
|
kolla_ansible_venv: "{{ temp_path }}/venv"
|
|
kolla_ansible_venv_extra_requirements:
|
|
- "hvac"
|
|
kolla_config_path: "{{ temp_path }}/etc/kolla"
|
|
kolla_node_custom_config_path: "{{ temp_path }}/etc/kolla/config"
|
|
kolla_ansible_passwords_path: "{{ temp_path }}/passwords.yml"
|
|
# Required config.
|
|
kolla_base_distro: "fake-distro"
|
|
kolla_install_type: "fake-install-type"
|
|
kolla_docker_namespace: "fake-namespace"
|
|
kolla_openstack_release: "fake-release"
|
|
kolla_internal_vip_address: "10.0.0.1"
|
|
kolla_internal_fqdn: "fake.internal.fqdn"
|
|
kolla_external_vip_address: "10.0.0.2"
|
|
kolla_external_fqdn: "fake.external.fqdn"
|
|
kolla_enable_tls_external: False
|
|
kolla_enable_grafana: False
|
|
kolla_external_fqdn_cert: "fake-cert"
|
|
kolla_openstack_logging_debug: False
|
|
|
|
- name: List Python packages installed in virtualenv
|
|
command: "{{ temp_path }}/venv/bin/pip list"
|
|
register: kolla_ansible_venv_pip_list
|
|
changed_when: False
|
|
|
|
- name: Verify extra requirements are installed in virtualenv
|
|
assert:
|
|
that:
|
|
- "'hvac' in kolla_ansible_venv_pip_list.stdout"
|
|
|
|
always:
|
|
- name: Ensure the temporary directory is removed
|
|
file:
|
|
path: "{{ temp_path }}"
|
|
state: absent
|
|
rescue:
|
|
- name: Flag that a failure occurred
|
|
set_fact:
|
|
test_failures: "{{ test_failures | default(0) | int + 1 }}"
|
|
vars:
|
|
temp_path: "{{ tempfile_result.path }}"
|