Bug#918320: openvswitch-switch: ifupdown integration can't work (obsolete/buggy scripts)
Package: openvswitch-switch Version: 2.10.0+2018.08.28+git.8ca7c82b7d+ds1-10 Followup-For: Bug #918320 Hi, I've been hit by this bug on stretch. Please, ask for a fix in stretch, either with the same patch or with a depends on the package that contains ifconfig (net-tools I think). Regards, Vincent -- System Information: Debian Release: buster/sid APT prefers stable-updates APT policy: (500, 'stable-updates'), (500, 'unstable'), (500, 'testing'), (500, 'stable'), (1, 'experimental') Architecture: amd64 (x86_64) Foreign Architectures: i386, armel, mipsel Kernel: Linux 4.19.0-1-amd64 (SMP w/4 CPU cores) Locale: LANG=fr_FR.utf8, LC_CTYPE=fr_FR.utf8 (charmap=UTF-8), LANGUAGE=fr_FR.utf8 (charmap=UTF-8) Shell: /bin/sh linked to /bin/dash Init: systemd (via /run/systemd/system) Versions of packages openvswitch-switch depends on: ii kmod25-2 ii lsb-base10.2018112800 ii netbase 5.5 ii openvswitch-common 2.10.0+2018.08.28+git.8ca7c82b7d+ds1-10 ii procps 2:3.3.15-2 ii python 2.7.15-3 ii uuid-runtime2.33-0.2 openvswitch-switch recommends no packages. openvswitch-switch suggests no packages. -- no debconf information
Bug#918320: openvswitch-switch: ifupdown integration can't work (obsolete/buggy scripts)
Package: openvswitch-switch Version: 2.10.0+2018.08.28+git.8ca7c82b7d+ds1-10 Severity: important Tags: patch Dear Maintainer, Just configured openvswitch 2.10 on a newly-upgraded Buster machine (fresh install with Stretch/9.6, immediately dist-upgraded to Buster). When raising the interfaces via ifup, configuration of OpenVSwitch-enabled interfaces would always failed. * Command run: # ifup xenbr0 * Outcome: xenbr0 not configured (error) * Expected outcome: xenbr0 + eno1 enabled and configured Part of the problem lies in the fact that the supplied ifupdown integration scripts are outdated: they call 'ifconfig' rather than the correct "ip link set up" invocation. Trivial patch attached. Probably unrelated, configuration will still fail... but that's another matter -- /etc/network/interfaces (snippet) --- auto lo iface lo inet loopback auto eno1 allow-hotplug eno1 iface eno1 inet manual up ip link set up dev eno1 down ip link set down dev eno1 ovs_type OVSPort ovs_bridge xenbr0 source /etc/network/interfaces.d/* -- /etc/network/interfaces.d/xenbr0 auto xenbr0 allow-ovs xenbr0 iface xenbr0 inet static address 172.20.1.54/24 mtu 1500 ovs_type OVSBridge ovs_ports eno1 dns-nameservers 172.20.0.254 -- -- System Information: Debian Release: buster/sid APT prefers testing APT policy: (500, 'testing') Architecture: amd64 (x86_64) Kernel: Linux 4.19.0-1-amd64 (SMP w/2 CPU cores) Locale: LANG=en_US.UTF-8, LC_CTYPE=en_US.UTF-8 (charmap=UTF-8), LANGUAGE=en_US.UTF-8 (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 25-2 ii lsb-base 10.2018112800 ii netbase 5.5 ii openvswitch-common 2.10.0+2018.08.28+git.8ca7c82b7d+ds1-10 ii procps 2:3.3.15-2 ii python 2.7.15-3 ii uuid-runtime 2.33-0.2 openvswitch-switch recommends no packages. openvswitch-switch suggests no packages. -- no debconf information --- /etc/network/if-pre-up.d/openvswitch~ 2018-12-14 08:47:15.0 +0100 +++ /etc/network/if-pre-up.d/openvswitch2019-01-03 15:20:50.911578187 +0100 @@ -25,6 +25,10 @@ ovs-vsctl --timeout=5 "$@" } +if_up() { +/bin/ip link set up dev "$1" +} + if (ovs_vsctl --version) > /dev/null 2>&1; then :; else exit 0 fi @@ -57,24 +61,24 @@ "${IFACE}" ${IF_OVS_OPTIONS} \ ${OVS_EXTRA+-- $OVS_EXTRA} -ifconfig "${IFACE}" up +if_up "${IFACE}" ;; OVSIntPort) ovs_vsctl -- --may-exist add-port "${IF_OVS_BRIDGE}"\ "${IFACE}" ${IF_OVS_OPTIONS} -- set Interface "${IFACE}"\ type=internal ${OVS_EXTRA+-- $OVS_EXTRA} -ifconfig "${IFACE}" up +if_up "${IFACE}" ;; OVSBond) ovs_vsctl -- --fake-iface add-bond "${IF_OVS_BRIDGE}"\ "${IFACE}" ${IF_OVS_BONDS} ${IF_OVS_OPTIONS} \ ${OVS_EXTRA+-- $OVS_EXTRA} -ifconfig "${IFACE}" up +if_up "${IFACE}" for slave in ${IF_OVS_BONDS} do -ifconfig "${slave}" up +if_up "${slave}" done ;; OVSPatchPort)