8bd52a2fba
This patch adds a molecule configuration file at the repository level (tripleo-validations/.config/molecule/config.yml) which defines all the default values for molecule.yml files in all roles. This patch also introduces a common Dockerfile (UBI8 image) shared between all the role molecule tests. This Dockerfile will install the CentOS 8.x Linux Repos and GPG Keys during the image build. This Dockerfile is located in tripleo-validations/.config/molecule directory and it is shared through a relative symbolic link between all the molecule directories. NOTE: tox-ansible doesn't manage shared molecule configuration at the project level (see [1]). To be able to use it, we have to explicitly add the driver name in each molecule.yml file in the roles level. Once [1] will be fixed, these will be removed. [1] - https://github.com/ansible-community/tox-ansible/issues/88). Signed-off-by: Gael Chamoulaud (Strider) <gchamoul@redhat.com> Change-Id: I4717825e2767dc55016a30fb62aa6a5541f26cfd (cherry picked from commit66193a69b7
) (cherry picked from commit6a3081beac
)
102 lines
2.9 KiB
YAML
102 lines
2.9 KiB
YAML
---
|
|
- hosts: all
|
|
pre_tasks:
|
|
- name: Set project path fact
|
|
set_fact:
|
|
tripleo_validations_project_path: "{{ ansible_user_dir }}/{{ zuul.projects['opendev.org/openstack/tripleo-validations'].src_dir }}"
|
|
|
|
- name: Ensure output dirs
|
|
file:
|
|
path: "{{ ansible_user_dir }}/zuul-output/logs"
|
|
state: directory
|
|
|
|
- name: Ensure pip is available
|
|
include_role:
|
|
name: ensure-pip
|
|
|
|
- name: Ensure virtualenv is available
|
|
include_role:
|
|
name: ensure-virtualenv
|
|
|
|
- name: Setup bindep
|
|
pip:
|
|
name: "bindep"
|
|
virtualenv: "{{ ansible_user_dir }}/test-python"
|
|
virtualenv_command: "{{ ensure_pip_virtualenv_command }}"
|
|
virtualenv_site_packages: true
|
|
|
|
- name: Run bindep
|
|
shell: |-
|
|
. {{ ansible_user_dir }}/test-python/bin/activate
|
|
{{ tripleo_validations_project_path }}/scripts/bindep-install
|
|
become: true
|
|
changed_when: false
|
|
|
|
- name: Ensure a recent version of pip is installed in virtualenv
|
|
pip:
|
|
name: "pip>=19.1.1"
|
|
virtualenv: "{{ ansible_user_dir }}/test-python"
|
|
virtualenv_command: "{{ ensure_pip_virtualenv_command }}"
|
|
|
|
- name: Setup test-python
|
|
pip:
|
|
requirements: "{{ tripleo_validations_project_path }}/molecule-requirements.txt"
|
|
virtualenv: "{{ ansible_user_dir }}/test-python"
|
|
virtualenv_command: "{{ ensure_pip_virtualenv_command }}"
|
|
virtualenv_site_packages: true
|
|
|
|
- name: Display test-python virtualenv package versions
|
|
shell: |-
|
|
. {{ ansible_user_dir }}/test-python/bin/activate
|
|
pip freeze
|
|
|
|
- name: Basic ci setup
|
|
become: true
|
|
block:
|
|
- name: Ensure ci directories
|
|
file:
|
|
path: "/etc/ci"
|
|
state: "directory"
|
|
|
|
- name: Ensure ci mirror file
|
|
file:
|
|
path: "/etc/ci/mirror_info.sh"
|
|
state: "touch"
|
|
|
|
- name: Set an appropriate fs.file-max
|
|
sysctl:
|
|
name: fs.file-max
|
|
value: 2048000
|
|
sysctl_set: true
|
|
state: present
|
|
reload: true
|
|
|
|
- name: Set container_manage_cgroup boolean
|
|
seboolean:
|
|
name: container_manage_cgroup
|
|
state: true
|
|
persistent: true
|
|
failed_when: false
|
|
|
|
- name: Create limits file for containers
|
|
copy:
|
|
content: |
|
|
* soft nofile 102400
|
|
* hard nofile 204800
|
|
* soft nproc 2048
|
|
* hard nproc 4096
|
|
dest: /etc/security/limits.d/containers.conf
|
|
|
|
- name: Reset ssh connection
|
|
meta: reset_connection
|
|
tasks:
|
|
- name: Get necessary git repos
|
|
git:
|
|
repo: https://opendev.org/openstack/{{ item }}
|
|
dest: "{{ tripleo_validations_project_path }}/roles/roles.galaxy/{{ item }}"
|
|
version: master
|
|
force: true
|
|
with_items:
|
|
- tripleo-ansible
|
|
- validations-common
|