#!/bin/sh -uex
# File is autogenerated by Cloud-Init and will be recreated after each boot

tmpdir=$(mktemp -d -t vmagent-XXXXXXXXX)
bin="$tmpdir/vmagent"
cfg="$tmpdir/vmagent_config.json"

sr0="/dev/sr0"
sr1="/dev/sr1"
vdb="/dev/vdb"
vdc="/dev/vdc"

trap 'cleanup' EXIT
cleanup() {
    exitcode=$?
    umount "$tmpdir"
    rmdir "$tmpdir"
    exit "$exitcode"
}

dev="$sr0"
if [ -e "$sr1" ]; then
    dev="$sr1"
fi

if [ -e "$vdb" ]; then
    device_label=$(lsblk -n -o LABEL "$vdb")
    if [ "$device_label" = "cidata" ]; then
        dev="$vdb"
    fi
fi

if [ -e "$vdc" ]; then
    device_label=$(lsblk -n -o LABEL "$vdc")
    if [ "$device_label" = "cidata" ]; then
        dev="$vdc"
    fi
fi

max_attempts=5
counter=0
until mount "$dev" "$tmpdir"; do
    exitcode=$?
    [[ counter -eq $max_attempts ]] && exit "$exitcode"
    counter=$(expr $counter + 1)
    echo "Failed to mount, wait for 1 second and try again"
    sleep 1
done

echo "Run vmagent from $dev"
"$bin" "$cfg"
