configpolicy/deploy/k8s-longhorn.sh

46 lines
893 B
Bash

#!/bin/sh
# vim: set ts=4 sw=4 noet :
name=${1:-stor-$(diceware -n1 --no-caps)}
hostname=${name}.k8s.pyrocufflink.black
if ! virsh list --all --name | grep -qF ${name}; then
./newvm.sh ${name} \
--fedora 40 \
--memory 4096 \
--vcpus 4 \
--no-console \
--network network=kube \
-- \
--disk pool=default,size=4,cache=none \
--disk pool=default,size=8,cache=none \
--disk pool=default,size=512,cache=none \
|| exit
sleep 15
fi
if ! grep -q "${hostname}" hosts; then
sed -i '/\[k8s-longhorn\]/a'"${hostname}" hosts
fi
ansible-playbook \
-l ${hostname} \
wait-for-host.yml \
|| exit
printf 'Waiting for SSH host certificate to be signed ... '
until ssh-keyscan -c ${hostname} 2>/dev/null | grep -q cert; do
sleep 1
done
echo done
ansible-playbook \
-l ${hostname} \
bootstrap.yml \
datavol.yml \
kubernetes.yml \
collectd.yml \
btop.yml \
-u root \
|| exit