X-Git-Url: http://xvm.mit.edu/gitweb/invirt/packages/invirt-xen-config.git/blobdiff_plain/84cdb5b95b921725f369b5b0a5588a606aab96cc..8c35d5e3d5dd87c100aff61a7806816ba462ab26:/debian/invirt-xen-config.init?ds=sidebyside diff --git a/debian/invirt-xen-config.init b/debian/invirt-xen-config.init index ec23d0d..f069757 100755 --- a/debian/invirt-xen-config.init +++ b/debian/invirt-xen-config.init @@ -12,72 +12,27 @@ PACKAGE=invirt-xen-config NAME="$PACKAGE" DESC="Invirt Xen host" -PARENTPACKAGE=xend GEN_FILES=(/etc/xen/xend-config.sxp.invirt) -SYSVMS=(s_master s_remote s_console) -i=1 -for vm in "${SYSVMS[@]}"; do - GEN_FILES[$i]="/etc/xen/sysvms/$vm" - i=$((i + 1)) -done dpkg -s "$PACKAGE" >/dev/null 2>/dev/null || exit 0 . /lib/init/gen-files.sh . /lib/init/std-init.sh -start_sysvm() { - # Attempt to start a sysvm, but only if it's not running already - # somewhere on the cluster - - VM="$1" - DISK="/dev/xenvg/${VM}_hda" - - # Don't bother trying to start the VM if it's already running - if xm list "$1" >/dev/null 2>&1; then - return 1 - fi - - if lvchange -a n "$DISK" >/dev/null 2>&1 && lvchange -a ey "$DISK" >/dev/null 2>&1; then - # If we can disable and then re-enable the VMs disk, then the - # VM can't be running. If the lvchange -a ey succeeds, then we - # have an exclusive lock across the cluster on enabling the - # disk, which avoids the potential race condition of two hosts - # starting a VM at the same time - [ "$VERBOSE" != no ] && log_daemon_msg "Starting sysvm $VM" - xm create "sysvms/$VM" >/dev/null - [ "$VERBOSE" != no ] && log_end_msg $? - RET=0 - else - RET=1 - fi - - # Regardless of whether we could get the lock or not, the - # lvchange -a n probably disabled the LV somewhere; be sure we - # clean up - lvchange -a y "$DISK" >/dev/null 2>&1 - - return $RET -} - do_startup() { gen_files - for vm in "${SYSVMS[@]}"; do - start_sysvm "$vm" - done - echo 1 >/proc/sys/net/ipv4/ip_forward - for i in all default; do + for i in $(invirt-getconf xen.iface) default; do echo 1 >/proc/sys/net/ipv4/conf/$i/rp_filter echo 1 >/proc/sys/net/ipv4/conf/$i/proxy_arp done - - invoke-rc.d "$PARENTPACKAGE" "$1" + echo 0 >/proc/sys/net/ipv4/conf/all/proxy_arp } do_start() { do_startup "start" + xm sched-credit -d 0 -w 512 } do_reload() { @@ -85,7 +40,7 @@ do_reload() { } do_stop() { - invoke-rc.d "$PARENTPACKAGE" stop + : } std_init "$1"