-
Notifications
You must be signed in to change notification settings - Fork 1.5k
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
[libyang bug] workaround leaf-list via uses bug in BGP route-map #21078
Conversation
9369531
to
1b3faeb
Compare
rebased to force rebuild to see if general sonic CI tests are working yet |
@qiluo-msft @lguohan please review |
1b3faeb
to
806a745
Compare
/azp run Azure.sonic-buildimage |
Azure Pipelines successfully started running 1 pipeline(s). |
rebased to try to force rebuild since last build hung |
806a745
to
aca9109
Compare
rebased again since last build failed in unrelated test |
/azp run Azure.sonic-buildimage |
Azure Pipelines successfully started running 1 pipeline(s). |
…et#21078) There is a bug in libyang when attempting to use table `BGP_PEER_GROUP_AF` and likely `BGP_NEIGHBOR_AF` in respect to `route_map_in` and `route_map_out`. The issue is with the use of `leaf-list` specifically when it is pulled in via a `uses` clause `bgpcmn:sonic-bgp-cmn-af`. The error message resembles that of if a child is specified that isn't recognized at all: ``` All Keys are not parsed in BGP_PEER_GROUP_AF dict_keys(['default|PEERS|ipv4_unicast']) exceptionList:["'route_map_in'"] ``` Moving the leaf-list to the parent rather than being imported through the `uses` clause works around this issue. Signed-off-by: Brad House (@bradh352)
There is a bug in libyang when attempting to use table `BGP_PEER_GROUP_AF` and likely `BGP_NEIGHBOR_AF` in respect to `route_map_in` and `route_map_out`. The issue is with the use of `leaf-list` specifically when it is pulled in via a `uses` clause `bgpcmn:sonic-bgp-cmn-af`. The error message resembles that of if a child is specified that isn't recognized at all: ``` All Keys are not parsed in BGP_PEER_GROUP_AF dict_keys(['default|PEERS|ipv4_unicast']) exceptionList:["'route_map_in'"] ``` Moving the leaf-list to the parent rather than being imported through the `uses` clause works around this issue. Signed-off-by: Brad House (@bradh352)
There is a bug in libyang when attempting to use table `BGP_PEER_GROUP_AF` and likely `BGP_NEIGHBOR_AF` in respect to `route_map_in` and `route_map_out`. The issue is with the use of `leaf-list` specifically when it is pulled in via a `uses` clause `bgpcmn:sonic-bgp-cmn-af`. The error message resembles that of if a child is specified that isn't recognized at all: ``` All Keys are not parsed in BGP_PEER_GROUP_AF dict_keys(['default|PEERS|ipv4_unicast']) exceptionList:["'route_map_in'"] ``` Moving the leaf-list to the parent rather than being imported through the `uses` clause works around this issue. Signed-off-by: Brad House (@bradh352)
There is a bug in libyang when attempting to use table `BGP_PEER_GROUP_AF` and likely `BGP_NEIGHBOR_AF` in respect to `route_map_in` and `route_map_out`. The issue is with the use of `leaf-list` specifically when it is pulled in via a `uses` clause `bgpcmn:sonic-bgp-cmn-af`. The error message resembles that of if a child is specified that isn't recognized at all: ``` All Keys are not parsed in BGP_PEER_GROUP_AF dict_keys(['default|PEERS|ipv4_unicast']) exceptionList:["'route_map_in'"] ``` Moving the leaf-list to the parent rather than being imported through the `uses` clause works around this issue. Signed-off-by: Brad House (@bradh352)
There is a bug in libyang when attempting to use table `BGP_PEER_GROUP_AF` and likely `BGP_NEIGHBOR_AF` in respect to `route_map_in` and `route_map_out`. The issue is with the use of `leaf-list` specifically when it is pulled in via a `uses` clause `bgpcmn:sonic-bgp-cmn-af`. The error message resembles that of if a child is specified that isn't recognized at all: ``` All Keys are not parsed in BGP_PEER_GROUP_AF dict_keys(['default|PEERS|ipv4_unicast']) exceptionList:["'route_map_in'"] ``` Moving the leaf-list to the parent rather than being imported through the `uses` clause works around this issue. Signed-off-by: Brad House (@bradh352)
There is a bug in libyang when attempting to use table `BGP_PEER_GROUP_AF` and likely `BGP_NEIGHBOR_AF` in respect to `route_map_in` and `route_map_out`. The issue is with the use of `leaf-list` specifically when it is pulled in via a `uses` clause `bgpcmn:sonic-bgp-cmn-af`. The error message resembles that of if a child is specified that isn't recognized at all: ``` All Keys are not parsed in BGP_PEER_GROUP_AF dict_keys(['default|PEERS|ipv4_unicast']) exceptionList:["'route_map_in'"] ``` Moving the leaf-list to the parent rather than being imported through the `uses` clause works around this issue. Signed-off-by: Brad House (@bradh352)
There is a bug in libyang when attempting to use table `BGP_PEER_GROUP_AF` and likely `BGP_NEIGHBOR_AF` in respect to `route_map_in` and `route_map_out`. The issue is with the use of `leaf-list` specifically when it is pulled in via a `uses` clause `bgpcmn:sonic-bgp-cmn-af`. The error message resembles that of if a child is specified that isn't recognized at all: ``` All Keys are not parsed in BGP_PEER_GROUP_AF dict_keys(['default|PEERS|ipv4_unicast']) exceptionList:["'route_map_in'"] ``` Moving the leaf-list to the parent rather than being imported through the `uses` clause works around this issue. Signed-off-by: Brad House (@bradh352)
There is a bug in libyang when attempting to use table `BGP_PEER_GROUP_AF` and likely `BGP_NEIGHBOR_AF` in respect to `route_map_in` and `route_map_out`. The issue is with the use of `leaf-list` specifically when it is pulled in via a `uses` clause `bgpcmn:sonic-bgp-cmn-af`. The error message resembles that of if a child is specified that isn't recognized at all: ``` All Keys are not parsed in BGP_PEER_GROUP_AF dict_keys(['default|PEERS|ipv4_unicast']) exceptionList:["'route_map_in'"] ``` Moving the leaf-list to the parent rather than being imported through the `uses` clause works around this issue. Signed-off-by: Brad House (@bradh352)
There is a bug in libyang when attempting to use table `BGP_PEER_GROUP_AF` and likely `BGP_NEIGHBOR_AF` in respect to `route_map_in` and `route_map_out`. The issue is with the use of `leaf-list` specifically when it is pulled in via a `uses` clause `bgpcmn:sonic-bgp-cmn-af`. The error message resembles that of if a child is specified that isn't recognized at all: ``` All Keys are not parsed in BGP_PEER_GROUP_AF dict_keys(['default|PEERS|ipv4_unicast']) exceptionList:["'route_map_in'"] ``` Moving the leaf-list to the parent rather than being imported through the `uses` clause works around this issue. Signed-off-by: Brad House (@bradh352)
There is a bug in libyang when attempting to use table `BGP_PEER_GROUP_AF` and likely `BGP_NEIGHBOR_AF` in respect to `route_map_in` and `route_map_out`. The issue is with the use of `leaf-list` specifically when it is pulled in via a `uses` clause `bgpcmn:sonic-bgp-cmn-af`. The error message resembles that of if a child is specified that isn't recognized at all: ``` All Keys are not parsed in BGP_PEER_GROUP_AF dict_keys(['default|PEERS|ipv4_unicast']) exceptionList:["'route_map_in'"] ``` Moving the leaf-list to the parent rather than being imported through the `uses` clause works around this issue. Signed-off-by: Brad House (@bradh352)
There is a bug in libyang when attempting to use table `BGP_PEER_GROUP_AF` and likely `BGP_NEIGHBOR_AF` in respect to `route_map_in` and `route_map_out`. The issue is with the use of `leaf-list` specifically when it is pulled in via a `uses` clause `bgpcmn:sonic-bgp-cmn-af`. The error message resembles that of if a child is specified that isn't recognized at all: ``` All Keys are not parsed in BGP_PEER_GROUP_AF dict_keys(['default|PEERS|ipv4_unicast']) exceptionList:["'route_map_in'"] ``` Moving the leaf-list to the parent rather than being imported through the `uses` clause works around this issue. Signed-off-by: Brad House (@bradh352)
There is a bug in libyang when attempting to use table `BGP_PEER_GROUP_AF` and likely `BGP_NEIGHBOR_AF` in respect to `route_map_in` and `route_map_out`. The issue is with the use of `leaf-list` specifically when it is pulled in via a `uses` clause `bgpcmn:sonic-bgp-cmn-af`. The error message resembles that of if a child is specified that isn't recognized at all: ``` All Keys are not parsed in BGP_PEER_GROUP_AF dict_keys(['default|PEERS|ipv4_unicast']) exceptionList:["'route_map_in'"] ``` Moving the leaf-list to the parent rather than being imported through the `uses` clause works around this issue. Signed-off-by: Brad House (@bradh352)
…et#21078) There is a bug in libyang when attempting to use table `BGP_PEER_GROUP_AF` and likely `BGP_NEIGHBOR_AF` in respect to `route_map_in` and `route_map_out`. The issue is with the use of `leaf-list` specifically when it is pulled in via a `uses` clause `bgpcmn:sonic-bgp-cmn-af`. The error message resembles that of if a child is specified that isn't recognized at all: ``` All Keys are not parsed in BGP_PEER_GROUP_AF dict_keys(['default|PEERS|ipv4_unicast']) exceptionList:["'route_map_in'"] ``` Moving the leaf-list to the parent rather than being imported through the `uses` clause works around this issue. Signed-off-by: Brad House (@bradh352)
There is a bug in libyang when attempting to use table `BGP_PEER_GROUP_AF` and likely `BGP_NEIGHBOR_AF` in respect to `route_map_in` and `route_map_out`. The issue is with the use of `leaf-list` specifically when it is pulled in via a `uses` clause `bgpcmn:sonic-bgp-cmn-af`. The error message resembles that of if a child is specified that isn't recognized at all: ``` All Keys are not parsed in BGP_PEER_GROUP_AF dict_keys(['default|PEERS|ipv4_unicast']) exceptionList:["'route_map_in'"] ``` Moving the leaf-list to the parent rather than being imported through the `uses` clause works around this issue. Signed-off-by: Brad House (@bradh352)
There is a bug in libyang when attempting to use table `BGP_PEER_GROUP_AF` and likely `BGP_NEIGHBOR_AF` in respect to `route_map_in` and `route_map_out`. The issue is with the use of `leaf-list` specifically when it is pulled in via a `uses` clause `bgpcmn:sonic-bgp-cmn-af`. The error message resembles that of if a child is specified that isn't recognized at all: ``` All Keys are not parsed in BGP_PEER_GROUP_AF dict_keys(['default|PEERS|ipv4_unicast']) exceptionList:["'route_map_in'"] ``` Moving the leaf-list to the parent rather than being imported through the `uses` clause works around this issue. Signed-off-by: Brad House (@bradh352)
There is a bug in libyang when attempting to use table `BGP_PEER_GROUP_AF` and likely `BGP_NEIGHBOR_AF` in respect to `route_map_in` and `route_map_out`. The issue is with the use of `leaf-list` specifically when it is pulled in via a `uses` clause `bgpcmn:sonic-bgp-cmn-af`. The error message resembles that of if a child is specified that isn't recognized at all: ``` All Keys are not parsed in BGP_PEER_GROUP_AF dict_keys(['default|PEERS|ipv4_unicast']) exceptionList:["'route_map_in'"] ``` Moving the leaf-list to the parent rather than being imported through the `uses` clause works around this issue. Signed-off-by: Brad House (@bradh352)
There is a bug in libyang when attempting to use table `BGP_PEER_GROUP_AF` and likely `BGP_NEIGHBOR_AF` in respect to `route_map_in` and `route_map_out`. The issue is with the use of `leaf-list` specifically when it is pulled in via a `uses` clause `bgpcmn:sonic-bgp-cmn-af`. The error message resembles that of if a child is specified that isn't recognized at all: ``` All Keys are not parsed in BGP_PEER_GROUP_AF dict_keys(['default|PEERS|ipv4_unicast']) exceptionList:["'route_map_in'"] ``` Moving the leaf-list to the parent rather than being imported through the `uses` clause works around this issue. Signed-off-by: Brad House (@bradh352)
There is a bug in libyang when attempting to use table `BGP_PEER_GROUP_AF` and likely `BGP_NEIGHBOR_AF` in respect to `route_map_in` and `route_map_out`. The issue is with the use of `leaf-list` specifically when it is pulled in via a `uses` clause `bgpcmn:sonic-bgp-cmn-af`. The error message resembles that of if a child is specified that isn't recognized at all: ``` All Keys are not parsed in BGP_PEER_GROUP_AF dict_keys(['default|PEERS|ipv4_unicast']) exceptionList:["'route_map_in'"] ``` Moving the leaf-list to the parent rather than being imported through the `uses` clause works around this issue. Signed-off-by: Brad House (@bradh352)
There is a bug in libyang when attempting to use table `BGP_PEER_GROUP_AF` and likely `BGP_NEIGHBOR_AF` in respect to `route_map_in` and `route_map_out`. The issue is with the use of `leaf-list` specifically when it is pulled in via a `uses` clause `bgpcmn:sonic-bgp-cmn-af`. The error message resembles that of if a child is specified that isn't recognized at all: ``` All Keys are not parsed in BGP_PEER_GROUP_AF dict_keys(['default|PEERS|ipv4_unicast']) exceptionList:["'route_map_in'"] ``` Moving the leaf-list to the parent rather than being imported through the `uses` clause works around this issue. Signed-off-by: Brad House (@bradh352)
There is a bug in libyang when attempting to use table `BGP_PEER_GROUP_AF` and likely `BGP_NEIGHBOR_AF` in respect to `route_map_in` and `route_map_out`. The issue is with the use of `leaf-list` specifically when it is pulled in via a `uses` clause `bgpcmn:sonic-bgp-cmn-af`. The error message resembles that of if a child is specified that isn't recognized at all: ``` All Keys are not parsed in BGP_PEER_GROUP_AF dict_keys(['default|PEERS|ipv4_unicast']) exceptionList:["'route_map_in'"] ``` Moving the leaf-list to the parent rather than being imported through the `uses` clause works around this issue. Signed-off-by: Brad House (@bradh352)
There is a bug in libyang when attempting to use table `BGP_PEER_GROUP_AF` and likely `BGP_NEIGHBOR_AF` in respect to `route_map_in` and `route_map_out`. The issue is with the use of `leaf-list` specifically when it is pulled in via a `uses` clause `bgpcmn:sonic-bgp-cmn-af`. The error message resembles that of if a child is specified that isn't recognized at all: ``` All Keys are not parsed in BGP_PEER_GROUP_AF dict_keys(['default|PEERS|ipv4_unicast']) exceptionList:["'route_map_in'"] ``` Moving the leaf-list to the parent rather than being imported through the `uses` clause works around this issue. Signed-off-by: Brad House (@bradh352)
@ganglyu interestingly, this bug is still present after upgrading to libyang3. After further research, it appears this is due to a bug in sonic-yang-mgmt. It tries to translate config_db.json format to a valid yang data format, and in doing so it uses the raw parsed yang schema to try to determine how it needs to be formatted. Being that it is a raw format (rather than the compiled schema), it then has to merge things like 'uses' clauses, and is only merging leaf nodes and not leaf-list nodes, hence the issue. It shouldn't be a big deal to fix this oversight, but honestly the overall approach it is taken probably needs to be rethought at some point. sonic-mgmt-common also does this conversion, but in a different way, and in Golang. As of the pending libyang3 PRs, at least that is occurring on the compiled schema format so it doesn't have to do things like uses clause evaluation. Considering how complex this process is, it would probably be beneficial to have this conversion done in one place that is shared .... that said being one is in python and one is in Golang, that is easier said than done. |
There is a bug in libyang when attempting to use table `BGP_PEER_GROUP_AF` and likely `BGP_NEIGHBOR_AF` in respect to `route_map_in` and `route_map_out`. The issue is with the use of `leaf-list` specifically when it is pulled in via a `uses` clause `bgpcmn:sonic-bgp-cmn-af`. The error message resembles that of if a child is specified that isn't recognized at all: ``` All Keys are not parsed in BGP_PEER_GROUP_AF dict_keys(['default|PEERS|ipv4_unicast']) exceptionList:["'route_map_in'"] ``` Moving the leaf-list to the parent rather than being imported through the `uses` clause works around this issue. Signed-off-by: Brad House (@bradh352)
@bradh352 |
There is a bug in libyang when attempting to use table `BGP_PEER_GROUP_AF` and likely `BGP_NEIGHBOR_AF` in respect to `route_map_in` and `route_map_out`. The issue is with the use of `leaf-list` specifically when it is pulled in via a `uses` clause `bgpcmn:sonic-bgp-cmn-af`. The error message resembles that of if a child is specified that isn't recognized at all: ``` All Keys are not parsed in BGP_PEER_GROUP_AF dict_keys(['default|PEERS|ipv4_unicast']) exceptionList:["'route_map_in'"] ``` Moving the leaf-list to the parent rather than being imported through the `uses` clause works around this issue. Signed-off-by: Brad House (@bradh352)
There is a bug in libyang when attempting to use table `BGP_PEER_GROUP_AF` and likely `BGP_NEIGHBOR_AF` in respect to `route_map_in` and `route_map_out`. The issue is with the use of `leaf-list` specifically when it is pulled in via a `uses` clause `bgpcmn:sonic-bgp-cmn-af`. The error message resembles that of if a child is specified that isn't recognized at all: ``` All Keys are not parsed in BGP_PEER_GROUP_AF dict_keys(['default|PEERS|ipv4_unicast']) exceptionList:["'route_map_in'"] ``` Moving the leaf-list to the parent rather than being imported through the `uses` clause works around this issue. Signed-off-by: Brad House (@bradh352)
There is a bug in libyang when attempting to use table `BGP_PEER_GROUP_AF` and likely `BGP_NEIGHBOR_AF` in respect to `route_map_in` and `route_map_out`. The issue is with the use of `leaf-list` specifically when it is pulled in via a `uses` clause `bgpcmn:sonic-bgp-cmn-af`. The error message resembles that of if a child is specified that isn't recognized at all: ``` All Keys are not parsed in BGP_PEER_GROUP_AF dict_keys(['default|PEERS|ipv4_unicast']) exceptionList:["'route_map_in'"] ``` Moving the leaf-list to the parent rather than being imported through the `uses` clause works around this issue. Signed-off-by: Brad House (@bradh352)
There is a bug in libyang when attempting to use table `BGP_PEER_GROUP_AF` and likely `BGP_NEIGHBOR_AF` in respect to `route_map_in` and `route_map_out`. The issue is with the use of `leaf-list` specifically when it is pulled in via a `uses` clause `bgpcmn:sonic-bgp-cmn-af`. The error message resembles that of if a child is specified that isn't recognized at all: ``` All Keys are not parsed in BGP_PEER_GROUP_AF dict_keys(['default|PEERS|ipv4_unicast']) exceptionList:["'route_map_in'"] ``` Moving the leaf-list to the parent rather than being imported through the `uses` clause works around this issue. Signed-off-by: Brad House (@bradh352)
closing, proper fix in #21907 ganglyu you previously approved this PR. I'm going to close it since an actual fix is now available. Please review that PR and approve. |
There is a bug in libyang when attempting to use table `BGP_PEER_GROUP_AF` and likely `BGP_NEIGHBOR_AF` in respect to `route_map_in` and `route_map_out`. The issue is with the use of `leaf-list` specifically when it is pulled in via a `uses` clause `bgpcmn:sonic-bgp-cmn-af`. The error message resembles that of if a child is specified that isn't recognized at all: ``` All Keys are not parsed in BGP_PEER_GROUP_AF dict_keys(['default|PEERS|ipv4_unicast']) exceptionList:["'route_map_in'"] ``` Moving the leaf-list to the parent rather than being imported through the `uses` clause works around this issue. Signed-off-by: Brad House (@bradh352)
There is a bug in libyang when attempting to use table `BGP_PEER_GROUP_AF` and likely `BGP_NEIGHBOR_AF` in respect to `route_map_in` and `route_map_out`. The issue is with the use of `leaf-list` specifically when it is pulled in via a `uses` clause `bgpcmn:sonic-bgp-cmn-af`. The error message resembles that of if a child is specified that isn't recognized at all: ``` All Keys are not parsed in BGP_PEER_GROUP_AF dict_keys(['default|PEERS|ipv4_unicast']) exceptionList:["'route_map_in'"] ``` Moving the leaf-list to the parent rather than being imported through the `uses` clause works around this issue. Signed-off-by: Brad House (@bradh352)
There is a bug in libyang when attempting to use table `BGP_PEER_GROUP_AF` and likely `BGP_NEIGHBOR_AF` in respect to `route_map_in` and `route_map_out`. The issue is with the use of `leaf-list` specifically when it is pulled in via a `uses` clause `bgpcmn:sonic-bgp-cmn-af`. The error message resembles that of if a child is specified that isn't recognized at all: ``` All Keys are not parsed in BGP_PEER_GROUP_AF dict_keys(['default|PEERS|ipv4_unicast']) exceptionList:["'route_map_in'"] ``` Moving the leaf-list to the parent rather than being imported through the `uses` clause works around this issue. Signed-off-by: Brad House (@bradh352)
There is a bug in libyang when attempting to use table `BGP_PEER_GROUP_AF` and likely `BGP_NEIGHBOR_AF` in respect to `route_map_in` and `route_map_out`. The issue is with the use of `leaf-list` specifically when it is pulled in via a `uses` clause `bgpcmn:sonic-bgp-cmn-af`. The error message resembles that of if a child is specified that isn't recognized at all: ``` All Keys are not parsed in BGP_PEER_GROUP_AF dict_keys(['default|PEERS|ipv4_unicast']) exceptionList:["'route_map_in'"] ``` Moving the leaf-list to the parent rather than being imported through the `uses` clause works around this issue. Signed-off-by: Brad House (@bradh352)
There is a bug in libyang when attempting to use table `BGP_PEER_GROUP_AF` and likely `BGP_NEIGHBOR_AF` in respect to `route_map_in` and `route_map_out`. The issue is with the use of `leaf-list` specifically when it is pulled in via a `uses` clause `bgpcmn:sonic-bgp-cmn-af`. The error message resembles that of if a child is specified that isn't recognized at all: ``` All Keys are not parsed in BGP_PEER_GROUP_AF dict_keys(['default|PEERS|ipv4_unicast']) exceptionList:["'route_map_in'"] ``` Moving the leaf-list to the parent rather than being imported through the `uses` clause works around this issue. Signed-off-by: Brad House (@bradh352)
There is a bug in libyang when attempting to use table `BGP_PEER_GROUP_AF` and likely `BGP_NEIGHBOR_AF` in respect to `route_map_in` and `route_map_out`. The issue is with the use of `leaf-list` specifically when it is pulled in via a `uses` clause `bgpcmn:sonic-bgp-cmn-af`. The error message resembles that of if a child is specified that isn't recognized at all: ``` All Keys are not parsed in BGP_PEER_GROUP_AF dict_keys(['default|PEERS|ipv4_unicast']) exceptionList:["'route_map_in'"] ``` Moving the leaf-list to the parent rather than being imported through the `uses` clause works around this issue. Signed-off-by: Brad House (@bradh352)
There is a bug in libyang when attempting to use table `BGP_PEER_GROUP_AF` and likely `BGP_NEIGHBOR_AF` in respect to `route_map_in` and `route_map_out`. The issue is with the use of `leaf-list` specifically when it is pulled in via a `uses` clause `bgpcmn:sonic-bgp-cmn-af`. The error message resembles that of if a child is specified that isn't recognized at all: ``` All Keys are not parsed in BGP_PEER_GROUP_AF dict_keys(['default|PEERS|ipv4_unicast']) exceptionList:["'route_map_in'"] ``` Moving the leaf-list to the parent rather than being imported through the `uses` clause works around this issue. Signed-off-by: Brad House (@bradh352)
There is a bug in libyang when attempting to use table `BGP_PEER_GROUP_AF` and likely `BGP_NEIGHBOR_AF` in respect to `route_map_in` and `route_map_out`. The issue is with the use of `leaf-list` specifically when it is pulled in via a `uses` clause `bgpcmn:sonic-bgp-cmn-af`. The error message resembles that of if a child is specified that isn't recognized at all: ``` All Keys are not parsed in BGP_PEER_GROUP_AF dict_keys(['default|PEERS|ipv4_unicast']) exceptionList:["'route_map_in'"] ``` Moving the leaf-list to the parent rather than being imported through the `uses` clause works around this issue. Signed-off-by: Brad House (@bradh352)
There is a bug in libyang when attempting to use table `BGP_PEER_GROUP_AF` and likely `BGP_NEIGHBOR_AF` in respect to `route_map_in` and `route_map_out`. The issue is with the use of `leaf-list` specifically when it is pulled in via a `uses` clause `bgpcmn:sonic-bgp-cmn-af`. The error message resembles that of if a child is specified that isn't recognized at all: ``` All Keys are not parsed in BGP_PEER_GROUP_AF dict_keys(['default|PEERS|ipv4_unicast']) exceptionList:["'route_map_in'"] ``` Moving the leaf-list to the parent rather than being imported through the `uses` clause works around this issue. Signed-off-by: Brad House (@bradh352)
There is a bug in libyang when attempting to use table `BGP_PEER_GROUP_AF` and likely `BGP_NEIGHBOR_AF` in respect to `route_map_in` and `route_map_out`. The issue is with the use of `leaf-list` specifically when it is pulled in via a `uses` clause `bgpcmn:sonic-bgp-cmn-af`. The error message resembles that of if a child is specified that isn't recognized at all: ``` All Keys are not parsed in BGP_PEER_GROUP_AF dict_keys(['default|PEERS|ipv4_unicast']) exceptionList:["'route_map_in'"] ``` Moving the leaf-list to the parent rather than being imported through the `uses` clause works around this issue. Signed-off-by: Brad House (@bradh352)
There is a bug in libyang when attempting to use table `BGP_PEER_GROUP_AF` and likely `BGP_NEIGHBOR_AF` in respect to `route_map_in` and `route_map_out`. The issue is with the use of `leaf-list` specifically when it is pulled in via a `uses` clause `bgpcmn:sonic-bgp-cmn-af`. The error message resembles that of if a child is specified that isn't recognized at all: ``` All Keys are not parsed in BGP_PEER_GROUP_AF dict_keys(['default|PEERS|ipv4_unicast']) exceptionList:["'route_map_in'"] ``` Moving the leaf-list to the parent rather than being imported through the `uses` clause works around this issue. Signed-off-by: Brad House (@bradh352)
There is a bug in libyang when attempting to use table `BGP_PEER_GROUP_AF` and likely `BGP_NEIGHBOR_AF` in respect to `route_map_in` and `route_map_out`. The issue is with the use of `leaf-list` specifically when it is pulled in via a `uses` clause `bgpcmn:sonic-bgp-cmn-af`. The error message resembles that of if a child is specified that isn't recognized at all: ``` All Keys are not parsed in BGP_PEER_GROUP_AF dict_keys(['default|PEERS|ipv4_unicast']) exceptionList:["'route_map_in'"] ``` Moving the leaf-list to the parent rather than being imported through the `uses` clause works around this issue. Signed-off-by: Brad House (@bradh352)
There is a bug in libyang when attempting to use table `BGP_PEER_GROUP_AF` and likely `BGP_NEIGHBOR_AF` in respect to `route_map_in` and `route_map_out`. The issue is with the use of `leaf-list` specifically when it is pulled in via a `uses` clause `bgpcmn:sonic-bgp-cmn-af`. The error message resembles that of if a child is specified that isn't recognized at all: ``` All Keys are not parsed in BGP_PEER_GROUP_AF dict_keys(['default|PEERS|ipv4_unicast']) exceptionList:["'route_map_in'"] ``` Moving the leaf-list to the parent rather than being imported through the `uses` clause works around this issue. Signed-off-by: Brad House (@bradh352)
There is a bug in libyang when attempting to use table `BGP_PEER_GROUP_AF` and likely `BGP_NEIGHBOR_AF` in respect to `route_map_in` and `route_map_out`. The issue is with the use of `leaf-list` specifically when it is pulled in via a `uses` clause `bgpcmn:sonic-bgp-cmn-af`. The error message resembles that of if a child is specified that isn't recognized at all: ``` All Keys are not parsed in BGP_PEER_GROUP_AF dict_keys(['default|PEERS|ipv4_unicast']) exceptionList:["'route_map_in'"] ``` Moving the leaf-list to the parent rather than being imported through the `uses` clause works around this issue. Signed-off-by: Brad House (@bradh352)
There is a bug in libyang when attempting to use table `BGP_PEER_GROUP_AF` and likely `BGP_NEIGHBOR_AF` in respect to `route_map_in` and `route_map_out`. The issue is with the use of `leaf-list` specifically when it is pulled in via a `uses` clause `bgpcmn:sonic-bgp-cmn-af`. The error message resembles that of if a child is specified that isn't recognized at all: ``` All Keys are not parsed in BGP_PEER_GROUP_AF dict_keys(['default|PEERS|ipv4_unicast']) exceptionList:["'route_map_in'"] ``` Moving the leaf-list to the parent rather than being imported through the `uses` clause works around this issue. Signed-off-by: Brad House (@bradh352)
Why I did it
There is a bug in libyang when attempting to validate table
BGP_PEER_GROUP_AF
and likelyBGP_NEIGHBOR_AF
in respect toroute_map_in
androute_map_out
.The issue is with the use of
leaf-list
specifically when it is pulled in via auses
clause ofbgpcmn:sonic-bgp-cmn-af
.The error message resembles that of if a child is specified that isn't recognized at all:
Work item tracking
How I did it
Moving the leaf-list to the parent rather than being imported through the
uses
clause works around this issue.Again, this is a bug in libyang itself, and the same block in
sonic-bgp-cmn-af
was simply moved to the parents and it magically fixes the issue.How to verify it
Relevant config section to cause the issue (probably included too much here, but none-the-less effective):
Which release branch to backport (provide reason below if selected)
Tested branch (Please provide the tested image version)
master as of 20241206
Description for the changelog
[libyang bug] workaround leaf-list via uses bug in BGP route-map
Link to config_db schema for YANG module changes
A picture of a cute animal (not mandatory but encouraged)
Signed-off-by: Brad House (@bradh352)