Package: openvswitch-switch
Version: 2.6.2~pre+git20161223-3
Severity: important

Dear Maintainer,

I setup openvswitch-switch with a small number of switches that have one 
physical interface each. Upon boot, they get configured extremely slow, taking 
over half an hour to get basic networking up.

On IRC and the upstream repository, I found out that systemd now needs 
SYSTEMCTL_SKIP_REDIRECT=yes on newer systems, on top of the existing 
_SYSTEMCTL_SKIP_REDIRECT=yes. This is added in the upstream version, but not in 
the current versions in Stretch, Buster or Sid.

Adding this makes the system configure the switches and interfaces in about 2 
seconds and everything works perfectly fine. Reportbug attached the 
modification as well, but since it is already known upstream this should be old 
news.

Regards,
John

-- System Information:
Debian Release: 9.0
  APT prefers stable
  APT policy: (500, 'stable')
Architecture: amd64 (x86_64)

Kernel: Linux 4.9.0-3-amd64 (SMP w/40 CPU cores)
Locale: LANG=en_US.UTF-8, LC_CTYPE=en_US.UTF-8 (charmap=UTF-8), 
LANGUAGE=en_US:en (charmap=UTF-8)
Shell: /bin/sh linked to /bin/dash
Init: systemd (via /run/systemd/system)

Versions of packages openvswitch-switch depends on:
ii  kmod                                   23-2
ii  libatomic1                             6.3.0-18
ii  libc6                                  2.24-11+deb9u1
ii  libpython2.7-stdlib [python-argparse]  2.7.13-2
ii  netbase                                5.4
ii  openvswitch-common                     2.6.2~pre+git20161223-3
ii  procps                                 2:3.3.12-3
ii  python                                 2.7.13-2
ii  uuid-runtime                           2.29.2-1

openvswitch-switch recommends no packages.

openvswitch-switch suggests no packages.

-- Configuration Files:
/etc/init.d/openvswitch-switch changed:
(test -x /usr/sbin/ovs-vswitchd && test -x /usr/sbin/ovsdb-server) || exit 0
_SYSTEMCTL_SKIP_REDIRECT=yes
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


-- no debconf information
_______________________________________________
dev mailing list
[email protected]
https://mail.openvswitch.org/mailman/listinfo/ovs-dev

Reply via email to