ADD import roles
This commit is contained in:
@@ -0,0 +1,2 @@
|
||||
net_interfaces: []
|
||||
interfaces_manage_ifupdown: true
|
||||
@@ -0,0 +1,12 @@
|
||||
---
|
||||
- name: Reload udev
|
||||
# TODO! FIXME!
|
||||
systemd_service:
|
||||
name: systemd-udev-trigger.service
|
||||
state: restarted
|
||||
- name: Reload ifupdown
|
||||
# TODO! FIXME! This drops some packages. Can this be done better?
|
||||
systemd_service:
|
||||
name: networking.service
|
||||
state: restarted
|
||||
throttle: 1
|
||||
@@ -0,0 +1,57 @@
|
||||
---
|
||||
- name: Set OS dependent variables
|
||||
include_vars: "{{ lookup('first_found', params) }}"
|
||||
vars:
|
||||
params:
|
||||
files:
|
||||
- "{{ ansible_distribution | lower }}_{{ ansible_distribution_version | lower }}.yml"
|
||||
- "{{ ansible_distribution | lower }}_{{ ansible_distribution_major_version | lower }}.yml"
|
||||
- "{{ ansible_distribution | lower }}.yml"
|
||||
- "{{ ansible_os_family | lower }}.yml"
|
||||
- "{{ ansible_system | lower }}.yml"
|
||||
paths:
|
||||
- "{{ role_path }}/vars"
|
||||
ignore_errors: True
|
||||
tags:
|
||||
- always
|
||||
|
||||
- name: OS is supported
|
||||
assert:
|
||||
that: __os_supported
|
||||
quiet: True
|
||||
vars:
|
||||
__os_supported: "{{ lookup('vars', '{}_os_supported'.format(role_name)) | bool }}"
|
||||
tags:
|
||||
- always
|
||||
|
||||
- name: Install required packages
|
||||
package:
|
||||
name: "{{ item }}"
|
||||
state: present
|
||||
with_items: "{{ lookup('vars', '{}_packages'.format(role_name)) | list }}"
|
||||
tags:
|
||||
- install
|
||||
|
||||
- name: Install persistent if-names
|
||||
template:
|
||||
src: 60-persistent-net.rules.j2
|
||||
dest: "/etc/udev/rules.d/60-persistent-net.rules"
|
||||
owner: root
|
||||
group: root
|
||||
mode: 0644
|
||||
tags:
|
||||
- configure
|
||||
no_log: false
|
||||
notify: Reload udev
|
||||
|
||||
- name: Install ifupdown config
|
||||
template:
|
||||
src: ifupdown2.j2
|
||||
dest: "/etc/network/interfaces.d/ansible"
|
||||
owner: root
|
||||
group: root
|
||||
mode: 0644
|
||||
tags:
|
||||
- configure
|
||||
no_log: false
|
||||
notify: Reload ifupdown
|
||||
@@ -0,0 +1,5 @@
|
||||
{% for iface in net_interfaces %}
|
||||
{% if iface.name is defined and iface.mac is defined %}
|
||||
SUBSYSTEM=="net", ACTION=="add", DRIVERS=="?*", ATTR{address}=="{{ iface.mac }}", ATTR{dev_id}=="0x0", ATTR{type}=="1", KERNEL=="e*", NAME="{{ iface.name }}"
|
||||
{% endif %}
|
||||
{% endfor %}
|
||||
@@ -0,0 +1,43 @@
|
||||
# {{ ansible_managed }}
|
||||
|
||||
{% macro iface_config(iface, type, inet) %}
|
||||
iface {{ iface.name }} {{ type }} {{ inet.conf | default('manual') }}
|
||||
{% if iface.vlan_raw_device is defined %}
|
||||
vlan-raw-device {{ iface.vlan_raw_device }}
|
||||
{% endif %}
|
||||
{% if iface.dummy | default(false) %}
|
||||
pre-up ip link show $IFACE > /dev/null || sudo ip link add $IFACE type dummy
|
||||
post-down ip link show $IFACE > /dev/null && sudo ip link del $IFACE
|
||||
{% endif %}
|
||||
{% for addr in inet.addr %}
|
||||
up ip addr add {{ addr }} dev $IFACE
|
||||
pre-down ip addr del {{ addr }} dev $IFACE
|
||||
{% endfor %}
|
||||
{% if inet.gateway is defined and inet.gateway %}
|
||||
up ip r add default via {{ inet.gateway }} dev $IFACE
|
||||
pre-down ip r del default via {{ inet.gateway }} dev $IFACE
|
||||
{% endif %}
|
||||
{% if inet.routes is defined and inet.routes %}
|
||||
{% for route in inet.routes %}
|
||||
post-up ip r add {{ route.dst }} via {{ route.via }} dev $IFACE
|
||||
pre-down ip r del {{ route.dst }} via {{ route.via }} dev $IFACE
|
||||
{% endfor %}
|
||||
{% endif %}
|
||||
{% if inet.custom is defined and inet.custom %}
|
||||
{{ inet.custom | default('') | indent(4) }}
|
||||
{% endif %}
|
||||
{% endmacro %}
|
||||
|
||||
{% for iface in net_interfaces %}
|
||||
{% if interfaces_manage_ifupdown or (iface.ifupdown | default(false)) %}
|
||||
# {{ iface.name }}
|
||||
allow-hotplug {{ iface.name }}
|
||||
{% if iface.inet is defined and iface.inet %}
|
||||
{{ iface_config(iface, 'inet', iface.inet) }}
|
||||
{% endif %}
|
||||
{% if iface.inet6 is defined and iface.inet6 %}
|
||||
{{ iface_config(iface, 'inet6', iface.inet6) }}
|
||||
{% endif %}
|
||||
|
||||
{% endif %}
|
||||
{% endfor %}
|
||||
@@ -0,0 +1,5 @@
|
||||
interfaces_os_supported: true
|
||||
interfaces_packages:
|
||||
- ifupdown
|
||||
- udev
|
||||
- vlan
|
||||
@@ -0,0 +1 @@
|
||||
interfaces_os_supported: false
|
||||
Reference in New Issue
Block a user