|
|
|
@ -8,17 +8,23 @@ REMOTE_DIRECTORY="/home/lumia/src/"
|
|
|
|
if [ "$1" = "-u" ]; then
|
|
|
|
if [ "$1" = "-u" ]; then
|
|
|
|
vm_name="$2"
|
|
|
|
vm_name="$2"
|
|
|
|
mountpoint="${MOUNTPOINT_PARENT}/${vm_name}.vm"
|
|
|
|
mountpoint="${MOUNTPOINT_PARENT}/${vm_name}.vm"
|
|
|
|
# TODO: Print some messages here.
|
|
|
|
if [ -z "${vm_name}" ]; then
|
|
|
|
|
|
|
|
echo "Virtual machine name not provided."
|
|
|
|
|
|
|
|
exit 1
|
|
|
|
|
|
|
|
fi
|
|
|
|
|
|
|
|
|
|
|
|
if mount | grep -q "on ${mountpoint} "; then
|
|
|
|
if mount | grep -q "on ${mountpoint} "; then
|
|
|
|
|
|
|
|
echo "Unmounting ${mountpoint}."
|
|
|
|
fusermount -u "${mountpoint}"
|
|
|
|
fusermount -u "${mountpoint}"
|
|
|
|
fi
|
|
|
|
fi
|
|
|
|
|
|
|
|
|
|
|
|
if virsh list | grep -q " ${vm_name} "; then
|
|
|
|
if virsh list | grep -q " ${vm_name} "; then
|
|
|
|
|
|
|
|
echo "Stopping ${vm_name}"
|
|
|
|
virsh destroy "${vm_name}"
|
|
|
|
virsh destroy "${vm_name}"
|
|
|
|
fi
|
|
|
|
fi
|
|
|
|
|
|
|
|
|
|
|
|
if [ -d "${mountpoint}" ]; then
|
|
|
|
if [ -d "${mountpoint}" ]; then
|
|
|
|
|
|
|
|
echo "Deleting directory ${mountpoint}."
|
|
|
|
rmdir "${mountpoint}"
|
|
|
|
rmdir "${mountpoint}"
|
|
|
|
fi
|
|
|
|
fi
|
|
|
|
|
|
|
|
|
|
|
|
@ -26,6 +32,11 @@ else
|
|
|
|
vm_name="$1"
|
|
|
|
vm_name="$1"
|
|
|
|
mountpoint="${MOUNTPOINT_PARENT}/${vm_name}.vm"
|
|
|
|
mountpoint="${MOUNTPOINT_PARENT}/${vm_name}.vm"
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
if [ -z "${vm_name}" ]; then
|
|
|
|
|
|
|
|
echo "Virtual machine name not provided."
|
|
|
|
|
|
|
|
exit 1
|
|
|
|
|
|
|
|
fi
|
|
|
|
|
|
|
|
|
|
|
|
if [ "$(virsh list | grep " ${vm_name} ")" = "" ]; then
|
|
|
|
if [ "$(virsh list | grep " ${vm_name} ")" = "" ]; then
|
|
|
|
virsh start "${vm_name}"
|
|
|
|
virsh start "${vm_name}"
|
|
|
|
fi
|
|
|
|
fi
|
|
|
|
@ -45,10 +56,10 @@ else
|
|
|
|
# TODO: Make sure this directory isn't made if the vm fails to start or connect.
|
|
|
|
# TODO: Make sure this directory isn't made if the vm fails to start or connect.
|
|
|
|
mkdir -p "${mountpoint}"
|
|
|
|
mkdir -p "${mountpoint}"
|
|
|
|
|
|
|
|
|
|
|
|
# TODO: This needs a better "error" message and a proper timeout.
|
|
|
|
# TODO: This needs a proper timeout.
|
|
|
|
echo "Attempting to mount over ssh."
|
|
|
|
echo "Attempting to mount over ssh."
|
|
|
|
until sshfs "${vm_ip_address}:${REMOTE_DIRECTORY}" "${mountpoint}"; do
|
|
|
|
until sshfs "${vm_ip_address}:${REMOTE_DIRECTORY}" "${mountpoint}"; do
|
|
|
|
|
|
|
|
echo "Could not connect via SSH, retrying."
|
|
|
|
sleep 3
|
|
|
|
sleep 3
|
|
|
|
echo "An error occurred, retrying."
|
|
|
|
|
|
|
|
done
|
|
|
|
done
|
|
|
|
fi
|
|
|
|
fi
|
|
|
|
|