From: Yang Zhang Date: Sun, 3 Aug 2008 04:46:09 +0000 (-0400) Subject: use invirt config in sipb-xen-lvm and to generate /etc/remctl/acl/remote X-Git-Tag: sipb-xen-remctl-auto/1.0.20~5 X-Git-Url: http://xvm.mit.edu/gitweb/invirt/packages/invirt-remote.git/commitdiff_plain/2cfee565a20a17fc0cb6e3b90d807e222cd302a0?hp=14bf5b20f67912442867b7dbca986636298f41c4 use invirt config in sipb-xen-lvm and to generate /etc/remctl/acl/remote svn path=/trunk/packages/sipb-xen-remctl-auto/; revision=834 --- diff --git a/config.todo b/config.todo deleted file mode 100644 index ae0f087..0000000 --- a/config.todo +++ /dev/null @@ -1,2 +0,0 @@ -files/usr/sbin/sipb-xen-lvm: db uri -files/etc/remctl/acl/remote: remote.mit.edu, realm diff --git a/debian/sipb-xen-remctl-auto.init b/debian/sipb-xen-remctl-auto.init new file mode 100755 index 0000000..70794ac --- /dev/null +++ b/debian/sipb-xen-remctl-auto.init @@ -0,0 +1,109 @@ +#! /bin/bash +### BEGIN INIT INFO +# Provides: sipb-xen-remctl-auto +# Required-Start: $local_fs $remote_fs +# Required-Stop: $local_fs $remote_fs +# Default-Start: 2 3 4 5 +# Default-Stop: 0 1 6 +# Short-Description: conserver config from invirt config for invirt host +# Description: +### END INIT INFO + +# Author: Invirt/XVM Project, MIT SIPB + +# Do NOT "set -e" + +# PATH should only include /usr/* if it runs after the mountnfs.sh script +PATH=/sbin:/usr/sbin:/bin:/usr/bin +DESC="Invirt host console config" +NAME=sipb-xen-remctl-auto +SCRIPTNAME=/etc/init.d/$NAME + +# Read configuration variable file if it is present +[ -r /etc/default/$NAME ] && . /etc/default/$NAME + +# Load the VERBOSE setting and other rcS variables +. /lib/init/vars.sh + +# Define LSB log_* functions. +# Depend on lsb-base (>= 3.0-6) to ensure that this file is present. +. /lib/lsb/init-functions + +gen_config() +{ + echo "host/$(invirt-getconf remote.hostname)@$(invirt-getconf authn.0.realm)" \ + > /etc/remctl/acl/remote +} + +# +# Function that starts the daemon/service +# +do_start() +{ + # Return + # 0 if daemon has been started + # 1 if daemon was already running + # 2 if daemon could not be started + gen_config +} + +# +# Function that stops the daemon/service +# +do_stop() +{ + return 0 +} + +do_reload() +{ + gen_config +} + +case "$1" in + start) + [ "$VERBOSE" != no ] && log_begin_msg "Starting $DESC" "$NAME" + do_start + case "$?" in + 0|1) [ "$VERBOSE" != no ] && log_end_msg 0 ;; + 2) [ "$VERBOSE" != no ] && log_end_msg 1 ;; + esac + ;; + stop) + [ "$VERBOSE" != no ] && log_daemon_msg "Stopping $DESC" "$NAME" + do_stop + case "$?" in + 0|1) [ "$VERBOSE" != no ] && log_end_msg 0 ;; + 2) [ "$VERBOSE" != no ] && log_end_msg 1 ;; + esac + ;; + reload|force-reload) + log_daemon_msg "Reloading $DESC" "$NAME" + do_reload + log_end_msg $? + ;; + restart) + log_daemon_msg "Restarting $DESC" "$NAME" + do_stop + case "$?" in + 0|1) + do_start + case "$?" in + 0) log_end_msg 0 ;; + 1) log_end_msg 1 ;; # Old process is still running + *) log_end_msg 1 ;; # Failed to start + esac + ;; + *) + # Failed to stop + log_end_msg 1 + ;; + esac + ;; + *) + echo "Usage: $SCRIPTNAME {start|stop|restart|reload|force-reload}" >&2 + exit 3 + ;; +esac + +: diff --git a/files/etc/remctl/acl/remote b/files/etc/remctl/acl/remote deleted file mode 100644 index e36e10e..0000000 --- a/files/etc/remctl/acl/remote +++ /dev/null @@ -1 +0,0 @@ -host/remote.mit.edu@ATHENA.MIT.EDU diff --git a/files/usr/sbin/sipb-xen-lvm b/files/usr/sbin/sipb-xen-lvm index 731b56c..15965cd 100755 --- a/files/usr/sbin/sipb-xen-lvm +++ b/files/usr/sbin/sipb-xen-lvm @@ -3,6 +3,7 @@ import sys import os.path from subprocess import call, PIPE, Popen +from invirt.config import structs as config def check(b): if not b: @@ -21,7 +22,7 @@ def ensureoff(machine): if subcommand == "lvcreate-all": from sipb_xen_database import * import re - connect('postgres://sipb-xen@sipb-xen-dev.mit.edu/sipb_xen') + connect(config.db.uri) for d in Disk.select(): check(re.match('^[A-Za-z0-9]+$', d.guest_device_name)) machine = Machine.get(d.machine_id)