diff --git a/create-dc.sh b/create-dc.sh index 86b31ad..e777f84 100644 --- a/create-dc.sh +++ b/create-dc.sh @@ -1,56 +1,51 @@ #!/bin/sh # vim: set sw=4 ts=4 sts=4 et : -export http_proxy=http://proxy.pyrocufflink.blue:3128/ - ipaddr=$1 -fedora=${2:-40} +fedora=$2 if [ -z "${ipaddr}" ]; then printf 'usage: %s ipaddr [fedora]\n' "${0##*/}" >&2 exit 2 fi -if [ -z "${LIBVIRT_DEFAULT_URI}" ]; then - printf 'LIBVIRT_DEFAULT_URI environment variable must be set\n' >&2 - exit 1 -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}}') -printf 'Creating VM %s : watch progress with\n' "${name}" -printf ' virsh -c %s console %s\n' "$(virsh uri)" "${name}" -virt-install \ - --name ${name} \ - --memory 2048 \ - --vcpus 2 \ - --cpu host \ - --location http://dl.fedoraproject.org/pub/fedora/linux/releases/${fedora}/Everything/x86_64/os \ - --extra-args "ip=${ipaddr}::172.30.0.1:255.255.255.192:${name}::none:172.30.0.1 inst.notmux inst.proxy=${http_proxy} inst.ks=http://rosalina.pyrocufflink.blue/~dustin/kickstart/fedora-dc.ks console=ttyS0 quiet systemd.show_status=1" \ - --os-variant fedora$(rpm -E %fedora) \ - --disk pool=default,size=16,cache=none \ - --network network=prod,model=virtio \ - --graphics none \ - --sound none \ - --redirdev none \ - --rng /dev/urandom \ - --noautoconsole \ - --wait -1 \ +./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 -ansible-playbook -l samba-dc facts.yml || exit +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}" <