network/salt/server1-network.sls

52 lines
1.1 KiB
Plaintext

{% set bond_slaves = ['eth1', 'eth2'] %}
{% for slave in bond_slaves %}
{{ slave }}:
network.managed:
- enabled: True
type: slave
master: bond0
{% endfor %}
bond0:
network.managed:
- name: bond0
proto: manual
type: bond
mode: 802.3ad
slaves: {{ ' '.join(bond_slaves) }}
miimon: 100
{% for vlan in range(1, 15) %}
bond0.{{ vlan }}:
network.managed:
- type: vlan
use:
- network: bond0
require:
- network: bond0
{% endfor %}
{%- for net in ['core', 'public'] %}
{%- set vlan = pillar['vlans'][net] %}
br-{{ net }}:
network.managed:
- type: bridge
ports: bond0.{{ vlan }}
{%- set ip_addr = pillar['hosts-inet'][net].get('server1') %}
{%- if ip_addr %}
{%- set prefix_len = pillar['subnets-inet'][net].split('/')[1] %}
proto: manual
address: {{ ip_addr }}/{{ prefix_len }}
{%- else %}
proto: static
{%- endif %}
address: {{ pillar['subnets-inet']['core'] }}
bypassfirewall: True
use:
- network: bond0.{{ vlan }}
require:
- network: bond0.{{ vlan}}
{%- endfor %}