parent
a7b2f7c9e1
commit
de23f6e4d4
3 changed files with 39 additions and 1 deletions
@ -0,0 +1,9 @@ |
||||
MAINTAINERCLEANFILES = Makefile.in
|
||||
|
||||
libvirtdir = ${sysconfdir}/libvirt
|
||||
hooksdir = ${libvirtdir}/hooks
|
||||
qemuddir = ${hooksdir}/qemu.d
|
||||
|
||||
dist_qemud_SCRIPTS = \
|
||||
hooks/qemu.d/ws
|
||||
|
@ -0,0 +1,29 @@ |
||||
#!/bin/bash |
||||
|
||||
echo "wsargs=$@" |
||||
|
||||
guest_name="$1" |
||||
operation="$2" |
||||
|
||||
# Operation migrate will: |
||||
# 1. Trigger migrate->prepare->start->started operation on the destination host. |
||||
# 2. Trigger stopped->release operations on the source host. |
||||
if [[ "$operation" == "started" || "$operation" == "stopped" ]] |
||||
then |
||||
ws_open_flag="" |
||||
ws_port_flag="" |
||||
|
||||
if [[ "$operation" == "started" ]] |
||||
then |
||||
ws_open_flag="--open" |
||||
|
||||
# libvirt hooks cannot call anything related to libvirt, i.e., |
||||
# virsh because a deadlock will happen. |
||||
server_vnc_port=$(grep "<graphics.*type=['\"]vnc['\"]" - | grep -oPm1 "(?<=port=['\"])\d+") |
||||
ws_port_flag="--server-vnc-port ${server_vnc_port}" |
||||
fi |
||||
|
||||
ws_command="striker-manage-vnc-pipes -vv --server ${guest_name} ${ws_port_flag} --component ws ${ws_open_flag}" |
||||
echo "wscmd=$ws_command" |
||||
$ws_command |
||||
fi |
Loading…
Reference in new issue