-
Notifications
You must be signed in to change notification settings - Fork 666
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
[GCU] bgp speaker rollback failure #2119
Comments
This is a YANG validation issue, it is not correctly validating the ip_ranges are different. We need to create an issue to fix the yang. If the YANG issue will take a long time to fix, we can hard-code the fix in GCU similar to what we did for the lanes validator, and remove the hard-coding once yang model validation isupdated. |
Link yang issue here. |
BGPD code that throws the error: https://github.com/Azure/sonic-frr/blob/c69608a68083d1017257977bd0260bebdb12322f/bgpd/bgp_vty.c#L3498-L3507 |
#### What I did Fixes #2119 #### Previous command output (if the output of a command-line utility has changed) Sorting output: ``` Patch Applier: Applying 4 changes in order: Patch Applier: * [{"op": "remove", "path": "/BGP_PEER_RANGE/BGPSLBPassiveV6"}] Patch Applier: * [{"op": "add", "path": "/BGP_PEER_RANGE/BGPVac", "value": {"ip_range": ["192.168.0.0/21"], "name": "BGPVac", "src_address": "10.1.0.32"}}] Patch Applier: * [{"op": "remove", "path": "/BGP_PEER_RANGE/BGPSLBPassive"}] Patch Applier: * [{"op": "add", "path": "/BGP_PEER_RANGE/BGPSLBPassive", "value": {"ip_range": ["10.255.0.0/25"], "name": "BGPSLBPassive", "src_address": "10.1.0.32"}}] ``` #### New command output (if the output of a command-line utility has changed) Sorting output: ``` Patch Applier: Applying 4 changes in order: Patch Applier: * [{"op": "remove", "path": "/BGP_PEER_RANGE/BGPSLBPassiveV6"}] Patch Applier: * [{"op": "remove", "path": "/BGP_PEER_RANGE"}] Patch Applier: * [{"op": "add", "path": "/BGP_PEER_RANGE", "value": {"BGPSLBPassive": {"ip_range": ["10.255.0.0/25"], "name": "BGPSLBPassive", "src_address": "10.1.0.32"}}}] Patch Applier: * [{"op": "add", "path": "/BGP_PEER_RANGE/BGPVac", "value": {"ip_range": ["192.168.0.0/21"], "name": "BGPVac", "src_address": "10.1.0.32"}}] ```
#### What I did Fixes #2119 #### Previous command output (if the output of a command-line utility has changed) Sorting output: ``` Patch Applier: Applying 4 changes in order: Patch Applier: * [{"op": "remove", "path": "/BGP_PEER_RANGE/BGPSLBPassiveV6"}] Patch Applier: * [{"op": "add", "path": "/BGP_PEER_RANGE/BGPVac", "value": {"ip_range": ["192.168.0.0/21"], "name": "BGPVac", "src_address": "10.1.0.32"}}] Patch Applier: * [{"op": "remove", "path": "/BGP_PEER_RANGE/BGPSLBPassive"}] Patch Applier: * [{"op": "add", "path": "/BGP_PEER_RANGE/BGPSLBPassive", "value": {"ip_range": ["10.255.0.0/25"], "name": "BGPSLBPassive", "src_address": "10.1.0.32"}}] ``` #### New command output (if the output of a command-line utility has changed) Sorting output: ``` Patch Applier: Applying 4 changes in order: Patch Applier: * [{"op": "remove", "path": "/BGP_PEER_RANGE/BGPSLBPassiveV6"}] Patch Applier: * [{"op": "remove", "path": "/BGP_PEER_RANGE"}] Patch Applier: * [{"op": "add", "path": "/BGP_PEER_RANGE", "value": {"BGPSLBPassive": {"ip_range": ["10.255.0.0/25"], "name": "BGPSLBPassive", "src_address": "10.1.0.32"}}}] Patch Applier: * [{"op": "add", "path": "/BGP_PEER_RANGE/BGPVac", "value": {"ip_range": ["192.168.0.0/21"], "name": "BGPVac", "src_address": "10.1.0.32"}}] ```
Description
SONiC doesn't allow two bgp speaker have the same listen range. But it might happen during the GCU.
Let's say
SPEAKER_CONFIG_A
hasIP_RANGE_A
. We want to replace it withSPEAKER_CONFIG_B
withIP_RANGE_A
.If the GCU sorting algorithm give out this patch order:
{op_1: add SPEAKER_CONFIG_B; op_2: remove SPEAKER_CONFIG_A}
Then after the op_1, there are two config share the same ip range, which result in the failure.
Steps to reproduce the issue
original speaker config:
Config after the patch:
Describe the results you received
Describe the results you expected
Additional information you deem important (e.g. issue happens only occasionally)
Output of
show version
The text was updated successfully, but these errors were encountered: