[ovs-dev] [PATCH 2/2] utilities: Remove ovs-wdt.

Ben Pfaff blp at nicira.com
Wed Aug 25 17:03:43 UTC 2010


We used ovs-wdt at Nicira for a while when we were working on building
hardware switches.  We don't use it anymore, so remove it from the tree.

CC: Simon Horman <horms at verge.net.au>
Signed-off-by: Ben Pfaff <blp at nicira.com>
---
 debian/.gitignore              |    1 -
 debian/automake.mk             |    4 -
 debian/control                 |    8 --
 debian/openvswitch-wdt.default |   24 ----
 debian/openvswitch-wdt.dirs    |    2 -
 debian/openvswitch-wdt.init    |  176 ----------------------------
 debian/openvswitch-wdt.install |    1 -
 utilities/.gitignore           |    1 -
 utilities/automake.mk          |    3 -
 utilities/ovs-wdt.c            |  251 ----------------------------------------
 xenserver/openvswitch-xen.spec |    1 -
 11 files changed, 0 insertions(+), 472 deletions(-)
 delete mode 100644 debian/openvswitch-wdt.default
 delete mode 100644 debian/openvswitch-wdt.dirs
 delete mode 100755 debian/openvswitch-wdt.init
 delete mode 100644 debian/openvswitch-wdt.install
 delete mode 100644 utilities/ovs-wdt.c

diff --git a/debian/.gitignore b/debian/.gitignore
index aa8169b..3a6b6bb 100644
--- a/debian/.gitignore
+++ b/debian/.gitignore
@@ -16,4 +16,3 @@
 /openvswitch-switch
 /openvswitch-switch-config
 /openvswitch-switch.copyright
-/openvswitch-wdt
diff --git a/debian/automake.mk b/debian/automake.mk
index c8b791b..51eeed5 100644
--- a/debian/automake.mk
+++ b/debian/automake.mk
@@ -42,10 +42,6 @@ EXTRA_DIST += \
 	debian/openvswitch-switch.postinst \
 	debian/openvswitch-switch.postrm \
 	debian/openvswitch-switch.template \
-	debian/openvswitch-wdt.default \
-	debian/openvswitch-wdt.dirs \
-	debian/openvswitch-wdt.init \
-	debian/openvswitch-wdt.install \
 	debian/ovs-switch-setup \
 	debian/ovs-switch-setup.8 \
 	debian/po/POTFILES.in \
diff --git a/debian/control b/debian/control
index 32a8fca..80336e5 100644
--- a/debian/control
+++ b/debian/control
@@ -98,11 +98,3 @@ Description: Debug symbols for Open vSwitch packages
  This package contains the debug symbols for all the other openvswitch-*
  packages.  Install it to debug one of them or to examine a core dump
  produced by one of them.
-
-Package: openvswitch-wdt
-Architecture: any
-Recommends: openvswitch-switch
-Depends: ${shlibs:Depends}, ${misc:Depends}
-Description: Watchdog utility for Open vSwitch switches
- The ovs-wdt program included in this package manages the hardware
- watchdog timer in switches based on the Portwell NAR-5520 hardware.
diff --git a/debian/openvswitch-wdt.default b/debian/openvswitch-wdt.default
deleted file mode 100644
index 35625d4..0000000
--- a/debian/openvswitch-wdt.default
+++ /dev/null
@@ -1,24 +0,0 @@
-# This is a POSIX shell fragment                -*- sh -*-
-
-# To configure the Open vSwitch reliability packages, modify the following.
-# Afterward, the watchdog timer and oops handling will be configured 
-# automatically at boot time.  It can be started immediately with
-#       /etc/init.d/openvswitch-wdt start
-
-# Defaults for initscript
-# sourced by /etc/init.d/openvswitch-wdt
-# installed at /etc/default/openvswitch-wdt by the maintainer scripts
-
-# OOPS_REBOOT_TIME: The number of seconds the system should wait until it
-# reboots when the kernel oops.  A value of zero causes the system to 
-# wait forever.
-OOPS_REBOOT_TIME=1
-
-# WDT_TIMEOUT: The number of seconds the watchdog timer should wait until
-# it reboots the system when it hasn't received a keep-alive.  A value
-# of zero disables the watchdog timer.
-WDT_TIMEOUT=30
-
-# WDT_INTERVAL: The number of seconds to wait between sending keep-alive
-# messages to the watchdog timer.
-WDT_INTERVAL=1
diff --git a/debian/openvswitch-wdt.dirs b/debian/openvswitch-wdt.dirs
deleted file mode 100644
index ca882bb..0000000
--- a/debian/openvswitch-wdt.dirs
+++ /dev/null
@@ -1,2 +0,0 @@
-usr/bin
-usr/sbin
diff --git a/debian/openvswitch-wdt.init b/debian/openvswitch-wdt.init
deleted file mode 100755
index 06d8fcc..0000000
--- a/debian/openvswitch-wdt.init
+++ /dev/null
@@ -1,176 +0,0 @@
-#!/bin/sh 
-#
-# Example init.d script with LSB support.
-#
-# Please read this init.d carefully and modify the sections to
-# adjust it to the program you want to run.
-#
-# Copyright (c) 2007, 2009 Javier Fernandez-Sanguino <jfs at debian.org>
-#
-# This is free software; you may redistribute it and/or modify
-# it under the terms of the GNU General Public License as
-# published by the Free Software Foundation; either version 2,
-# or (at your option) any later version.
-#
-# This is distributed in the hope that it will be useful, but
-# WITHOUT ANY WARRANTY; without even the implied warranty of
-# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-# GNU General Public License for more details.
-#
-# You should have received a copy of the GNU General Public License with
-# the Debian operating system, in /usr/share/common-licenses/GPL;  if
-# not, write to the Free Software Foundation, Inc., 59 Temple Place,
-# Suite 330, Boston, MA 02111-1307 USA
-#
-### BEGIN INIT INFO
-# Provides:          openvswitch-wdt
-# Required-Start:    $network $local_fs $remote_fs
-# Required-Stop:     $remote_fs
-# Should-Start:      $named $syslog openvswitch-switch
-# Should-Stop:       
-# Default-Start:     2 3 4 5
-# Default-Stop:      0 1 6
-# Short-Description: Open vSwitch switch watchdog
-### END INIT INFO
-
-PATH=/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin
-
-DAEMON=/usr/sbin/ovs-wdt
-NAME=openvswitch-wdt
-DESC="Open vSwitch watchdog"
-
-PIDFILE=/var/run/openvswitch/$NAME.pid 
-
-test -x $DAEMON || exit 0
-
-. /lib/lsb/init-functions
-
-# Default options, these can be overriden by the information
-# at /etc/default/$NAME
-DAEMON_OPTS=""          # Additional options given to the daemon 
-
-DODTIME=10              # Time to wait for the daemon to die, in seconds
-                        # If this value is set too low you might not
-                        # let some daemons to die gracefully and
-                        # 'restart' will not work
-                        
-# Include defaults if available
-if [ -f /etc/default/$NAME ] ; then
-    . /etc/default/$NAME
-fi
-
-set -e
-
-running_pid() {
-# Check if a given process pid's cmdline matches a given name
-    pid=$1
-    name=$2
-    [ -z "$pid" ] && return 1 
-    [ ! -d /proc/$pid ] &&  return 1
-    return 0
-}
-
-running() {
-# Check if the process is running looking at /proc
-# (works for all users)
-
-    # No pidfile, probably no daemon present
-    [ ! -f "$PIDFILE" ] && return 1
-    pid=`cat $PIDFILE`
-    running_pid $pid $DAEMON || return 1
-    return 0
-}
-
-start_daemon() {
-# Start the process using the wrapper
-    if test $WDT_TIMEOUT != 0; then
-        start-stop-daemon --start --quiet -m --background --pidfile $PIDFILE \
-            --exec $DAEMON -- --timeout=$WDT_TIMEOUT --interval=$WDT_INTERVAL $DAEMON_OPTS 
-    fi
-
-    # Wait up to 3 seconds for the daemon to start.
-    for i in 1 2 3; do
-        if running; then
-            break
-        fi
-        sleep 1
-    done
-
-    echo $OOPS_REBOOT_TIME > /proc/sys/kernel/panic
-    echo 1 > /proc/sys/kernel/panic_on_oops
-}
-
-stop_daemon() {
-    start-stop-daemon -o --stop --pidfile $PIDFILE
-    rm $PIDFILE
-}
-
-case "$1" in
-  start)
-        log_daemon_msg "Starting $DESC " "$NAME"
-        # Check if it's running first
-        if running ;  then
-            log_progress_msg "apparently already running"
-            log_end_msg 0
-            exit 0
-        fi
-        if start_daemon && running ;  then
-            # It's ok, the daemon started and is running
-            log_end_msg 0
-        else
-            # Either we could not start it or it is not running
-            # after we did
-            # NOTE: Some daemons might die some time after they start,
-            # this code does not try to detect this and might give
-            # a false positive (use 'status' for that)
-            log_end_msg 1
-        fi
-        ;;
-  stop)
-        log_daemon_msg "Stopping $DESC" "$NAME"
-        if running ; then
-            # Only stop the daemon if we see it running
-            stop_daemon
-            log_end_msg $?
-        else
-            # If it's not running don't do anything
-            log_progress_msg "apparently not running"
-            log_end_msg 0
-            exit 0
-        fi
-        ;;
-  restart|force-reload)
-        log_daemon_msg "Restarting $DESC" "$NAME"
-        if running ;  then
-            stop_daemon
-            # Wait some sensible amount, some daemons need this
-            [ -n "$DIETIME" ] && sleep $DIETIME
-        fi
-        start_daemon
-        running
-        log_end_msg $?
-        ;;
-  status)
-        log_daemon_msg "Checking status of $DESC" "$NAME"
-        if running ;  then
-            log_progress_msg "running"
-            log_end_msg 0
-        else
-            log_progress_msg "apparently not running"
-            log_end_msg 1
-            exit 1
-        fi
-        ;;
-  # Use this if the daemon cannot reload
-  reload)
-        log_warning_msg "Reloading $NAME daemon: not implemented, as the daemon"
-        log_warning_msg "cannot re-read the config file (use restart)."
-        ;;
-  *)
-        N=/etc/init.d/$NAME
-        echo "Usage: $N {start|stop|restart|force-reload|status}" >&2
-        exit 1
-        ;;
-esac
-
-exit 0
diff --git a/debian/openvswitch-wdt.install b/debian/openvswitch-wdt.install
deleted file mode 100644
index 80a04e1..0000000
--- a/debian/openvswitch-wdt.install
+++ /dev/null
@@ -1 +0,0 @@
-_debian/utilities/ovs-wdt usr/sbin
diff --git a/utilities/.gitignore b/utilities/.gitignore
index fbaba1e..e9caed9 100644
--- a/utilities/.gitignore
+++ b/utilities/.gitignore
@@ -23,4 +23,3 @@
 /ovs-pki.8
 /ovs-vsctl
 /ovs-vsctl.8
-/ovs-wdt
diff --git a/utilities/automake.mk b/utilities/automake.mk
index 1fed6bb..cbe6128 100644
--- a/utilities/automake.mk
+++ b/utilities/automake.mk
@@ -79,9 +79,6 @@ utilities_ovs_vsctl_SOURCES = utilities/ovs-vsctl.c vswitchd/vswitch-idl.c
 utilities_ovs_vsctl_LDADD = lib/libopenvswitch.a $(SSL_LIBS)
 
 if HAVE_NETLINK
-bin_PROGRAMS += utilities/ovs-wdt
-utilities_ovs_wdt_SOURCES = utilities/ovs-wdt.c
-
 noinst_PROGRAMS += utilities/nlmon
 utilities_nlmon_SOURCES = utilities/nlmon.c
 utilities_nlmon_LDADD = lib/libopenvswitch.a
diff --git a/utilities/ovs-wdt.c b/utilities/ovs-wdt.c
deleted file mode 100644
index fedc65c..0000000
--- a/utilities/ovs-wdt.c
+++ /dev/null
@@ -1,251 +0,0 @@
-/* Copyright (c) 2008, 2009, 2010 Nicira Networks, Inc.
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at:
- *
- *     http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-#include <stdio.h>
-#include <stdlib.h>
-#include <string.h>
-#include <unistd.h>
-#include <fcntl.h>
-#include <errno.h>
-#include <getopt.h>
-#include <signal.h>
-#include <sys/ioctl.h>
-#include <linux/types.h>
-#include <linux/watchdog.h>
-
-
-/* Default values for the interval and timer.  In seconds. */
-#define DEFAULT_INTERVAL  1
-#define DEFAULT_TIMEOUT   30
-
-static int fd = -1;
-
-/* The WDT is automatically enabled when /dev/watchdog is opened.  If we
- * do not send the magic value to the device first before exiting, the 
- * system will reboot.  This function allows the program to exit without 
- * causing a reboot.
- */
-static void
-cleanup(void)
-{
-    if (fd == -1) {
-        return;
-    }
-
-    /* Writing the magic value "V" to the device is an indication that
-     * the device is about to be closed.  This causes the watchdog to be
-     * disabled after the call to close.
-     */
-    if (write(fd, "V", 1) != 1) {
-        fprintf(stderr, "Couldn't write magic val: %d\n", errno);
-        return;
-    }
-    close(fd); 
-    fd = -1;
-}
-
-
-/* If we receive a SIGINT, cleanup first, which will disable the
- * watchdog timer.
- */
-static void
-sighandler(int signum)
-{
-    cleanup();
-    signal(signum, SIG_DFL);
-    raise(signum);
-}
-
-static void
-setup_signal(void)
-{
-    struct sigaction action;
-
-    action.sa_handler = sighandler;
-    sigemptyset(&action.sa_mask);
-    action.sa_flags = 0;
-
-    if (sigaction(SIGINT, &action, NULL) != 0) {
-        fprintf(stderr, "Problem setting up SIGINT handler...\n");
-    }
-    if (sigaction(SIGTERM, &action, NULL) != 0) {
-        fprintf(stderr, "Problem setting up SIGTERM handler...\n");
-    }
-}
-
-
-/* Print information on the WDT hardware */
-static void
-print_wdt_info(void)
-{
-    struct watchdog_info ident;
-
-    if (ioctl(fd, WDIOC_GETSUPPORT, &ident) == -1) {
-        fprintf(stderr, "Couldn't get version: %d\n", errno);
-        cleanup();
-        exit(-1);
-    }
-    printf("identity: %s, ver: %d, opt: %#x\n", ident.identity, 
-            ident.firmware_version, ident.options);
-}
-
-
-static void
-print_help(char *progname)
-{
-    printf("%s: Watchdog timer utility\n", progname);
-    printf("usage: %s [OPTIONS]\n\n", progname);
-    printf("Options:\n");
-    printf("  -t, --timeout=SECS     expiration time of WDT (default: %d)\n",
-            DEFAULT_TIMEOUT);
-    printf("  -i, --interval=SECS    interval to send keep-alives (default: %d)\n",
-            DEFAULT_INTERVAL);
-    printf("  -d, --disable          disable the WDT and exit\n");
-    printf("  -h, --help             display this help message\n");
-    printf("  -v, --verbose          enable verbose printing\n");
-    printf("  -V, --version          display version information of WDT and exit\n");
-}
-
-
-int main(int argc, char *argv[])
-{
-    int arg;
-    int optc;
-    int verbose = 0;
-    int interval = DEFAULT_INTERVAL;
-    int timeout = DEFAULT_TIMEOUT;
-    static struct option const longopts[] =
-    { 
-        {"timeout", required_argument, NULL, 't'},
-        {"interval", required_argument, NULL, 'i'},
-        {"disable", no_argument, NULL, 'd'},
-        {"help", no_argument, NULL, 'h'},
-        {"verbose", no_argument, NULL, 'v'},
-        {"version", no_argument, NULL, 'V'},
-        {NULL, 0, NULL, 0}
-    };
-
-    setup_signal();
-
-    fd = open("/dev/watchdog", O_RDWR);
-    if (fd == -1) {
-        fprintf(stderr, "Couldn't open watchdog device: %s\n", strerror(errno));
-        exit(-1);
-    }
-
-    while ((optc = getopt_long(argc, argv, "t:i:dh?vV", longopts, NULL)) != -1) {
-        switch (optc) {
-        case 't':
-            timeout = strtol(optarg, NULL, 10);
-            if (!timeout) {
-                fprintf(stderr, "Invalid timeout: %s\n", optarg);
-                goto error;
-            }
-            break;
-
-       case 'i':
-            interval = strtol(optarg, NULL, 10);
-            if (!interval) {
-                fprintf(stderr, "Invalid interval: %s\n", optarg);
-                goto error;
-            }
-            break;
-
-        case 'd':
-            arg = WDIOS_DISABLECARD;
-            if (ioctl(fd, WDIOC_SETOPTIONS, &arg) == -1) {
-                fprintf(stderr, "Couldn't disable: %d\n", errno);
-                goto error;
-            }
-            cleanup();
-            exit(0);
-            break;
-
-        case 'h':
-            print_help(argv[0]);
-            cleanup();
-            exit(0);
-            break;
-
-        case 'v':
-            verbose = 1;
-            break;
-
-        case 'V':
-            print_wdt_info();
-            cleanup();
-            exit(0);
-            break;
-
-        default:
-            print_help(argv[0]);
-            goto error;
-            break;
-        }
-    }
-
-    argc -= optind;
-    argv += optind;
-
-    /* Sanity-check the arguments */
-    if (argc != 0) {
-        fprintf(stderr, "Illegal argument: %s\n", argv[0]);
-        goto error;
-    }
-
-    if (verbose) {
-        print_wdt_info();
-        printf("timeout: %d, interval: %d\n", timeout, interval);
-    }
-
-    /* Prevent the interval being greater than the timeout, since it
-     * will always cause a reboot.
-     */
-    if (interval > timeout) {
-        fprintf(stderr, "Interval greater than timeout: %d > %d\n", 
-                interval, timeout);
-        goto error;
-    }
-
-    /* Always set the timeout */
-    if (ioctl(fd, WDIOC_SETTIMEOUT, &timeout) == -1) {
-        fprintf(stderr, "Couldn't set timeout: %d\n", errno);
-        goto error;
-    }
-
-    /* Loop and send a keep-alive every "interval" seconds */
-    while (1) {
-        if (verbose) {
-            if (ioctl(fd, WDIOC_GETTIMELEFT, &arg) == -1) {
-                fprintf(stderr, "Couldn't get time left: %d\n", errno);
-                goto error;
-            }
-            printf("Sending keep alive, time remaining: %d\n", arg);
-        }
-
-        /* Send a keep-alive.  The argument is ignored */
-        if (ioctl(fd, WDIOC_KEEPALIVE, &arg) == -1) {
-            fprintf(stderr, "Couldn't keepalive: %d\n", errno);
-            goto error;
-        }
-
-        sleep(interval);
-    }
-
-    /* Never directly reached... */
-error:
-    cleanup();
-    exit(-1);
-}
diff --git a/xenserver/openvswitch-xen.spec b/xenserver/openvswitch-xen.spec
index 0b3c655..3b70a7e 100644
--- a/xenserver/openvswitch-xen.spec
+++ b/xenserver/openvswitch-xen.spec
@@ -96,7 +96,6 @@ rm \
     $RPM_BUILD_ROOT/usr/bin/ovs-kill \
     $RPM_BUILD_ROOT/usr/bin/ovs-openflowd \
     $RPM_BUILD_ROOT/usr/bin/ovs-pki \
-    $RPM_BUILD_ROOT/usr/bin/ovs-wdt \
     $RPM_BUILD_ROOT/usr/share/man/man8/ovs-controller.8 \
     $RPM_BUILD_ROOT/usr/share/man/man8/ovs-discover.8 \
     $RPM_BUILD_ROOT/usr/share/man/man8/ovs-kill.8 \
-- 
1.7.1





More information about the dev mailing list