Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
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@redhat.com> Signed-off-by: Numan Siddique <numans@ovn.org>
- Loading branch information
1 parent
8b45fc9
commit a99af03
Showing
7 changed files
with
86 additions
and
1 deletion.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,22 @@ | ||
/* Copyright (c) 2021, Red Hat, Inc. | ||
* | ||
* Licensed under the Apache License, Version 2.0 (the "License"); | ||
* you may not use this file except in compliance with the License. | ||
* You may obtain a copy of the License at: | ||
* | ||
* http://www.apache.org/licenses/LICENSE-2.0 | ||
* | ||
* Unless required by applicable law or agreed to in writing, software | ||
* distributed under the License is distributed on an "AS IS" BASIS, | ||
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. | ||
* See the License for the specific language governing permissions and | ||
* limitations under the License. | ||
*/ | ||
|
||
#ifndef OVN_FEATURES_H | ||
#define OVN_FEATURES_H 1 | ||
|
||
/* ovn-controller supported feature names. */ | ||
#define OVN_FEATURE_PORT_UP_NOTIF "port-up-notif" | ||
|
||
#endif |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters