Patchwork [3/5] guest tools: qemu-ga, debian init files

login
register
mail settings
Submitter Michael Roth
Date Aug. 22, 2011, 5:09 p.m.
Message ID <1314032960-23474-4-git-send-email-mdroth@linux.vnet.ibm.com>
Download mbox | patch
Permalink /patch/110987/
State New
Headers show

Comments

Michael Roth - Aug. 22, 2011, 5:09 p.m.
Init files for debian/ubuntu guests

Signed-off-by: Michael Roth <mdroth@linux.vnet.ibm.com>
---
 .../projects/qemu-ga/debian/qemu-ga.init           |  112 ++++++++++++++++++++
 .../projects/qemu-ga/debian/qemu-ga.sysconfig      |   14 +++
 2 files changed, 126 insertions(+), 0 deletions(-)
 create mode 100755 guest-tools-iso/projects/qemu-ga/debian/qemu-ga.init
 create mode 100644 guest-tools-iso/projects/qemu-ga/debian/qemu-ga.sysconfig

Patch

diff --git a/guest-tools-iso/projects/qemu-ga/debian/qemu-ga.init b/guest-tools-iso/projects/qemu-ga/debian/qemu-ga.init
new file mode 100755
index 0000000..0a4fd91
--- /dev/null
+++ b/guest-tools-iso/projects/qemu-ga/debian/qemu-ga.init
@@ -0,0 +1,112 @@ 
+#!/bin/sh
+#
+# qemu-ga      Control the QEMU guest agent
+#
+# Author:      Adam Litke <agl@us.ibm.com>
+#
+# Copyright 2011 IBM, and/or its affiliates.
+# Released under the GPL
+#
+# chkconfig: 2345 50 40
+# description: The QEMU guest agent provides a mechanism for communication \
+#              with a QEMU host and a host<->guest command API.
+# processname: qemu-ga
+# pidfile: /var/run/qemu-ga.pid
+#
+
+### BEGIN INIT INFO
+# Provides: qemu-ga
+# Required-Start: $syslog
+# Required-Stop:
+# Should-Start:
+# Default-Start: 2 3 4 5
+# Default-Stop: 0 6
+# Short-Description: QEMU guest agent
+# Description: The QEMU guest agent provides a mechanism for communication
+#    with a QEMU host and a host<->guest command API.
+### END INIT INFO
+
+. /lib/lsb/init-functions
+. /etc/sysconfig/qemu-ga
+
+prog=qemu-ga
+bin=/usr/sbin/qemu-ga
+pidfile=${PIDFILE-"/var/run/qemu-ga.pid"}
+RETVAL=0
+
+wait_for_port() {
+    for i in `seq 1 5`; do
+        [ -f "$PORT" ] && return 0
+        sleep 1
+    done
+    return 1
+}
+
+start() {
+    log_daemon_msg "Starting QEMU Guest Agent" "$prog"
+
+    # Ensure the virtio_console module is loaded
+    /sbin/modprobe virtio_console
+    wait_for_port
+
+    log_daemon_msg "$pidfile" "$prog"
+    start_daemon -p $pidfile -- $bin $OPTIONS -f $pidfile
+    RETVAL=$?
+    log_end_msg $RETVAL
+    return $RETVAL
+}
+
+stop() {
+    log_daemon_msg "Stopping QEMU Guest Agent" "$prog"
+    killproc -p ${pidfile}
+    RETVAL=$?
+    log_end_msg $RETVAL
+    return $RETVAL
+}
+
+restart() {
+    stop
+    start
+    return $?
+}
+
+condrestart() {
+    pidofproc
+    if [ $? -eq 0 ]; then
+        log_daemon_msg "QEMU Guest Agent already running" "$prog"
+        RETVAL=0
+        log_end_msg $RETVAL
+    else
+        restart
+        return $?
+    fi
+
+}
+
+case "$1" in
+  start)
+	start
+    RETVAL=$?
+	;;
+  stop)
+	stop
+    RETVAL=$?
+	;;
+  status)
+    status_of_pid -p ${pidfile} $bin $prog
+	RETVAL=$?
+	;;
+  restart|force-reload)
+	restart
+    RETVAL=$?
+	;;
+  condrestart|try-restart)
+	condrestart
+    RETVAL=$?
+	;;
+  *)
+	echo $"Usage: $prog {start|stop|restart|force-reload|condrestart|try-restart|status|help}"
+	RETVAL=2
+esac
+
+exit $RETVAL
diff --git a/guest-tools-iso/projects/qemu-ga/debian/qemu-ga.sysconfig b/guest-tools-iso/projects/qemu-ga/debian/qemu-ga.sysconfig
new file mode 100644
index 0000000..c125a82
--- /dev/null
+++ b/guest-tools-iso/projects/qemu-ga/debian/qemu-ga.sysconfig
@@ -0,0 +1,14 @@ 
+# This file configures the qemu-ga guest agent daemon
+
+# METHOD= Sets the type of channel being used.  The only type currently
+# supported is virtio-serial
+METHOD="virtio-serial"
+
+# PORT= Sets the name of the channel to use.  This should be a device file
+PORT="/dev/virtio-ports/org.qemu.guest_agent.0"
+
+# LOGFILE= Sets the path to the log file.
+LOGFILE="/var/log/qemu-ga.log"
+
+# Set options according to above
+OPTIONS="-m $METHOD -p $PORT -l $LOGFILE -d"