diff --git a/networkd/defaults/main.yml b/networkd/defaults/main.yml index a9d2b38fc002cb7f3eec93d52a6e37c640daac1f..00c368f17caf5ae1836fe7bdc28195c2dd3ea36c 100644 --- a/networkd/defaults/main.yml +++ b/networkd/defaults/main.yml @@ -7,7 +7,7 @@ networkd_address: 10.10.10.10/24 networkd_gateway: 10.10.10.1 # for bond type only -networkd_bond: bond0 +networkd_bond: bond1 networkd_bond_devices: [ eth0, eth1 ] networkd_bond_vlans: - id: 23 diff --git a/networkd/handlers/main.yml b/networkd/handlers/main.yml index 1c3361f9a70161cdaef3af3294eb18e421aec178..19aee0c90bbf64005d14e5466cfc27b407657836 100644 --- a/networkd/handlers/main.yml +++ b/networkd/handlers/main.yml @@ -1,8 +1,5 @@ --- -- name: reload systemd service files - systemd: daemon_reload=yes - - name: restart networkd service: name=systemd-networkd state=restarted diff --git a/networkd/tasks/main.yml b/networkd/tasks/main.yml index f7885307a3cbbff1f4bd385c4f4022ff3f782128..d7b444566f8072bf251f2c736fcb97e59eb1ecc5 100644 --- a/networkd/tasks/main.yml +++ b/networkd/tasks/main.yml @@ -8,7 +8,6 @@ group: root mode: 0644 notify: - - reload systemd service files - restart networkd - name: ensure bonding works correctly @@ -35,6 +34,8 @@ owner: root group: root mode: 0644 + notify: + - restart networkd - name: ensure bond network is configured template: src: bond.network.j2 @@ -42,6 +43,8 @@ owner: root group: root mode: 0644 + notify: + - restart networkd - name: ensure vlan netdevs are configured template: src: vlan.netdev.j2 @@ -49,7 +52,9 @@ owner: root group: root mode: 0644 - with_items: networkd_bond_vlans + with_items: "{{ networkd_bond_vlans }}" + notify: + - restart networkd - name: ensure vlan networks are configured template: src: vlan.network.j2 @@ -57,7 +62,9 @@ owner: root group: root mode: 0644 - with_items: networkd_bond_vlans + with_items: "{{ networkd_bond_vlans }}" + notify: + - restart networkd - name: ensure bridge netdevs are configured template: src: bridge.netdev.j2 @@ -65,8 +72,10 @@ owner: root group: root mode: 0644 - with_items: networkd_bond_vlans - when: item.bridge == yes + with_items: "{{ networkd_bond_vlans }}" + when: item.bridge == True + notify: + - restart networkd - name: ensure bridge networks are configured template: src: bridge.network.j2 @@ -74,14 +83,11 @@ owner: root group: root mode: 0644 - with_items: networkd_bond_vlans - when: item.bridge == yes and 'address' in item + with_items: "{{ networkd_bond_vlans }}" + when: item.bridge == True + notify: + - restart networkd when: networkd_type == 'bond' - notify: - - reload systemd service files - - restart networkd - -- meta: flush_handlers - name: ensure networkd is enabled and running service: @@ -94,6 +100,11 @@ name: networking enabled: no +- name: ensure legacy methods are really disabled + apt: + name: ifupdown + state: absent + - name: ensure we wait for network to be online service: name: systemd-networkd-wait-online diff --git a/networkd/templates/bond.network.j2 b/networkd/templates/bond.network.j2 index aa8627d2142395bb0c2d483e9a0a1234a4988f7f..0677510d7b9bbb535131c86bcc1271568d8ce2f9 100644 --- a/networkd/templates/bond.network.j2 +++ b/networkd/templates/bond.network.j2 @@ -2,7 +2,7 @@ Name={{ networkd_bond }} [Network] -{%- for vlan in networkd_bond_vlans %} +{% for vlan in networkd_bond_vlans %} VLAN=vl-{{ vlan.name }} -{% endfor -%} +{% endfor %} BindCarrier={{ networkd_bond_devices|join(' ') }} diff --git a/networkd/templates/bridge.network.j2 b/networkd/templates/bridge.network.j2 index 1149208fb2eb9a81dee50ecb83bdd678c6f34b17..8fc4ae337ea28a8c96cfa2d58e376c56afe5b448 100644 --- a/networkd/templates/bridge.network.j2 +++ b/networkd/templates/bridge.network.j2 @@ -2,7 +2,9 @@ Name=vmbr-{{ item.name }} [Network] +{% if 'address' in item %} Address={{ item.address }} -{%- if item.gateway %} +{% if 'gateway' in item %} Gateway={{ item.gateway }} -{% endif -%} +{% endif %} +{% endif %} diff --git a/networkd/templates/vlan.network.j2 b/networkd/templates/vlan.network.j2 index 959fbc75c592cad839d44fbf84e52bb98b729d76..79f5a81f7e6671b25df5bc7688be7239b65cd759 100644 --- a/networkd/templates/vlan.network.j2 +++ b/networkd/templates/vlan.network.j2 @@ -2,13 +2,13 @@ Name=vl-{{ item.name }} [Network] -{%- if item.bridge %} +{% if item.bridge %} Bridge=vmbr-{{ item.name }} {% else %} -{%- if item.address %} +{% if 'address' in item %} Address={{ item.address }} -{%- if item.gateway %} +{% if 'gateway' in item %} Gateway={{ item.gateway }} -{% endif -%} -{% endif -%} -{% endif -%} +{% endif %} +{% endif %} +{% endif %}