28cdc6e72e
With bionic we need to switch to systemd-networkd rather than the legacy /e/n/i. This makes the mnaio host networkd only, since we will only be supprting xenial and beyond on the host we can do this. The VM's will detect the networking configuration daemon and act appropriately. This also brings up the IPs on the bridges without having any interfaces attached. Change-Id: I72283a2786316181f7ab7d8aad21ad456e9c9503
67 lines
2.4 KiB
YAML
67 lines
2.4 KiB
YAML
---
|
|
# Copyright 2018, Rackspace US, Inc.
|
|
#
|
|
# Licensed under the Apache License, Version 2.0 (the "License");
|
|
# you may not use this file except in compliance with the License.
|
|
# You may obtain a copy of the License at
|
|
#
|
|
# http://www.apache.org/licenses/LICENSE-2.0
|
|
#
|
|
# Unless required by applicable law or agreed to in witing, software
|
|
# distributed under the License is distributed on an "AS IS" BASIS,
|
|
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
# See the License for the specific language governing permissions and
|
|
# limitations under the License.
|
|
|
|
- name: Gather facts
|
|
hosts: vm_hosts
|
|
gather_facts: "{{ gather_facts | default(true) }}"
|
|
environment: "{{ deployment_environment_variables | default({}) }}"
|
|
tags:
|
|
- setup-host
|
|
tasks:
|
|
- name: Gather variables for each operating system
|
|
include_vars: "{{ item }}"
|
|
with_first_found:
|
|
- "{{ playbook_dir }}/vars/{{ ansible_distribution | lower }}-{{ ansible_distribution_version | lower }}.yml"
|
|
- "{{ playbook_dir }}/vars/{{ ansible_distribution | lower }}-{{ ansible_distribution_major_version | lower }}.yml"
|
|
- "{{ playbook_dir }}/vars/{{ ansible_os_family | lower }}-{{ ansible_distribution_major_version | lower }}.yml"
|
|
- "{{ playbook_dir }}/vars/{{ ansible_distribution | lower }}.yml"
|
|
- "{{ playbook_dir }}/vars/{{ ansible_os_family | lower }}.yml"
|
|
tags:
|
|
- always
|
|
|
|
- name: Check for networkd
|
|
set_fact:
|
|
networking_system: "systemd-networkd"
|
|
when:
|
|
- "ansible_distribution_major_version is version('18', '>=')"
|
|
|
|
- name: Fall back on /e/n/i
|
|
set_fact:
|
|
networking_system: "eni"
|
|
when:
|
|
- "ansible_distribution_major_version is version('18', '<')"
|
|
|
|
- name: Deploy systemd-networkd bridge devices
|
|
template:
|
|
src: "pxe/configs/{{ ansible_os_family | lower }}/systemd-networkd-bridges-netdev.j2"
|
|
dest: /tmp/{{ item.value.iface }}.netdev
|
|
mode: "0644"
|
|
owner: root
|
|
group: root
|
|
with_dict:
|
|
- "{{ mnaio_host_networks }}"
|
|
register: mnaio_bridges
|
|
|
|
- name: Deploy systemd-networkd bridge networks
|
|
template:
|
|
src: "pxe/configs/{{ ansible_os_family | lower }}/systemd-networkd-bridges-network.j2"
|
|
dest: /tmp/{{ item.value.iface }}.network
|
|
mode: "0644"
|
|
owner: root
|
|
group: root
|
|
with_dict:
|
|
- "{{ mnaio_host_networks }}"
|
|
register: mnaio_bridges
|