From 5222ea5a097f4c3bdaf07389a36f247b1c4ff057 Mon Sep 17 00:00:00 2001 From: =?utf8?q?Fabian=20Gr=C3=BCnbichler?= Date: Fri, 26 Aug 2016 11:57:59 +0200 Subject: [PATCH] remove openvswitch-switch init script the init script serves exactly the same purpose as the openvswitch-nonetwork systemd unit - having both does not seem to break anything, but it is racy and confusing. --- .../delete-openvswitch-switch-init.patch | 152 ++++++++++++++++++ .../remove-init-script-on-upgrades.patch | 15 ++ pvepatches/series | 4 +- 3 files changed, 169 insertions(+), 2 deletions(-) create mode 100644 pvepatches/delete-openvswitch-switch-init.patch create mode 100644 pvepatches/remove-init-script-on-upgrades.patch diff --git a/pvepatches/delete-openvswitch-switch-init.patch b/pvepatches/delete-openvswitch-switch-init.patch new file mode 100644 index 0000000..f6a75a6 --- /dev/null +++ b/pvepatches/delete-openvswitch-switch-init.patch @@ -0,0 +1,152 @@ +diff --git a/debian/openvswitch-switch.init b/debian/openvswitch-switch.init +deleted file mode 100755 +index aece780..0000000 +--- a/debian/openvswitch-switch.init ++++ /dev/null +@@ -1,146 +0,0 @@ +-#! /bin/sh +-# +-# Copyright (C) 2011, 2012, 2016 Nicira, 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. +-# +-### BEGIN INIT INFO +-# Provides: openvswitch-switch +-# Required-Start: $network $named $remote_fs $syslog +-# Required-Stop: $remote_fs +-# Default-Start: 2 3 4 5 +-# Default-Stop: 0 1 6 +-# Short-Description: Open vSwitch switch +-# Description: openvswitch-switch provides the userspace components and utilities for +-# the Open vSwitch kernel-based switch. +-### END INIT INFO +- +-(test -x /usr/sbin/ovs-vswitchd && test -x /usr/sbin/ovsdb-server) || exit 0 +- +-_SYSTEMCTL_SKIP_REDIRECT=yes +- +-. /usr/share/openvswitch/scripts/ovs-lib +-test -e /etc/default/openvswitch-switch && . /etc/default/openvswitch-switch +- +-network_interfaces () { +- INTERFACES="/etc/network/interfaces" +- [ -e "${INTERFACES}" ] || return +- bridges=`ifquery --allow ovs --list` +- [ -n "${bridges}" ] && $1 --allow=ovs ${bridges} +-} +- +-load_kmod () { +- ovs_ctl load-kmod || exit $? +-} +- +-start () { +- if ovs_ctl load-kmod; then +- : +- else +- echo "Module has probably not been built for this kernel." +- if ! test -d /usr/share/doc/openvswitch-datapath-source; then +- echo "Install the openvswitch-datapath-source package, then read" +- else +- echo "For instructions, read" +- fi +- echo "/usr/share/doc/openvswitch-datapath-source/README.Debian" +- +- if test X"$OVS_MISSING_KMOD_OK" = Xyes; then +- # We're being invoked by the package postinst. Do not +- # fail package installation just because the kernel module +- # is not available. +- exit 0 +- fi +- fi +- set ovs_ctl ${1-start} --system-id=random +- if test X"$FORCE_COREFILES" != X; then +- set "$@" --force-corefiles="$FORCE_COREFILES" +- fi +- set "$@" $OVS_CTL_OPTS +- "$@" || exit $? +- if [ "$2" = "start" ] && [ "$READ_INTERFACES" != "no" ]; then +- network_interfaces ifup +- fi +-} +- +-stop () { +- [ "$READ_INTERFACES" != "no" ] && network_interfaces ifdown +- ovs_ctl stop +-} +- +-restart () { +- # OVS_FORCE_RELOAD_KMOD can be set by package postinst script. +- if [ "$1" = "--save-flows=yes" ] || \ +- [ "${OVS_FORCE_RELOAD_KMOD}" = "no" ]; then +- start restart +- elif [ "${OVS_FORCE_RELOAD_KMOD}" = "yes" ]; then +- depmod -a +- +- if [ -e /sys/module/openvswitch ]; then +- LOADED_SRCVERSION=`cat /sys/module/openvswitch/srcversion \ +- 2>/dev/null` +- LOADED_VERSION=`cat /sys/module/openvswitch/version \ +- 2>/dev/null` +- fi +- SRCVERSION=`modinfo -F srcversion openvswitch 2>/dev/null` +- VERSION=`modinfo -F version openvswitch 2>/dev/null` +- +- ovs_ctl_log "Package upgrading:\n"\ +- "Loaded version: ${LOADED_VERSION} ${LOADED_SRCVERSION}.\n"\ +- "Version on disk: ${VERSION} ${SRCVERSION}." +- +- # If the kernel module was previously loaded and it is different than +- # the kernel module on disk, then do a 'force-reload-kmod'. +- if [ -n "${LOADED_SRCVERSION}" ] && [ -n "${SRCVERSION}" ] && \ +- [ "${SRCVERSION}" != "${LOADED_SRCVERSION}" ]; then +- start force-reload-kmod +- else +- start restart +- fi +- else +- READ_INTERFACES="no" stop +- READ_INTERFACES="no" start +- fi +-} +- +-case $1 in +- start) +- start +- ;; +- stop | force-stop) +- stop +- ;; +- reload | force-reload) +- # The OVS daemons keep up-to-date. +- ;; +- restart) +- shift +- restart "$@" +- ;; +- status) +- ovs_ctl status +- exit $? +- ;; +- force-reload-kmod) +- start force-reload-kmod +- ;; +- load-kmod) +- load_kmod +- ;; +- *) +- echo "Usage: $0 {start|stop|restart|force-reload|status|force-stop|force-reload-kmod|load-kmod}" >&2 +- exit 1 +- ;; +-esac +- +-exit 0 diff --git a/pvepatches/remove-init-script-on-upgrades.patch b/pvepatches/remove-init-script-on-upgrades.patch new file mode 100644 index 0000000..590ee1f --- /dev/null +++ b/pvepatches/remove-init-script-on-upgrades.patch @@ -0,0 +1,15 @@ +diff --git a/debian/openvswitch-switch.postinst b/debian/openvswitch-switch.postinst +index 2464572..160b37b 100755 +--- a/debian/openvswitch-switch.postinst ++++ b/debian/openvswitch-switch.postinst +@@ -33,6 +33,10 @@ case "$1" in + fi + done + fi ++ ++ if dpkg --compare-versions "$2" le "2.6.0-1"; then ++ rm -f /etc/init.d/openvswitch-switch ++ fi + ;; + + abort-upgrade|abort-remove|abort-deconfigure) diff --git a/pvepatches/series b/pvepatches/series index e810b29..2c1c662 100644 --- a/pvepatches/series +++ b/pvepatches/series @@ -1,5 +1,5 @@ remove-unneeded-from-control.patch -fix-init-script-patch -fix-init-depends.patch install-systemd-services.patch +delete-openvswitch-switch-init.patch use-systemctl-inside-ifupdown.patch +remove-init-script-on-upgrades.patch -- 2.39.2