Merge "Update cleanup process and set a file prefix"
This commit is contained in:
commit
305db5348e
@ -13,15 +13,23 @@
|
||||
# See the License for the specific language governing permissions and
|
||||
# limitations under the License.
|
||||
|
||||
# Cleanup all known network interfaces
|
||||
# Cleanup all known network interfaces. When this option is enabled the role
|
||||
# will search for and remove all network interface files that match the prefix.
|
||||
systemd_interface_cleanup: false
|
||||
|
||||
# Prefix for all networkd files created by this role. This prefix allows
|
||||
# deployers to set specific file names reducing the chance of a collision
|
||||
# and simplifies the network interface file cleanup operation should it ever
|
||||
# be needed. By default, the prefix is "general" however this can be changed
|
||||
# to meet the needs of the deployer.
|
||||
systemd_networkd_prefix: "general"
|
||||
|
||||
# Enable systemd-networkd and (re)start the service
|
||||
systemd_run_networkd: false
|
||||
|
||||
# Default filename formatting
|
||||
systemd_networkd_netdev_filename: "{{ item.0 }}-{{ item.1.NetDev.Name }}.netdev"
|
||||
systemd_networkd_network_filename: "{{ item.0 }}-{{ item.1.interface }}.network"
|
||||
systemd_networkd_netdev_filename: "{{ item.0 }}-{{ systemd_networkd_prefix }}-{{ item.1.NetDev.Name }}.netdev"
|
||||
systemd_networkd_network_filename: "{{ item.0 }}-{{ systemd_networkd_prefix }}-{{ item.1.interface }}.network"
|
||||
|
||||
# The `systemd_link_config_overrides` option can be used on the default link.
|
||||
# See the following link for all available options:
|
||||
|
@ -61,18 +61,6 @@
|
||||
tags:
|
||||
- systemd-networkd
|
||||
|
||||
- name: Create systemd-networkd interface cleanup script
|
||||
template:
|
||||
src: "interface-cleanup.sh.j2"
|
||||
dest: "/usr/local/bin/interface-cleanup"
|
||||
owner: "root"
|
||||
group: "root"
|
||||
mode: "0750"
|
||||
when:
|
||||
- systemd_interface_cleanup | bool
|
||||
tags:
|
||||
- systemd-networkd
|
||||
|
||||
- name: Create systemd-resolved config
|
||||
template:
|
||||
src: "systemd-resolved.conf.j2"
|
||||
@ -87,14 +75,28 @@
|
||||
tags:
|
||||
- systemd-resolved
|
||||
|
||||
- name: Run interface cleanup script
|
||||
command: "/usr/local/bin/interface-cleanup"
|
||||
failed_when: false
|
||||
- name: Find prefixed netdev and network files
|
||||
find:
|
||||
paths: "/etc/systemd/network"
|
||||
patterns: "*{{ systemd_networkd_prefix }}*.netdev,*{{ systemd_networkd_prefix }}*.network"
|
||||
register: networkd_files
|
||||
when:
|
||||
- systemd_interface_cleanup | bool
|
||||
tags:
|
||||
- systemd-networkd
|
||||
|
||||
- name: Remove prefixed network files
|
||||
file:
|
||||
path: "{{ item.path }}"
|
||||
state: absent
|
||||
with_items: "{{ networkd_files.files }}"
|
||||
when:
|
||||
- systemd_interface_cleanup | bool
|
||||
notify:
|
||||
- Restart systemd-networkd
|
||||
tags:
|
||||
- systemd-networkd
|
||||
|
||||
- name: Create systemd-networkd network device(s)
|
||||
template:
|
||||
src: "systemd-netdev.j2"
|
||||
|
@ -1,15 +0,0 @@
|
||||
#!/usr/bin/env bash
|
||||
|
||||
# {{ ansible_managed }}
|
||||
|
||||
{% for item in systemd_netdevs %}
|
||||
if [[ -f "/etc/systemd/network/{{ loop.index }}-{{ item.NetDev.Name }}.netdev" ]]; then
|
||||
rm -f "/etc/systemd/network/{{ loop.index }}-{{ item.NetDev.Name }}.netdev"
|
||||
fi
|
||||
{% endfor %}
|
||||
|
||||
{% for item in systemd_networks %}
|
||||
if [[ -f "/etc/systemd/network/{{ loop.index }}-{{ item.interface }}.network" ]]; then
|
||||
rm -f "/etc/systemd/network/{{ loop.index }}-{{ item.interface }}.network"
|
||||
fi
|
||||
{% endfor %}
|
@ -50,6 +50,12 @@
|
||||
- NetDev:
|
||||
Name: br-dummy
|
||||
Kind: bridge
|
||||
- NetDev:
|
||||
Name: dummy2
|
||||
Kind: dummy
|
||||
- NetDev:
|
||||
Name: br-test
|
||||
Kind: bridge
|
||||
systemd_networks:
|
||||
- interface: "dummy0"
|
||||
bond: "bond0"
|
||||
@ -72,6 +78,12 @@
|
||||
config_overrides:
|
||||
Network:
|
||||
ConfigureWithoutCarrier: true
|
||||
- interface: "dummy2"
|
||||
bridge: "br-test"
|
||||
- interface: "br-test"
|
||||
address: "10.1.0.1"
|
||||
netmask: "255.255.255.0"
|
||||
|
||||
|
||||
- name: Test networkd
|
||||
hosts: localhost
|
||||
@ -88,6 +100,8 @@
|
||||
- ansible_dummy1['active'] == true
|
||||
- ansible_dummy1['type'] == 'ether'
|
||||
- ansible_dummy1['mtu'] == 9000
|
||||
- ansible_dummy2['active'] == true
|
||||
- ansible_dummy2['type'] == 'ether'
|
||||
- name: Bond check
|
||||
assert:
|
||||
that:
|
||||
@ -101,3 +115,49 @@
|
||||
- ansible_br_dummy['type'] == 'bridge'
|
||||
- ansible_br_dummy['ipv4']['address'] == '10.0.0.100'
|
||||
- ansible_br_dummy['ipv4']['netmask'] == '255.255.255.0'
|
||||
- name: Bridge check
|
||||
assert:
|
||||
that:
|
||||
- ansible_br_test['active'] == true
|
||||
- ansible_br_test['type'] == 'bridge'
|
||||
- ansible_br_test['ipv4']['address'] == '10.1.0.1'
|
||||
- ansible_br_test['ipv4']['netmask'] == '255.255.255.0'
|
||||
|
||||
|
||||
- name: Playbook for role testing with cleanup
|
||||
hosts: localhost
|
||||
connection: local
|
||||
become: true
|
||||
gather_facts: true
|
||||
roles:
|
||||
- role: "systemd_networkd"
|
||||
post_tasks:
|
||||
- name: Interface check
|
||||
assert:
|
||||
that:
|
||||
- ansible_br_test is defined
|
||||
- ansible_dummy2['active'] == true
|
||||
- ansible_dummy2['type'] == 'ether'
|
||||
- name: Bridge check
|
||||
assert:
|
||||
that:
|
||||
- ansible_br_test['active'] == true
|
||||
- ansible_br_test['type'] == 'bridge'
|
||||
- ansible_br_test['ipv4']['address'] == '10.1.0.1'
|
||||
- ansible_br_test['ipv4']['netmask'] == '255.255.255.0'
|
||||
vars:
|
||||
systemd_interface_cleanup: true
|
||||
systemd_run_networkd: yes
|
||||
systemd_netdevs:
|
||||
- NetDev:
|
||||
Name: dummy2
|
||||
Kind: dummy
|
||||
- NetDev:
|
||||
Name: br-test
|
||||
Kind: bridge
|
||||
systemd_networks:
|
||||
- interface: "dummyX"
|
||||
bridge: "br-test"
|
||||
- interface: "br-test"
|
||||
address: "10.1.0.1"
|
||||
netmask: "255.255.255.0"
|
||||
|
Loading…
x
Reference in New Issue
Block a user