996921a5b6
File permissions not mentioned Change-Id: I5efbb06ccee9ac7e83bfcf4171c5ae7d2930128b
58 lines
1.7 KiB
YAML
58 lines
1.7 KiB
YAML
---
|
|
- name: Gather os specific variables
|
|
include_vars: "{{ item }}"
|
|
with_first_found:
|
|
- files:
|
|
- "{{ ansible_distribution }}-{{ ansible_distribution_major_version }}.yml"
|
|
- "{{ ansible_distribution }}.yml"
|
|
- "{{ ansible_os_family }}.yml"
|
|
skip: true
|
|
tags: vars
|
|
|
|
- name: Ensure general system requirements are installed
|
|
package:
|
|
name: "{{ system_requirements }}"
|
|
register: result
|
|
until: result is success
|
|
retries: 3
|
|
become: true
|
|
# Don't uninstall requirements during teardown since they may already have
|
|
# been present.
|
|
when: cmd != 'teardown'
|
|
|
|
- name: Ensure log directory exists
|
|
file:
|
|
path: "{{ log_directory }}"
|
|
state: directory
|
|
mode: 0755
|
|
become: true
|
|
# Don't remove log directory during teardown to preserve historical logs.
|
|
when: cmd != 'teardown'
|
|
|
|
- block:
|
|
- name: Check if ovs-vsctl command is present
|
|
command: ovs-vsctl --version
|
|
register: ovs_vsctl_check
|
|
failed_when: false
|
|
changed_when: false
|
|
|
|
- name: Fail when Open vSwitch is not installed
|
|
fail:
|
|
msg: >-
|
|
Tenks requires openvswitch to be installed and running. Please install
|
|
openvswitch. If it is installed, please report this as a bug.
|
|
# Assume a non-zero return code means that openvswitch is not installed.
|
|
when: ovs_vsctl_check.rc != 0
|
|
when: bridge_type == "openvswitch"
|
|
|
|
- name: Configure physical networks
|
|
include_tasks: physical_network.yml
|
|
vars:
|
|
network_name: "{{ pn.key }}"
|
|
tenks_bridge: "{{ bridge_prefix ~ (pn.key | physnet_name_to_index) }}"
|
|
source_interface: "{{ pn.value }}"
|
|
state: "{{ 'absent' if cmd == 'teardown' else 'present' }}"
|
|
loop: "{{ query('dict', physnet_mappings) }}"
|
|
loop_control:
|
|
loop_var: pn
|