mbox series

[ovs-dev,branch-20.06,00/15] Backport rollup

Message ID cover.1613635760.git.frode.nordahl@canonical.com
Headers show
Series Backport rollup | expand

Message

Frode Nordahl Feb. 18, 2021, 8:09 a.m. UTC
Hello all,

In Ubuntu we have backported a set of fixes to our OVN 20.06 and OVN
20.03 packages.  In preparing for new point releases for OVN 20.06
and OVN 20.03, we would very much like to add these patches to the
upstream branches.

The issues solved for OVN 20.06 with these patches are:

  * Fix for upgrading database schema of clustered databases on package
    upgrade (LP: #1907081)[0]
  * Fixes for predictable resolution for conflicting flow actions.
    (LP: #1906922)[1]

We are cognizant of the large number of patches required to cleanly
backport the conflicting flow actions fixes, and have verified the end
result thouroughly. From our experience these fixes are required to use
OVN with OpenStack in a meaningful way, for example with k8s on top of
OpenStack.

0: https://bugs.launchpad.net/bugs/1907081
1: https://bugs.launchpad.net/bugs/1906922

Dumitru Ceara (8):
  ofctrl.c: Only merge actions for conjunctive flows.
  ofctrl.c: Do not change flow ordering when merging opposite changes.
  ofctrl.c: Simplify active desired flow selection.
  ofctrl.c: Always log the most recent flow changes.
  ofctrl.c: Add a predictable resolution for conflicting flow actions.
  ovn.at: Make some of the tests more predictable.
  tests: Add ofctl_strip_all() to filter OVS flow outputs.
  tests: Fix test "ovn -- Superseding ACLs with conjunction".

Han Zhou (6):
  ofctrl.c: Maintain references between installed flows and desired
    flows.
  ofctrl.c: Refactor - move openflow msg construction to functions.
  ofctrl: Incremental processing for flow installation by tracking.
  ofctrl.c: Merge opposite changes of tracked flows before installing.
  ofctrl.c: Fix duplicated flow handling in I-P while merging opposite
    changes.
  ofctrl.c: Avoid repeatedly linking an installed flow and a desired
    flow.

Numan Siddique (1):
  ovn-ctl: Handle cluster db upgrades for run_(nb/sb)_ovsdb

 controller/ofctrl.c     | 966 ++++++++++++++++++++++++++++++++--------
 controller/ofctrl.h     |   6 +-
 tests/ofproto-macros.at |  23 +-
 tests/ovn.at            | 328 ++++++++++++++
 utilities/ovn-ctl       |  20 +-
 5 files changed, 1156 insertions(+), 187 deletions(-)

Comments

Dumitru Ceara Feb. 18, 2021, 9:33 a.m. UTC | #1
On 2/18/21 9:09 AM, Frode Nordahl wrote:
> Hello all,

Hi Frode,

Many thanks for this!

> 
> In Ubuntu we have backported a set of fixes to our OVN 20.06 and OVN
> 20.03 packages.  In preparing for new point releases for OVN 20.06
> and OVN 20.03, we would very much like to add these patches to the
> upstream branches.
> 
> The issues solved for OVN 20.06 with these patches are:
> 
>    * Fix for upgrading database schema of clustered databases on package
>      upgrade (LP: #1907081)[0]
>    * Fixes for predictable resolution for conflicting flow actions.
>      (LP: #1906922)[1]

You might want to wait a bit with releasing new packages and include 
more patches (some are not merged in upstream master yet) that fix 
crashes due some of the ofctrl changes:

https://github.com/ovn-org/ovn/commit/858d1dd716db1a1e664a7c1737fd34f04fcbda5e 
(in upstream master and branch20.12)

http://patchwork.ozlabs.org/project/ovn/patch/1613490806-11143-1-git-send-email-dceara@redhat.com/ 
(I'll be submitting a v2 today).

Regards,
Dumitru
Frode Nordahl Feb. 18, 2021, 5:32 p.m. UTC | #2
On Thu, Feb 18, 2021 at 10:34 AM Dumitru Ceara <dceara@redhat.com> wrote:
>
> On 2/18/21 9:09 AM, Frode Nordahl wrote:
> > Hello all,
>
> Hi Frode,
>
> Many thanks for this!

You're very welcome, thank you for all the bits!

> >
> > In Ubuntu we have backported a set of fixes to our OVN 20.06 and OVN
> > 20.03 packages.  In preparing for new point releases for OVN 20.06
> > and OVN 20.03, we would very much like to add these patches to the
> > upstream branches.
> >
> > The issues solved for OVN 20.06 with these patches are:
> >
> >    * Fix for upgrading database schema of clustered databases on package
> >      upgrade (LP: #1907081)[0]
> >    * Fixes for predictable resolution for conflicting flow actions.
> >      (LP: #1906922)[1]
>
> You might want to wait a bit with releasing new packages and include
> more patches (some are not merged in upstream master yet) that fix
> crashes due some of the ofctrl changes:
>
> https://github.com/ovn-org/ovn/commit/858d1dd716db1a1e664a7c1737fd34f04fcbda5e
> (in upstream master and branch20.12)
>
> http://patchwork.ozlabs.org/project/ovn/patch/1613490806-11143-1-git-send-email-dceara@redhat.com/
> (I'll be submitting a v2 today).

Thank you for bringing those to my attention, we'll monitor those closely.

We have had this code running in the wild in select deployments for
months without any issues so far, the updated packages have also been
in our proposed pockets for an extended period before being shipped
today.

So while we really should get these fixes in as soon as possible,
luckily it does not appear to happen too often in the wild.

I'll work towards getting these backported too so that we can consume
them from a point release update.