You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Empty dict_key['global'] was not parsed in TACPLUS table.
Steps to reproduce the issue
Background of tacacs table. In t0 topo, tacacs has default value while configDB doesn't contain those table.
After sudo config tacacs value, its table will appear in configDB.
Then the table will contains empty value after set back to default.
Check configDB table of TACACS
admin@vlab-01:~/$ show run all | grep -w TACPLUS
admin@vlab-01:~/$ show tacacs
TACPLUS global auth_type pap (default)
TACPLUS global timeout 5 (default)
TACPLUS global passkey <EMPTY_STRING> (default)
sudo config tacacs and revert to default. TACPLUS table appear in configDB.
admin@vlab-01:~$ sudo config tacacs timeout 3
admin@vlab-01:~$ show run all | grep -w TACPLUS -A3
"TACPLUS": {
"global": {
"timeout": "3"
}
admin@vlab-01:~$ sudo config tacacs default timeout
admin@vlab-01:~$ show run all | grep -w TACPLUS -A3
"TACPLUS": {
"global": {}
},
"TACPLUS_SERVER": {
apply-patch empty json. Action fail.
Describe the results you received
admin@vlab-01:~$ sudo config apply-patch -i /FEATURE -i /QUEUE -i /SCHEDULER empty.json
Patch Applier: Patch application starting.
Patch Applier: Patch: []
Patch Applier: Getting current config db.
Patch Applier: Simulating the target full config after applying the patch.
Patch Applier: Validating target config does not have empty tables, since they do not show up in ConfigDb.
Patch Applier: Sorting patch updates.
Note: Below table(s) have no YANG models:
BGP_PEER_RANGE, CONSOLE_SWITCH, DEVICE_NEIGHBOR_METADATA, DHCP_SERVER, KDUMP, RESTAPI, SNMP, SNMP_COMMUNITY, TELEMETRY,
sonic_yang(3):All Keys are not parsed in TACPLUS
dict_keys(['global'])
sonic_yang(3):exceptionList:[]
sonic_yang(3):Data Loading Failed:All Keys are not parsed in TACPLUS
dict_keys(['global'])
Failed to apply patch
Usage: config apply-patch [OPTIONS] PATCH_FILE_PATH
Try "config apply-patch -h" for help.
Error: Given patch is not valid because it will result in an invalid config
Describe the results you expected
apply-patch should not be impact
Additional information you deem important (e.g. issue happens only occasionally)
Output of show version
admin@vlab-01:~$ show ver
SONiC Software Version: SONiC.master.58770-6402a0226
Distribution: Debian 11.1
Kernel: 5.10.0-8-2-amd64
Build commit: 6402a0226
Build date: Mon Dec 13 09:02:14 UTC 2021
Built by: AzDevOps@sonic-build-workers-000Z9S
Platform: x86_64-kvm_x86_64-r0
HwSKU: Force10-S6000
ASIC: vs
ASIC Count: 1
Serial Number: N/A
Model Number: N/A
Hardware Revision: N/A
Uptime: 07:27:57 up 1:45, 2 users, load average: 0.11, 0.17, 0.16
The text was updated successfully, but these errors were encountered:
This seem like a YANG model issue. TACPLUS yang model needs to be updated. Right?
I am not sure. apply-patch can work when it contains value. Please see my code snippet.
admin@vlab-01:~/tacacs$ sudo config tacacs timeout 3
admin@vlab-01:~/tacacs$ show run all | grep -w TACPLUS -A3
"TACPLUS": {
"global": {
"timeout": "3"
}
admin@vlab-01:~/tacacs$ sudo config apply-patch -i /FEATURE -i /QUEUE -i /SCHEDULER tacacs_rm.json
Patch Applier: Patch application starting.
Patch Applier: Patch: [{"op": "remove", "path": "/TACPLUS"}]
Patch Applier: Getting current config db.
Patch Applier: Simulating the target full config after applying the patch.
Patch Applier: Validating target config does not have empty tables, since they do not show up in ConfigDb.
Patch Applier: Sorting patch updates.
...
sonic_yang(3):All Keys are not parsed in TACPLUS
dict_keys(['global'])
sonic_yang(3):exceptionList:[]
sonic_yang(3):Data Loading Failed:All Keys are not parsed in TACPLUS
dict_keys(['global'])
...
Patch Applier: The patch was sorted into 1 change:
Patch Applier: * [{"op": "remove", "path": "/TACPLUS"}]
Patch Applier: Applying 1 change in order:
Patch Applier: * [{"op": "remove", "path": "/TACPLUS"}]
Patch Applier: Verifying patch updates are reflected on ConfigDB.
Patch Applier: Patch application completed.
Patch applied successfully.
Is it possible that 'global' cannot be empty?
wen587
changed the title
[generic_config_updater] dict_key 'global' was not parsed in TACPLUS
[generic_config_updater] validating TACPLUS with empty “gobal” fails, while non-empty “global” does not fail
Jan 12, 2022
Description
Empty dict_key['global'] was not parsed in TACPLUS table.
Steps to reproduce the issue
Background of tacacs table. In t0 topo, tacacs has default value while configDB doesn't contain those table.
After
sudo config
tacacs value, its table will appear in configDB.Then the table will contains empty value after set back to default.
sudo config
tacacs and revert to default. TACPLUS table appear in configDB.apply-patch
empty json. Action fail.Describe the results you received
Describe the results you expected
apply-patch
should not be impactAdditional information you deem important (e.g. issue happens only occasionally)
Output of
show version
The text was updated successfully, but these errors were encountered: