-
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
base: master
Are you sure you want to change the base?
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)
I agree that I do not see a replacement for what the leaf backlinks member previously provided. It may be there of course, but not really documented. From what I can tell, we can just use How fast would this be? Not sure, but I can't imagine it being that bad just walking the entire tree once ... granted this would be happening in Python not C code. Also supposedly libyang2/3 are much faster than libyang1, so we may see a performance increase still even if we have to add some additional overhead. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
lgtm
Thanks for the link, I hadn't seen that ticket. Months?? That seems ... strange. Granted, they were trying to do it with libyang1 so that could have been their roadblock. I will have to send some patches to libyang-python upstream to support calling into the library functions to accomplish this, but they accepted my memory leak patch pretty quickly already so I'm not foreseeing any issues. Is there a team I need to be in communication with to review my PRs when ready? I sent an email to the sonic-dev mailing list about this project and it was met with silence. |
You can request Qiluo and me, and we will add the necessary reviewers. |
I'll take you up on that, you should have a standalone PR which is step 1 to pull libyang3 and libyang3-py3 into sonic-buildimage today. I'm working on splitting out those commits into a separate branch in my fork since just that migration is fairly sizeable and would make it easier to review the other stuff if that's not in the same PR. |
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)
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)