[ovs-dev] [PATCH 2/2] utilities: Remove ovs-wdt.
Ben Pfaff
blp at nicira.com
Wed Aug 25 10:09:23 PDT 2010
Wow, it must be instant-review day today.
Thanks, I pushed it.
On Wed, Aug 25, 2010 at 10:07:26AM -0700, Justin Pettit wrote:
> 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