tenks/playbooks/tenks-deploy-teardown/pre.yml

78 lines
2.3 KiB
YAML

---
- hosts: all
pre_tasks:
- name: Include common variables
include_vars: common.yml
roles:
- role: tenks-diagnostics
tenks_diagnostics_phase: "pre"
tenks_diagnostics_log_dir: "{{ logs_dir }}"
- role: tenks-ci-prep
tasks:
- name: Ensure config directory exists
file:
path: "{{ config_dir }}"
state: "directory"
- name: Template tenks overrides
template:
src: tenks-overrides.yml.j2
dest: "{{ tenks_overrides_path }}"
- name: Install python3
become: true
package:
name: python3
when: ansible_facts.python.version.major == 3
- name: Create virtualenv for tenks
pip:
requirements: "{{ tenks_src_dir }}/requirements.txt"
virtualenv: "{{ tenks_venv }}"
virtualenv_python: "{{ ansible_facts.python.executable }}"
- name: Ensure /etc/ansible exists
file:
path: /etc/ansible
state: directory
become: true
- name: Template ansible.cfg
template:
src: "ansible.cfg.j2"
dest: /etc/ansible/ansible.cfg
become: true
- name: Template requirements overrides
template:
src: requirements-overrides.yml.j2
dest: "{{ tenks_requirements_overrides_path }}"
- name: Install Ansible Galaxy dependencies
vars:
ansible_galaxy_bin: "{{ tenks_venv }}/bin/ansible-galaxy"
command:
cmd: >-
{{ ansible_galaxy_bin }} install -r {{ tenks_src_dir }}/requirements.yml
-p {{ tenks_src_dir }}/ansible/roles
chdir: "{{ tenks_src_dir }}"
- name: Install dependencies for CI
# We install roles specifc to CI over the existing ones. This means that we
# don't have to keep the two requirements files in sync, as we just override
# some of them.
vars:
ansible_galaxy_bin: "{{ tenks_venv }}/bin/ansible-galaxy"
command:
cmd: >-
{{ ansible_galaxy_bin }} install -f -r "{{ tenks_requirements_overrides_path }}"
-p {{ tenks_src_dir }}/ansible/roles
chdir: "{{ tenks_src_dir }}"
- name: Ensure network bridge for physnet1 exists
command: "{{ item }}"
become: true
with_items:
- "ip l add breth1 type bridge"
- "ip l set breth1 up"