Close file descriptors for update-conserver on destroy/shutdown
[invirt/packages/invirt-remote.git] / files / usr / sbin / sipb-xen-vmcontrol
index dbe3c36..3bbf63e 100755 (executable)
@@ -14,20 +14,31 @@ ACTION="$2"
 MACHINE="d_$ORIGMACHINE"
 
 case "$ACTION" in
 MACHINE="d_$ORIGMACHINE"
 
 case "$ACTION" in
-    list|vcpu-list|destroy|uptime|shutdown)
+    list|vcpu-list|uptime)
         xm "$ACTION" "$MACHINE"
        ;;
         xm "$ACTION" "$MACHINE"
        ;;
-    create|reboot)
+    destroy|shutdown)
+       xm "$ACTION" "$MACHINE"
+       /usr/sbin/sipb-xen-update-conserver </dev/null >/dev/null 2>&1 &
+       ;;
+    install|create|reboot)
+       ARG="$3"
+       shift; shift; shift; MOREARGS="$*"
        if [ "$ACTION" = "reboot" ]; then
            xm destroy "$MACHINE" 2>/dev/null
        else
            xm list "$MACHINE" >/dev/null 2>/dev/null && echo "$MACHINE already exists" && exit 1
        if [ "$ACTION" = "reboot" ]; then
            xm destroy "$MACHINE" 2>/dev/null
        else
            xm list "$MACHINE" >/dev/null 2>/dev/null && echo "$MACHINE already exists" && exit 1
-       fi      
-       if [ -n "$3" ]; then
-           xm create sipb-database machine_name="$ORIGMACHINE" cdrom_image="$3"
+       fi
+       if [ "$ACTION" = "install" ]; then
+           xm create sipb-database machine_name="$ORIGMACHINE" installer="$ARG" installer_options="$MOREARGS"
+#      elif [ "$ACTION" = "copy" ]; then
+#           sipb-xen-duplicate ...etc...
+       elif [ -n "$ARG" ]; then
+           xm create sipb-database machine_name="$ORIGMACHINE" cdrom_image="$ARG"
        else
            xm create sipb-database machine_name="$ORIGMACHINE"
        fi
        else
            xm create sipb-database machine_name="$ORIGMACHINE"
        fi
+       (sleep 4; /usr/sbin/sipb-xen-update-conserver) </dev/null >/dev/null 2>&1 &
        ;;
     list-long)
        xm list --long "$MACHINE"
        ;;
     list-long)
        xm list --long "$MACHINE"