#!/bin/sh # vim: set sw=4 ts=4 sts=4 et : ipaddr=$1 fedora=$2 if [ -z "${ipaddr}" ]; then printf 'usage: %s ipaddr [fedora]\n' "${0##*/}" >&2 exit 2 fi ansible-playbook -l samba-dc facts.yml --become || exit wordlist=$( python -c 'from diceware.wordlist import *;print(get_wordlist_path("en_eff"))' ) name=dc-$(sort -R "${wordlist}" | awk '{if(length($2) < 13){print $2;exit}}') ./newvm.sh "${name}" \ --ip-address "${ipaddr}/26" \ --nameserver 172.30.0.1 \ ${fedora:+--fedora} ${fedora} \ --kickstart 'http://pxe.pyrocufflink.blue/kickstart/master/fedora-dc.ks' \ --network network=prod \ --domain pyrocufflink.blue \ --group samba-dc \ --no-console \ || exit printf 'Waiting for %s to come up ...\n' "${name}" until ssh -l root "${ipaddr}" : >/dev/null 2>&1; do sleep 10; done bootstrap_vars=host_vars/"${name}".pyrocufflink.blue/_bootstrap.yml trap 'rm -fv "${bootstrap_vars}"' INT TERM EXIT QUIT mkdir -p "${bootstrap_vars%/*}" cat > "${bootstrap_vars}" <