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

Justin Pettit jpettit at nicira.com
Wed Aug 25 17:07:26 UTC 2010


This series looks reasonable to me.

--Justin


On Aug 25, 2010, at 10:03 AM, Ben Pfaff wrote:

> 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
> 
> 
> _______________________________________________
> dev mailing list
> dev at openvswitch.org
> http://openvswitch.org/mailman/listinfo/dev_openvswitch.org





More information about the dev mailing list