Skip to content

Instantly share code, notes, and snippets.

@trstringer
Created December 6, 2019 19:44
Show Gist options
  • Save trstringer/e06848afa6072b3fd8617856440c6599 to your computer and use it in GitHub Desktop.
Save trstringer/e06848afa6072b3fd8617856440c6599 to your computer and use it in GitHub Desktop.
#!/bin/bash -i
set -e
# set -x
IMAGE="canonical:ubuntuserver:16.04-lts:latest"
NETCFG="/etc/network/interfaces.d/50-cloud-init.cfg"
KNOWN_HOSTS="/home/trstringer/.ssh/known_hosts"
CLOUD_INIT_VERSION="19.2-404-g5309266f-1~bddeb~16.04.1"
OUTPUT=$(az_vm_create "$IMAGE" "$IMAGE validation")
VM_NAME=$(echo "$OUTPUT" | head -n 1 | awk '{print $3}')
echo "$(date) - Created $VM_NAME"
az_vm_ssh "$VM_NAME" "cloud-init status --wait --long"
az_vm_ssh "$VM_NAME" "dpkg-query --show cloud-init"
az_vm_ssh "$VM_NAME" "sudo cat /run/cloud-init/result.json"
if az_vm_ssh "$VM_NAME" "grep Trace /var/log/cloud-init.log"; then
echo "Potential issue in cloud-init.log"
exit 1
fi
az_vm_ssh "$VM_NAME" "systemd-analyze"
az_vm_ssh "$VM_NAME" "systemd-analyze blame"
az_vm_ssh "$VM_NAME" "cloud-init analyze show"
az_vm_ssh "$VM_NAME" "cloud-init analyze blame"
echo 'Networking config'
az_vm_ssh "$VM_NAME" "cat $NETCFG"
az_vm_ssh "$VM_NAME" "sudo apt-add-repository -y ppa:trstringer/ppa2"
az_vm_ssh "$VM_NAME" "sudo apt-get update"
az_vm_ssh "$VM_NAME" "sudo apt-get install -y cloud-init=$CLOUD_INIT_VERSION"
az_vm_ssh "$VM_NAME" "dpkg-query --show cloud-init"
az_vm_ssh "$VM_NAME" "sudo hostname SRU-didnt-work"
az_vm_ssh "$VM_NAME" "sudo rm -f $NETCFG"
az_vm_ssh "$VM_NAME" "sudo cloud-init clean --logs --reboot" || true
sleep 60
ssh-keygen -f "$KNOWN_HOSTS" -R "$(full_dns_name $VM_NAME)"
az_vm_ssh "$VM_NAME" "cloud-init status --wait --long"
if az_vm_ssh "$VM_NAME" 'grep Trace /var/log/cloud-init\*'; then
echo "Potential issue in cloud-init logs"
exit 1
fi
az_vm_ssh "$VM_NAME" "sudo cat /run/cloud-init/result.json"
az_vm_ssh "$VM_NAME" "sudo systemd-analyze blame"
az_vm_ssh "$VM_NAME" "cloud-init analyze show"
az_vm_ssh "$VM_NAME" "cloud-init analyze blame"
echo 'After upgrade Networking config'
az_vm_ssh "$VM_NAME" "cat $NETCFG"
az_vm_ssh "$VM_NAME" "cloud-init query --format \"'cloud-region: {{cloud_name}}-{{region}}'\""
echo 'Get cloud-id'
az_vm_ssh "$VM_NAME" "cloud-id"
az_vm_ssh "$VM_NAME" "cloud-init query --format \"'cloud-region: {{cloud_name}}-{{ds.meta_data.imds.compute.location}}'\""
echo 'Validating whether metadata is being updated per boot LP:1819913. Expect last log to be Sytem Boot'
az_vm_ssh "$VM_NAME" "sudo reboot" || true
sleep 30
az_vm_ssh "$VM_NAME" "cloud-init status --wait --long"
echo 'After reboot'
az_vm_ssh "$VM_NAME" "grep 'Update datasource' /var/log/cloud-init.log"
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment