Ansible role for systemd-networkd
Go to file
Oleg "Zmey!" Vasiliev 84dbf2030c Inital release 0.1.0 2020-06-04 00:41:22 +03:00
defaults Inital release 0.1.0 2020-06-04 00:41:22 +03:00
handlers Inital release 0.1.0 2020-06-04 00:41:22 +03:00
meta Inital release 0.1.0 2020-06-04 00:41:22 +03:00
tasks Inital release 0.1.0 2020-06-04 00:41:22 +03:00
templates Inital release 0.1.0 2020-06-04 00:41:22 +03:00
CHANGELOG.md Inital release 0.1.0 2020-06-04 00:41:22 +03:00
LICENSE Inital release 0.1.0 2020-06-04 00:41:22 +03:00
README.md Inital release 0.1.0 2020-06-04 00:41:22 +03:00

README.md

networkd

An Ansible role for configuring systemd-networkd.

This project adheres to Semantic Versioning.

Requirements

This role assumes that networkd is already present in the system. So it should be suitable for any distro with networkd.

Role Variables

Example configuration. Follow networkd documentation to construct yours.

networkd:
 link:
     # This is file name
   - name: eth0
     # This is prefix for file. This results in following file name: 50-eth0.link
     priority: 50
     content:
       - Match:
         - MACAddress: "aa:bb:cc:dd:ee:ff"
       - Link:
         - Name: eth0
 netdev:
   - name: br0
     priority: 50
     content:
       - NetDev:
         - Name: br0
         - Kind: bridge
 network:
   - name: eth0
     priority: 50
     content:
       - Match:
         - Name: eth0
       - Network:
         - DHCP: ipv4
         - LinkLocalAddressing: no
         - LLDP: yes
       - DHCPv4:
         - UseHostname: no
         - Hostname: gimme-some-addr
         - UseMTU: yes
   - name: br0_slaves
     priority: 50
     content:
       - Match:
         - MACAddress: "11:bb:cc:dd:ee:ff 22:bb:cc:dd:ee:ff"
       - Network:
         - Bridge: br0

What to do on configuration changes. Could be "restart", "reload" or "nothing". Variable is mandatory.

networkd_apply_action: "restart"

Custom content for /etc/resolv.conf. Every element in list is string in file. Variable is optional.

networkd_resolv_conf_content:
  - nameserver 1.1.1.1
  - nameserver 8.8.8.8

License

MIT