Add host bridge and vlans setup via template
This commit is contained in:
@@ -1,45 +1,24 @@
|
||||
---
|
||||
- name: Configure systemd-networkd bridge
|
||||
- name: Configure systemd-networkd with templates
|
||||
hosts: all
|
||||
become: true
|
||||
vars:
|
||||
network_interface: "enp2s0"
|
||||
bridge_name: "br0"
|
||||
vlans: [30, 60]
|
||||
|
||||
tasks:
|
||||
- name: Create network configuration files
|
||||
copy:
|
||||
dest: "/etc/systemd/network/{{ item.file }}"
|
||||
content: "{{ item.content }}"
|
||||
- name: Deploy network configuration templates
|
||||
template:
|
||||
src: "templates/{{ item.src }}"
|
||||
dest: "/etc/systemd/network/{{ item.dest }}"
|
||||
owner: root
|
||||
group: systemd-network
|
||||
mode: '0644'
|
||||
loop:
|
||||
- file: "20-br0.netdev"
|
||||
content: |
|
||||
[NetDev]
|
||||
Name=br0
|
||||
Kind=bridge
|
||||
|
||||
[Bridge]
|
||||
VLANFiltering=yes
|
||||
|
||||
- file: "25-br0-bind.network"
|
||||
content: |
|
||||
[Match]
|
||||
Name=enp2s0
|
||||
|
||||
[Network]
|
||||
Bridge=br0
|
||||
|
||||
[BridgeVLAN]
|
||||
VLAN=30
|
||||
[BridgeVLAN]
|
||||
VLAN=60
|
||||
|
||||
- file: "30-br0-setup.network"
|
||||
content: |
|
||||
[Match]
|
||||
Name=br0
|
||||
|
||||
[Network]
|
||||
DHCP=ipv4
|
||||
- { src: '20-br0.netdev.j2', dest: '20-br0.netdev' }
|
||||
- { src: '25-br0-bind.network.j2', dest: '25-br0-bind.network' }
|
||||
- { src: '30-br0-setup.network.j2', dest: '30-br0-setup.network' }
|
||||
notify: restart networkd
|
||||
|
||||
handlers:
|
||||
@@ -47,4 +26,3 @@
|
||||
systemd:
|
||||
name: systemd-networkd
|
||||
state: restarted
|
||||
enabled: true
|
||||
|
||||
@@ -0,0 +1,10 @@
|
||||
[Match]
|
||||
Name={{ network_interface }}
|
||||
|
||||
[Network]
|
||||
Bridge={{ bridge_name }}
|
||||
|
||||
{% for vlan in vlans %}
|
||||
[BridgeVLAN]
|
||||
VLAN={{ vlan }}
|
||||
{% endfor %}
|
||||
Reference in New Issue
Block a user