summaryrefslogtreecommitdiffstats
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.sh82
1 files changed, 0 insertions, 82 deletions
diff --git a/mcp/reclass/scripts/infra.sh b/mcp/reclass/scripts/infra.sh
deleted file mode 100755
index 72ad5aa5a..000000000
--- a/mcp/reclass/scripts/infra.sh
+++ /dev/null
@@ -1,82 +0,0 @@
-#!/bin/bash
-
-BASE_IMAGE=https://cloud-images.ubuntu.com/xenial/current/xenial-server-cloudimg-amd64-disk1.img
-declare -A NODES=( [cfg01]=4096 [ctl01]=14336 [gtw01]=2048 [cmp01]=6144 [cmp02]=6144 )
-
-# get required packages
-apt-get install -y mkisofs curl virtinst cpu-checker qemu-kvm
-
-# generate ssh key
-[ -f $SSH_KEY ] || ssh-keygen -f $SSH_KEY -N ''
-install -o jenkins -m 0600 ${SSH_KEY} /tmp/
-
-# get base image
-mkdir -p images
-wget -P /tmp -nc $BASE_IMAGE
-
-# generate cloud-init user data
-envsubst < user-data.template > user-data.sh
-
-for node in "${!NODES[@]}"; do
- # clean up existing nodes
- if [ "$(virsh domstate $node 2>/dev/null)" == 'running' ]; then
- virsh destroy $node
- virsh undefine $node
- fi
-
- # 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 /tmp/${BASE_IMAGE/*\/} images/mcp_${node}.qcow2
- qemu-img resize images/mcp_${node}.qcow2 100G
-done
-
-# create required networks
-for net in pxe mgmt internal public; do
- if virsh net-info $net >/dev/null 2>&1; then
- virsh net-destroy ${net}
- virsh net-undefine ${net}
- fi
- virsh net-define net_${net}.xml
- virsh net-autostart ${net}
- virsh net-start ${net}
-done
-
-# create vms with specified options
-for node in "${!NODES[@]}"; do
- virt-install --name ${node} --ram ${NODES[$node]} --vcpus=2 --cpu host --accelerate \
- --network network:pxe,model=virtio \
- --network network:mgmt,model=virtio \
- --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
-
-# set static ip address for salt master node
-virsh net-update pxe add ip-dhcp-host \
-"<host mac='$(virsh domiflist cfg01 | awk '/pxe/ {print $5}')' name='cfg01' ip='$SALT_MASTER'/>" --live
-
-# start vms
-for node in "${!NODES[@]}"; do
- virsh start ${node}
- sleep $[RANDOM%5+1]
-done
-
-CONNECTION_ATTEMPTS=60
-SLEEP=5
-
-# wait until ssh on Salt master is available
-echo "Attempting to ssh to Salt master ..."
-ATTEMPT=1
-
-while (($ATTEMPT <= $CONNECTION_ATTEMPTS)); do
- 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
- ((ATTEMPT+=1))
-done