aboutsummaryrefslogtreecommitdiffstats
path: root/mcp/reclass/scripts/infra.sh
diff options
context:
space:
mode:
Diffstat (limited to 'mcp/reclass/scripts/infra.sh')
-rwxr-xr-xmcp/reclass/scripts/infra.sh13
1 files changed, 4 insertions, 9 deletions
diff --git a/mcp/reclass/scripts/infra.sh b/mcp/reclass/scripts/infra.sh
index 7f5c210db..b83f21508 100755
--- a/mcp/reclass/scripts/infra.sh
+++ b/mcp/reclass/scripts/infra.sh
@@ -1,7 +1,5 @@
#!/bin/bash
-SSH_KEY=mcp.rsa
-SALT_MASTER=192.168.10.100
BASE_IMAGE=https://cloud-images.ubuntu.com/xenial/current/xenial-server-cloudimg-amd64-disk1.img
declare -A NODES=( [cfg01]=4096 [ctl01]=6144 [ctl02]=6144 [ctl03]=6144 [gtw01]=2048 [cmp01]=2048 )
@@ -13,7 +11,7 @@ apt-get install -y mkisofs curl virtinst cpu-checker qemu-kvm
# get base image
mkdir -p images
-wget -nc $BASE_IMAGE
+wget -P /tmp -nc $BASE_IMAGE
for node in "${!NODES[@]}"; do
# clean up existing nodes
@@ -24,7 +22,7 @@ for node in "${!NODES[@]}"; do
# create/prepare images
[ -f images/mcp_${node}.iso ] || ./create-config-drive.sh -k ${SSH_KEY}.pub -u user-data.sh -h ${node} images/mcp_${node}.iso
- cp ${BASE_IMAGE/*\/} images/mcp_${node}.qcow2
+ cp /tmp/${BASE_IMAGE/*\/} images/mcp_${node}.qcow2
qemu-img resize images/mcp_${node}.qcow2 100G
done
@@ -47,6 +45,7 @@ for node in "${!NODES[@]}"; do
--network network:internal,model=virtio \
--network network:public,model=virtio \
--disk path=$(pwd)/images/mcp_${node}.qcow2,format=qcow2,bus=virtio,cache=none,io=native \
+ --os-type linux --os-variant none \
--boot hd --vnc --console pty --autostart --noreboot \
--disk path=$(pwd)/images/mcp_${node}.iso,device=cdrom
done
@@ -64,20 +63,16 @@ done
CONNECTION_ATTEMPTS=20
SLEEP=15
-# refresh salt master host key
-ssh-keygen -R $SALT_MASTER
-
# wait until ssh on Salt master is available
echo "Attempting to ssh to Salt master ..."
ATTEMPT=1
while (($ATTEMPT <= $CONNECTION_ATTEMPTS)); do
- ssh -i ${SSH_KEY} ubuntu@$SALT_MASTER uptime
+ ssh $SSH_OPTS ubuntu@$SALT_MASTER uptime
case $? in
(0) echo "${ATTEMPT}> Success"; break ;;
(*) echo "${ATTEMPT}/${CONNECTION_ATTEMPTS}> ssh server ain't ready yet, waiting for ${SLEEP} seconds ..." ;;
esac
sleep $SLEEP
- ssh-keyscan -t ecdsa $SALT_MASTER >> ~/.ssh/known_hosts
((ATTEMPT+=1))
done