Your message dated Sat, 09 May 2020 11:53:52 +0100
with message-id 
<fd7fa4d56896c35aab49a5a51cb69727dc60e87a.ca...@adam-barratt.org.uk>
and subject line Closing requests included in 10.4 point release
has caused the Debian Bug report #953246,
regarding buster-pu: package 
openvswitch/2.10.0+2018.08.28+git.8ca7c82b7d+ds1-12+deb10u1
to be marked as done.

This means that you claim that the problem has been dealt with.
If this is not the case it is now your responsibility to reopen the
Bug report if necessary, and/or fix the problem forthwith.

(NB: If you are a system administrator and have no idea what this
message is talking about, this may indicate a serious mail system
misconfiguration somewhere. Please contact [email protected]
immediately.)


-- 
953246: https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=953246
Debian Bug Tracking System
Contact [email protected] with problems
--- Begin Message ---
Package: release.debian.org
Severity: normal
Tags: buster
User: [email protected]
Usertags: pu

Dear release team,

We experienced (in production) a bug in OVS which lead to ovs-vswitchd
being killed, leading to network downtime in our OpenStack environment.
Attached is the fix. I wish to upload this update to Buster.

On top of this upstream fix, a small typo fix in ifupdown.sh.

Please let me upload
openvswitch/2.10.0+2018.08.28+git.8ca7c82b7d+ds1-12+deb10u2

Cheers,

Thomas Goirand (zigo)
diff -Nru openvswitch-2.10.0+2018.08.28+git.8ca7c82b7d+ds1/debian/changelog 
openvswitch-2.10.0+2018.08.28+git.8ca7c82b7d+ds1/debian/changelog
--- openvswitch-2.10.0+2018.08.28+git.8ca7c82b7d+ds1/debian/changelog   
2019-06-24 08:53:33.000000000 +0200
+++ openvswitch-2.10.0+2018.08.28+git.8ca7c82b7d+ds1/debian/changelog   
2019-09-19 14:40:49.000000000 +0200
@@ -1,3 +1,11 @@
+openvswitch (2.10.0+2018.08.28+git.8ca7c82b7d+ds1-12+deb10u2) buster; 
urgency=medium
+
+  * Fixed debian/ifupdown.sh typo: ovs_vsctl -> ovs-vsctl.
+  * Add patch to fix ovs-vswitchd dying:
+    - Fix_vswitchd_abort_when_a_port_is_added_and_the_controller_is_down.patch
+
+ -- Thomas Goirand <[email protected]>  Thu, 19 Sep 2019 14:40:49 +0200
+
 openvswitch (2.10.0+2018.08.28+git.8ca7c82b7d+ds1-12+deb10u1) buster; 
urgency=medium
 
   * Some fixups in debian/ifupdown.sh to allow setting-up the MTU.
diff -Nru openvswitch-2.10.0+2018.08.28+git.8ca7c82b7d+ds1/debian/ifupdown.sh 
openvswitch-2.10.0+2018.08.28+git.8ca7c82b7d+ds1/debian/ifupdown.sh
--- openvswitch-2.10.0+2018.08.28+git.8ca7c82b7d+ds1/debian/ifupdown.sh 
2019-06-24 08:53:33.000000000 +0200
+++ openvswitch-2.10.0+2018.08.28+git.8ca7c82b7d+ds1/debian/ifupdown.sh 
2019-09-19 14:40:49.000000000 +0200
@@ -103,10 +103,10 @@
                     ifdown --allow="${IFACE}" ${IF_OVS_PORTS}
                 fi
 
-                ovs_vsctl -- --if-exists del-br "${IFACE}"
+                ovs-vsctl -- --if-exists del-br "${IFACE}"
                 ;;
         OVSPort|OVSIntPort|OVSBond|OVSPatchPort|OVSTunnel)
-                ovs_vsctl -- --if-exists del-port "${IF_OVS_BRIDGE}" "${IFACE}"
+                ovs-vsctl -- --if-exists del-port "${IF_OVS_BRIDGE}" "${IFACE}"
                 ;;
         *)
                 exit 0
diff -Nru 
openvswitch-2.10.0+2018.08.28+git.8ca7c82b7d+ds1/debian/patches/Fix_vswitchd_abort_when_a_port_is_added_and_the_controller_is_down.patch
 
openvswitch-2.10.0+2018.08.28+git.8ca7c82b7d+ds1/debian/patches/Fix_vswitchd_abort_when_a_port_is_added_and_the_controller_is_down.patch
--- 
openvswitch-2.10.0+2018.08.28+git.8ca7c82b7d+ds1/debian/patches/Fix_vswitchd_abort_when_a_port_is_added_and_the_controller_is_down.patch
    1970-01-01 01:00:00.000000000 +0100
+++ 
openvswitch-2.10.0+2018.08.28+git.8ca7c82b7d+ds1/debian/patches/Fix_vswitchd_abort_when_a_port_is_added_and_the_controller_is_down.patch
    2019-09-19 14:40:49.000000000 +0200
@@ -0,0 +1,87 @@
+Author: Numan Siddique <[email protected]>
+Date: Thu, 18 Oct 2018 16:47:05 +0530
+Description: connmgr: Fix vswitchd abort when a port is added and the 
controller is down
+ We see the below trace when a port is added to a bridge and the configured
+ controller is down
+ .
+ 0x00007fb002f8b207 in raise () from /lib64/libc.so.6
+ 0x00007fb002f8c8f8 in abort () from /lib64/libc.so.6
+ 0x00007fb004953026 in ofputil_protocol_to_ofp_version () from 
/lib64/libopenvswitch-2.10.so.0
+ 0x00007fb00494e38e in ofputil_encode_port_status () from 
/lib64/libopenvswitch-2.10.so.0
+ 0x00007fb004ef1c5b in connmgr_send_port_status () from 
/lib64/libofproto-2.10.so.0
+ 0x00007fb004efa9f4 in ofport_install () from /lib64/libofproto-2.10.so.0
+ 0x00007fb004efbfb2 in update_port () from /lib64/libofproto-2.10.so.0
+ 0x00007fb004efc7f9 in ofproto_port_add () from /lib64/libofproto-2.10.so.0
+ 0x0000556d540a3f95 in bridge_add_ports__ ()
+ 0x0000556d540a5a47 in bridge_reconfigure ()
+ 0x0000556d540a9199 in bridge_run ()
+ 0x0000556d540a02a5 in main ()
+ .
+ The abort is because of ofputil_protocol_to_ofp_version() is called with 
invalid
+ protocol - OFPUTIL_P_NONE. Please see [1] for more details. Similar aborts are
+ seen as reported in [2].
+ .
+ The commit [3] changed the behavior of the function rconn_get_version().
+ Before the commit [3], the function ofconn_receives_async_msg() would always
+ return false if the connection to the controller was down, since
+ rconn_get_version() used to return -1. This patch now checks the rconn
+ connection status in ofconn_receives_async_msg() and returns false if not
+ connected. This would avoid the aborts seen in the above stack trace.
+ .
+ The issue can be reproduced by running the test added in this patch
+ without the fix.
+ .
+ [1] - https://bugzilla.redhat.com/show_bug.cgi?id=1640045
+ [2] - https://bugzilla.redhat.com/show_bug.cgi?id=1637926
+ .
+ [3] - 476d2551ab ("rconn: Introduce new invariant to fix assertion failure in 
corner case.")
+Signed-off-by: Numan Siddique <[email protected]>
+Signed-off-by: Ben Pfaff <[email protected]>
+Acked-by: Eelco Chaudron <[email protected]>
+Origin: upstream, 
https://github.com/openvswitch/ovs/commit/903f6c4f8a9bce51984435ca3990f2717c63f703.patch
+Last-Update: 2020-03-06
+
+diff --git a/ofproto/connmgr.c b/ofproto/connmgr.c
+index 50e0b8f991..9431200249 100644
+--- a/ofproto/connmgr.c
++++ b/ofproto/connmgr.c
+@@ -1538,6 +1538,10 @@ ofconn_receives_async_msg(const struct ofconn *ofconn,
+     ovs_assert(reason < 32);
+     ovs_assert((unsigned int) type < OAM_N_TYPES);
+ 
++    if (!rconn_is_connected(ofconn->rconn)) {
++        return false;
++    }
++
+     /* Keep the following code in sync with the documentation in the
+      * "Asynchronous Messages" section in 'topics/design' */
+ 
+diff --git a/tests/bridge.at b/tests/bridge.at
+index 1c36185632..ee398bdb1e 100644
+--- a/tests/bridge.at
++++ b/tests/bridge.at
+@@ -79,3 +79,24 @@ AT_CHECK([ovs-vsctl --columns=status list controller | dnl
+ OVS_APP_EXIT_AND_WAIT([ovs-vswitchd])
+ OVS_APP_EXIT_AND_WAIT([ovsdb-server])
+ AT_CLEANUP
++
++AT_SETUP([bridge - add port after stopping controller])
++OVS_VSWITCHD_START
++
++dnl Start ovs-testcontroller
++ovs-testcontroller --detach punix:controller --pidfile=ovs-testcontroller.pid
++OVS_WAIT_UNTIL([test -e controller])
++
++AT_CHECK([ovs-vsctl set-controller br0 unix:controller])
++AT_CHECK([ovs-vsctl add-port br0 p1 -- set Interface p1 type=internal], [0], 
[ignore])
++AT_CHECK([ovs-appctl -t ovs-vswitchd version], [0], [ignore])
++
++# Now kill the ovs-testcontroller
++kill `cat ovs-testcontroller.pid`
++OVS_WAIT_UNTIL([! test -e controller])
++AT_CHECK([ovs-vsctl --no-wait add-port br0 p2 -- set Interface p2 
type=internal], [0], [ignore])
++AT_CHECK([ovs-appctl -t ovs-vswitchd version], [0], [ignore])
++
++OVS_APP_EXIT_AND_WAIT([ovs-vswitchd])
++OVS_APP_EXIT_AND_WAIT([ovsdb-server])
++AT_CLEANUP
diff -Nru 
openvswitch-2.10.0+2018.08.28+git.8ca7c82b7d+ds1/debian/patches/series 
openvswitch-2.10.0+2018.08.28+git.8ca7c82b7d+ds1/debian/patches/series
--- openvswitch-2.10.0+2018.08.28+git.8ca7c82b7d+ds1/debian/patches/series      
2019-06-24 08:53:33.000000000 +0200
+++ openvswitch-2.10.0+2018.08.28+git.8ca7c82b7d+ds1/debian/patches/series      
2019-09-19 14:40:49.000000000 +0200
@@ -10,3 +10,4 @@
 blacklist-ofproto-async-msg-ctrl-of1.3-because-of-mips.patch
 remove-yet-another-mips-failing-test.patch
 remove-non-deterministic-tests.patch
+Fix_vswitchd_abort_when_a_port_is_added_and_the_controller_is_down.patch

--- End Message ---
--- Begin Message ---
Package: release.debian.org
Version: 10.4

Hi,

Each of the uploads referred to by these bugs was included in today's
stable point release.

Regards,

Adam

--- End Message ---

Reply via email to