forked from zentralwerk/network
53 lines
1.1 KiB
Plaintext
53 lines
1.1 KiB
Plaintext
{%- import_yaml "netmasks.yaml" as netmasks -%}
|
|
{% 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 name, vlan in pillar['vlans'].items() %}
|
|
bond0.{{ vlan }}:
|
|
network.managed:
|
|
- type: vlan
|
|
proto: manual
|
|
use:
|
|
- network: bond0
|
|
require:
|
|
- network: bond0
|
|
{% endfor %}
|
|
|
|
{%- for net in ['core', 'serv'] %}
|
|
{%- 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: static
|
|
address: {{ ip_addr }}
|
|
netmask: {{ netmasks[prefix_len] }}
|
|
{%- else %}
|
|
proto: manual
|
|
{%- endif %}
|
|
use:
|
|
- network: bond0.{{ vlan }}
|
|
require:
|
|
- network: bond0.{{ vlan}}
|
|
{%- endfor %}
|
|
|