tlu/salt/states/vlan/init.sls

26 lines
1.1 KiB
Plaintext
Raw Normal View History

2021-10-17 18:03:37 +00:00
{% for vlan in pillar['network']['vlan'] -%}
{% set ifname = 'vlan.' + vlan['id']|string %}
create device {{ ifname }}:
cmd.run:
- name: nmcli connection add type vlan con-name {{ ifname }} ifname {{ ifname }} dev {{ pillar['network']['interface'] }} id {{ vlan['id'] }}
- unless: nmcli device show {{ ifname }}
set ip address on {{ ifname }}:
cmd.run:
- name: nmcli connection modify {{ ifname }} ipv4.addresses {{ vlan['address'] }}/24
- unless: bash -c "if [[ \"$(nmcli connection show Wired\ connection\ 1 | sed -n 's/^ipv4.addresses.\s*\(.*\)$/\1/p')\" == "{{ vlan['address'] }}/24" ]]; then exit 0; else exit 1;fi"
set ip static on {{ ifname }}:
cmd.run:
- name: nmcli connection modify {{ ifname }} ipv4.method manual
- unless: bash -c "if [[ \"$(nmcli connection show Wired\ connection\ 1 | sed -n 's/^ipv4.method.\s*\(.*\)$/\1/p')\" == "manual" ]]; then exit 0; else exit 1;fi"
bring up {{ ifname }}:
cmd.run:
- name: nmcli connection up {{ ifname }}
- onchanges:
- cmd: create device {{ ifname }}
- cmd: set ip address on {{ ifname }}
- cmd: set ip static on {{ ifname }}
{% endfor %}