2016-11-08 22:36:08 +01:00
|
|
|
{%- import_yaml "netmasks.yaml" as netmasks -%}
|
2018-09-13 23:46:16 +02:00
|
|
|
{% set bond_slaves = ['enp3s0f0', 'enp3s0f1', 'enp4s0f0', 'enp4s0f1'] %}
|
2016-11-03 00:26:30 +01:00
|
|
|
|
2016-12-01 18:07:39 +01:00
|
|
|
/etc/modules-load.d/server1.conf:
|
|
|
|
file.managed:
|
|
|
|
- source: salt://modules.conf
|
|
|
|
- mode: 644
|
|
|
|
|
2016-11-16 22:47:26 +01:00
|
|
|
/etc/network/if-up.d/bond-slaves:
|
|
|
|
file.managed:
|
|
|
|
- source: salt://bond-slaves
|
2016-12-01 18:07:39 +01:00
|
|
|
- mode: 755
|
2016-11-16 22:47:26 +01:00
|
|
|
|
2016-11-03 00:26:30 +01:00
|
|
|
bond0:
|
|
|
|
network.managed:
|
|
|
|
- name: bond0
|
|
|
|
proto: manual
|
|
|
|
type: bond
|
|
|
|
mode: 802.3ad
|
|
|
|
slaves: {{ ' '.join(bond_slaves) }}
|
|
|
|
miimon: 100
|
2016-11-22 17:35:20 +01:00
|
|
|
updelay: 1000
|
|
|
|
downdelay: 1000
|
2016-11-28 17:12:11 +01:00
|
|
|
lacp_rate: 1
|
2016-11-22 17:35:20 +01:00
|
|
|
xmit_hash_policy: layer3+4
|
2016-11-16 22:47:26 +01:00
|
|
|
require:
|
|
|
|
- file: /etc/network/if-up.d/bond-slaves
|
2016-11-03 00:26:30 +01:00
|
|
|
|
2016-11-08 22:36:08 +01:00
|
|
|
{% for name, vlan in pillar['vlans'].items() %}
|
2016-11-03 00:26:30 +01:00
|
|
|
bond0.{{ vlan }}:
|
|
|
|
network.managed:
|
|
|
|
- type: vlan
|
2016-11-08 22:36:08 +01:00
|
|
|
proto: manual
|
2016-11-03 00:26:30 +01:00
|
|
|
use:
|
|
|
|
- network: bond0
|
|
|
|
require:
|
|
|
|
- network: bond0
|
|
|
|
{% endfor %}
|
|
|
|
|
2016-12-12 22:34:31 +01:00
|
|
|
{%- set bridge_nets = ['mgmt', 'core', 'serv', 'pub', 'c3d2'] %}
|
2016-12-11 03:11:20 +01:00
|
|
|
{%- for net in bridge_nets %}
|
2016-11-06 02:49:56 +01:00
|
|
|
{%- set vlan = pillar['vlans'][net] %}
|
|
|
|
br-{{ net }}:
|
2016-11-03 00:26:30 +01:00
|
|
|
network.managed:
|
|
|
|
- type: bridge
|
2016-11-06 02:49:56 +01:00
|
|
|
ports: bond0.{{ vlan }}
|
2016-11-22 17:35:20 +01:00
|
|
|
delay: 0
|
2016-11-23 01:11:32 +01:00
|
|
|
{%- set ip_addr = pillar['hosts-inet'].get(net) and pillar['hosts-inet'][net].get('server1') %}
|
2016-11-06 02:49:56 +01:00
|
|
|
{%- if ip_addr %}
|
|
|
|
{%- set prefix_len = pillar['subnets-inet'][net].split('/')[1] %}
|
|
|
|
proto: static
|
2016-11-08 22:36:08 +01:00
|
|
|
address: {{ ip_addr }}
|
|
|
|
netmask: {{ netmasks[prefix_len] }}
|
2016-11-14 21:49:38 +01:00
|
|
|
{%- if net == 'core' %}
|
|
|
|
gateway: {{ pillar['hosts-inet']['core']['upstream1'] }}
|
2016-11-29 02:27:37 +01:00
|
|
|
dns-nameservers: "{{ pillar['hosts-inet']['core']['upstream1'] }} {{ pillar['hosts-inet']['core']['upstream2'] }}"
|
2016-11-14 21:49:38 +01:00
|
|
|
{%- endif %}
|
2016-11-08 22:36:08 +01:00
|
|
|
{%- else %}
|
|
|
|
proto: manual
|
2016-11-23 01:11:32 +01:00
|
|
|
ipv6_autoconf: no
|
|
|
|
enable_ipv6: false
|
2016-11-06 02:49:56 +01:00
|
|
|
{%- endif %}
|
2016-11-03 00:26:30 +01:00
|
|
|
use:
|
2016-11-06 02:49:56 +01:00
|
|
|
- network: bond0.{{ vlan }}
|
2016-11-03 00:26:30 +01:00
|
|
|
require:
|
2016-11-06 02:49:56 +01:00
|
|
|
- network: bond0.{{ vlan}}
|
|
|
|
{%- endfor %}
|