[GCU] Handling non-compliant leaf-list with string values#2174
Merged
ghooo merged 3 commits intosonic-net:masterfrom May 20, 2022
Merged
[GCU] Handling non-compliant leaf-list with string values#2174ghooo merged 3 commits intosonic-net:masterfrom
ghooo merged 3 commits intosonic-net:masterfrom
Conversation
qiluo-msft
reviewed
May 18, 2022
| # path: /BUFFER_PORT_EGRESS_PROFILE_LIST/Ethernet9/profile_list | ||
| if isinstance(list_config, str): | ||
| return [leaf_list_name] | ||
| list_idx = list_config.index(leaf_list_value) |
Contributor
Contributor
Author
There was a problem hiding this comment.
The return type is a list of tokens (strings). I don't like adding else to an if that has return. I prefer to avoid indentation when possible.
Contributor
There was a problem hiding this comment.
Agree. Then add a check of type "list"? and list_config is a misleading name since it could be str.
Contributor
Author
There was a problem hiding this comment.
add description to PR. I think I should enrich the documentation in the code as well adding more examples for each return.
qiluo-msft
approved these changes
May 18, 2022
dprital
added a commit
to dprital/sonic-buildimage
that referenced
this pull request
May 25, 2022
Update sonic-utilities submodule pointer to include the following: * [GCU] Handling type1 lists ([sonic-net#2171](sonic-net/sonic-utilities#2171)) * [yang] extend ConfigMgmt constructor to pass YANG options ([sonic-net#2118](sonic-net/sonic-utilities#2118)) * [dump] implement ACL modules ([sonic-net#2153](sonic-net/sonic-utilities#2153)) * show commands for SYSTEM READY ([sonic-net#1851](sonic-net/sonic-utilities#1851)) * [GCU] Handling non-compliant leaf-list with string values ([sonic-net#2174](sonic-net/sonic-utilities#2174)) * Add sonic-delayed.target to Application Extension .timer file generator ([sonic-net#2176](sonic-net/sonic-utilities#2176)) * [portconfig] Allow to configure interface mtu for physical ports ([#l](https://github.com/Azure/sonic-utilities/pull/l)) * Broadcast Unknown-multicast and Unknown-unicast Storm-control ([sonic-net#928](sonic-net/sonic-utilities#928)) * sonic-utils: initial support for link-training ([sonic-net#2071](sonic-net/sonic-utilities#2071)) * [portchannel] Added ACL/PBH binding checks to the port before getting added to portchannel ([sonic-net#2151](sonic-net/sonic-utilities#2151)) * Modify override testcase to cover PORT admin_status ([sonic-net#2165](sonic-net/sonic-utilities#2165)) * [GCU] Validate peer_group_range ip_range are correct ([sonic-net#2145](sonic-net/sonic-utilities#2145)) * [auto-ts] add memory check ([sonic-net#2116](sonic-net/sonic-utilities#2116)) * support new interface types CR8/SR8/KR8/LR8 which are brougnt by SAI V.1.10.2 ([sonic-net#2167](sonic-net/sonic-utilities#2167)) * [scripts/fast-reboot] Add option to include ssd-upgrader-part boot option with SONiC partition ([sonic-net#2150](sonic-net/sonic-utilities#2150)) * [config reload] Fix invalid rstrip. ([sonic-net#2157](sonic-net/sonic-utilities#2157)) * Accept 0 for queue and dscp ([sonic-net#2162](sonic-net/sonic-utilities#2162)) Signed-off-by: dprital <[email protected]>
6 tasks
6 tasks
yxieca
pushed a commit
that referenced
this pull request
Jun 17, 2022
#### What I did Fixes #2170 Converting xpath to path: - There is only 1 case where the path is referring to the list itself. Example: ``` path="/BUFFER_PORT_EGRESS_PROFILE_LIST/Ethernet9/profile_list", xpath="/sonic-buffer-port-egress-profile-list:sonic-buffer-port-egress-profile-list/BUFFER_PORT_EGRESS_PROFILE_LIST/BUFFER_PORT_EGRESS_PROFILE_LIST_LIST[port='Ethernet9']/profile_list", ``` - There is no other case as we the list is just a single string, and we cannot refer to individual elements in string in ConfigDb. Converting path to xpath, there are 2 cases: - Xpath is pointing to leaf-list as a whole, return path of whole list ``` xpath="/sonic-buffer-port-egress-profile-list:sonic-buffer-port-egress-profile-list/BUFFER_PORT_EGRESS_PROFILE_LIST/BUFFER_PORT_EGRESS_PROFILE_LIST_LIST[port='Ethernet9']/profile_list", path="/BUFFER_PORT_EGRESS_PROFILE_LIST/Ethernet9/profile_list", ``` - Xpath is pointing to an element of the leaf-list, return path of whole list as well since it is not possible to point to specific element -- here we are pointing to the element `egress_lossy_profile` ``` xpath="/sonic-buffer-port-egress-profile-list:sonic-buffer-port-egress-profile-list/BUFFER_PORT_EGRESS_PROFILE_LIST/BUFFER_PORT_EGRESS_PROFILE_LIST_LIST[port='Ethernet9']/profile_list[.='egress_lossy_profile']", path="/BUFFER_PORT_EGRESS_PROFILE_LIST/Ethernet9/profile_list", ``` #### How I did it Only a single change if the xpath is pointing to a specific element, just return whole list token from ConfigDb format. Please note this solution is future proof, if ConfigDb changes how a list is saved as a string or json list, we don't care. #### How to verify it unit-test #### Previous command output (if the output of a command-line utility has changed) #### New command output (if the output of a command-line utility has changed)
Merged
7 tasks
This was referenced Sep 14, 2022
7 tasks
This was referenced Sep 14, 2022
This was referenced Sep 14, 2022
7 tasks
7 tasks
7 tasks
7 tasks
7 tasks
7 tasks
7 tasks
7 tasks
Merged
7 tasks
7 tasks
7 tasks
7 tasks
7 tasks
7 tasks
Open
7 tasks
7 tasks
7 tasks
7 tasks
This was referenced Oct 5, 2022
This was referenced Oct 11, 2022
kellyyeh
pushed a commit
to kellyyeh/sonic-buildimage
that referenced
this pull request
Oct 19, 2022
…et#12172) Porting sonic-net#3723 to 201911 #### Why I did it Extend Mellanox FW utils with CPLD update feature Added support for CPLD upgrade to Mellanox FW utility #### How I did it Updated Mellanox FW utility #### How to verify it mlnx-fw-upgrade.sh --upgrade --cpld # Regular CPLD update flow UPDATE_MLNX_CPLD_FW=1 mlnx-fw-upgrade.sh --upgrade # Force CPLD refresh only #### Ensure to add label/tag for the feature raised. example - [PR#2174](sonic-net/sonic-utilities#2174) where, Generic Config and Update feature has been labelled as GCU.
This was referenced Oct 25, 2022
7 tasks
liuh-80
added a commit
to sonic-net/sonic-buildimage
that referenced
this pull request
Nov 1, 2022
Send remote address in TACACS+ authorization message. #### Why I did it TACACS+ authorization message not send remote address to server side. #### How I did it Send remote address in TACACS+ authorization message. #### How to verify it Pass all E2E test. Create new test case to validate remote address been send to server side. #### Which release branch to backport (provide reason below if selected) <!-- - Note we only backport fixes to a release branch, *not* features! - Please also provide a reason for the backporting below. - e.g. - [x] 202006 --> - [ ] 201811 - [ ] 201911 - [ ] 202006 - [ ] 202012 - [ ] 202106 - [ ] 202111 - [ ] 202205 #### Description for the changelog Send remote address in TACACS+ authorization message. #### Ensure to add label/tag for the feature raised. example - [PR#2174](sonic-net/sonic-utilities#2174) where, Generic Config and Update feature has been labelled as GCU. #### Link to config_db schema for YANG module changes <!-- Provide a link to config_db schema for the table for which YANG model is defined Link should point to correct section on https://github.com/Azure/sonic-buildimage/blob/master/src/sonic-yang-models/doc/Configuration.md --> #### A picture of a cute animal (not mandatory but encouraged)
7 tasks
yxieca
pushed a commit
to sonic-net/sonic-buildimage
that referenced
this pull request
Nov 10, 2022
Send remote address in TACACS+ authorization message. #### Why I did it TACACS+ authorization message not send remote address to server side. #### How I did it Send remote address in TACACS+ authorization message. #### How to verify it Pass all E2E test. Create new test case to validate remote address been send to server side. #### Which release branch to backport (provide reason below if selected) <!-- - Note we only backport fixes to a release branch, *not* features! - Please also provide a reason for the backporting below. - e.g. - [x] 202006 --> - [ ] 201811 - [ ] 201911 - [ ] 202006 - [ ] 202012 - [ ] 202106 - [ ] 202111 - [ ] 202205 #### Description for the changelog Send remote address in TACACS+ authorization message. #### Ensure to add label/tag for the feature raised. example - [PR#2174](sonic-net/sonic-utilities#2174) where, Generic Config and Update feature has been labelled as GCU. #### Link to config_db schema for YANG module changes <!-- Provide a link to config_db schema for the table for which YANG model is defined Link should point to correct section on https://github.com/Azure/sonic-buildimage/blob/master/src/sonic-yang-models/doc/Configuration.md --> #### A picture of a cute animal (not mandatory but encouraged)
This was referenced Nov 14, 2022
This was referenced Feb 15, 2023
Merged
9 tasks
This file contains hidden or 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
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
What I did
Fixes #2170
Converting xpath to path:
Converting path to xpath, there are 2 cases:
egress_lossy_profileHow I did it
Only a single change if the xpath is pointing to a specific element, just return whole list token from ConfigDb format.
Please note this solution is future proof, if ConfigDb changes how a list is saved as a string or json list, we don't care.
How to verify it
unit-test
Previous command output (if the output of a command-line utility has changed)
New command output (if the output of a command-line utility has changed)