-
Notifications
You must be signed in to change notification settings - Fork 668
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
[generic_config_updater] VRF modification failed when loopback interface is assigned with two or more IP addresses #2000
Comments
I think this error is also related: admin@vlab-03:~$ sudo config apply-patch -n -i /FEATURE -i /SCHEDULER -i /QUEUE -v ~/data/11_01_2022_04_05/logs/configlet/AddRack/patch_add/patch.json
Patch Applier: Patch application starting.
Patch Applier: Patch: [{"op": "add", "path": "/ACL_TABLE/EVERFLOW/ports/8", "value": "Ethernet64"}, {"op": "add", "path": "/ACL_TABLE/EVERFLOWV6/ports/8", "value": "Ethernet64"}, {"op": "add", "path": "/PORT/Ethernet64/admin_status", "value": "up"}, {"op": "replace", "path": "/PORT/Ethernet64/description", "value": "ARISTA01T0:Ethernet1"}, {"op": "add", "path": "/BUFFER_PG/Ethernet64|3-4", "value": {"profile": "pg_lossless_40000_40m_profile"}}, {"op": "add", "path": "/BUFFER_PG/Ethernet64|0", "value": {"profile": "ingress_lossy_profile"}}, {"op": "add", "path": "/DEVICE_NEIGHBOR_METADATA/ARISTA01T0", "value": {"hwsku": "Arista-VM", "lo_addr": "None", "mgmt_addr": "10.250.0.63", "type": "ToRRouter"}}, {"op": "add", "path": "/DEVICE_NEIGHBOR/Ethernet64", "value": {"name": "ARISTA01T0", "port": "Ethernet1"}}, {"op": "add", "path": "/QUEUE/Ethernet64|4", "value": {"scheduler": "scheduler.1", "wred_profile": "AZURE_LOSSLESS"}}, {"op": "add", "path": "/QUEUE/Ethernet64|5", "value": {"scheduler": "scheduler.0"}}, {"op": "add", "path": "/QUEUE/Ethernet64|0", "value": {"scheduler": "scheduler.0"}}, {"op": "add", "path": "/QUEUE/Ethernet64|1", "value": {"scheduler": "scheduler.0"}}, {"op": "add", "path": "/QUEUE/Ethernet64|3", "value": {"scheduler": "scheduler.1", "wred_profile": "AZURE_LOSSLESS"}}, {"op": "add", "path": "/QUEUE/Ethernet64|6", "value": {"scheduler": "scheduler.0"}}, {"op": "add", "path": "/QUEUE/Ethernet64|2", "value": {"scheduler": "scheduler.0"}}, {"op": "add", "path": "/INTERFACE/Ethernet64|10.0.0.32~131", "value": {}}, {"op": "add", "path": "/INTERFACE/Ethernet64", "value": {}}, {"op": "add", "path": "/INTERFACE/Ethernet64|FC00::41~1126", "value": {}}, {"op": "add", "path": "/BUFFER_QUEUE/Ethernet64|3-4", "value": {"profile": "egress_lossless_profile"}}, {"op": "add", "path": "/BUFFER_QUEUE/Ethernet64|0-2", "value": {"profile": "egress_lossy_profile"}}, {"op": "add", "path": "/BUFFER_QUEUE/Ethernet64|5-6", "value": {"profile": "egress_lossy_profile"}}, {"op": "add", "path": "/PORT_QOS_MAP/Ethernet64", "value": {"dscp_to_tc_map": "AZURE", "pfc_enable": "3,4", "pfc_to_queue_map": "AZURE", "tc_to_pg_map": "AZURE", "tc_to_queue_map": "AZURE"}}, {"op": "replace", "path": "/CABLE_LENGTH/AZURE/Ethernet64", "value": "40m"}, {"op": "add", "path": "/BGP_NEIGHBOR/10.0.0.33", "value": {"admin_status": "up", "asn": "64001", "holdtime": "10", "keepalive": "3", "local_addr": "10.0.0.32", "name": "ARISTA01T0", "nhopself": "0", "rrclient": "0"}}, {"op": "add", "path": "/BGP_NEIGHBOR/fc00::42", "value": {"admin_status": "up", "asn": "64001", "holdtime": "10", "keepalive": "3", "local_addr": "fc00::41", "name": "ARISTA01T0", "nhopself": "0", "rrclient": "0"}}]
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.
Patch Sorter - Non-Strict: Splitting current/target config based on YANG covered vs non-YANG covered configs.
Note: Below table(s) have no YANG models:
CONSOLE_SWITCH, DEVICE_NEIGHBOR_METADATA, DHCP_SERVER, KDUMP, RESTAPI, SNMP, SNMP_COMMUNITY, TELEMETRY,
Note: Below table(s) have no YANG models:
CONSOLE_SWITCH, DEVICE_NEIGHBOR_METADATA, DHCP_SERVER, KDUMP, RESTAPI, SNMP, SNMP_COMMUNITY, TELEMETRY,
Patch Sorter - Non-Strict: Validating YANG covered target config according to YANG models.
Patch Sorter - Non-Strict: Sorting non-YANG covered configs patch updates.
Patch Sorter - Non-Strict: The Non-YANG covered config update was sorted into 1 change:
Patch Sorter - Non-Strict: * [{"op": "add", "path": "/DEVICE_NEIGHBOR_METADATA/ARISTA01T0", "value": {"hwsku": "Arista-VM", "lo_addr": "None", "mgmt_addr": "10.250.0.63", "type": "ToRRouter"}}, {"op": "add", "path": "/QUEUE/Ethernet64|1", "value": {"scheduler": "scheduler.0"}}, {"op": "add", "path": "/QUEUE/Ethernet64|4", "value": {"scheduler": "scheduler.1", "wred_profile": "AZURE_LOSSLESS"}}, {"op": "add", "path": "/QUEUE/Ethernet64|2", "value": {"scheduler": "scheduler.0"}}, {"op": "add", "path": "/QUEUE/Ethernet64|5", "value": {"scheduler": "scheduler.0"}}, {"op": "add", "path": "/QUEUE/Ethernet64|0", "value": {"scheduler": "scheduler.0"}}, {"op": "add", "path": "/QUEUE/Ethernet64|3", "value": {"scheduler": "scheduler.1", "wred_profile": "AZURE_LOSSLESS"}}, {"op": "add", "path": "/QUEUE/Ethernet64|6", "value": {"scheduler": "scheduler.0"}}]
Patch Sorter - Non-Strict: Regenerating patch for YANG covered configs only.
Patch Sorter - Non-Strict: Generated patch [{"op": "add", "path": "/BUFFER_PG/Ethernet64|0", "value": {"profile": "ingress_lossy_profile"}}, {"op": "add", "path": "/BUFFER_PG/Ethernet64|3-4", "value": {"profile": "pg_lossless_40000_40m_profile"}}, {"op": "add", "path": "/PORT_QOS_MAP/Ethernet64", "value": {"dscp_to_tc_map": "AZURE", "pfc_enable": "3,4", "pfc_to_queue_map": "AZURE", "tc_to_pg_map": "AZURE", "tc_to_queue_map": "AZURE"}}, {"op": "add", "path": "/INTERFACE/Ethernet64|FC00::41~1126", "value": {}}, {"op": "add", "path": "/INTERFACE/Ethernet64", "value": {}}, {"op": "add", "path": "/INTERFACE/Ethernet64|10.0.0.32~131", "value": {}}, {"op": "replace", "path": "/CABLE_LENGTH/AZURE/Ethernet64", "value": "40m"}, {"op": "add", "path": "/PORT/Ethernet64/admin_status", "value": "up"}, {"op": "replace", "path": "/PORT/Ethernet64/description", "value": "ARISTA01T0:Ethernet1"}, {"op": "add", "path": "/BUFFER_QUEUE/Ethernet64|5-6", "value": {"profile": "egress_lossy_profile"}}, {"op": "add", "path": "/BUFFER_QUEUE/Ethernet64|0-2", "value": {"profile": "egress_lossy_profile"}}, {"op": "add", "path": "/BUFFER_QUEUE/Ethernet64|3-4", "value": {"profile": "egress_lossless_profile"}}, {"op": "add", "path": "/DEVICE_NEIGHBOR/Ethernet64", "value": {"name": "ARISTA01T0", "port": "Ethernet1"}}, {"op": "add", "path": "/BGP_NEIGHBOR/10.0.0.33", "value": {"admin_status": "up", "asn": "64001", "holdtime": "10", "keepalive": "3", "local_addr": "10.0.0.32", "name": "ARISTA01T0", "nhopself": "0", "rrclient": "0"}}, {"op": "add", "path": "/BGP_NEIGHBOR/fc00::42", "value": {"admin_status": "up", "asn": "64001", "holdtime": "10", "keepalive": "3", "local_addr": "fc00::41", "name": "ARISTA01T0", "nhopself": "0", "rrclient": "0"}}, {"op": "add", "path": "/ACL_TABLE/EVERFLOW/ports/8", "value": "Ethernet64"}, {"op": "add", "path": "/ACL_TABLE/EVERFLOWV6/ports/8", "value": "Ethernet64"}]
Patch Sorter - Non-Strict: Validating YANG covered config patch is not making changes to tables without YANG models.
Patch Sorter - Non-Strict: Sorting YANG-covered configs patch updates.
Failed to apply patch
Usage: config apply-patch [OPTIONS] PATCH_FILE_PATH
Try "config apply-patch -h" for help.
Error: Token not found
admin@vlab-03:~$ Improving the error we get:
|
The error in the original problem with more data: The exception is at
The exception shows that we are trying to get the referrers for 1. Why do need to get
|
…delete whole config move (#2006) #### What I did Not generating delete whole config move because it is not allowed by JsonPatch library and it is not possible for ConfigDb to be equal to NULL. This solves the first problem in issue #2000 (comment) #### How I did it - Verified UpperLevelMoveExtender does not generate delete whole config move - Modified DeleteInsteadOfReplaceMoveExtender to not generate delete whole config move - DeleteRefsMoveExtender cannot generate delete whole config move, because it deletes the referrer leafs #### 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)
…delete whole config move (#2006) #### What I did Not generating delete whole config move because it is not allowed by JsonPatch library and it is not possible for ConfigDb to be equal to NULL. This solves the first problem in issue #2000 (comment) #### How I did it - Verified UpperLevelMoveExtender does not generate delete whole config move - Modified DeleteInsteadOfReplaceMoveExtender to not generate delete whole config move - DeleteRefsMoveExtender cannot generate delete whole config move, because it deletes the referrer leafs #### 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)
…delete whole config move (#2006) #### What I did Not generating delete whole config move because it is not allowed by JsonPatch library and it is not possible for ConfigDb to be equal to NULL. This solves the first problem in issue sonic-net/sonic-utilities#2000 (comment) #### How I did it - Verified UpperLevelMoveExtender does not generate delete whole config move - Modified DeleteInsteadOfReplaceMoveExtender to not generate delete whole config move - DeleteRefsMoveExtender cannot generate delete whole config move, because it deletes the referrer leafs #### 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)
Description
If the Loopback is assigned with two or more IP address(either v4 or v6), VRF config by
config apply-patch
on that interface will fail.Steps to reproduce the issue
config
apply-patch
to add Loopback0 to Vrf_01Describe the results you received
apply-patch
failDescribe the results you expected
apply-patch
successAdditional information you deem important (e.g. issue happens only occasionally)
Output of
show version
The text was updated successfully, but these errors were encountered: