[ovs-dev] [PATCH ovn] ovn-controller: Fix incremental processing of Port_Binding deletes.
Dumitru Ceara
dceara at redhat.com
Mon Aug 31 12:04:34 UTC 2020
On 8/31/20 1:24 PM, Numan Siddique wrote:
>
>
> On Mon, Aug 31, 2020 at 3:55 PM Dumitru Ceara <dceara at redhat.com
> <mailto:dceara at redhat.com>> wrote:
>
> If a Port_Binding is deleted from the Southbound DB and the
> corresponding OVS interface is also deleted from the OVS DB, and
> if both updates are received and processed by ovn-controller in
> the same iteration, ovn-controller should not be allowed to write
> to the (to be deleted) Port_Binding record stored in memory.
>
> This commit also adds three new unixctl debug commands for
> ovn-controller:
> - debug/pause: pause ovn-controller processing, except unixctl commands.
> - debug/resume: resume ovn-controller processing.
> - debug/status: return the status of the ovn-controller processing.
>
> These new commands are needed by the test for this scenario as without
> them we have no way of ensuring predictable results. Users should not
> use these commands in production. This is also why the commands are not
> documented.
>
> CC: Numan Siddique <numans at ovn.org <mailto:numans at ovn.org>>
> Fixes: 6b0f01116bab ("ovn-controller: Handle runtime data changes in
> flow output engine")
> Reported-by: Tim Rozet <trozet at redhat.com <mailto:trozet at redhat.com>>
> Reported-at: https://bugzilla.redhat.com/1871961
> Signed-off-by: Dumitru Ceara <dceara at redhat.com
> <mailto:dceara at redhat.com>>
> ---
>
>
> Thanks Dumitru for the fix.
>
> The issue is seen because we handle OVS interface changes first and then
> the port binding changes.
> I think we can address this issue with lesser changes to the code by
> handling port binding changes
> first in the runtime data engine.
>
> I think the I-P engine respects the order of inputs defined on an engine
> node right ? If the engine guarantees
> this, then I think we can take this approach.
>
> What do you think ?
>
> Thanks
> Numan
>
Yes, that works and is indeed a way smaller change. The new test case
will fail if the order of the incremental engine nodes is changed back.
I'll also add a comment in ovn-controller.c to mention why order is
relevant.
I'll send a v2 soon.
Regards,
Dumitru
More information about the dev
mailing list