6243262f1e
This patch adds a molecule configuration file at the repository level (validations-common/.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 validations-common/.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). Change-Id: I907e2a13a3ba3b152ad7036fa1bb249bec980b76 Signed-off-by: Gael Chamoulaud (Strider) <gchamoul@redhat.com>
92 lines
2.6 KiB
YAML
92 lines
2.6 KiB
YAML
---
|
|
- hosts: all
|
|
pre_tasks:
|
|
- name: Set project path fact
|
|
set_fact:
|
|
validations_common_project_path: "{{ ansible_user_dir }}/{{ zuul.projects['opendev.org/openstack/validations-common'].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
|
|
{{ validations_common_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: "{{ validations_common_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
|