This repository contains scripts (mainly ansible automation) for the deployment of dev.daiad.eu.
Before using a host as a target for an ansible playbook, some minimal prerequisites must be fullfilled. For the scope of this document, we assume that all hosts run on an Ubuntu 14.04 (trusty) platform.
Ensure the following:
- The
network-managerdaemon is disabled. You should override theupstartconfiguration (see http://askubuntu.com/questions/19320/how-to-enable-or-disable-services). - All IPv4 network interfaces must be configured via
/etc/network/interfacesstanzas. The primary IPv4 interface (e.geth1) should be assigned a valid address into10.0.2.0/24. - The default user
usershould be a password-less sudoer (tweak/etc/sudoersif needed).
If hosts do not have access to the public IPv4 internet (e.g if they only connect to the local 10.0.2.0/24 network), then you should provide a NAT'ed gateway through Ansible's control-node. So, additionaly, ensure that:
- The control-node can act as an IPv4 forwarder (
net.ipv4.ip_forward=1) - The control-node will masquerade (SNAT) incoming traffic from the internal network
- All hosts (i.e. the controlled nodes) are using the control-node as default gateway
Configure hosts and groups in hosts.conf.
Prepare target hostnames and target user:
ansible-playbook -v -i hosts.conf prepare.yml
Setup groups according to their role:
ansible-playbook -v -i hosts.conf setup-roles.yml