Antony Messerli c3e04a5106 Adds Support for MNAIO CentOS 7 Environment
* Adds support for provisioning a Multi Node AIO using
  CentOS 7.
* Cleans up older MNAIO/Compute/Infra image configs
* Increases LB/Logging/Swift VM ram to allow for CentOS rootfs
  to load into RAM. (1GB to 2GB)
* Uses systemd-network networking for configuring network/bridges
* Adds keymap to kvm configuration to alleviate keyboard issues in
  virt-manager
Change-Id: I54d903e7c1c70882e8b20a9cef4eafb42be46770
2018-07-24 09:31:11 -05:00

53 lines
1.2 KiB
Django/Jinja

#!/bin/bash
# this script generates the networking using systemd-networkd
{% set server_networks = hostvars[item]['server_networks'] %}
mkdir -p /etc/systemd/network
systemctl disable network
systemctl disable NetworkManager
systemctl enable systemd-networkd
systemctl enable systemd-resolved
systemctl start systemd-resolved
rm -f /etc/resolv.conf
ln -s /run/systemd/resolve/resolv.conf /etc/resolv.conf
{% if hostvars[item]['server_hostname'] == 'loadbalancer1' %}
# set nonlocal binding for haproxy
echo "net.ipv4.ip_nonlocal_bind=1" >> /etc/sysctl.conf
sysctl -p
{% endif %}
{% for key, value in server_networks.items()|sort(attribute='1.iface') %}
# generate physical network devices
cat <<EOF >/etc/systemd/network/{{ value.iface }}.network
[Match]
Name={{ value.iface }}
[Network]
Bridge=br-{{ key }}
EOF
# generate bridge net devices
cat <<EOF >/etc/systemd/network/br-{{ key }}.netdev
[NetDev]
Name=br-{{ key }}
Kind=bridge
EOF
# generate network files
cat <<EOF >/etc/systemd/network/br-{{ key }}.network
[Match]
Name=br-{{ key }}
[Network]
{% if value.inet_type == 'dhcp' %}
DHCP=yes
[DHCP]
UseDNS=yes
UseNTP=yes
{% elif value.address is defined %}
Address={{ value.address }}
{% endif %}
EOF
{% endfor %}