Skip to content
Snippets Groups Projects
Commit 6c8a7b7c authored by Lars Beckers's avatar Lars Beckers
Browse files

fix some bugs encountered deploying a bond

Note: An LACP-based bond cannot be named bond0 in networkd, because it
asserts some hidden default bond0 using a round-robin approach. This
behavior cannot be overriden by configuration and networkd will not tell
you about that. It just won't work.
parent 95c95af1
Branches
No related tags found
No related merge requests found
...@@ -7,7 +7,7 @@ networkd_address: 10.10.10.10/24 ...@@ -7,7 +7,7 @@ networkd_address: 10.10.10.10/24
networkd_gateway: 10.10.10.1 networkd_gateway: 10.10.10.1
# for bond type only # for bond type only
networkd_bond: bond0 networkd_bond: bond1
networkd_bond_devices: [ eth0, eth1 ] networkd_bond_devices: [ eth0, eth1 ]
networkd_bond_vlans: networkd_bond_vlans:
- id: 23 - id: 23
......
--- ---
- name: reload systemd service files
systemd: daemon_reload=yes
- name: restart networkd - name: restart networkd
service: name=systemd-networkd state=restarted service: name=systemd-networkd state=restarted
...@@ -8,7 +8,6 @@ ...@@ -8,7 +8,6 @@
group: root group: root
mode: 0644 mode: 0644
notify: notify:
- reload systemd service files
- restart networkd - restart networkd
- name: ensure bonding works correctly - name: ensure bonding works correctly
...@@ -35,6 +34,8 @@ ...@@ -35,6 +34,8 @@
owner: root owner: root
group: root group: root
mode: 0644 mode: 0644
notify:
- restart networkd
- name: ensure bond network is configured - name: ensure bond network is configured
template: template:
src: bond.network.j2 src: bond.network.j2
...@@ -42,6 +43,8 @@ ...@@ -42,6 +43,8 @@
owner: root owner: root
group: root group: root
mode: 0644 mode: 0644
notify:
- restart networkd
- name: ensure vlan netdevs are configured - name: ensure vlan netdevs are configured
template: template:
src: vlan.netdev.j2 src: vlan.netdev.j2
...@@ -49,7 +52,9 @@ ...@@ -49,7 +52,9 @@
owner: root owner: root
group: root group: root
mode: 0644 mode: 0644
with_items: networkd_bond_vlans with_items: "{{ networkd_bond_vlans }}"
notify:
- restart networkd
- name: ensure vlan networks are configured - name: ensure vlan networks are configured
template: template:
src: vlan.network.j2 src: vlan.network.j2
...@@ -57,7 +62,9 @@ ...@@ -57,7 +62,9 @@
owner: root owner: root
group: root group: root
mode: 0644 mode: 0644
with_items: networkd_bond_vlans with_items: "{{ networkd_bond_vlans }}"
notify:
- restart networkd
- name: ensure bridge netdevs are configured - name: ensure bridge netdevs are configured
template: template:
src: bridge.netdev.j2 src: bridge.netdev.j2
...@@ -65,8 +72,10 @@ ...@@ -65,8 +72,10 @@
owner: root owner: root
group: root group: root
mode: 0644 mode: 0644
with_items: networkd_bond_vlans with_items: "{{ networkd_bond_vlans }}"
when: item.bridge == yes when: item.bridge == True
notify:
- restart networkd
- name: ensure bridge networks are configured - name: ensure bridge networks are configured
template: template:
src: bridge.network.j2 src: bridge.network.j2
...@@ -74,14 +83,11 @@ ...@@ -74,14 +83,11 @@
owner: root owner: root
group: root group: root
mode: 0644 mode: 0644
with_items: networkd_bond_vlans with_items: "{{ networkd_bond_vlans }}"
when: item.bridge == yes and 'address' in item when: item.bridge == True
when: networkd_type == 'bond'
notify: notify:
- reload systemd service files
- restart networkd - restart networkd
when: networkd_type == 'bond'
- meta: flush_handlers
- name: ensure networkd is enabled and running - name: ensure networkd is enabled and running
service: service:
...@@ -94,6 +100,11 @@ ...@@ -94,6 +100,11 @@
name: networking name: networking
enabled: no enabled: no
- name: ensure legacy methods are really disabled
apt:
name: ifupdown
state: absent
- name: ensure we wait for network to be online - name: ensure we wait for network to be online
service: service:
name: systemd-networkd-wait-online name: systemd-networkd-wait-online
......
...@@ -2,7 +2,7 @@ ...@@ -2,7 +2,7 @@
Name={{ networkd_bond }} Name={{ networkd_bond }}
[Network] [Network]
{%- for vlan in networkd_bond_vlans %} {% for vlan in networkd_bond_vlans %}
VLAN=vl-{{ vlan.name }} VLAN=vl-{{ vlan.name }}
{% endfor -%} {% endfor %}
BindCarrier={{ networkd_bond_devices|join(' ') }} BindCarrier={{ networkd_bond_devices|join(' ') }}
...@@ -2,7 +2,9 @@ ...@@ -2,7 +2,9 @@
Name=vmbr-{{ item.name }} Name=vmbr-{{ item.name }}
[Network] [Network]
{% if 'address' in item %}
Address={{ item.address }} Address={{ item.address }}
{%- if item.gateway %} {% if 'gateway' in item %}
Gateway={{ item.gateway }} Gateway={{ item.gateway }}
{% endif -%} {% endif %}
{% endif %}
...@@ -2,13 +2,13 @@ ...@@ -2,13 +2,13 @@
Name=vl-{{ item.name }} Name=vl-{{ item.name }}
[Network] [Network]
{%- if item.bridge %} {% if item.bridge %}
Bridge=vmbr-{{ item.name }} Bridge=vmbr-{{ item.name }}
{% else %} {% else %}
{%- if item.address %} {% if 'address' in item %}
Address={{ item.address }} Address={{ item.address }}
{%- if item.gateway %} {% if 'gateway' in item %}
Gateway={{ item.gateway }} Gateway={{ item.gateway }}
{% endif -%} {% endif %}
{% endif -%} {% endif %}
{% endif -%} {% endif %}
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment