[ovs-git] [ovn-org/ovn] aae25e: binding: Correctly set Port_Binding.up for contain...
Dumitru Ceara
noreply at github.com
Thu Feb 4 13:51:43 UTC 2021
Branch: refs/heads/master
Home: https://github.com/ovn-org/ovn
Commit: aae25e67b1ba86e34d670eb808de86f7ba66c3c0
https://github.com/ovn-org/ovn/commit/aae25e67b1ba86e34d670eb808de86f7ba66c3c0
Author: Dumitru Ceara <dceara at redhat.com>
Date: 2021-02-04 (Thu, 04 Feb 2021)
Changed paths:
M controller-vtep/binding.c
M controller/binding.c
M tests/ovn.at
Log Message:
-----------
binding: Correctly set Port_Binding.up for container/virtual ports.
For port bindings that are children of other port bindings (container
and virtual ports) set Port_Binding.up directly, when claimed, if their
parent bindings are already up.
For non-VIF port bindings maintain compatibility with older versions
and set Port_Binding.up as soon as they are claimed.
Reported-by: Ben Pfaff <blp at ovn.org>
Fixes: 4d3cb42b076b ("binding: Set Logical_Switch_Port.up when all OVS flows are installed.")
Signed-off-by: Dumitru Ceara <dceara at redhat.com>
Signed-off-by: Numan Siddique <numans at ovn.org>
Commit: 8b45fc9b2269df68566e47eee9cdd5f043b595d3
https://github.com/ovn-org/ovn/commit/8b45fc9b2269df68566e47eee9cdd5f043b595d3
Author: Dumitru Ceara <dceara at redhat.com>
Date: 2021-02-04 (Thu, 04 Feb 2021)
Changed paths:
M controller-vtep/binding.c
M controller/binding.c
M northd/ovn-northd.c
M tests/ovn.at
Log Message:
-----------
binding: Set Port_Binding.up only if supported.
The supported upgrade procedure is to always upgrade ovn-controllers
first and OVN DBs and ovn-northd later. This leads however to the
situation when ovn-controller might try to set the Port_Binding.up field
while the Southbound DB isn't yet aware of this field which would
trigger transaction failures and control plane/data plane outages.
To avoid such situations ovn-controller only sets the Port_Binding.up
field if it was explicitly set to 'false'. This ensures that the SB
database was already upgraded.
On the ovn-northd side, as soon as ovn-northd is upgraded it will update
all existing Port_Bindings and explicitly set 'Port_Binding.up' to
false, implicitly notifying ovn-controller that it is safe to write to
the field.
Reported-by: Numan Siddique <numans at ovn.org>
Fixes: 4d3cb42b076b ("binding: Set Logical_Switch_Port.up when all OVS flows are installed.")
Signed-off-by: Dumitru Ceara <dceara at redhat.com>
Signed-off-by: Numan Siddique <numans at ovn.org>
Commit: a99af0367acc744321747bad33bf598d06a612de
https://github.com/ovn-org/ovn/commit/a99af0367acc744321747bad33bf598d06a612de
Author: Dumitru Ceara <dceara at redhat.com>
Date: 2021-02-04 (Thu, 04 Feb 2021)
Changed paths:
M controller/chassis.c
M include/ovn/automake.mk
A include/ovn/features.h
M northd/ovn-northd.c
M ovn-sb.xml
M tests/ovn-controller.at
M tests/ovn-northd.at
Log Message:
-----------
northd: Allow backwards compatibility for Logical_Switch_Port.up.
In general, ovn-northd expects ovn-controller to set Port_Binding.up
before it declares the logical switch port as being up.
Even though the recommended upgrade procedure for OVN states that
ovn-controllers should be upgraded before ovn-northd, there are cases
when CMSs don't follow this guideline.
This would cause all existing and bound Logical_Switch_Ports to be
declared "down" until ovn-controllers are upgraded.
To avoid this situation, ovn-controllers now explicitly set
Chassis.other_config:port-up-notif in their own chassis record. Based
on this value, ovn-northd can determine if it needs to use the old type
of logic or the new one (Port_Binding.up) when setting LSP.up.
Note:
In case of downgrading ovn-controller before ovn-northd, if
ovn-controller is forcefully stopped it will not clear its chassis
record from the SB. Older versions will not have the capability to
clear the other_config:port-up-notif value so LSPs will be declared
"down" until ovn-northd is downgraded as well. As this
upgrade/downgrade procedure is not the recommended one, we don't try
to deal with this scenario.
Signed-off-by: Dumitru Ceara <dceara at redhat.com>
Signed-off-by: Numan Siddique <numans at ovn.org>
Compare: https://github.com/ovn-org/ovn/compare/cc4d5520064f...a99af0367acc
More information about the git
mailing list