Browse Source

Check VM is stopped or not before try to create route

Sometimes the service try to create route for stopped VM (or template). This case creates a loop and avoid the script to create routes for others VMs while he failed to create route for the stopped VM/template. We met this case with a template...
master
nemo 3 years ago
parent
commit
e41806ae48
  1. 14
      inotify-triggered-vm-route-creation.sh

14
inotify-triggered-vm-route-creation.sh

@ -1,9 +1,13 @@
#!/bin/sh
inotifywait -q -m --format '%f' -e create /run/qemu-server/ | while read -r vm; do
# Only act if the line is not empty
if [ ${vm} ] && [ "$(echo ${vm} | sed -E 's/[0-9]{3}(\..*)/\1/')" = ".qmp" ]; then
# The sed transforms 100.pid (or .whatever) to 100
creationRoutesVM $(echo ${vm} | sed -E 's/([0-9]{3})\..*/\1/')
fi
# Only act if the line is not empty
if [ ${vm} ] && [ "$(echo ${vm} | sed -E 's/[0-9]{3}(\..*)/\1/')" = ".qmp" ]; then
# Get VM id ; The sed transforms 100.pid (or .whatever) to 100
vm_id=$(echo ${vm} | sed -E 's/([0-9]{3})\..*/\1/')
# If vm status is not "stopped"
if [ "$(qm status ${vm_id})" != "status: stopped" ]; then
creationRoutesVM ${vm_id}
fi
fi
done

Loading…
Cancel
Save