From 757a6b00c04e1300ba8b1ef719ddb29472842167 Mon Sep 17 00:00:00 2001 From: "Shahzad Iqbal (SHAHZADIQBAL)" Date: Tue, 9 Aug 2022 12:12:33 -0700 Subject: [PATCH] added 2 tests and fixed a bug. --- scripts/vnet_route_check.py | 4 ++- tests/vnet_route_check_test.py | 66 +++++++++++++++++++++++++++++++++- 2 files changed, 68 insertions(+), 2 deletions(-) diff --git a/scripts/vnet_route_check.py b/scripts/vnet_route_check.py index 33b7c5eef5..2abe9c1b7b 100755 --- a/scripts/vnet_route_check.py +++ b/scripts/vnet_route_check.py @@ -352,7 +352,9 @@ def main(): return rc asic_db = swsscommon.DBConnector('ASIC_DB', 0) virtual_router = swsscommon.Table(asic_db, 'ASIC_STATE:SAI_OBJECT_TYPE_VIRTUAL_ROUTER') - default_vrf_oid = virtual_router.getKeys()[0] + default_vrf_oid = "" + if virtual_router.getKeys() != []: + default_vrf_oid = virtual_router.getKeys()[0] app_db_vnet_routes = get_vnet_routes_from_app_db(default_vrf_oid) asic_db_vnet_routes = get_vnet_routes_from_asic_db(default_vrf_oid) diff --git a/tests/vnet_route_check_test.py b/tests/vnet_route_check_test.py index c06ea10ea3..d12466d9fd 100644 --- a/tests/vnet_route_check_test.py +++ b/tests/vnet_route_check_test.py @@ -27,7 +27,7 @@ VNET_ROUTE_TABLE = "VNET_ROUTE_TABLE" INTF_TABLE = "INTF_TABLE" ASIC_STATE = "ASIC_STATE" - +VNET_ROUTE_TUNNEL_TABLE = "VNET_ROUTE_TUNNEL_TABLE" RT_ENTRY_KEY_PREFIX = 'SAI_OBJECT_TYPE_ROUTE_ENTRY:{\"dest":\"' RT_ENTRY_KEY_SUFFIX = '\",\"switch_id\":\"oid:0x21000000000000\",\"vr\":\"oid:0x3000000000d4b\"}' @@ -223,6 +223,70 @@ } } } + }, + "4": { + DESCR: "All tunnel routes are configured in both APP and ASIC DB", + ARGS: "vnet_route_check", + PRE: { + APPL_DB: { + VXLAN_TUNNEL_TABLE: { + "tunnel_v4": { "src_ip": "10.1.0.32" } + }, + VNET_TABLE: { + "Vnet_v4_in_v4-0": [("vxlan_tunnel", "tunnel_v4"), ("scope", "default"), ("vni", "10000"), ("peer_list", "")] + }, + VNET_ROUTE_TUNNEL_TABLE: { + "Vnet_v4_in_v4-0:150.62.191.1/32" : { "endpoint" : "100.251.7.1,100.251.7.2" } + } + }, + ASIC_DB: { + "ASIC_STATE:SAI_OBJECT_TYPE_VIRTUAL_ROUTER": { + "oid:0x3000000000d4b" : { "":"" } + }, + ASIC_STATE: { + RT_ENTRY_KEY_PREFIX + "150.62.191.1/32" + RT_ENTRY_KEY_SUFFIX: {} + } + } + }, + RESULT: { + "results": {} + } + }, + "5": { + DESCR: "Tunnel route present in APP DB but mssing in ASIC DB", + ARGS: "vnet_route_check", + RET: -1, + PRE: { + APPL_DB: { + VXLAN_TUNNEL_TABLE: { + "tunnel_v4": { "src_ip": "10.1.0.32" } + }, + VNET_TABLE: { + "Vnet_v4_in_v4-0": [("vxlan_tunnel", "tunnel_v4"), ("scope", "default"), ("vni", "10000"), ("peer_list", "")] + }, + VNET_ROUTE_TUNNEL_TABLE: { + "Vnet_v4_in_v4-0:150.62.191.1/32" : { "endpoint" : "100.251.7.1,100.251.7.2" } + } + }, + ASIC_DB: { + "ASIC_STATE:SAI_OBJECT_TYPE_VIRTUAL_ROUTER": { + "oid:0x3000000000d4b" : { "":"" } + }, + ASIC_STATE: { + } + } + }, + RESULT: { + "results": { + "missed_in_asic_db_routes": { + "Vnet_v4_in_v4-0": { + "routes": [ + "150.62.191.1/32" + ] + } + } + } + } } }