Content

상위 폴더로 이동
[INFO] Found progress file. Resuming from: test_sonic/bgp_policy/scenario_bgp_policy_med_attribute.yaml
[INFO] Skipping already-completed scenario: test_sonic/bgp/scenario_bgp_aggregation.yaml
[INFO] Skipping already-completed scenario: test_sonic/bgp/scenario_bgp_aggregation_summary_only.yaml
[INFO] Skipping already-completed scenario: test_sonic/bgp/scenario_bgp_as_route_filtering.yaml
[INFO] Skipping already-completed scenario: test_sonic/bgp/scenario_bgp_authentication.yaml
[INFO] Skipping already-completed scenario: test_sonic/bgp/scenario_bgp_confederation.yaml
[INFO] Skipping already-completed scenario: test_sonic/bgp/scenario_bgp_local_as.yaml
[INFO] Skipping already-completed scenario: test_sonic/bgp/scenario_bgp_local_preference_attribute.yaml
[INFO] Skipping already-completed scenario: test_sonic/bgp/scenario_bgp_multi_path.yaml
[INFO] Skipping already-completed scenario: test_sonic/bgp/scenario_bgp_neighbor.yaml
[INFO] Skipping already-completed scenario: test_sonic/bgp/scenario_bgp_network.yaml
[INFO] Skipping already-completed scenario: test_sonic/bgp/scenario_bgp_next_hop_attribute.yaml
[INFO] Skipping already-completed scenario: test_sonic/bgp/scenario_bgp_peer_group.yaml
[INFO] Skipping already-completed scenario: test_sonic/bgp/scenario_bgp_private_as.yaml
[INFO] Skipping already-completed scenario: test_sonic/bgp/scenario_bgp_redistribute.yaml
[INFO] Skipping already-completed scenario: test_sonic/bgp/scenario_bgp_route_reflector.yaml
[INFO] Skipping already-completed scenario: test_sonic/bgp/scenario_bgp_timer.yaml
[INFO] Skipping already-completed scenario: test_sonic/bgp/scenario_bgp_weight_attribute.yaml
[INFO] Skipping already-completed scenario: test_sonic/bgp_policy/scenario_bgp_policy_as_path_attribute.yaml
[INFO] Skipping already-completed scenario: test_sonic/bgp_policy/scenario_bgp_policy_community_attribute.yaml
[INFO] Skipping already-completed scenario: test_sonic/bgp_policy/scenario_bgp_policy_distribute_list_in.yaml
[INFO] Skipping already-completed scenario: test_sonic/bgp_policy/scenario_bgp_policy_distribute_list_out.yaml
[INFO] Skipping already-completed scenario: test_sonic/bgp_policy/scenario_bgp_policy_local_preference_attribute.yaml
===========================================================================
Starting Scenario: test_sonic/bgp_policy/scenario_bgp_policy_med_attribute.yaml.
===========================================================================
Extracting test device list. . .
R/S Devices: R-1,R-2,R-3,R-4
H/TG Devices: None
Running test command. . . (attempt 1/2)
./run_tests.sh -n etri-sonic-all -d R-1,R-2,R-3,R-4 -c test_sonic/test_sonic.py -f vtestbed.yaml -i ../ansible/vsonic_vtb -P test_sonic/bgp_policy/scenario_bgp_policy_med_attribute.yaml
=== Running tests in groups ===
Running: python3 -m pytest test_sonic/test_sonic.py --inventory ../ansible/vsonic_vtb --host-pattern R-1,R-2,R-3,R-4 --testbed etri-sonic-all --testbed_file vtestbed.yaml --log-cli-level info --log-file-level debug --scenario-filename test_sonic/bgp_policy/scenario_bgp_policy_med_attribute.yaml --showlocals --assert plain --show-capture no -rav --ignore=ptftests --ignore=acstests --ignore=saitests --ignore=scripts --ignore=k8s --ignore=sai_qualify --junit-xml=logs/tr.xml --log-file=logs/test.log
ERROR:pytest_ansible.units:No galaxy.yml file found, plugin not activated
============================= test session starts ==============================
platform linux -- Python 3.8.10, pytest-7.4.0, pluggy-1.5.0 -- /usr/bin/python3
cachedir: .pytest_cache
metadata: {'Python': '3.8.10', 'Platform': 'Linux-6.8.0-107-generic-x86_64-with-glibc2.29', 'Packages': {'pytest': '7.4.0', 'pluggy': '1.5.0'}, 'Plugins': {'html': '4.1.1', 'ansible': '4.0.0', 'repeat': '0.9.3', 'stress': '1.0.1', 'forked': '1.6.0', 'xdist': '1.28.0', 'allure-pytest': '2.8.22', 'metadata': '3.1.1'}}
ansible: 2.13.13
rootdir: /data/NetAutoTestFW/tests
configfile: pytest.ini
plugins: html-4.1.1, ansible-4.0.0, repeat-0.9.3, stress-1.0.1, forked-1.6.0, xdist-1.28.0, allure-pytest-2.8.22, metadata-3.1.1
collecting ... DEBUG:tests.common.plugins.conditional_mark:Trying to load test mark conditions files: ['common/plugins/conditional_mark/tests_mark_conditions_skip_traffic_test.yaml', 'common/plugins/conditional_mark/tests_mark_conditions.yaml', 'common/plugins/conditional_mark/tests_mark_conditions_acl.yaml', 'common/plugins/conditional_mark/tests_mark_conditions_drop_packets.yaml', 'common/plugins/conditional_mark/tests_mark_conditions_platform_tests.yaml']
DEBUG:tests.common.plugins.conditional_mark:Loaded test mark conditions file: common/plugins/conditional_mark/tests_mark_conditions_skip_traffic_test.yaml
DEBUG:tests.common.plugins.conditional_mark:Loaded test mark conditions file: common/plugins/conditional_mark/tests_mark_conditions.yaml
DEBUG:tests.common.plugins.conditional_mark:Loaded test mark conditions file: common/plugins/conditional_mark/tests_mark_conditions_acl.yaml
DEBUG:tests.common.plugins.conditional_mark:Loaded test mark conditions file: common/plugins/conditional_mark/tests_mark_conditions_drop_packets.yaml
DEBUG:tests.common.plugins.conditional_mark:Loaded test mark conditions file: common/plugins/conditional_mark/tests_mark_conditions_platform_tests.yaml

----------------------------- live log collection ------------------------------
23:03:32 __init__.load_dut_basic_facts            L0143 INFO   | Getting dut basic facts
INFO:tests.common.plugins.conditional_mark:Getting dut basic facts
/usr/local/lib/python3.8/dist-packages/paramiko/transport.py:236: CryptographyDeprecationWarning: Blowfish has been deprecated
  "class": algorithms.Blowfish,
DEBUG:tests.common.plugins.conditional_mark:raw dut basic facts:
R-1 | SUCCESS => {"ansible_facts": {"dut_basic_facts": {"asic_subtype": "vs","asic_type": "vs","branch": "etri-202505","build_date": "Wed Sep  9 05:16:43 UTC 2026","build_number": 27,"build_version": "etri-202505.27-8610ff460","built_by": "jenkins@w2sh","commit_id": "8610ff460","debian_version": "12.15","feature_status": {"bgp": "enabled","database": "always_enabled","dhcp_relay": "disabled","eventd": "enabled","gbsyncd": "enabled","gnmi": "enabled","lldp": "enabled","macsec": "disabled","mgmt-framework": "enabled","mux": "always_disabled","nat": "disabled","pmon": "enabled","radv": "enabled","sflow": "disabled","snmp": "enabled","swss": "enabled","syncd": "enabled","teamd": "enabled","telemetry": "enabled"},"hwsku": "Etri-SONiC","is_multi_asic": false,"is_supervisor": false,"kernel_version": "6.1.0","libswsscommon": "1.0.0","num_asic": 1,"platform": "x86_64-kvm_x86_64-r0","release": "202505","secure_boot_image": "no","sonic_os_version": 12,"sonic_utilities": 1.2}},"changed": false}

23:03:33 __init__.load_minigraph_facts            L0231 INFO   | Getting minigraph basic facts
INFO:tests.common.plugins.conditional_mark:Getting minigraph basic facts
/usr/local/lib/python3.8/dist-packages/paramiko/transport.py:236: CryptographyDeprecationWarning: Blowfish has been deprecated
  "class": algorithms.Blowfish,
ERROR:tests.common.plugins.conditional_mark:Failed to load minigraph basic facts, exception: CalledProcessError(2, ['ansible', '-m', 'minigraph_facts', '-i', '../ansible/vsonic_vtb', 'R-1', '-a', 'host=R-1'])
23:03:34 __init__.load_minigraph_facts            L0245 ERROR  | Failed to load minigraph basic facts, exception: CalledProcessError(2, ['ansible', '-m', 'minigraph_facts', '-i', '../ansible/vsonic_vtb', 'R-1', '-a', 'host=R-1'])
INFO:tests.common.plugins.conditional_mark:Getting config basic facts
23:03:34 __init__.load_config_facts               L0263 INFO   | Getting config basic facts
/usr/local/lib/python3.8/dist-packages/paramiko/transport.py:236: CryptographyDeprecationWarning: Blowfish has been deprecated
  "class": algorithms.Blowfish,
DEBUG:tests.common.plugins.conditional_mark:raw config basic facts:
R-1 | SUCCESS => {
    "ansible_facts": {
        "DEVICE_METADATA": {
            "localhost": {
                "deployment_id": "1",
                "hostname": "R-1",
                "hwsku": "Etri-SONiC",
                "mac": "22:f1:58:ae:a6:55",
                "platform": "x86_64-kvm_x86_64-r0",
                "type": "LeafRouter"
            }
        },
        "MGMT_INTERFACE": {
            "eth0": {
                "10.250.0.51/24": {
                    "gwaddr": "10.250.0.1"
                }
            }
        },
        "MGMT_PORT": {
            "eth0": {
                "admin_status": "up",
                "alias": "eth0"
            }
        },
        "PORT": {
            "Ethernet0": {
                "admin_status": "up",
                "alias": "fortyGigE0/0",
                "index": "0",
                "lanes": "25,26,27,28",
                "speed": "40000"
            },
            "Ethernet100": {
                "admin_status": "up",
                "alias": "fortyGigE0/100",
                "index": "25",
                "lanes": "121,122,123,124",
                "speed": "40000"
            },
            "Ethernet104": {
                "admin_status": "up",
                "alias": "fortyGigE0/104",
                "index": "26",
                "lanes": "81,82,83,84",
                "speed": "40000"
            },
            "Ethernet108": {
                "admin_status": "up",
                "alias": "fortyGigE0/108",
                "index": "27",
                "lanes": "85,86,87,88",
                "speed": "40000"
            },
            "Ethernet112": {
                "admin_status": "up",
                "alias": "fortyGigE0/112",
                "index": "28",
                "lanes": "93,94,95,96",
                "speed": "40000"
            },
            "Ethernet116": {
                "admin_status": "up",
                "alias": "fortyGigE0/116",
                "index": "29",
                "lanes": "89,90,91,92",
                "speed": "40000"
            },
            "Ethernet12": {
                "admin_status": "up",
                "alias": "fortyGigE0/12",
                "index": "3",
                "lanes": "37,38,39,40",
                "speed": "40000"
            },
            "Ethernet120": {
                "admin_status": "up",
                "alias": "fortyGigE0/120",
                "index": "30",
                "lanes": "101,102,103,104",
                "speed": "40000"
            },
            "Ethernet124": {
                "admin_status": "up",
                "alias": "fortyGigE0/124",
                "index": "31",
                "lanes": "97,98,99,100",
                "speed": "40000"
            },
            "Ethernet16": {
                "admin_status": "up",
                "alias": "fortyGigE0/16",
                "index": "4",
                "lanes": "45,46,47,48",
                "speed": "40000"
            },
            "Ethernet20": {
                "admin_status": "up",
                "alias": "fortyGigE0/20",
                "index": "5",
                "lanes": "41,42,43,44",
                "speed": "40000"
            },
            "Ethernet24": {
                "admin_status": "up",
                "alias": "fortyGigE0/24",
                "index": "6",
                "lanes": "1,2,3,4",
                "speed": "40000"
            },
            "Ethernet28": {
                "admin_status": "up",
                "alias": "fortyGigE0/28",
                "index": "7",
                "lanes": "5,6,7,8",
                "speed": "40000"
            },
            "Ethernet32": {
                "admin_status": "up",
                "alias": "fortyGigE0/32",
                "index": "8",
                "lanes": "13,14,15,16",
                "speed": "40000"
            },
            "Ethernet36": {
                "admin_status": "up",
                "alias": "fortyGigE0/36",
                "index": "9",
                "lanes": "9,10,11,12",
                "speed": "40000"
            },
            "Ethernet4": {
                "admin_status": "up",
                "alias": "fortyGigE0/4",
                "index": "1",
                "lanes": "29,30,31,32",
                "speed": "40000"
            },
            "Ethernet40": {
                "admin_status": "up",
                "alias": "fortyGigE0/40",
                "index": "10",
                "lanes": "17,18,19,20",
                "speed": "40000"
            },
            "Ethernet44": {
                "admin_status": "up",
                "alias": "fortyGigE0/44",
                "index": "11",
                "lanes": "21,22,23,24",
                "speed": "40000"
            },
            "Ethernet48": {
                "admin_status": "up",
                "alias": "fortyGigE0/48",
                "index": "12",
                "lanes": "53,54,55,56",
                "speed": "40000"
            },
            "Ethernet52": {
                "admin_status": "up",
                "alias": "fortyGigE0/52",
                "index": "13",
                "lanes": "49,50,51,52",
                "speed": "40000"
            },
            "Ethernet56": {
                "admin_status": "up",
                "alias": "fortyGigE0/56",
                "index": "14",
                "lanes": "57,58,59,60",
                "speed": "40000"
            },
            "Ethernet60": {
                "admin_status": "up",
                "alias": "fortyGigE0/60",
                "index": "15",
                "lanes": "61,62,63,64",
                "speed": "40000"
            },
            "Ethernet64": {
                "admin_status": "up",
                "alias": "fortyGigE0/64",
                "index": "16",
                "lanes": "69,70,71,72",
                "speed": "40000"
            },
            "Ethernet68": {
                "admin_status": "up",
                "alias": "fortyGigE0/68",
                "index": "17",
                "lanes": "65,66,67,68",
                "speed": "40000"
            },
            "Ethernet72": {
                "admin_status": "up",
                "alias": "fortyGigE0/72",
                "index": "18",
                "lanes": "73,74,75,76",
                "speed": "40000"
            },
            "Ethernet76": {
                "admin_status": "up",
                "alias": "fortyGigE0/76",
                "index": "19",
                "lanes": "77,78,79,80",
                "speed": "40000"
            },
            "Ethernet8": {
                "admin_status": "up",
                "alias": "fortyGigE0/8",
                "index": "2",
                "lanes": "33,34,35,36",
                "speed": "40000"
            },
            "Ethernet80": {
                "admin_status": "up",
                "alias": "fortyGigE0/80",
                "index": "20",
                "lanes": "109,110,111,112",
                "speed": "40000"
            },
            "Ethernet84": {
                "admin_status": "up",
                "alias": "fortyGigE0/84",
                "index": "21",
                "lanes": "105,106,107,108",
                "speed": "40000"
            },
            "Ethernet88": {
                "admin_status": "up",
                "alias": "fortyGigE0/88",
                "index": "22",
                "lanes": "113,114,115,116",
                "speed": "40000"
            },
            "Ethernet92": {
                "admin_status": "up",
                "alias": "fortyGigE0/92",
                "index": "23",
                "lanes": "117,118,119,120",
                "speed": "40000"
            },
            "Ethernet96": {
                "admin_status": "up",
                "alias": "fortyGigE0/96",
                "index": "24",
                "lanes": "125,126,127,128",
                "speed": "40000"
            }
        },
        "port_alias_to_name_map": {
            "fortyGigE0/0": "Ethernet0",
            "fortyGigE0/100": "Ethernet100",
            "fortyGigE0/104": "Ethernet104",
            "fortyGigE0/108": "Ethernet108",
            "fortyGigE0/112": "Ethernet112",
            "fortyGigE0/116": "Ethernet116",
            "fortyGigE0/12": "Ethernet12",
            "fortyGigE0/120": "Ethernet120",
            "fortyGigE0/124": "Ethernet124",
            "fortyGigE0/16": "Ethernet16",
            "fortyGigE0/20": "Ethernet20",
            "fortyGigE0/24": "Ethernet24",
            "fortyGigE0/28": "Ethernet28",
            "fortyGigE0/32": "Ethernet32",
            "fortyGigE0/36": "Ethernet36",
            "fortyGigE0/4": "Ethernet4",
            "fortyGigE0/40": "Ethernet40",
            "fortyGigE0/44": "Ethernet44",
            "fortyGigE0/48": "Ethernet48",
            "fortyGigE0/52": "Ethernet52",
            "fortyGigE0/56": "Ethernet56",
            "fortyGigE0/60": "Ethernet60",
            "fortyGigE0/64": "Ethernet64",
            "fortyGigE0/68": "Ethernet68",
            "fortyGigE0/72": "Ethernet72",
            "fortyGigE0/76": "Ethernet76",
            "fortyGigE0/8": "Ethernet8",
            "fortyGigE0/80": "Ethernet80",
            "fortyGigE0/84": "Ethernet84",
            "fortyGigE0/88": "Ethernet88",
            "fortyGigE0/92": "Ethernet92",
            "fortyGigE0/96": "Ethernet96"
        },
        "port_index_map": {
            "Ethernet0": 0,
            "Ethernet100": 25,
            "Ethernet104": 26,
            "Ethernet108": 27,
            "Ethernet112": 28,
            "Ethernet116": 29,
            "Ethernet12": 3,
            "Ethernet120": 30,
            "Ethernet124": 31,
            "Ethernet16": 4,
            "Ethernet20": 5,
            "Ethernet24": 6,
            "Ethernet28": 7,
            "Ethernet32": 8,
            "Ethernet36": 9,
            "Ethernet4": 1,
            "Ethernet40": 10,
            "Ethernet44": 11,
            "Ethernet48": 12,
            "Ethernet52": 13,
            "Ethernet56": 14,
            "Ethernet60": 15,
            "Ethernet64": 16,
            "Ethernet68": 17,
            "Ethernet72": 18,
            "Ethernet76": 19,
            "Ethernet8": 2,
            "Ethernet80": 20,
            "Ethernet84": 21,
            "Ethernet88": 22,
            "Ethernet92": 23,
            "Ethernet96": 24
        },
        "port_name_to_alias_map": {
            "Ethernet0": "fortyGigE0/0",
            "Ethernet100": "fortyGigE0/100",
            "Ethernet104": "fortyGigE0/104",
            "Ethernet108": "fortyGigE0/108",
            "Ethernet112": "fortyGigE0/112",
            "Ethernet116": "fortyGigE0/116",
            "Ethernet12": "fortyGigE0/12",
            "Ethernet120": "fortyGigE0/120",
            "Ethernet124": "fortyGigE0/124",
            "Ethernet16": "fortyGigE0/16",
            "Ethernet20": "fortyGigE0/20",
            "Ethernet24": "fortyGigE0/24",
            "Ethernet28": "fortyGigE0/28",
            "Ethernet32": "fortyGigE0/32",
            "Ethernet36": "fortyGigE0/36",
            "Ethernet4": "fortyGigE0/4",
            "Ethernet40": "fortyGigE0/40",
            "Ethernet44": "fortyGigE0/44",
            "Ethernet48": "fortyGigE0/48",
            "Ethernet52": "fortyGigE0/52",
            "Ethernet56": "fortyGigE0/56",
            "Ethernet60": "fortyGigE0/60",
            "Ethernet64": "fortyGigE0/64",
            "Ethernet68": "fortyGigE0/68",
            "Ethernet72": "fortyGigE0/72",
            "Ethernet76": "fortyGigE0/76",
            "Ethernet8": "fortyGigE0/8",
            "Ethernet80": "fortyGigE0/80",
            "Ethernet84": "fortyGigE0/84",
            "Ethernet88": "fortyGigE0/88",
            "Ethernet92": "fortyGigE0/92",
            "Ethernet96": "fortyGigE0/96"
        }
    },
    "changed": false
}

INFO:tests.common.plugins.conditional_mark:Getting switch capabilities basic facts
23:03:35 __init__.load_switch_capabilities_facts  L0298 INFO   | Getting switch capabilities basic facts
/usr/local/lib/python3.8/dist-packages/paramiko/transport.py:236: CryptographyDeprecationWarning: Blowfish has been deprecated
  "class": algorithms.Blowfish,
DEBUG:tests.common.plugins.conditional_mark:raw switch capabilities basic facts:
R-1 | SUCCESS => {
    "ansible_facts": {
        "discovered_interpreter_python": "/usr/bin/python3",
        "switch_capabilities": {
            "switch": {
                "ACL_ACTION|FLOW_OP": "INT,IOAM,NOP,POSTCARD",
                "ACL_ACTION|PACKET_ACTION": "COPY,DROP,FORWARD",
                "ASIC_SDK_HEALTH_EVENT": "true",
                "ECMP_HASH_ALGORITHM": "CRC,XOR,RANDOM,CRC_32LO,CRC_32HI,CRC_CCITT,CRC_XOR",
                "ECMP_HASH_ALGORITHM_CAPABLE": "true",
                "ECMP_HASH_CAPABLE": "true",
                "HASH|NATIVE_HASH_FIELD_LIST": "SRC_IP,DST_IP,INNER_SRC_IP,INNER_DST_IP,VLAN_ID,IP_PROTOCOL,ETHERTYPE,L4_SRC_PORT,L4_DST_PORT,SRC_MAC,DST_MAC,IN_PORT,INNER_IP_PROTOCOL,INNER_ETHERTYPE,INNER_L4_SRC_PORT,INNER_L4_DST_PORT,INNER_SRC_MAC,INNER_DST_MAC,IPV6_FLOW_LABEL",
                "ICMP_OFFLOAD_CAPABLE": "true",
                "LAG_HASH_ALGORITHM": "CRC,XOR,RANDOM,CRC_32LO,CRC_32HI,CRC_CCITT,CRC_XOR",
                "LAG_HASH_ALGORITHM_CAPABLE": "true",
                "LAG_HASH_CAPABLE": "true",
                "LAG_TPID_CAPABLE": "true",
                "MAX_NEXTHOP_GROUP_COUNT": "512",
                "MAX_TWAMP_SESSION_COUNT": "128",
                "MIRROR": "true",
                "MIRRORV6": "true",
                "ORDERED_ECMP_CAPABLE": "true",
                "PATH_TRACING_CAPABLE": "true",
                "PFC_DLR_INIT_CAPABLE": "true",
                "PORT_EGRESS_SAMPLE_CAPABLE": "true",
                "PORT_TPID_CAPABLE": "true",
                "REG_FATAL_ASIC_SDK_HEALTH_CATEGORY": "true",
                "REG_NOTICE_ASIC_SDK_HEALTH_CATEGORY": "true",
                "REG_WARNING_ASIC_SDK_HEALTH_CATEGORY": "true",
                "SWITCH_TRIMMING_CAPABLE": "true",
                "SWITCH|NUMBER_OF_TRAFFIC_CLASSES": "16",
                "SWITCH|NUMBER_OF_UNICAST_QUEUES": "10",
                "SWITCH|PACKET_TRIMMING_DSCP_RESOLUTION_MODE": "DSCP_VALUE,FROM_TC",
                "SWITCH|PACKET_TRIMMING_QUEUE_RESOLUTION_MODE": "STATIC,DYNAMIC"
            }
        }
    },
    "changed": false
}

INFO:tests.common.plugins.conditional_mark:Getting config basic facts
23:03:36 __init__.load_config_facts               L0263 INFO   | Getting config basic facts
/usr/local/lib/python3.8/dist-packages/paramiko/transport.py:236: CryptographyDeprecationWarning: Blowfish has been deprecated
  "class": algorithms.Blowfish,
DEBUG:tests.common.plugins.conditional_mark:raw config basic facts:
R-1 | SUCCESS => {
    "ansible_facts": {
        "DEVICE_METADATA": {
            "localhost": {
                "deployment_id": "1",
                "hostname": "R-1",
                "hwsku": "Etri-SONiC",
                "mac": "22:f1:58:ae:a6:55",
                "platform": "x86_64-kvm_x86_64-r0",
                "type": "LeafRouter"
            }
        },
        "MGMT_INTERFACE": {
            "eth0": {
                "10.250.0.51/24": {
                    "gwaddr": "10.250.0.1"
                }
            }
        },
        "MGMT_PORT": {
            "eth0": {
                "admin_status": "up",
                "alias": "eth0"
            }
        },
        "PORT": {
            "Ethernet0": {
                "admin_status": "up",
                "alias": "fortyGigE0/0",
                "index": "0",
                "lanes": "25,26,27,28",
                "speed": "40000"
            },
            "Ethernet100": {
                "admin_status": "up",
                "alias": "fortyGigE0/100",
                "index": "25",
                "lanes": "121,122,123,124",
                "speed": "40000"
            },
            "Ethernet104": {
                "admin_status": "up",
                "alias": "fortyGigE0/104",
                "index": "26",
                "lanes": "81,82,83,84",
                "speed": "40000"
            },
            "Ethernet108": {
                "admin_status": "up",
                "alias": "fortyGigE0/108",
                "index": "27",
                "lanes": "85,86,87,88",
                "speed": "40000"
            },
            "Ethernet112": {
                "admin_status": "up",
                "alias": "fortyGigE0/112",
                "index": "28",
                "lanes": "93,94,95,96",
                "speed": "40000"
            },
            "Ethernet116": {
                "admin_status": "up",
                "alias": "fortyGigE0/116",
                "index": "29",
                "lanes": "89,90,91,92",
                "speed": "40000"
            },
            "Ethernet12": {
                "admin_status": "up",
                "alias": "fortyGigE0/12",
                "index": "3",
                "lanes": "37,38,39,40",
                "speed": "40000"
            },
            "Ethernet120": {
                "admin_status": "up",
                "alias": "fortyGigE0/120",
                "index": "30",
                "lanes": "101,102,103,104",
                "speed": "40000"
            },
            "Ethernet124": {
                "admin_status": "up",
                "alias": "fortyGigE0/124",
                "index": "31",
                "lanes": "97,98,99,100",
                "speed": "40000"
            },
            "Ethernet16": {
                "admin_status": "up",
                "alias": "fortyGigE0/16",
                "index": "4",
                "lanes": "45,46,47,48",
                "speed": "40000"
            },
            "Ethernet20": {
                "admin_status": "up",
                "alias": "fortyGigE0/20",
                "index": "5",
                "lanes": "41,42,43,44",
                "speed": "40000"
            },
            "Ethernet24": {
                "admin_status": "up",
                "alias": "fortyGigE0/24",
                "index": "6",
                "lanes": "1,2,3,4",
                "speed": "40000"
            },
            "Ethernet28": {
                "admin_status": "up",
                "alias": "fortyGigE0/28",
                "index": "7",
                "lanes": "5,6,7,8",
                "speed": "40000"
            },
            "Ethernet32": {
                "admin_status": "up",
                "alias": "fortyGigE0/32",
                "index": "8",
                "lanes": "13,14,15,16",
                "speed": "40000"
            },
            "Ethernet36": {
                "admin_status": "up",
                "alias": "fortyGigE0/36",
                "index": "9",
                "lanes": "9,10,11,12",
                "speed": "40000"
            },
            "Ethernet4": {
                "admin_status": "up",
                "alias": "fortyGigE0/4",
                "index": "1",
                "lanes": "29,30,31,32",
                "speed": "40000"
            },
            "Ethernet40": {
                "admin_status": "up",
                "alias": "fortyGigE0/40",
                "index": "10",
                "lanes": "17,18,19,20",
                "speed": "40000"
            },
            "Ethernet44": {
                "admin_status": "up",
                "alias": "fortyGigE0/44",
                "index": "11",
                "lanes": "21,22,23,24",
                "speed": "40000"
            },
            "Ethernet48": {
                "admin_status": "up",
                "alias": "fortyGigE0/48",
                "index": "12",
                "lanes": "53,54,55,56",
                "speed": "40000"
            },
            "Ethernet52": {
                "admin_status": "up",
                "alias": "fortyGigE0/52",
                "index": "13",
                "lanes": "49,50,51,52",
                "speed": "40000"
            },
            "Ethernet56": {
                "admin_status": "up",
                "alias": "fortyGigE0/56",
                "index": "14",
                "lanes": "57,58,59,60",
                "speed": "40000"
            },
            "Ethernet60": {
                "admin_status": "up",
                "alias": "fortyGigE0/60",
                "index": "15",
                "lanes": "61,62,63,64",
                "speed": "40000"
            },
            "Ethernet64": {
                "admin_status": "up",
                "alias": "fortyGigE0/64",
                "index": "16",
                "lanes": "69,70,71,72",
                "speed": "40000"
            },
            "Ethernet68": {
                "admin_status": "up",
                "alias": "fortyGigE0/68",
                "index": "17",
                "lanes": "65,66,67,68",
                "speed": "40000"
            },
            "Ethernet72": {
                "admin_status": "up",
                "alias": "fortyGigE0/72",
                "index": "18",
                "lanes": "73,74,75,76",
                "speed": "40000"
            },
            "Ethernet76": {
                "admin_status": "up",
                "alias": "fortyGigE0/76",
                "index": "19",
                "lanes": "77,78,79,80",
                "speed": "40000"
            },
            "Ethernet8": {
                "admin_status": "up",
                "alias": "fortyGigE0/8",
                "index": "2",
                "lanes": "33,34,35,36",
                "speed": "40000"
            },
            "Ethernet80": {
                "admin_status": "up",
                "alias": "fortyGigE0/80",
                "index": "20",
                "lanes": "109,110,111,112",
                "speed": "40000"
            },
            "Ethernet84": {
                "admin_status": "up",
                "alias": "fortyGigE0/84",
                "index": "21",
                "lanes": "105,106,107,108",
                "speed": "40000"
            },
            "Ethernet88": {
                "admin_status": "up",
                "alias": "fortyGigE0/88",
                "index": "22",
                "lanes": "113,114,115,116",
                "speed": "40000"
            },
            "Ethernet92": {
                "admin_status": "up",
                "alias": "fortyGigE0/92",
                "index": "23",
                "lanes": "117,118,119,120",
                "speed": "40000"
            },
            "Ethernet96": {
                "admin_status": "up",
                "alias": "fortyGigE0/96",
                "index": "24",
                "lanes": "125,126,127,128",
                "speed": "40000"
            }
        },
        "port_alias_to_name_map": {
            "fortyGigE0/0": "Ethernet0",
            "fortyGigE0/100": "Ethernet100",
            "fortyGigE0/104": "Ethernet104",
            "fortyGigE0/108": "Ethernet108",
            "fortyGigE0/112": "Ethernet112",
            "fortyGigE0/116": "Ethernet116",
            "fortyGigE0/12": "Ethernet12",
            "fortyGigE0/120": "Ethernet120",
            "fortyGigE0/124": "Ethernet124",
            "fortyGigE0/16": "Ethernet16",
            "fortyGigE0/20": "Ethernet20",
            "fortyGigE0/24": "Ethernet24",
            "fortyGigE0/28": "Ethernet28",
            "fortyGigE0/32": "Ethernet32",
            "fortyGigE0/36": "Ethernet36",
            "fortyGigE0/4": "Ethernet4",
            "fortyGigE0/40": "Ethernet40",
            "fortyGigE0/44": "Ethernet44",
            "fortyGigE0/48": "Ethernet48",
            "fortyGigE0/52": "Ethernet52",
            "fortyGigE0/56": "Ethernet56",
            "fortyGigE0/60": "Ethernet60",
            "fortyGigE0/64": "Ethernet64",
            "fortyGigE0/68": "Ethernet68",
            "fortyGigE0/72": "Ethernet72",
            "fortyGigE0/76": "Ethernet76",
            "fortyGigE0/8": "Ethernet8",
            "fortyGigE0/80": "Ethernet80",
            "fortyGigE0/84": "Ethernet84",
            "fortyGigE0/88": "Ethernet88",
            "fortyGigE0/92": "Ethernet92",
            "fortyGigE0/96": "Ethernet96"
        },
        "port_index_map": {
            "Ethernet0": 0,
            "Ethernet100": 25,
            "Ethernet104": 26,
            "Ethernet108": 27,
            "Ethernet112": 28,
            "Ethernet116": 29,
            "Ethernet12": 3,
            "Ethernet120": 30,
            "Ethernet124": 31,
            "Ethernet16": 4,
            "Ethernet20": 5,
            "Ethernet24": 6,
            "Ethernet28": 7,
            "Ethernet32": 8,
            "Ethernet36": 9,
            "Ethernet4": 1,
            "Ethernet40": 10,
            "Ethernet44": 11,
            "Ethernet48": 12,
            "Ethernet52": 13,
            "Ethernet56": 14,
            "Ethernet60": 15,
            "Ethernet64": 16,
            "Ethernet68": 17,
            "Ethernet72": 18,
            "Ethernet76": 19,
            "Ethernet8": 2,
            "Ethernet80": 20,
            "Ethernet84": 21,
            "Ethernet88": 22,
            "Ethernet92": 23,
            "Ethernet96": 24
        },
        "port_name_to_alias_map": {
            "Ethernet0": "fortyGigE0/0",
            "Ethernet100": "fortyGigE0/100",
            "Ethernet104": "fortyGigE0/104",
            "Ethernet108": "fortyGigE0/108",
            "Ethernet112": "fortyGigE0/112",
            "Ethernet116": "fortyGigE0/116",
            "Ethernet12": "fortyGigE0/12",
            "Ethernet120": "fortyGigE0/120",
            "Ethernet124": "fortyGigE0/124",
            "Ethernet16": "fortyGigE0/16",
            "Ethernet20": "fortyGigE0/20",
            "Ethernet24": "fortyGigE0/24",
            "Ethernet28": "fortyGigE0/28",
            "Ethernet32": "fortyGigE0/32",
            "Ethernet36": "fortyGigE0/36",
            "Ethernet4": "fortyGigE0/4",
            "Ethernet40": "fortyGigE0/40",
            "Ethernet44": "fortyGigE0/44",
            "Ethernet48": "fortyGigE0/48",
            "Ethernet52": "fortyGigE0/52",
            "Ethernet56": "fortyGigE0/56",
            "Ethernet60": "fortyGigE0/60",
            "Ethernet64": "fortyGigE0/64",
            "Ethernet68": "fortyGigE0/68",
            "Ethernet72": "fortyGigE0/72",
            "Ethernet76": "fortyGigE0/76",
            "Ethernet8": "fortyGigE0/8",
            "Ethernet80": "fortyGigE0/80",
            "Ethernet84": "fortyGigE0/84",
            "Ethernet88": "fortyGigE0/88",
            "Ethernet92": "fortyGigE0/92",
            "Ethernet96": "fortyGigE0/96"
        }
    },
    "changed": false
}

23:03:36 __init__.pytest_collection_modifyitems   L0607 INFO   | Available basic facts that can be used in conditional skip:
{
  "topo_type": "etri",
  "topo_name": "etri",
  "testbed": "etri-sonic-all",
  "asic_subtype": "vs",
  "asic_type": "vs",
  "branch": "etri-202505",
  "build_date": "Wed Sep  9 05:16:43 UTC 2026",
  "build_number": 27,
  "build_version": "etri-202505.27-8610ff460",
  "built_by": "jenkins@w2sh",
  "commit_id": "8610ff460",
  "debian_version": "12.15",
  "feature_status": {
    "bgp": "enabled",
    "database": "always_enabled",
    "dhcp_relay": "disabled",
    "eventd": "enabled",
    "gbsyncd": "enabled",
    "gnmi": "enabled",
    "lldp": "enabled",
    "macsec": "disabled",
    "mgmt-framework": "enabled",
    "mux": "always_disabled",
    "nat": "disabled",
    "pmon": "enabled",
    "radv": "enabled",
    "sflow": "disabled",
    "snmp": "enabled",
    "swss": "enabled",
    "syncd": "enabled",
    "teamd": "enabled",
    "telemetry": "enabled"
  },
  "hwsku": "Etri-SONiC",
  "is_multi_asic": false,
  "is_supervisor": false,
  "kernel_version": "6.1.0",
  "libswsscommon": "1.0.0",
  "num_asic": 1,
  "platform": "x86_64-kvm_x86_64-r0",
  "release": "202505",
  "secure_boot_image": "no",
  "sonic_os_version": 12,
  "sonic_utilities": 1.2,
  "asic_gen": "unknown",
  "VOQ_INBAND_INTERFACE": {},
  "BGP_VOQ_CHASSIS_NEIGHBOR": {},
  "INTERFACE": {},
  "switch": {
    "ACL_ACTION|FLOW_OP": "INT,IOAM,NOP,POSTCARD",
    "ACL_ACTION|PACKET_ACTION": "COPY,DROP,FORWARD",
    "ASIC_SDK_HEALTH_EVENT": "true",
    "ECMP_HASH_ALGORITHM": "CRC,XOR,RANDOM,CRC_32LO,CRC_32HI,CRC_CCITT,CRC_XOR",
    "ECMP_HASH_ALGORITHM_CAPABLE": "true",
    "ECMP_HASH_CAPABLE": "true",
    "HASH|NATIVE_HASH_FIELD_LIST": "SRC_IP,DST_IP,INNER_SRC_IP,INNER_DST_IP,VLAN_ID,IP_PROTOCOL,ETHERTYPE,L4_SRC_PORT,L4_DST_PORT,SRC_MAC,DST_MAC,IN_PORT,INNER_IP_PROTOCOL,INNER_ETHERTYPE,INNER_L4_SRC_PORT,INNER_L4_DST_PORT,INNER_SRC_MAC,INNER_DST_MAC,IPV6_FLOW_LABEL",
    "ICMP_OFFLOAD_CAPABLE": "true",
    "LAG_HASH_ALGORITHM": "CRC,XOR,RANDOM,CRC_32LO,CRC_32HI,CRC_CCITT,CRC_XOR",
    "LAG_HASH_ALGORITHM_CAPABLE": "true",
    "LAG_HASH_CAPABLE": "true",
    "LAG_TPID_CAPABLE": "true",
    "MAX_NEXTHOP_GROUP_COUNT": "512",
    "MAX_TWAMP_SESSION_COUNT": "128",
    "MIRROR": "true",
    "MIRRORV6": "true",
    "ORDERED_ECMP_CAPABLE": "true",
    "PATH_TRACING_CAPABLE": "true",
    "PFC_DLR_INIT_CAPABLE": "true",
    "PORT_EGRESS_SAMPLE_CAPABLE": "true",
    "PORT_TPID_CAPABLE": "true",
    "REG_FATAL_ASIC_SDK_HEALTH_CATEGORY": "true",
    "REG_NOTICE_ASIC_SDK_HEALTH_CATEGORY": "true",
    "REG_WARNING_ASIC_SDK_HEALTH_CATEGORY": "true",
    "SWITCH_TRIMMING_CAPABLE": "true",
    "SWITCH|NUMBER_OF_TRAFFIC_CLASSES": "16",
    "SWITCH|NUMBER_OF_UNICAST_QUEUES": "10",
    "SWITCH|PACKET_TRIMMING_DSCP_RESOLUTION_MODE": "DSCP_VALUE,FROM_TC",
    "SWITCH|PACKET_TRIMMING_QUEUE_RESOLUTION_MODE": "STATIC,DYNAMIC"
  }
}
INFO:tests.common.plugins.conditional_mark:Available basic facts that can be used in conditional skip:
{
  "topo_type": "etri",
  "topo_name": "etri",
  "testbed": "etri-sonic-all",
  "asic_subtype": "vs",
  "asic_type": "vs",
  "branch": "etri-202505",
  "build_date": "Wed Sep  9 05:16:43 UTC 2026",
  "build_number": 27,
  "build_version": "etri-202505.27-8610ff460",
  "built_by": "jenkins@w2sh",
  "commit_id": "8610ff460",
  "debian_version": "12.15",
  "feature_status": {
    "bgp": "enabled",
    "database": "always_enabled",
    "dhcp_relay": "disabled",
    "eventd": "enabled",
    "gbsyncd": "enabled",
    "gnmi": "enabled",
    "lldp": "enabled",
    "macsec": "disabled",
    "mgmt-framework": "enabled",
    "mux": "always_disabled",
    "nat": "disabled",
    "pmon": "enabled",
    "radv": "enabled",
    "sflow": "disabled",
    "snmp": "enabled",
    "swss": "enabled",
    "syncd": "enabled",
    "teamd": "enabled",
    "telemetry": "enabled"
  },
  "hwsku": "Etri-SONiC",
  "is_multi_asic": false,
  "is_supervisor": false,
  "kernel_version": "6.1.0",
  "libswsscommon": "1.0.0",
  "num_asic": 1,
  "platform": "x86_64-kvm_x86_64-r0",
  "release": "202505",
  "secure_boot_image": "no",
  "sonic_os_version": 12,
  "sonic_utilities": 1.2,
  "asic_gen": "unknown",
  "VOQ_INBAND_INTERFACE": {},
  "BGP_VOQ_CHASSIS_NEIGHBOR": {},
  "INTERFACE": {},
  "switch": {
    "ACL_ACTION|FLOW_OP": "INT,IOAM,NOP,POSTCARD",
    "ACL_ACTION|PACKET_ACTION": "COPY,DROP,FORWARD",
    "ASIC_SDK_HEALTH_EVENT": "true",
    "ECMP_HASH_ALGORITHM": "CRC,XOR,RANDOM,CRC_32LO,CRC_32HI,CRC_CCITT,CRC_XOR",
    "ECMP_HASH_ALGORITHM_CAPABLE": "true",
    "ECMP_HASH_CAPABLE": "true",
    "HASH|NATIVE_HASH_FIELD_LIST": "SRC_IP,DST_IP,INNER_SRC_IP,INNER_DST_IP,VLAN_ID,IP_PROTOCOL,ETHERTYPE,L4_SRC_PORT,L4_DST_PORT,SRC_MAC,DST_MAC,IN_PORT,INNER_IP_PROTOCOL,INNER_ETHERTYPE,INNER_L4_SRC_PORT,INNER_L4_DST_PORT,INNER_SRC_MAC,INNER_DST_MAC,IPV6_FLOW_LABEL",
    "ICMP_OFFLOAD_CAPABLE": "true",
    "LAG_HASH_ALGORITHM": "CRC,XOR,RANDOM,CRC_32LO,CRC_32HI,CRC_CCITT,CRC_XOR",
    "LAG_HASH_ALGORITHM_CAPABLE": "true",
    "LAG_HASH_CAPABLE": "true",
    "LAG_TPID_CAPABLE": "true",
    "MAX_NEXTHOP_GROUP_COUNT": "512",
    "MAX_TWAMP_SESSION_COUNT": "128",
    "MIRROR": "true",
    "MIRRORV6": "true",
    "ORDERED_ECMP_CAPABLE": "true",
    "PATH_TRACING_CAPABLE": "true",
    "PFC_DLR_INIT_CAPABLE": "true",
    "PORT_EGRESS_SAMPLE_CAPABLE": "true",
    "PORT_TPID_CAPABLE": "true",
    "REG_FATAL_ASIC_SDK_HEALTH_CATEGORY": "true",
    "REG_NOTICE_ASIC_SDK_HEALTH_CATEGORY": "true",
    "REG_WARNING_ASIC_SDK_HEALTH_CATEGORY": "true",
    "SWITCH_TRIMMING_CAPABLE": "true",
    "SWITCH|NUMBER_OF_TRAFFIC_CLASSES": "16",
    "SWITCH|NUMBER_OF_UNICAST_QUEUES": "10",
    "SWITCH|PACKET_TRIMMING_DSCP_RESOLUTION_MODE": "DSCP_VALUE,FROM_TC",
    "SWITCH|PACKET_TRIMMING_QUEUE_RESOLUTION_MODE": "STATIC,DYNAMIC"
  }
}
collected 1 item

test_sonic/test_sonic.py::test_scenario INFO:SectionStartLogger:==================== test_sonic/test_sonic.py::test_scenario setup  ====================

-------------------------------- live log setup --------------------------------
23:03:36 __init__.set_default                     L0053 INFO   | Completeness level not set during test execution. Setting to default level: CompletenessLevel.basic
23:03:36 __init__.check_test_completeness         L0151 INFO   | Test has no defined levels. Continue without test completeness checks
23:03:36 facts_cache.read                         L0093 INFO   | [Cache] Load cache file "/data/NetAutoTestFW/tests/_cache/etri-sonic-all/tbinfo.pickle" failed with exception: FileNotFoundError(2, 'No such file or directory')
23:03:36 facts_cache.write                        L0115 INFO   | [Cache] Create cache dir /data/NetAutoTestFW/tests/_cache/etri-sonic-all
23:03:36 facts_cache.write                        L0121 INFO   | [Cache] Cached facts "etri-sonic-all.tbinfo" to /data/NetAutoTestFW/tests/_cache/etri-sonic-all/tbinfo.pickle
23:03:36 conftest.tbinfo                          L0187 INFO   | YCLEE tbinfo: {'conf-name': 'etri-sonic-all', 'group-name': 'etri', 'server': 'server_1', 'vm_base': 'R-1', 'tgs': ['TG-1'], 'inv_name': 'vsonic_vtb', 'auto_recover': 'False', 'comment': 'Tests virtual switch vm', 'duts': ['R-1', 'R-2', 'R-3', 'R-4', 'R-5', 'R-6', 'SW-1', 'SW-2', 'SW-3', 'SW-4'], 'duts_map': {'R-1': 0, 'R-2': 1, 'R-3': 2, 'R-4': 3, 'R-5': 4, 'R-6': 5, 'SW-1': 6, 'SW-2': 7, 'SW-3': 8, 'SW-4': 9}, 'ubuntus': ['H-1', 'H-2', 'H-3', 'H-4', 'H-5', 'H-6', 'H-7'], 'ubuntus_map': {'H-1': 0, 'H-2': 1, 'H-3': 2, 'H-4': 3, 'H-5': 4, 'H-6': 5, 'H-7': 6}, 'topo': defaultdict(None, {'name': 'etri', 'type': 'etri', 'properties': {'topology': {'links': [{'endpoint': ['R-1:Ethernet0', 'R-6:Ethernet0']}, {'endpoint': ['R-1:Ethernet4', 'R-2:Ethernet4']}, {'endpoint': ['R-1:Ethernet8', 'R-3:Ethernet0']}, {'endpoint': ['R-1:Ethernet12', 'R-2:Ethernet8']}, {'endpoint': ['R-2:Ethernet0', 'R-4:Ethernet0']}, {'endpoint': ['R-2:Ethernet12', 'R-3:Ethernet8', 'R-4:Ethernet8']}, {'endpoint': ['R-3:Ethernet4', 'SW-3:Ethernet12']}, {'endpoint': ['R-6:Ethernet4', 'SW-3:Ethernet16']}, {'endpoint': ['R-4:Ethernet4', 'R-5:Ethernet0']}, {'endpoint': ['R-5:Ethernet4', 'H-5:Eth1']}, {'endpoint': ['SW-2:Ethernet12', 'H-2:Eth1']}, {'endpoint': ['SW-2:Ethernet16', 'H-4:Eth1']}, {'endpoint': ['SW-4:Ethernet8', 'H-6:Eth1']}, {'endpoint': ['SW-4:Ethernet12', 'H-7:Eth1']}, {'endpoint': ['SW-1:Ethernet16', 'H-1:Eth1']}, {'endpoint': ['SW-1:Ethernet20', 'H-3:Eth1']}], 'L2_links': [{'switch': 'SW-1', 'intf': 'Ethernet0', 'send_port': 10000, 'recv_port': 10001}, {'switch': 'SW-1', 'intf': 'Ethernet4', 'send_port': 10002, 'recv_port': 10003}, {'switch': 'SW-1', 'intf': 'Ethernet8', 'send_port': 10004, 'recv_port': 10005}, {'switch': 'SW-1', 'intf': 'Ethernet12', 'send_port': 10006, 'recv_port': 10007}, {'switch': 'SW-2', 'intf': 'Ethernet0', 'send_port': 10008, 'recv_port': 10009}, {'switch': 'SW-2', 'intf': 'Ethernet4', 'send_port': 10005, 'recv_port': 10004}, {'switch': 'SW-2', 'intf': 'Ethernet8', 'send_port': 10010, 'recv_port': 10011}, {'switch': 'SW-3', 'intf': 'Ethernet0', 'send_port': 10001, 'recv_port': 10000}, {'switch': 'SW-3', 'intf': 'Ethernet4', 'send_port': 10003, 'recv_port': 10002}, {'switch': 'SW-3', 'intf': 'Ethernet8', 'send_port': 10009, 'recv_port': 10008}, {'switch': 'SW-4', 'intf': 'Ethernet0', 'send_port': 10007, 'recv_port': 10006}, {'switch': 'SW-4', 'intf': 'Ethernet4', 'send_port': 10011, 'recv_port': 10010}], 'VMs': {'R-1': {'vm_offset': 0}, 'R-2': {'vm_offset': 1}, 'R-3': {'vm_offset': 2}, 'R-4': {'vm_offset': 3}, 'R-5': {'vm_offset': 4}, 'R-6': {'vm_offset': 5}, 'SW-1': {'vm_offset': 6}, 'SW-2': {'vm_offset': 7}, 'SW-3': {'vm_offset': 8}, 'SW-4': {'vm_offset': 9}, 'H-1': {'vm_offset': 10}, 'H-2': {'vm_offset': 11}, 'H-3': {'vm_offset': 12}, 'H-4': {'vm_offset': 13}, 'H-5': {'vm_offset': 14}, 'H-6': {'vm_offset': 15}, 'H-7': {'vm_offset': 16}, 'TG-1': {'vm_offset': 17}}}}, 'ptf_map': defaultdict(, {}), 'ptf_map_disabled': defaultdict(, {}), 'ptf_dut_intf_map': defaultdict(, {})})}

SETUP    S tbinfo23:03:36 conftest.enhance_inventory               L0124 INFO   | Inventory file: ['../ansible/vsonic_vtb']

SETUP    S enhance_inventory (fixtures used: tbinfo)
SETUP    S ansible_adhoc23:03:36 facts_cache.read                         L0093 INFO   | [Cache] Load cache file "/data/NetAutoTestFW/tests/_cache/R-1/basic_facts.pickle" failed with exception: FileNotFoundError(2, 'No such file or directory')
23:03:39 facts_cache.read                         L0093 INFO   | [Cache] Load cache file "/data/NetAutoTestFW/tests/_cache/R-1/host_visible_vars.pickle" failed with exception: FileNotFoundError(2, 'No such file or directory')
23:03:39 facts_cache.write                        L0115 INFO   | [Cache] Create cache dir /data/NetAutoTestFW/tests/_cache/R-1
23:03:39 facts_cache.write                        L0121 INFO   | [Cache] Cached facts "R-1.host_visible_vars" to /data/NetAutoTestFW/tests/_cache/R-1/host_visible_vars.pickle
23:03:39 facts_cache.write                        L0121 INFO   | [Cache] Cached facts "R-1.basic_facts" to /data/NetAutoTestFW/tests/_cache/R-1/basic_facts.pickle
23:03:39 facts_cache.read                         L0093 INFO   | [Cache] Load cache file "/data/NetAutoTestFW/tests/_cache/R-1/os_version.pickle" failed with exception: FileNotFoundError(2, 'No such file or directory')
23:03:40 facts_cache.write                        L0121 INFO   | [Cache] Cached facts "R-1.os_version" to /data/NetAutoTestFW/tests/_cache/R-1/os_version.pickle
23:03:40 facts_cache.read                         L0093 INFO   | [Cache] Load cache file "/data/NetAutoTestFW/tests/_cache/R-1/feature_status.pickle" failed with exception: FileNotFoundError(2, 'No such file or directory')
23:03:40 facts_cache.write                        L0121 INFO   | [Cache] Cached facts "R-1.feature_status" to /data/NetAutoTestFW/tests/_cache/R-1/feature_status.pickle
23:03:40 facts_cache.read                         L0093 INFO   | [Cache] Load cache file "/data/NetAutoTestFW/tests/_cache/R-1/sonic_release.pickle" failed with exception: FileNotFoundError(2, 'No such file or directory')
23:03:41 facts_cache.write                        L0121 INFO   | [Cache] Cached facts "R-1.sonic_release" to /data/NetAutoTestFW/tests/_cache/R-1/sonic_release.pickle
23:03:41 facts_cache.read                         L0093 INFO   | [Cache] Load cache file "/data/NetAutoTestFW/tests/_cache/R-1/kernel_version.pickle" failed with exception: FileNotFoundError(2, 'No such file or directory')
23:03:41 facts_cache.write                        L0121 INFO   | [Cache] Cached facts "R-1.kernel_version" to /data/NetAutoTestFW/tests/_cache/R-1/kernel_version.pickle
23:03:42 facts_cache.read                         L0093 INFO   | [Cache] Load cache file "/data/NetAutoTestFW/tests/_cache/R-2/basic_facts.pickle" failed with exception: FileNotFoundError(2, 'No such file or directory')
23:03:44 facts_cache.read                         L0093 INFO   | [Cache] Load cache file "/data/NetAutoTestFW/tests/_cache/R-2/host_visible_vars.pickle" failed with exception: FileNotFoundError(2, 'No such file or directory')
23:03:44 facts_cache.write                        L0115 INFO   | [Cache] Create cache dir /data/NetAutoTestFW/tests/_cache/R-2
23:03:44 facts_cache.write                        L0121 INFO   | [Cache] Cached facts "R-2.host_visible_vars" to /data/NetAutoTestFW/tests/_cache/R-2/host_visible_vars.pickle
23:03:45 facts_cache.write                        L0121 INFO   | [Cache] Cached facts "R-2.basic_facts" to /data/NetAutoTestFW/tests/_cache/R-2/basic_facts.pickle
23:03:45 facts_cache.read                         L0093 INFO   | [Cache] Load cache file "/data/NetAutoTestFW/tests/_cache/R-2/os_version.pickle" failed with exception: FileNotFoundError(2, 'No such file or directory')
23:03:45 facts_cache.write                        L0121 INFO   | [Cache] Cached facts "R-2.os_version" to /data/NetAutoTestFW/tests/_cache/R-2/os_version.pickle
23:03:45 facts_cache.read                         L0093 INFO   | [Cache] Load cache file "/data/NetAutoTestFW/tests/_cache/R-2/feature_status.pickle" failed with exception: FileNotFoundError(2, 'No such file or directory')
23:03:46 facts_cache.write                        L0121 INFO   | [Cache] Cached facts "R-2.feature_status" to /data/NetAutoTestFW/tests/_cache/R-2/feature_status.pickle
23:03:46 facts_cache.read                         L0093 INFO   | [Cache] Load cache file "/data/NetAutoTestFW/tests/_cache/R-2/sonic_release.pickle" failed with exception: FileNotFoundError(2, 'No such file or directory')
23:03:46 facts_cache.write                        L0121 INFO   | [Cache] Cached facts "R-2.sonic_release" to /data/NetAutoTestFW/tests/_cache/R-2/sonic_release.pickle
23:03:46 facts_cache.read                         L0093 INFO   | [Cache] Load cache file "/data/NetAutoTestFW/tests/_cache/R-2/kernel_version.pickle" failed with exception: FileNotFoundError(2, 'No such file or directory')
23:03:47 facts_cache.write                        L0121 INFO   | [Cache] Cached facts "R-2.kernel_version" to /data/NetAutoTestFW/tests/_cache/R-2/kernel_version.pickle
23:03:48 facts_cache.read                         L0093 INFO   | [Cache] Load cache file "/data/NetAutoTestFW/tests/_cache/R-3/basic_facts.pickle" failed with exception: FileNotFoundError(2, 'No such file or directory')
23:03:50 facts_cache.read                         L0093 INFO   | [Cache] Load cache file "/data/NetAutoTestFW/tests/_cache/R-3/host_visible_vars.pickle" failed with exception: FileNotFoundError(2, 'No such file or directory')
23:03:50 facts_cache.write                        L0115 INFO   | [Cache] Create cache dir /data/NetAutoTestFW/tests/_cache/R-3
23:03:50 facts_cache.write                        L0121 INFO   | [Cache] Cached facts "R-3.host_visible_vars" to /data/NetAutoTestFW/tests/_cache/R-3/host_visible_vars.pickle
23:03:50 facts_cache.write                        L0121 INFO   | [Cache] Cached facts "R-3.basic_facts" to /data/NetAutoTestFW/tests/_cache/R-3/basic_facts.pickle
23:03:50 facts_cache.read                         L0093 INFO   | [Cache] Load cache file "/data/NetAutoTestFW/tests/_cache/R-3/os_version.pickle" failed with exception: FileNotFoundError(2, 'No such file or directory')
23:03:51 facts_cache.write                        L0121 INFO   | [Cache] Cached facts "R-3.os_version" to /data/NetAutoTestFW/tests/_cache/R-3/os_version.pickle
23:03:51 facts_cache.read                         L0093 INFO   | [Cache] Load cache file "/data/NetAutoTestFW/tests/_cache/R-3/feature_status.pickle" failed with exception: FileNotFoundError(2, 'No such file or directory')
23:03:51 facts_cache.write                        L0121 INFO   | [Cache] Cached facts "R-3.feature_status" to /data/NetAutoTestFW/tests/_cache/R-3/feature_status.pickle
23:03:51 facts_cache.read                         L0093 INFO   | [Cache] Load cache file "/data/NetAutoTestFW/tests/_cache/R-3/sonic_release.pickle" failed with exception: FileNotFoundError(2, 'No such file or directory')
23:03:52 facts_cache.write                        L0121 INFO   | [Cache] Cached facts "R-3.sonic_release" to /data/NetAutoTestFW/tests/_cache/R-3/sonic_release.pickle
23:03:52 facts_cache.read                         L0093 INFO   | [Cache] Load cache file "/data/NetAutoTestFW/tests/_cache/R-3/kernel_version.pickle" failed with exception: FileNotFoundError(2, 'No such file or directory')
23:03:52 facts_cache.write                        L0121 INFO   | [Cache] Cached facts "R-3.kernel_version" to /data/NetAutoTestFW/tests/_cache/R-3/kernel_version.pickle
23:03:53 facts_cache.read                         L0093 INFO   | [Cache] Load cache file "/data/NetAutoTestFW/tests/_cache/R-4/basic_facts.pickle" failed with exception: FileNotFoundError(2, 'No such file or directory')
23:03:55 facts_cache.read                         L0093 INFO   | [Cache] Load cache file "/data/NetAutoTestFW/tests/_cache/R-4/host_visible_vars.pickle" failed with exception: FileNotFoundError(2, 'No such file or directory')
23:03:55 facts_cache.write                        L0115 INFO   | [Cache] Create cache dir /data/NetAutoTestFW/tests/_cache/R-4
23:03:55 facts_cache.write                        L0121 INFO   | [Cache] Cached facts "R-4.host_visible_vars" to /data/NetAutoTestFW/tests/_cache/R-4/host_visible_vars.pickle
23:03:56 facts_cache.write                        L0121 INFO   | [Cache] Cached facts "R-4.basic_facts" to /data/NetAutoTestFW/tests/_cache/R-4/basic_facts.pickle
23:03:56 facts_cache.read                         L0093 INFO   | [Cache] Load cache file "/data/NetAutoTestFW/tests/_cache/R-4/os_version.pickle" failed with exception: FileNotFoundError(2, 'No such file or directory')
23:03:56 facts_cache.write                        L0121 INFO   | [Cache] Cached facts "R-4.os_version" to /data/NetAutoTestFW/tests/_cache/R-4/os_version.pickle
23:03:56 facts_cache.read                         L0093 INFO   | [Cache] Load cache file "/data/NetAutoTestFW/tests/_cache/R-4/feature_status.pickle" failed with exception: FileNotFoundError(2, 'No such file or directory')
23:03:57 facts_cache.write                        L0121 INFO   | [Cache] Cached facts "R-4.feature_status" to /data/NetAutoTestFW/tests/_cache/R-4/feature_status.pickle
23:03:57 facts_cache.read                         L0093 INFO   | [Cache] Load cache file "/data/NetAutoTestFW/tests/_cache/R-4/sonic_release.pickle" failed with exception: FileNotFoundError(2, 'No such file or directory')
23:03:57 facts_cache.write                        L0121 INFO   | [Cache] Cached facts "R-4.sonic_release" to /data/NetAutoTestFW/tests/_cache/R-4/sonic_release.pickle
23:03:57 facts_cache.read                         L0093 INFO   | [Cache] Load cache file "/data/NetAutoTestFW/tests/_cache/R-4/kernel_version.pickle" failed with exception: FileNotFoundError(2, 'No such file or directory')
23:03:58 facts_cache.write                        L0121 INFO   | [Cache] Cached facts "R-4.kernel_version" to /data/NetAutoTestFW/tests/_cache/R-4/kernel_version.pickle

SETUP    S duthosts (fixtures used: ansible_adhoc, enhance_inventory, tbinfo)
SETUP    S add_mgmt_test_mark (fixtures used: duthosts)
SETUP    S pytestconfig
SETUP    S ubuntus (fixtures used: ansible_adhoc, enhance_inventory, tbinfo)
SETUP    S record_testsuite_property23:04:00 conftest.tag_test_report                 L0413 INFO   | login_user : admin
 conn_type : ssh
 mgmt_ipv4 : 10.250.0.51
 port : 22
23:04:00 conftest.tag_test_report                 L0413 INFO   | login_user : admin
 conn_type : ssh
 mgmt_ipv4 : 10.250.0.52
 port : 22
23:04:00 conftest.tag_test_report                 L0413 INFO   | login_user : admin
 conn_type : ssh
 mgmt_ipv4 : 10.250.0.53
 port : 22
23:04:00 conftest.tag_test_report                 L0413 INFO   | login_user : admin
 conn_type : ssh
 mgmt_ipv4 : 10.250.0.54
 port : 22

SETUP    S tag_test_report (fixtures used: duthosts, pytestconfig, record_testsuite_property, tbinfo, ubuntus)
SETUP    S vmhost (fixtures used: ansible_adhoc, enhance_inventory, tbinfo)
SETUP    S parallel_run_context23:04:00 __init__.sanity_check                    L0399 INFO   | Skip sanity check according to command line argument

    SETUP    M sanity_check (fixtures used: parallel_run_context)23:04:00 conftest.core_dump_and_config_check      L0583 INFO   | Dumping Disk and Memory Space informataion before test on R-1
23:04:00 conftest.core_dump_and_config_check      L0587 INFO   | Collecting core dumps before test on R-1
23:04:01 conftest.core_dump_and_config_check      L0596 INFO   | Collecting running config before test on R-1
23:04:01 conftest.core_dump_and_config_check      L0583 INFO   | Dumping Disk and Memory Space informataion before test on R-2
23:04:02 conftest.core_dump_and_config_check      L0587 INFO   | Collecting core dumps before test on R-2
23:04:02 conftest.core_dump_and_config_check      L0596 INFO   | Collecting running config before test on R-2
23:04:03 conftest.core_dump_and_config_check      L0583 INFO   | Dumping Disk and Memory Space informataion before test on R-3
23:04:04 conftest.core_dump_and_config_check      L0587 INFO   | Collecting core dumps before test on R-3
23:04:04 conftest.core_dump_and_config_check      L0596 INFO   | Collecting running config before test on R-3
23:04:05 conftest.core_dump_and_config_check      L0583 INFO   | Dumping Disk and Memory Space informataion before test on R-4
23:04:05 conftest.core_dump_and_config_check      L0587 INFO   | Collecting core dumps before test on R-4
23:04:06 conftest.core_dump_and_config_check      L0596 INFO   | Collecting running config before test on R-4

    SETUP    M core_dump_and_config_check (fixtures used: duthosts, sanity_check, tbinfo)23:04:06 conftest.get_scenario_file               L0258 INFO   | YCLEE pt_file:
test_sonic/bgp_policy/scenario_bgp_policy_med_attribute.yaml
23:04:06 parse_scenario.__init__                  L0014 INFO   | YCLEE request:
test_sonic/bgp_policy/scenario_bgp_policy_med_attribute.yaml
23:04:06 parse_scenario.__init__                  L0022 INFO   | YCLEE scenario_filename:
test_sonic/bgp_policy/scenario_bgp_policy_med_attribute.yaml
23:04:06 conftest.fixture_parse_scenario          L0266 INFO   | YCLEE protocol:


    SETUP    M parse_scenario23:04:06 conftest.setup_trex_daemons              L0441 INFO   | [Setup] Starting the TRex daemon on an Ubuntu device.

    SETUP    M setup_trex_daemons (fixtures used: parse_scenario, ubuntus)
    SETUP    M reload_config (fixtures used: duthosts, ubuntus)23:04:16 __init__._fixture_func_decorator         L0069 INFO   | -------------------- fixture sonic_paramiko_ssh setup starts --------------------
23:04:17 session.sonic_paramiko_ssh               L0025 INFO   | mgmt_interface:{'eth0|10.250.0.51/24': {'gwaddr': '10.250.0.1'}}
23:04:17 session.sonic_paramiko_ssh               L0026 INFO   | duthost hostname:R-1
username:admin
password:password
23:04:17 transport._log                           L1873 INFO   | Connected (version 2.0, client OpenSSH_9.2p1)
23:04:17 transport._log                           L1873 INFO   | Auth banner: b'Debian GNU/Linux 12 \\n \\l\n\n'
23:04:17 transport._log                           L1873 INFO   | Authentication (publickey) failed.
23:04:17 transport._log                           L1873 INFO   | Authentication (password) successful!
23:04:17 session.sonic_paramiko_ssh               L0046 INFO   | output: 
Linux R-1 6.1.0-29-2-amd64 #1 SMP PREEMPT_DYNAMIC Debian 6.1.123-1 (2025-01-02) x86_64
You are on
  ____   ___  _   _ _  ____
 / ___| / _ \| \ | (_)/ ___|

23:04:17 session.sonic_paramiko_ssh               L0046 INFO   | output: 
Linux R-1 6.1.0-29-2-amd64 #1 SMP PREEMPT_DYNAMIC Debian 6.1.123-1 (2025-01-02) x86_64
You are on
  ____   ___  _   _ _  ____
 / ___| / _ \| \ | (_)/ ___|
 \___ \| | | |  \| | | |
  ___) | |_| | |\  | | |___
 |____/ \___/|_| \_|_|\____|

-- Software for Open Networking in the Cloud --

Unauthorized access and/or use are prohibited.
All access and/or use are subject to monitoring.

Help:    https://sonic-net.github.io/SONiC/

Last login: Mon Sep 21 22:48:00 2026 from 10.250.0.1


23:04:17 session.sonic_paramiko_ssh               L0046 INFO   | output: 
Linux R-1 6.1.0-29-2-amd64 #1 SMP PREEMPT_DYNAMIC Debian 6.1.123-1 (2025-01-02) x86_64
You are on
  ____   ___  _   _ _  ____
 / ___| / _ \| \ | (_)/ ___|
 \___ \| | | |  \| | | |
  ___) | |_| | |\  | | |___
 |____/ \___/|_| \_|_|\____|

-- Software for Open Networking in the Cloud --

Unauthorized access and/or use are prohibited.
All access and/or use are subject to monitoring.

Help:    https://sonic-net.github.io/SONiC/

Last login: Mon Sep 21 22:48:00 2026 from 10.250.0.1

admin@R-1:~$ 
23:04:19 session.sonic_paramiko_ssh               L0056 INFO   | 
hostname: R-1
23:04:19 session.sonic_paramiko_ssh               L0025 INFO   | mgmt_interface:{'eth0|10.250.0.52/24': {'gwaddr': '10.250.0.1'}}
23:04:19 session.sonic_paramiko_ssh               L0026 INFO   | duthost hostname:R-2
username:admin
password:password
23:04:19 transport._log                           L1873 INFO   | Connected (version 2.0, client OpenSSH_9.2p1)
23:04:19 transport._log                           L1873 INFO   | Auth banner: b'Debian GNU/Linux 12 \\n \\l\n\n'
23:04:19 transport._log                           L1873 INFO   | Authentication (publickey) failed.
23:04:19 transport._log                           L1873 INFO   | Authentication (password) successful!
23:04:19 session.sonic_paramiko_ssh               L0046 INFO   | output: 
Linux R-2 6.1.0-29-2-amd64 #1 SMP PREEMPT_DYNAMIC Debian 6.1.123-1 (2025-01-02) x86_64
You are on
  ____   ___  _   _ _  ____
 / ___| / _ \| \ | (_)/ ___|
 \___ \| | | |  \| | | |
  ___) | |_| | |\  | | |___
 |____/ \___/|_| \_|_|\____|

-- Software for Open Networking in the Cloud --

Unauthorized access and/or use are prohibited.
All access and/or use are subject to monitoring.

Help:    https://sonic-net.github.io/SONiC/

Last login: Mon Sep 21 22:48:02 2026 from 10.250.0.1

admin@R-2:~$ 
23:04:21 session.sonic_paramiko_ssh               L0056 INFO   | 
hostname: R-2
23:04:21 session.sonic_paramiko_ssh               L0025 INFO   | mgmt_interface:{'eth0|10.250.0.53/24': {'gwaddr': '10.250.0.1'}}
23:04:21 session.sonic_paramiko_ssh               L0026 INFO   | duthost hostname:R-3
username:admin
password:password
23:04:21 transport._log                           L1873 INFO   | Connected (version 2.0, client OpenSSH_9.2p1)
23:04:21 transport._log                           L1873 INFO   | Auth banner: b'Debian GNU/Linux 12 \\n \\l\n\n'
23:04:21 transport._log                           L1873 INFO   | Authentication (publickey) failed.
23:04:21 transport._log                           L1873 INFO   | Authentication (password) successful!
23:04:22 session.sonic_paramiko_ssh               L0046 INFO   | output: 
Linux R-3 6.1.0-29-2-amd64 #1 SMP PREEMPT_DYNAMIC Debian 6.1.123-1 (2025-01-02) x86_64
You are on
  ____   ___  _   _ _  ____
 / ___| / _ \| \ | (_)/ ___|
 \___ \| | | |  \| | | |
  ___) | |_| | |\  | | |___
 |____/ \___/|_| \_|_|\____|

-- Software for Open Networking in the Cloud --

Unauthorized access and/or use are prohibited.
All access and/or use are subject to monitoring.

Help:    https://sonic-net.github.io/SONiC/

Last login: Mon Sep 21 22:48:04 2026 from 10.250.0.1

admin@R-3:~$ 
23:04:23 session.sonic_paramiko_ssh               L0056 INFO   | 
hostname: R-3
23:04:23 session.sonic_paramiko_ssh               L0025 INFO   | mgmt_interface:{'eth0|10.250.0.54/24': {'gwaddr': '10.250.0.1'}}
23:04:23 session.sonic_paramiko_ssh               L0026 INFO   | duthost hostname:R-4
username:admin
password:password
23:04:23 transport._log                           L1873 INFO   | Connected (version 2.0, client OpenSSH_9.2p1)
23:04:24 transport._log                           L1873 INFO   | Auth banner: b'Debian GNU/Linux 12 \\n \\l\n\n'
23:04:24 transport._log                           L1873 INFO   | Authentication (publickey) failed.
23:04:24 transport._log                           L1873 INFO   | Authentication (password) successful!
23:04:24 session.sonic_paramiko_ssh               L0046 INFO   | output: 
Linux R-4 6.1.0-29-2-amd64 #1 SMP PREEMPT_DYNAMIC Debian 6.1.123-1 (2025-01-02) x86_64
You are on
  ____   ___  _   _ _  ____
 / ___| / _ \| \ | (_)/ ___|
 \___ \| | | |  \| | | |
  ___) | |_| | |\  | | |___
 |____/ \___/|_| \_|_|\____|

-- Software for Open Networking in the Cloud --

Unauthorized access and/or use are prohibited.
All access and/or use are subject to monitoring.

Help:    https://sonic-net.github.io/SONiC/

Last login: Mon Sep 21 22:48:05 2026 from 10.250.0.1

admin@R-4:~$ 
23:04:25 session.sonic_paramiko_ssh               L0056 INFO   | 
hostname: R-4
23:04:25 __init__._fixture_func_decorator         L0076 INFO   | -------------------- fixture sonic_paramiko_ssh setup ends --------------------

    SETUP    M sonic_paramiko_ssh (fixtures used: duthosts)23:04:25 __init__._fixture_func_decorator         L0069 INFO   | -------------------- fixture ubuntu_paramiko_ssh setup starts --------------------
23:04:25 __init__._fixture_func_decorator         L0076 INFO   | -------------------- fixture ubuntu_paramiko_ssh setup ends --------------------

    SETUP    M ubuntu_paramiko_ssh (fixtures used: ubuntus)23:04:26 __init__.analyzer_logrotate              L0023 INFO   | logrotate called on R-2
23:04:27 __init__.analyzer_logrotate              L0023 INFO   | logrotate called on R-3
23:04:27 __init__.analyzer_logrotate              L0023 INFO   | logrotate called on R-4
23:04:27 __init__.analyzer_logrotate              L0023 INFO   | logrotate called on R-1
23:04:28 parallel.on_terminate                    L0085 INFO   | process analyzer_logrotate-- terminated with exit code None
23:04:29 parallel.on_terminate                    L0085 INFO   | process analyzer_logrotate-- terminated with exit code None
23:04:29 parallel.on_terminate                    L0085 INFO   | process analyzer_logrotate-- terminated with exit code None
23:04:29 parallel.on_terminate                    L0085 INFO   | process analyzer_logrotate-- terminated with exit code None
23:04:29 parallel.parallel_run                    L0221 INFO   | Completed running processes for target "analyzer_logrotate" in 0:00:03.704209 seconds
23:04:29 __init__.analyzer_add_marker             L0035 INFO   | add marker called on R-1
23:04:29 __init__.analyzer_add_marker             L0037 INFO   | Add start marker into SONiC Devices syslog for host R-1
23:04:29 __init__.analyzer_add_marker             L0035 INFO   | add marker called on R-2
23:04:29 __init__.analyzer_add_marker             L0037 INFO   | Add start marker into SONiC Devices syslog for host R-2
23:04:29 __init__.analyzer_add_marker             L0035 INFO   | add marker called on R-3
23:04:29 __init__.analyzer_add_marker             L0037 INFO   | Add start marker into SONiC Devices syslog for host R-3
23:04:29 __init__.analyzer_add_marker             L0035 INFO   | add marker called on R-4
23:04:29 __init__.analyzer_add_marker             L0037 INFO   | Add start marker into SONiC Devices syslog for host R-4
23:04:31 parallel.on_terminate                    L0085 INFO   | process analyzer_add_marker-- terminated with exit code None
23:04:31 parallel.on_terminate                    L0085 INFO   | process analyzer_add_marker-- terminated with exit code None
23:04:31 parallel.on_terminate                    L0085 INFO   | process analyzer_add_marker-- terminated with exit code None
23:04:31 parallel.on_terminate                    L0085 INFO   | process analyzer_add_marker-- terminated with exit code None
23:04:31 parallel.parallel_run                    L0221 INFO   | Completed running processes for target "analyzer_add_marker" in 0:00:02.566944 seconds

        SETUP    F loganalyzer (fixtures used: duthosts)
        SETUP    F record_property
        test_sonic/test_sonic.py::test_scenario (fixtures used: add_mgmt_test_mark, ansible_adhoc, core_dump_and_config_check, duthosts, enhance_inventory, loganalyzer, parallel_run_context, parse_scenario, pytestconfig, record_property, record_testsuite_property, reload_config, request, sanity_check, setup_trex_daemons, sonic_paramiko_ssh, tag_test_report, tbinfo, ubuntu_paramiko_ssh, ubuntus, vmhost)INFO:SectionStartLogger:==================== test_sonic/test_sonic.py::test_scenario call ====================
-------------------------------- live log call ---------------------------------
23:04:31 test_sonic.run_scenario                  L0098 INFO   | test device hostname: , , , ]>
23:04:31 test_sonic.run_scenario                  L0099 INFO   | server hostname: STR-ACS-VSERV-01
23:04:31 test_sonic.run_scenario                  L0103 INFO   | step 0) scenario_data:

23:04:31 test_sonic.run_scenario                  L0108 INFO   | 
step 1) scenario name:Print Topology Image
23:04:31 test_sonic.run_scenario                  L0108 INFO   | 
step 1) scenario name:Session Check
23:04:31 test_sonic.run_scenario                  L0130 INFO   | nodes: R-1
23:04:31 test_sonic.run_scenario                  L0138 INFO   | step 1)
Hostname:
R-1
node name:
R-1
23:04:31 test_sonic.run_scenario                  L0139 INFO   | step 2)
ssh_prompt:
Linux R-1 6.1.0-29-2-amd64 #1 SMP PREEMPT_DYNAMIC Debian 6.1.123-1 (2025-01-02) x86_64
You are on
  ____   ___  _   _ _  ____
 / ___| / _ \| \ | (_)/ ___|
 \___ \| | | |  \| | | |
  ___) | |_| | |\  | | |___
 |____/ \___/|_| \_|_|\____|

-- Software for Open Networking in the Cloud --

Unauthorized access and/or use are prohibited.
All access and/or use are subject to monitoring.

Help:    https://sonic-net.github.io/SONiC/

Last login: Mon Sep 21 22:48:00 2026 from 10.250.0.1

admin@R-1:~$ 
23:04:31 test_sonic.run_scenario                  L0144 INFO   | step 3)
 pass
23:04:31 test_sonic.run_scenario                  L0130 INFO   | nodes: R-2
23:04:31 test_sonic.run_scenario                  L0138 INFO   | step 1)
Hostname:
R-2
node name:
R-2
23:04:31 test_sonic.run_scenario                  L0139 INFO   | step 2)
ssh_prompt:
Linux R-2 6.1.0-29-2-amd64 #1 SMP PREEMPT_DYNAMIC Debian 6.1.123-1 (2025-01-02) x86_64
You are on
  ____   ___  _   _ _  ____
 / ___| / _ \| \ | (_)/ ___|
 \___ \| | | |  \| | | |
  ___) | |_| | |\  | | |___
 |____/ \___/|_| \_|_|\____|

-- Software for Open Networking in the Cloud --

Unauthorized access and/or use are prohibited.
All access and/or use are subject to monitoring.

Help:    https://sonic-net.github.io/SONiC/

Last login: Mon Sep 21 22:48:02 2026 from 10.250.0.1

admin@R-2:~$ 
23:04:31 test_sonic.run_scenario                  L0144 INFO   | step 3)
 pass
23:04:31 test_sonic.run_scenario                  L0130 INFO   | nodes: R-3
23:04:31 test_sonic.run_scenario                  L0138 INFO   | step 1)
Hostname:
R-3
node name:
R-3
23:04:31 test_sonic.run_scenario                  L0139 INFO   | step 2)
ssh_prompt:
Linux R-3 6.1.0-29-2-amd64 #1 SMP PREEMPT_DYNAMIC Debian 6.1.123-1 (2025-01-02) x86_64
You are on
  ____   ___  _   _ _  ____
 / ___| / _ \| \ | (_)/ ___|
 \___ \| | | |  \| | | |
  ___) | |_| | |\  | | |___
 |____/ \___/|_| \_|_|\____|

-- Software for Open Networking in the Cloud --

Unauthorized access and/or use are prohibited.
All access and/or use are subject to monitoring.

Help:    https://sonic-net.github.io/SONiC/

Last login: Mon Sep 21 22:48:04 2026 from 10.250.0.1

admin@R-3:~$ 
23:04:31 test_sonic.run_scenario                  L0144 INFO   | step 3)
 pass
23:04:31 test_sonic.run_scenario                  L0130 INFO   | nodes: R-4
23:04:31 test_sonic.run_scenario                  L0138 INFO   | step 1)
Hostname:
R-4
node name:
R-4
23:04:31 test_sonic.run_scenario                  L0139 INFO   | step 2)
ssh_prompt:
Linux R-4 6.1.0-29-2-amd64 #1 SMP PREEMPT_DYNAMIC Debian 6.1.123-1 (2025-01-02) x86_64
You are on
  ____   ___  _   _ _  ____
 / ___| / _ \| \ | (_)/ ___|
 \___ \| | | |  \| | | |
  ___) | |_| | |\  | | |___
 |____/ \___/|_| \_|_|\____|

-- Software for Open Networking in the Cloud --

Unauthorized access and/or use are prohibited.
All access and/or use are subject to monitoring.

Help:    https://sonic-net.github.io/SONiC/

Last login: Mon Sep 21 22:48:05 2026 from 10.250.0.1

admin@R-4:~$ 
23:04:31 test_sonic.run_scenario                  L0144 INFO   | step 3)
 pass
23:04:31 test_sonic.run_scenario                  L0108 INFO   | 
step 1) scenario name:IP Assign for BGP Func Test
23:04:31 test_sonic.run_scenario                  L0169 INFO   | 
step 1-1) sub scenario name: Assign IPv4 on R-1
node name: R-1
23:04:32 test_sonic.run_scenario                  L0218 INFO   | 
step 1-2) sub scenario actions: [{'command': 'docker exec -i bgp bash -c "/usr/lib/frr/ripd &"'}, {'command': 'docker exec -i bgp bash -c "/usr/lib/frr/isisd &"'}, {'command': 'docker exec -i bgp bash -c "/usr/lib/frr/ospfd &"'}, {'command': 'sudo config interface ip add Ethernet4 10.1.1.1/30'}, {'command': 'sudo config interface ip add Ethernet8 10.1.1.9/30'}, {'command': 'sudo config interface ip add Ethernet12 10.1.1.5/30'}, {'command': 'sudo config interface ip add Ethernet16 10.10.1.1/24'}, {'command': 'sudo config interface ip add Ethernet20 10.10.2.1/24'}]
sub scenario expect mode: and
sub scenario expect values: [[], [], [], [], [], [], [], []]
sub scenario not expect values: [[], [], [], [], [], [], [], []]
sub scenario retries: 5
sub scenario delay: 1
23:04:32 test_sonic.run_scenario                  L0224 INFO   | 
step 1-3) act command: {'command': 'docker exec -i bgp bash -c "/usr/lib/frr/ripd &"'}
expect values: []
not expect values: []
23:04:39 test_sonic.run_scenario                  L0244 INFO   | 
execute command result:

2026/09/21 23:04:30 RIP: [YDG3W-JND95] FD Limit set: 1048576 is stupidly large.  Is this what you intended?  Consider using --limit-fds also limiting size to 100000
23:04:39 test_sonic.run_scenario                  L0245 INFO   | 
expect value in result:
[]
23:04:39 test_sonic.run_scenario                  L0272 INFO   | The expected value is included in the printed result.
output:

2026/09/21 23:04:30 RIP: [YDG3W-JND95] FD Limit set: 1048576 is stupidly large.  Is this what you intended?  Consider using --limit-fds also limiting size to 100000
23:04:39 test_sonic.run_scenario                  L0224 INFO   | 
step 1-3) act command: {'command': 'docker exec -i bgp bash -c "/usr/lib/frr/isisd &"'}
expect values: []
not expect values: []
23:04:46 test_sonic.run_scenario                  L0244 INFO   | 
execute command result:

2026/09/21 23:04:38 ISIS: [YDG3W-JND95] FD Limit set: 1048576 is stupidly large.  Is this what you intended?  Consider using --limit-fds also limiting size to 100000
23:04:46 test_sonic.run_scenario                  L0245 INFO   | 
expect value in result:
[]
23:04:46 test_sonic.run_scenario                  L0272 INFO   | The expected value is included in the printed result.
output:

2026/09/21 23:04:38 ISIS: [YDG3W-JND95] FD Limit set: 1048576 is stupidly large.  Is this what you intended?  Consider using --limit-fds also limiting size to 100000
23:04:46 test_sonic.run_scenario                  L0224 INFO   | 
step 1-3) act command: {'command': 'docker exec -i bgp bash -c "/usr/lib/frr/ospfd &"'}
expect values: []
not expect values: []
23:04:54 test_sonic.run_scenario                  L0244 INFO   | 
execute command result:

2026/09/21 23:04:45 OSPF: [YDG3W-JND95] FD Limit set: 1048576 is stupidly large.  Is this what you intended?  Consider using --limit-fds also limiting size to 100000
23:04:54 test_sonic.run_scenario                  L0245 INFO   | 
expect value in result:
[]
23:04:54 test_sonic.run_scenario                  L0272 INFO   | The expected value is included in the printed result.
output:

2026/09/21 23:04:45 OSPF: [YDG3W-JND95] FD Limit set: 1048576 is stupidly large.  Is this what you intended?  Consider using --limit-fds also limiting size to 100000
23:04:54 test_sonic.run_scenario                  L0224 INFO   | 
step 1-3) act command: {'command': 'sudo config interface ip add Ethernet4 10.1.1.1/30'}
expect values: []
not expect values: []
23:04:59 test_sonic.run_scenario                  L0244 INFO   | 
execute command result:


23:04:59 test_sonic.run_scenario                  L0245 INFO   | 
expect value in result:
[]
23:04:59 test_sonic.run_scenario                  L0272 INFO   | The expected value is included in the printed result.
output:


23:04:59 test_sonic.run_scenario                  L0224 INFO   | 
step 1-3) act command: {'command': 'sudo config interface ip add Ethernet8 10.1.1.9/30'}
expect values: []
not expect values: []
23:05:05 test_sonic.run_scenario                  L0244 INFO   | 
execute command result:


23:05:05 test_sonic.run_scenario                  L0245 INFO   | 
expect value in result:
[]
23:05:05 test_sonic.run_scenario                  L0272 INFO   | The expected value is included in the printed result.
output:


23:05:05 test_sonic.run_scenario                  L0224 INFO   | 
step 1-3) act command: {'command': 'sudo config interface ip add Ethernet12 10.1.1.5/30'}
expect values: []
not expect values: []
23:05:11 test_sonic.run_scenario                  L0244 INFO   | 
execute command result:


23:05:11 test_sonic.run_scenario                  L0245 INFO   | 
expect value in result:
[]
23:05:11 test_sonic.run_scenario                  L0272 INFO   | The expected value is included in the printed result.
output:


23:05:11 test_sonic.run_scenario                  L0224 INFO   | 
step 1-3) act command: {'command': 'sudo config interface ip add Ethernet16 10.10.1.1/24'}
expect values: []
not expect values: []
23:05:16 test_sonic.run_scenario                  L0244 INFO   | 
execute command result:


23:05:16 test_sonic.run_scenario                  L0245 INFO   | 
expect value in result:
[]
23:05:16 test_sonic.run_scenario                  L0272 INFO   | The expected value is included in the printed result.
output:


23:05:16 test_sonic.run_scenario                  L0224 INFO   | 
step 1-3) act command: {'command': 'sudo config interface ip add Ethernet20 10.10.2.1/24'}
expect values: []
not expect values: []
23:05:22 test_sonic.run_scenario                  L0244 INFO   | 
execute command result:


23:05:22 test_sonic.run_scenario                  L0245 INFO   | 
expect value in result:
[]
23:05:22 test_sonic.run_scenario                  L0272 INFO   | The expected value is included in the printed result.
output:


23:05:22 test_sonic.run_scenario                  L0169 INFO   | 
step 1-1) sub scenario name: Assign IPv4 on R-2
node name: R-2
23:05:22 test_sonic.run_scenario                  L0218 INFO   | 
step 1-2) sub scenario actions: [{'command': 'docker exec -i bgp bash -c "/usr/lib/frr/ripd &"'}, {'command': 'docker exec -i bgp bash -c "/usr/lib/frr/isisd &"'}, {'command': 'docker exec -i bgp bash -c "/usr/lib/frr/ospfd &"'}, {'command': 'sudo config interface ip add Ethernet4 10.1.1.2/30'}, {'command': 'sudo config interface ip add Ethernet8 10.1.1.6/30'}, {'command': 'sudo config interface ip add Ethernet12 10.1.3.1/24'}, {'command': 'sudo config interface ip add Ethernet16 10.20.0.1/24'}, {'command': 'sudo config interface ip add Ethernet20 10.20.1.1/24'}]
sub scenario expect mode: and
sub scenario expect values: [[], [], [], [], [], [], [], []]
sub scenario not expect values: [[], [], [], [], [], [], [], []]
sub scenario retries: 5
sub scenario delay: 1
23:05:22 test_sonic.run_scenario                  L0224 INFO   | 
step 1-3) act command: {'command': 'docker exec -i bgp bash -c "/usr/lib/frr/ripd &"'}
expect values: []
not expect values: []
23:05:29 test_sonic.run_scenario                  L0244 INFO   | 
execute command result:

2026/09/21 23:05:21 RIP: [YDG3W-JND95] FD Limit set: 1048576 is stupidly large.  Is this what you intended?  Consider using --limit-fds also limiting size to 100000
23:05:29 test_sonic.run_scenario                  L0245 INFO   | 
expect value in result:
[]
23:05:29 test_sonic.run_scenario                  L0272 INFO   | The expected value is included in the printed result.
output:

2026/09/21 23:05:21 RIP: [YDG3W-JND95] FD Limit set: 1048576 is stupidly large.  Is this what you intended?  Consider using --limit-fds also limiting size to 100000
23:05:29 test_sonic.run_scenario                  L0224 INFO   | 
step 1-3) act command: {'command': 'docker exec -i bgp bash -c "/usr/lib/frr/isisd &"'}
expect values: []
not expect values: []
23:05:37 test_sonic.run_scenario                  L0244 INFO   | 
execute command result:

2026/09/21 23:05:28 ISIS: [YDG3W-JND95] FD Limit set: 1048576 is stupidly large.  Is this what you intended?  Consider using --limit-fds also limiting size to 100000
23:05:37 test_sonic.run_scenario                  L0245 INFO   | 
expect value in result:
[]
23:05:37 test_sonic.run_scenario                  L0272 INFO   | The expected value is included in the printed result.
output:

2026/09/21 23:05:28 ISIS: [YDG3W-JND95] FD Limit set: 1048576 is stupidly large.  Is this what you intended?  Consider using --limit-fds also limiting size to 100000
23:05:37 test_sonic.run_scenario                  L0224 INFO   | 
step 1-3) act command: {'command': 'docker exec -i bgp bash -c "/usr/lib/frr/ospfd &"'}
expect values: []
not expect values: []
23:05:44 test_sonic.run_scenario                  L0244 INFO   | 
execute command result:

2026/09/21 23:05:36 OSPF: [YDG3W-JND95] FD Limit set: 1048576 is stupidly large.  Is this what you intended?  Consider using --limit-fds also limiting size to 100000
23:05:44 test_sonic.run_scenario                  L0245 INFO   | 
expect value in result:
[]
23:05:44 test_sonic.run_scenario                  L0272 INFO   | The expected value is included in the printed result.
output:

2026/09/21 23:05:36 OSPF: [YDG3W-JND95] FD Limit set: 1048576 is stupidly large.  Is this what you intended?  Consider using --limit-fds also limiting size to 100000
23:05:44 test_sonic.run_scenario                  L0224 INFO   | 
step 1-3) act command: {'command': 'sudo config interface ip add Ethernet4 10.1.1.2/30'}
expect values: []
not expect values: []
23:05:50 test_sonic.run_scenario                  L0244 INFO   | 
execute command result:


23:05:50 test_sonic.run_scenario                  L0245 INFO   | 
expect value in result:
[]
23:05:50 test_sonic.run_scenario                  L0272 INFO   | The expected value is included in the printed result.
output:


23:05:50 test_sonic.run_scenario                  L0224 INFO   | 
step 1-3) act command: {'command': 'sudo config interface ip add Ethernet8 10.1.1.6/30'}
expect values: []
not expect values: []
23:05:55 test_sonic.run_scenario                  L0244 INFO   | 
execute command result:


23:05:55 test_sonic.run_scenario                  L0245 INFO   | 
expect value in result:
[]
23:05:55 test_sonic.run_scenario                  L0272 INFO   | The expected value is included in the printed result.
output:


23:05:55 test_sonic.run_scenario                  L0224 INFO   | 
step 1-3) act command: {'command': 'sudo config interface ip add Ethernet12 10.1.3.1/24'}
expect values: []
not expect values: []
23:06:01 test_sonic.run_scenario                  L0244 INFO   | 
execute command result:


23:06:01 test_sonic.run_scenario                  L0245 INFO   | 
expect value in result:
[]
23:06:01 test_sonic.run_scenario                  L0272 INFO   | The expected value is included in the printed result.
output:


23:06:01 test_sonic.run_scenario                  L0224 INFO   | 
step 1-3) act command: {'command': 'sudo config interface ip add Ethernet16 10.20.0.1/24'}
expect values: []
not expect values: []
23:06:07 test_sonic.run_scenario                  L0244 INFO   | 
execute command result:


23:06:07 test_sonic.run_scenario                  L0245 INFO   | 
expect value in result:
[]
23:06:07 test_sonic.run_scenario                  L0272 INFO   | The expected value is included in the printed result.
output:


23:06:07 test_sonic.run_scenario                  L0224 INFO   | 
step 1-3) act command: {'command': 'sudo config interface ip add Ethernet20 10.20.1.1/24'}
expect values: []
not expect values: []
23:06:13 test_sonic.run_scenario                  L0244 INFO   | 
execute command result:


23:06:13 test_sonic.run_scenario                  L0245 INFO   | 
expect value in result:
[]
23:06:13 test_sonic.run_scenario                  L0272 INFO   | The expected value is included in the printed result.
output:


23:06:13 test_sonic.run_scenario                  L0169 INFO   | 
step 1-1) sub scenario name: Assign IPv4 on R-3
node name: R-3
23:06:13 test_sonic.run_scenario                  L0218 INFO   | 
step 1-2) sub scenario actions: [{'command': 'docker exec -i bgp bash -c "/usr/lib/frr/ripd &"'}, {'command': 'docker exec -i bgp bash -c "/usr/lib/frr/isisd &"'}, {'command': 'docker exec -i bgp bash -c "/usr/lib/frr/ospfd &"'}, {'command': 'sudo config interface ip add Ethernet0 10.1.1.10/30'}, {'command': 'sudo config interface ip add Ethernet8 10.1.3.2/24'}, {'command': 'sudo config interface ip add Ethernet12 10.30.0.1/24'}, {'command': 'sudo config interface ip add Ethernet16 10.30.1.1/24'}]
sub scenario expect mode: and
sub scenario expect values: [[], [], [], [], [], [], []]
sub scenario not expect values: [[], [], [], [], [], [], []]
sub scenario retries: 5
sub scenario delay: 1
23:06:13 test_sonic.run_scenario                  L0224 INFO   | 
step 1-3) act command: {'command': 'docker exec -i bgp bash -c "/usr/lib/frr/ripd &"'}
expect values: []
not expect values: []
23:06:20 test_sonic.run_scenario                  L0244 INFO   | 
execute command result:

2026/09/21 23:06:12 RIP: [YDG3W-JND95] FD Limit set: 1048576 is stupidly large.  Is this what you intended?  Consider using --limit-fds also limiting size to 100000
23:06:20 test_sonic.run_scenario                  L0245 INFO   | 
expect value in result:
[]
23:06:20 test_sonic.run_scenario                  L0272 INFO   | The expected value is included in the printed result.
output:

2026/09/21 23:06:12 RIP: [YDG3W-JND95] FD Limit set: 1048576 is stupidly large.  Is this what you intended?  Consider using --limit-fds also limiting size to 100000
23:06:20 test_sonic.run_scenario                  L0224 INFO   | 
step 1-3) act command: {'command': 'docker exec -i bgp bash -c "/usr/lib/frr/isisd &"'}
expect values: []
not expect values: []
23:06:28 test_sonic.run_scenario                  L0244 INFO   | 
execute command result:

2026/09/21 23:06:19 ISIS: [YDG3W-JND95] FD Limit set: 1048576 is stupidly large.  Is this what you intended?  Consider using --limit-fds also limiting size to 100000
23:06:28 test_sonic.run_scenario                  L0245 INFO   | 
expect value in result:
[]
23:06:28 test_sonic.run_scenario                  L0272 INFO   | The expected value is included in the printed result.
output:

2026/09/21 23:06:19 ISIS: [YDG3W-JND95] FD Limit set: 1048576 is stupidly large.  Is this what you intended?  Consider using --limit-fds also limiting size to 100000
23:06:28 test_sonic.run_scenario                  L0224 INFO   | 
step 1-3) act command: {'command': 'docker exec -i bgp bash -c "/usr/lib/frr/ospfd &"'}
expect values: []
not expect values: []
23:06:35 test_sonic.run_scenario                  L0244 INFO   | 
execute command result:

2026/09/21 23:06:27 OSPF: [YDG3W-JND95] FD Limit set: 1048576 is stupidly large.  Is this what you intended?  Consider using --limit-fds also limiting size to 100000
23:06:35 test_sonic.run_scenario                  L0245 INFO   | 
expect value in result:
[]
23:06:35 test_sonic.run_scenario                  L0272 INFO   | The expected value is included in the printed result.
output:

2026/09/21 23:06:27 OSPF: [YDG3W-JND95] FD Limit set: 1048576 is stupidly large.  Is this what you intended?  Consider using --limit-fds also limiting size to 100000
23:06:35 test_sonic.run_scenario                  L0224 INFO   | 
step 1-3) act command: {'command': 'sudo config interface ip add Ethernet0 10.1.1.10/30'}
expect values: []
not expect values: []
23:06:41 test_sonic.run_scenario                  L0244 INFO   | 
execute command result:


23:06:41 test_sonic.run_scenario                  L0245 INFO   | 
expect value in result:
[]
23:06:41 test_sonic.run_scenario                  L0272 INFO   | The expected value is included in the printed result.
output:


23:06:41 test_sonic.run_scenario                  L0224 INFO   | 
step 1-3) act command: {'command': 'sudo config interface ip add Ethernet8 10.1.3.2/24'}
expect values: []
not expect values: []
23:06:46 test_sonic.run_scenario                  L0244 INFO   | 
execute command result:


23:06:46 test_sonic.run_scenario                  L0245 INFO   | 
expect value in result:
[]
23:06:46 test_sonic.run_scenario                  L0272 INFO   | The expected value is included in the printed result.
output:


23:06:46 test_sonic.run_scenario                  L0224 INFO   | 
step 1-3) act command: {'command': 'sudo config interface ip add Ethernet12 10.30.0.1/24'}
expect values: []
not expect values: []
23:06:52 test_sonic.run_scenario                  L0244 INFO   | 
execute command result:


23:06:52 test_sonic.run_scenario                  L0245 INFO   | 
expect value in result:
[]
23:06:52 test_sonic.run_scenario                  L0272 INFO   | The expected value is included in the printed result.
output:


23:06:52 test_sonic.run_scenario                  L0224 INFO   | 
step 1-3) act command: {'command': 'sudo config interface ip add Ethernet16 10.30.1.1/24'}
expect values: []
not expect values: []
23:06:57 test_sonic.run_scenario                  L0244 INFO   | 
execute command result:


23:06:57 test_sonic.run_scenario                  L0245 INFO   | 
expect value in result:
[]
23:06:57 test_sonic.run_scenario                  L0272 INFO   | The expected value is included in the printed result.
output:


23:06:57 test_sonic.run_scenario                  L0169 INFO   | 
step 1-1) sub scenario name: Assign IPv4 on R-4
node name: R-4
23:06:57 test_sonic.run_scenario                  L0218 INFO   | 
step 1-2) sub scenario actions: [{'command': 'docker exec -i bgp bash -c "/usr/lib/frr/ripd &"'}, {'command': 'docker exec -i bgp bash -c "/usr/lib/frr/isisd &"'}, {'command': 'docker exec -i bgp bash -c "/usr/lib/frr/ospfd &"'}, {'command': 'sudo config interface ip add Ethernet4 10.1.4.1/24'}, {'command': 'sudo config interface ip add Ethernet8 10.1.3.3/24'}, {'command': 'sudo config interface ip add Ethernet12 10.40.0.1/24'}, {'command': 'sudo config interface ip add Ethernet16 10.40.1.1/24'}]
sub scenario expect mode: and
sub scenario expect values: [[], [], [], [], [], [], []]
sub scenario not expect values: [[], [], [], [], [], [], []]
sub scenario retries: 5
sub scenario delay: 1
23:06:57 test_sonic.run_scenario                  L0224 INFO   | 
step 1-3) act command: {'command': 'docker exec -i bgp bash -c "/usr/lib/frr/ripd &"'}
expect values: []
not expect values: []
23:07:05 test_sonic.run_scenario                  L0244 INFO   | 
execute command result:

2026/09/21 23:06:56 RIP: [YDG3W-JND95] FD Limit set: 1048576 is stupidly large.  Is this what you intended?  Consider using --limit-fds also limiting size to 100000
23:07:05 test_sonic.run_scenario                  L0245 INFO   | 
expect value in result:
[]
23:07:05 test_sonic.run_scenario                  L0272 INFO   | The expected value is included in the printed result.
output:

2026/09/21 23:06:56 RIP: [YDG3W-JND95] FD Limit set: 1048576 is stupidly large.  Is this what you intended?  Consider using --limit-fds also limiting size to 100000
23:07:05 test_sonic.run_scenario                  L0224 INFO   | 
step 1-3) act command: {'command': 'docker exec -i bgp bash -c "/usr/lib/frr/isisd &"'}
expect values: []
not expect values: []
23:07:12 test_sonic.run_scenario                  L0244 INFO   | 
execute command result:

2026/09/21 23:07:03 ISIS: [YDG3W-JND95] FD Limit set: 1048576 is stupidly large.  Is this what you intended?  Consider using --limit-fds also limiting size to 100000
23:07:12 test_sonic.run_scenario                  L0245 INFO   | 
expect value in result:
[]
23:07:12 test_sonic.run_scenario                  L0272 INFO   | The expected value is included in the printed result.
output:

2026/09/21 23:07:03 ISIS: [YDG3W-JND95] FD Limit set: 1048576 is stupidly large.  Is this what you intended?  Consider using --limit-fds also limiting size to 100000
23:07:12 test_sonic.run_scenario                  L0224 INFO   | 
step 1-3) act command: {'command': 'docker exec -i bgp bash -c "/usr/lib/frr/ospfd &"'}
expect values: []
not expect values: []
23:07:20 test_sonic.run_scenario                  L0244 INFO   | 
execute command result:

2026/09/21 23:07:11 OSPF: [YDG3W-JND95] FD Limit set: 1048576 is stupidly large.  Is this what you intended?  Consider using --limit-fds also limiting size to 100000
23:07:20 test_sonic.run_scenario                  L0245 INFO   | 
expect value in result:
[]
23:07:20 test_sonic.run_scenario                  L0272 INFO   | The expected value is included in the printed result.
output:

2026/09/21 23:07:11 OSPF: [YDG3W-JND95] FD Limit set: 1048576 is stupidly large.  Is this what you intended?  Consider using --limit-fds also limiting size to 100000
23:07:20 test_sonic.run_scenario                  L0224 INFO   | 
step 1-3) act command: {'command': 'sudo config interface ip add Ethernet4 10.1.4.1/24'}
expect values: []
not expect values: []
23:07:26 test_sonic.run_scenario                  L0244 INFO   | 
execute command result:


23:07:26 test_sonic.run_scenario                  L0245 INFO   | 
expect value in result:
[]
23:07:26 test_sonic.run_scenario                  L0272 INFO   | The expected value is included in the printed result.
output:


23:07:26 test_sonic.run_scenario                  L0224 INFO   | 
step 1-3) act command: {'command': 'sudo config interface ip add Ethernet8 10.1.3.3/24'}
expect values: []
not expect values: []
23:07:31 test_sonic.run_scenario                  L0244 INFO   | 
execute command result:


23:07:31 test_sonic.run_scenario                  L0245 INFO   | 
expect value in result:
[]
23:07:31 test_sonic.run_scenario                  L0272 INFO   | The expected value is included in the printed result.
output:


23:07:31 test_sonic.run_scenario                  L0224 INFO   | 
step 1-3) act command: {'command': 'sudo config interface ip add Ethernet12 10.40.0.1/24'}
expect values: []
not expect values: []
23:07:37 test_sonic.run_scenario                  L0244 INFO   | 
execute command result:


23:07:37 test_sonic.run_scenario                  L0245 INFO   | 
expect value in result:
[]
23:07:37 test_sonic.run_scenario                  L0272 INFO   | The expected value is included in the printed result.
output:


23:07:37 test_sonic.run_scenario                  L0224 INFO   | 
step 1-3) act command: {'command': 'sudo config interface ip add Ethernet16 10.40.1.1/24'}
expect values: []
not expect values: []
23:07:42 test_sonic.run_scenario                  L0244 INFO   | 
execute command result:


23:07:42 test_sonic.run_scenario                  L0245 INFO   | 
expect value in result:
[]
23:07:42 test_sonic.run_scenario                  L0272 INFO   | The expected value is included in the printed result.
output:


23:07:42 test_sonic.run_scenario                  L0108 INFO   | 
step 1) scenario name:MED Attribute Function
23:07:42 test_sonic.run_scenario                  L0169 INFO   | 
step 1-1) sub scenario name: Default - Set Default
node name: R-1
23:07:42 test_sonic.run_scenario                  L0218 INFO   | 
step 1-2) sub scenario actions: [{'command': 'vtysh -c "config" \\\n-c "route-map permit-all permit 10" \\\n-c "exit" \\\n-c "router bgp 100" \\\n-c "neighbor 10.1.1.2 remote-as 200" \\\n-c "neighbor 10.1.1.2 route-map permit-all in" \\\n-c "neighbor 10.1.1.2 route-map permit-all out" \\\n-c "neighbor 10.1.1.10 remote-as 100" \\\n-c "neighbor 10.1.1.10 route-map permit-all in" \\\n-c "neighbor 10.1.1.10 route-map permit-all out" \\\n-c "network 10.1.1.8/30" \\\n-c "do show running-config" \\\n-c "end"\n'}]
sub scenario expect mode: and
sub scenario expect values: [[]]
sub scenario not expect values: [[]]
sub scenario retries: 5
sub scenario delay: 1
23:07:42 test_sonic.run_scenario                  L0224 INFO   | 
step 1-3) act command: {'command': 'vtysh -c "config" \\\n-c "route-map permit-all permit 10" \\\n-c "exit" \\\n-c "router bgp 100" \\\n-c "neighbor 10.1.1.2 remote-as 200" \\\n-c "neighbor 10.1.1.2 route-map permit-all in" \\\n-c "neighbor 10.1.1.2 route-map permit-all out" \\\n-c "neighbor 10.1.1.10 remote-as 100" \\\n-c "neighbor 10.1.1.10 route-map permit-all in" \\\n-c "neighbor 10.1.1.10 route-map permit-all out" \\\n-c "network 10.1.1.8/30" \\\n-c "do show running-config" \\\n-c "end"\n'}
expect values: []
not expect values: []
23:07:48 test_sonic.run_scenario                  L0244 INFO   | 
execute command result:
Building configuration...

Current configuration:
!
frr version 10.3
frr defaults traditional
hostname R-1
log syslog informational
log facility local4
zebra nexthop-group keep 1
no zebra nexthop kernel enable
fpm address 127.0.0.1
no fpm use-next-hop-groups
agentx
no service integrated-vtysh-config
!
route-map permit-all permit 10
exit
!
password zebra
enable password zebra
!
router bgp 100
 neighbor 10.1.1.2 remote-as 200
 neighbor 10.1.1.10 remote-as 100
 !
 address-family ipv4 unicast
  network 10.1.1.8/30
  neighbor 10.1.1.2 route-map permit-all in
  neighbor 10.1.1.2 route-map permit-all out
  neighbor 10.1.1.10 route-map permit-all in
  neighbor 10.1.1.10 route-map permit-all out
 exit-address-family
exit
!
ip nht resolve-via-default
!
ipv6 nht resolve-via-default
!
end

23:07:48 test_sonic.run_scenario                  L0245 INFO   | 
expect value in result:
[]
23:07:48 test_sonic.run_scenario                  L0252 INFO   | [R-1] Auto Ping Verification to neighbor: 10.1.1.2
23:07:50 test_sonic.run_scenario                  L0254 INFO   | [R-1] Ping result:
PING 10.1.1.2 (10.1.1.2) 56(84) bytes of data.
64 bytes from 10.1.1.2: icmp_seq=1 ttl=64 time=0.885 ms
64 bytes from 10.1.1.2: icmp_seq=2 ttl=64 time=0.885 ms
64 bytes from 10.1.1.2: icmp_seq=3 ttl=64 time=1.01 ms

--- 10.1.1.2 ping statistics ---
3 packets transmitted, 3 received, 0% packet loss, time 2002ms
rtt min/avg/max/mdev = 0.885/0.928/1.014/0.060 ms
23:07:50 test_sonic.run_scenario                  L0272 INFO   | The expected value is included in the printed result.
output:
Building configuration...

Current configuration:
!
frr version 10.3
frr defaults traditional
hostname R-1
log syslog informational
log facility local4
zebra nexthop-group keep 1
no zebra nexthop kernel enable
fpm address 127.0.0.1
no fpm use-next-hop-groups
agentx
no service integrated-vtysh-config
!
route-map permit-all permit 10
exit
!
password zebra
enable password zebra
!
router bgp 100
 neighbor 10.1.1.2 remote-as 200
 neighbor 10.1.1.10 remote-as 100
 !
 address-family ipv4 unicast
  network 10.1.1.8/30
  neighbor 10.1.1.2 route-map permit-all in
  neighbor 10.1.1.2 route-map permit-all out
  neighbor 10.1.1.10 route-map permit-all in
  neighbor 10.1.1.10 route-map permit-all out
 exit-address-family
exit
!
ip nht resolve-via-default
!
ipv6 nht resolve-via-default
!
end

23:07:50 test_sonic.run_scenario                  L0169 INFO   | 
step 1-1) sub scenario name: Default - Set Default
node name: R-2
23:07:50 test_sonic.run_scenario                  L0218 INFO   | 
step 1-2) sub scenario actions: [{'command': 'vtysh -c "config" \\\n-c "route-map permit-all permit 10" \\\n-c "exit" \\\n-c "router bgp 200" \\\n-c "neighbor 10.1.1.1 remote-as 100" \\\n-c "neighbor 10.1.1.1 route-map permit-all in" \\\n-c "neighbor 10.1.1.1 route-map permit-all out" \\\n-c "neighbor 10.1.3.2 remote-as 100" \\\n-c "neighbor 10.1.3.2 route-map permit-all in" \\\n-c "neighbor 10.1.3.2 route-map permit-all out" \\\n-c "neighbor 10.1.3.2 next-hop-self" \\\n-c "neighbor 10.1.3.3 remote-as 400" \\\n-c "neighbor 10.1.3.3 route-map permit-all in" \\\n-c "neighbor 10.1.3.3 route-map permit-all out" \\\n-c "neighbor 10.1.3.3 next-hop-self" \\\n-c "do show running-config" \\\n-c "end"\n'}]
sub scenario expect mode: and
sub scenario expect values: [[]]
sub scenario not expect values: [[]]
sub scenario retries: 5
sub scenario delay: 1
23:07:50 test_sonic.run_scenario                  L0224 INFO   | 
step 1-3) act command: {'command': 'vtysh -c "config" \\\n-c "route-map permit-all permit 10" \\\n-c "exit" \\\n-c "router bgp 200" \\\n-c "neighbor 10.1.1.1 remote-as 100" \\\n-c "neighbor 10.1.1.1 route-map permit-all in" \\\n-c "neighbor 10.1.1.1 route-map permit-all out" \\\n-c "neighbor 10.1.3.2 remote-as 100" \\\n-c "neighbor 10.1.3.2 route-map permit-all in" \\\n-c "neighbor 10.1.3.2 route-map permit-all out" \\\n-c "neighbor 10.1.3.2 next-hop-self" \\\n-c "neighbor 10.1.3.3 remote-as 400" \\\n-c "neighbor 10.1.3.3 route-map permit-all in" \\\n-c "neighbor 10.1.3.3 route-map permit-all out" \\\n-c "neighbor 10.1.3.3 next-hop-self" \\\n-c "do show running-config" \\\n-c "end"\n'}
expect values: []
not expect values: []
23:07:56 test_sonic.run_scenario                  L0244 INFO   | 
execute command result:
Building configuration...

Current configuration:
!
frr version 10.3
frr defaults traditional
hostname R-2
log syslog informational
log facility local4
zebra nexthop-group keep 1
no zebra nexthop kernel enable
fpm address 127.0.0.1
no fpm use-next-hop-groups
agentx
no service integrated-vtysh-config
!
route-map permit-all permit 10
exit
!
password zebra
enable password zebra
!
router bgp 200
 neighbor 10.1.1.1 remote-as 100
 neighbor 10.1.3.2 remote-as 100
 neighbor 10.1.3.3 remote-as 400
 !
 address-family ipv4 unicast
  neighbor 10.1.1.1 route-map permit-all in
  neighbor 10.1.1.1 route-map permit-all out
  neighbor 10.1.3.2 next-hop-self
  neighbor 10.1.3.2 route-map permit-all in
  neighbor 10.1.3.2 route-map permit-all out
  neighbor 10.1.3.3 next-hop-self
  neighbor 10.1.3.3 route-map permit-all in
  neighbor 10.1.3.3 route-map permit-all out
 exit-address-family
exit
!
ip nht resolve-via-default
!
ipv6 nht resolve-via-default
!
end

23:07:56 test_sonic.run_scenario                  L0245 INFO   | 
expect value in result:
[]
23:07:56 test_sonic.run_scenario                  L0252 INFO   | [R-2] Auto Ping Verification to neighbor: 10.1.1.1
23:07:58 test_sonic.run_scenario                  L0254 INFO   | [R-2] Ping result:
PING 10.1.1.1 (10.1.1.1) 56(84) bytes of data.
64 bytes from 10.1.1.1: icmp_seq=1 ttl=64 time=0.709 ms
64 bytes from 10.1.1.1: icmp_seq=2 ttl=64 time=0.941 ms
64 bytes from 10.1.1.1: icmp_seq=3 ttl=64 time=0.464 ms

--- 10.1.1.1 ping statistics ---
3 packets transmitted, 3 received, 0% packet loss, time 2010ms
rtt min/avg/max/mdev = 0.464/0.704/0.941/0.194 ms
23:07:58 test_sonic.run_scenario                  L0272 INFO   | The expected value is included in the printed result.
output:
Building configuration...

Current configuration:
!
frr version 10.3
frr defaults traditional
hostname R-2
log syslog informational
log facility local4
zebra nexthop-group keep 1
no zebra nexthop kernel enable
fpm address 127.0.0.1
no fpm use-next-hop-groups
agentx
no service integrated-vtysh-config
!
route-map permit-all permit 10
exit
!
password zebra
enable password zebra
!
router bgp 200
 neighbor 10.1.1.1 remote-as 100
 neighbor 10.1.3.2 remote-as 100
 neighbor 10.1.3.3 remote-as 400
 !
 address-family ipv4 unicast
  neighbor 10.1.1.1 route-map permit-all in
  neighbor 10.1.1.1 route-map permit-all out
  neighbor 10.1.3.2 next-hop-self
  neighbor 10.1.3.2 route-map permit-all in
  neighbor 10.1.3.2 route-map permit-all out
  neighbor 10.1.3.3 next-hop-self
  neighbor 10.1.3.3 route-map permit-all in
  neighbor 10.1.3.3 route-map permit-all out
 exit-address-family
exit
!
ip nht resolve-via-default
!
ipv6 nht resolve-via-default
!
end

23:07:58 test_sonic.run_scenario                  L0169 INFO   | 
step 1-1) sub scenario name: Default - Set Default
node name: R-3
23:07:58 test_sonic.run_scenario                  L0218 INFO   | 
step 1-2) sub scenario actions: [{'command': 'vtysh -c "config" \\\n-c "route-map permit-all permit 10" \\\n-c "exit" \\\n-c "router bgp 100" \\\n-c "network 10.1.1.8/30" \\\n-c "neighbor 10.1.1.9 remote-as 100" \\\n-c "neighbor 10.1.1.9 route-map permit-all in" \\\n-c "neighbor 10.1.1.9 route-map permit-all out" \\\n-c "neighbor 10.1.3.1 remote-as 200" \\\n-c "neighbor 10.1.3.1 route-map permit-all in" \\\n-c "neighbor 10.1.3.1 route-map permit-all out" \\\n-c "do show running-config" \\\n-c "end"\n'}]
sub scenario expect mode: and
sub scenario expect values: [[]]
sub scenario not expect values: [[]]
sub scenario retries: 5
sub scenario delay: 1
23:07:58 test_sonic.run_scenario                  L0224 INFO   | 
step 1-3) act command: {'command': 'vtysh -c "config" \\\n-c "route-map permit-all permit 10" \\\n-c "exit" \\\n-c "router bgp 100" \\\n-c "network 10.1.1.8/30" \\\n-c "neighbor 10.1.1.9 remote-as 100" \\\n-c "neighbor 10.1.1.9 route-map permit-all in" \\\n-c "neighbor 10.1.1.9 route-map permit-all out" \\\n-c "neighbor 10.1.3.1 remote-as 200" \\\n-c "neighbor 10.1.3.1 route-map permit-all in" \\\n-c "neighbor 10.1.3.1 route-map permit-all out" \\\n-c "do show running-config" \\\n-c "end"\n'}
expect values: []
not expect values: []
23:08:04 test_sonic.run_scenario                  L0244 INFO   | 
execute command result:
Building configuration...

Current configuration:
!
frr version 10.3
frr defaults traditional
hostname R-3
log syslog informational
log facility local4
zebra nexthop-group keep 1
no zebra nexthop kernel enable
fpm address 127.0.0.1
no fpm use-next-hop-groups
agentx
no service integrated-vtysh-config
!
route-map permit-all permit 10
exit
!
password zebra
enable password zebra
!
router bgp 100
 neighbor 10.1.1.9 remote-as 100
 neighbor 10.1.3.1 remote-as 200
 !
 address-family ipv4 unicast
  network 10.1.1.8/30
  neighbor 10.1.1.9 route-map permit-all in
  neighbor 10.1.1.9 route-map permit-all out
  neighbor 10.1.3.1 route-map permit-all in
  neighbor 10.1.3.1 route-map permit-all out
 exit-address-family
exit
!
ip nht resolve-via-default
!
ipv6 nht resolve-via-default
!
end

23:08:04 test_sonic.run_scenario                  L0245 INFO   | 
expect value in result:
[]
23:08:04 test_sonic.run_scenario                  L0252 INFO   | [R-3] Auto Ping Verification to neighbor: 10.1.1.9
23:08:06 test_sonic.run_scenario                  L0254 INFO   | [R-3] Ping result:
PING 10.1.1.9 (10.1.1.9) 56(84) bytes of data.
64 bytes from 10.1.1.9: icmp_seq=1 ttl=64 time=0.713 ms
64 bytes from 10.1.1.9: icmp_seq=2 ttl=64 time=0.886 ms
64 bytes from 10.1.1.9: icmp_seq=3 ttl=64 time=0.881 ms

--- 10.1.1.9 ping statistics ---
3 packets transmitted, 3 received, 0% packet loss, time 2002ms
rtt min/avg/max/mdev = 0.713/0.826/0.886/0.080 ms
23:08:06 test_sonic.run_scenario                  L0272 INFO   | The expected value is included in the printed result.
output:
Building configuration...

Current configuration:
!
frr version 10.3
frr defaults traditional
hostname R-3
log syslog informational
log facility local4
zebra nexthop-group keep 1
no zebra nexthop kernel enable
fpm address 127.0.0.1
no fpm use-next-hop-groups
agentx
no service integrated-vtysh-config
!
route-map permit-all permit 10
exit
!
password zebra
enable password zebra
!
router bgp 100
 neighbor 10.1.1.9 remote-as 100
 neighbor 10.1.3.1 remote-as 200
 !
 address-family ipv4 unicast
  network 10.1.1.8/30
  neighbor 10.1.1.9 route-map permit-all in
  neighbor 10.1.1.9 route-map permit-all out
  neighbor 10.1.3.1 route-map permit-all in
  neighbor 10.1.3.1 route-map permit-all out
 exit-address-family
exit
!
ip nht resolve-via-default
!
ipv6 nht resolve-via-default
!
end

23:08:06 test_sonic.run_scenario                  L0169 INFO   | 
step 1-1) sub scenario name: Default - Set Default
node name: R-4
23:08:06 test_sonic.run_scenario                  L0218 INFO   | 
step 1-2) sub scenario actions: [{'command': 'vtysh -c "config" \\\n-c "route-map permit-all permit 10" \\\n-c "exit" \\\n-c "router bgp 400" \\\n-c "neighbor 10.1.3.1 remote-as 200" \\\n-c "neighbor 10.1.3.1 route-map permit-all in" \\\n-c "neighbor 10.1.3.1 route-map permit-all out" \\\n-c "do show running-config" \\\n-c "end"\n'}]
sub scenario expect mode: and
sub scenario expect values: [[]]
sub scenario not expect values: [[]]
sub scenario retries: 5
sub scenario delay: 1
23:08:06 test_sonic.run_scenario                  L0224 INFO   | 
step 1-3) act command: {'command': 'vtysh -c "config" \\\n-c "route-map permit-all permit 10" \\\n-c "exit" \\\n-c "router bgp 400" \\\n-c "neighbor 10.1.3.1 remote-as 200" \\\n-c "neighbor 10.1.3.1 route-map permit-all in" \\\n-c "neighbor 10.1.3.1 route-map permit-all out" \\\n-c "do show running-config" \\\n-c "end"\n'}
expect values: []
not expect values: []
23:08:11 test_sonic.run_scenario                  L0244 INFO   | 
execute command result:
Building configuration...

Current configuration:
!
frr version 10.3
frr defaults traditional
hostname R-4
log syslog informational
log facility local4
zebra nexthop-group keep 1
no zebra nexthop kernel enable
fpm address 127.0.0.1
no fpm use-next-hop-groups
agentx
no service integrated-vtysh-config
!
route-map permit-all permit 10
exit
!
password zebra
enable password zebra
!
router bgp 400
 neighbor 10.1.3.1 remote-as 200
 !
 address-family ipv4 unicast
  neighbor 10.1.3.1 route-map permit-all in
  neighbor 10.1.3.1 route-map permit-all out
 exit-address-family
exit
!
ip nht resolve-via-default
!
ipv6 nht resolve-via-default
!
end

23:08:11 test_sonic.run_scenario                  L0245 INFO   | 
expect value in result:
[]
23:08:11 test_sonic.run_scenario                  L0252 INFO   | [R-4] Auto Ping Verification to neighbor: 10.1.3.1
23:08:14 test_sonic.run_scenario                  L0254 INFO   | [R-4] Ping result:
PING 10.1.3.1 (10.1.3.1) 56(84) bytes of data.
64 bytes from 10.1.3.1: icmp_seq=1 ttl=64 time=0.863 ms
64 bytes from 10.1.3.1: icmp_seq=2 ttl=64 time=0.686 ms
64 bytes from 10.1.3.1: icmp_seq=3 ttl=64 time=0.671 ms

--- 10.1.3.1 ping statistics ---
3 packets transmitted, 3 received, 0% packet loss, time 2025ms
rtt min/avg/max/mdev = 0.671/0.740/0.863/0.087 ms
23:08:14 test_sonic.run_scenario                  L0272 INFO   | The expected value is included in the printed result.
output:
Building configuration...

Current configuration:
!
frr version 10.3
frr defaults traditional
hostname R-4
log syslog informational
log facility local4
zebra nexthop-group keep 1
no zebra nexthop kernel enable
fpm address 127.0.0.1
no fpm use-next-hop-groups
agentx
no service integrated-vtysh-config
!
route-map permit-all permit 10
exit
!
password zebra
enable password zebra
!
router bgp 400
 neighbor 10.1.3.1 remote-as 200
 !
 address-family ipv4 unicast
  neighbor 10.1.3.1 route-map permit-all in
  neighbor 10.1.3.1 route-map permit-all out
 exit-address-family
exit
!
ip nht resolve-via-default
!
ipv6 nht resolve-via-default
!
end

23:08:14 test_sonic.run_scenario                  L0169 INFO   | 
step 1-1) sub scenario name: Verification default
node name: R-2
23:08:14 test_sonic.run_scenario                  L0218 INFO   | 
step 1-2) sub scenario actions: [{'command': 'vtysh -c "show ip bgp"'}]
sub scenario expect mode: and
sub scenario expect values: [['10.1.1.1 0 0 100 i', '10.1.3.2 0 0 100 i']]
sub scenario not expect values: [[]]
sub scenario retries: 10
sub scenario delay: 10
23:08:14 test_sonic.run_scenario                  L0224 INFO   | 
step 1-3) act command: {'command': 'vtysh -c "show ip bgp"'}
expect values: ['10.1.1.1 0 0 100 i', '10.1.3.2 0 0 100 i']
not expect values: []
23:08:19 test_sonic.run_scenario                  L0244 INFO   | 
execute command result:
BGP table version is 2, local router ID is 10.250.0.52, vrf id 0
Default local pref 100, local AS 200
Status codes:  s suppressed, d damped, h history, u unsorted, * valid, > best, = multipath,
               i internal, r RIB-failure, S Stale, R Removed
Nexthop codes: @NNN nexthop's vrf id, < announce-nh-self
Origin codes:  i - IGP, e - EGP, ? - incomplete
RPKI validation codes: V valid, I invalid, N Not found

     Network          Next Hop            Metric LocPrf Weight Path
 *>  10.1.1.8/30      10.1.1.1                 0             0 100 i
 *=                   10.1.3.2                 0             0 100 i

Displayed 1 routes and 2 total paths

23:08:19 test_sonic.run_scenario                  L0245 INFO   | 
expect value in result:
['10.1.1.1 0 0 100 i', '10.1.3.2 0 0 100 i']
23:08:19 test_sonic.run_scenario                  L0272 INFO   | The expected value is included in the printed result.
output:
BGP table version is 2, local router ID is 10.250.0.52, vrf id 0
Default local pref 100, local AS 200
Status codes:  s suppressed, d damped, h history, u unsorted, * valid, > best, = multipath,
               i internal, r RIB-failure, S Stale, R Removed
Nexthop codes: @NNN nexthop's vrf id, < announce-nh-self
Origin codes:  i - IGP, e - EGP, ? - incomplete
RPKI validation codes: V valid, I invalid, N Not found

     Network          Next Hop            Metric LocPrf Weight Path
 *>  10.1.1.8/30      10.1.1.1                 0             0 100 i
 *=                   10.1.3.2                 0             0 100 i

Displayed 1 routes and 2 total paths

23:08:19 test_sonic.run_scenario                  L0169 INFO   | 
step 1-1) sub scenario name: Verification default
node name: R-2
23:08:19 test_sonic.run_scenario                  L0218 INFO   | 
step 1-2) sub scenario actions: [{'command': 'vtysh -c "show ip route"'}]
sub scenario expect mode: and
sub scenario expect values: [['B>* 10.1.1.8/30 [20/0] via 10.1.1.1, Ethernet4']]
sub scenario not expect values: [[]]
sub scenario retries: 10
sub scenario delay: 10
23:08:19 test_sonic.run_scenario                  L0224 INFO   | 
step 1-3) act command: {'command': 'vtysh -c "show ip route"'}
expect values: ['B>* 10.1.1.8/30 [20/0] via 10.1.1.1, Ethernet4']
not expect values: []
23:08:25 test_sonic.run_scenario                  L0244 INFO   | 
execute command result:
Codes: K - kernel route, C - connected, L - local, S - static,
       R - RIP, O - OSPF, I - IS-IS, B - BGP, E - EIGRP, N - NHRP,
       T - Table, v - VNC, V - VNC-Direct, A - Babel, F - PBR,
       f - OpenFabric, t - Table-Direct,
       > - selected route, * - FIB route, q - queued, r - rejected, b - backup
       t - trapped, o - offload failure

IPv4 unicast VRF default:
C>* 10.1.1.0/30 is directly connected, Ethernet4, weight 1, 00:02:35
K   10.1.1.0/30 [0/0] is directly connected, Ethernet4, weight 1, 00:02:35
C>* 10.1.1.4/30 is directly connected, Ethernet8, weight 1, 00:02:30
B>* 10.1.1.8/30 [20/0] via 10.1.1.1, Ethernet4, weight 1, 00:00:19
  *                    via 10.1.3.2, Ethernet12, weight 1, 00:00:19
C>* 10.1.3.0/24 is directly connected, Ethernet12, weight 1, 00:02:24
C>* 10.20.0.0/24 is directly connected, Ethernet16, weight 1, 00:02:18
K   10.20.0.0/24 [0/0] is directly connected, Ethernet16, weight 1, 00:02:18
C>* 10.20.1.0/24 is directly connected, Ethernet20, weight 1, 00:02:12
K   10.20.1.0/24 [0/0] is directly connected, Ethernet20, weight 1, 00:02:12
C>* 10.250.0.0/24 is directly connected, eth0, weight 1, 00:09:39
K   240.127.1.0/24 [0/0] is directly connected, docker0 inactive linkdown, weight 1, 00:09:39

23:08:25 test_sonic.run_scenario                  L0245 INFO   | 
expect value in result:
['B>* 10.1.1.8/30 [20/0] via 10.1.1.1, Ethernet4']
23:08:25 test_sonic.run_scenario                  L0272 INFO   | The expected value is included in the printed result.
output:
Codes: K - kernel route, C - connected, L - local, S - static,
       R - RIP, O - OSPF, I - IS-IS, B - BGP, E - EIGRP, N - NHRP,
       T - Table, v - VNC, V - VNC-Direct, A - Babel, F - PBR,
       f - OpenFabric, t - Table-Direct,
       > - selected route, * - FIB route, q - queued, r - rejected, b - backup
       t - trapped, o - offload failure

IPv4 unicast VRF default:
C>* 10.1.1.0/30 is directly connected, Ethernet4, weight 1, 00:02:35
K   10.1.1.0/30 [0/0] is directly connected, Ethernet4, weight 1, 00:02:35
C>* 10.1.1.4/30 is directly connected, Ethernet8, weight 1, 00:02:30
B>* 10.1.1.8/30 [20/0] via 10.1.1.1, Ethernet4, weight 1, 00:00:19
  *                    via 10.1.3.2, Ethernet12, weight 1, 00:00:19
C>* 10.1.3.0/24 is directly connected, Ethernet12, weight 1, 00:02:24
C>* 10.20.0.0/24 is directly connected, Ethernet16, weight 1, 00:02:18
K   10.20.0.0/24 [0/0] is directly connected, Ethernet16, weight 1, 00:02:18
C>* 10.20.1.0/24 is directly connected, Ethernet20, weight 1, 00:02:12
K   10.20.1.0/24 [0/0] is directly connected, Ethernet20, weight 1, 00:02:12
C>* 10.250.0.0/24 is directly connected, eth0, weight 1, 00:09:39
K   240.127.1.0/24 [0/0] is directly connected, docker0 inactive linkdown, weight 1, 00:09:39

23:08:25 test_sonic.run_scenario                  L0169 INFO   | 
step 1-1) sub scenario name: Set route-map
node name: R-1
23:08:25 test_sonic.run_scenario                  L0218 INFO   | 
step 1-2) sub scenario actions: [{'command': 'vtysh -c "config" \\\n-c "route-map SET-MED permit 10" \\\n-c "set metric 100" \\\n-c "end"\n'}]
sub scenario expect mode: and
sub scenario expect values: [[]]
sub scenario not expect values: [[]]
sub scenario retries: 5
sub scenario delay: 1
23:08:25 test_sonic.run_scenario                  L0224 INFO   | 
step 1-3) act command: {'command': 'vtysh -c "config" \\\n-c "route-map SET-MED permit 10" \\\n-c "set metric 100" \\\n-c "end"\n'}
expect values: []
not expect values: []
23:08:30 test_sonic.run_scenario                  L0244 INFO   | 
execute command result:


23:08:30 test_sonic.run_scenario                  L0245 INFO   | 
expect value in result:
[]
23:08:30 test_sonic.run_scenario                  L0272 INFO   | The expected value is included in the printed result.
output:


23:08:30 test_sonic.run_scenario                  L0169 INFO   | 
step 1-1) sub scenario name: Set route-map
node name: R-3
23:08:30 test_sonic.run_scenario                  L0218 INFO   | 
step 1-2) sub scenario actions: [{'command': 'vtysh -c "config" \\\n-c "route-map SET-MED permit 10" \\\n-c "set metric 50" \\\n-c "end"\n'}]
sub scenario expect mode: and
sub scenario expect values: [[]]
sub scenario not expect values: [[]]
sub scenario retries: 5
sub scenario delay: 1
23:08:30 test_sonic.run_scenario                  L0224 INFO   | 
step 1-3) act command: {'command': 'vtysh -c "config" \\\n-c "route-map SET-MED permit 10" \\\n-c "set metric 50" \\\n-c "end"\n'}
expect values: []
not expect values: []
23:08:36 test_sonic.run_scenario                  L0244 INFO   | 
execute command result:


23:08:36 test_sonic.run_scenario                  L0245 INFO   | 
expect value in result:
[]
23:08:36 test_sonic.run_scenario                  L0272 INFO   | The expected value is included in the printed result.
output:


23:08:36 test_sonic.run_scenario                  L0169 INFO   | 
step 1-1) sub scenario name: Set neighbor route-map
node name: R-1
23:08:36 test_sonic.run_scenario                  L0218 INFO   | 
step 1-2) sub scenario actions: [{'command': 'vtysh -c "config" \\\n-c "router bgp 100" \\\n-c "neighbor 10.1.1.2 route-map SET-MED out" \\\n-c "end" \\\n-c "clear ip bgp 10.1.1.2 soft out"\n'}]
sub scenario expect mode: and
sub scenario expect values: [[]]
sub scenario not expect values: [[]]
sub scenario retries: 5
sub scenario delay: 1
23:08:36 test_sonic.run_scenario                  L0224 INFO   | 
step 1-3) act command: {'command': 'vtysh -c "config" \\\n-c "router bgp 100" \\\n-c "neighbor 10.1.1.2 route-map SET-MED out" \\\n-c "end" \\\n-c "clear ip bgp 10.1.1.2 soft out"\n'}
expect values: []
not expect values: []
23:08:41 test_sonic.run_scenario                  L0244 INFO   | 
execute command result:


23:08:41 test_sonic.run_scenario                  L0245 INFO   | 
expect value in result:
[]
23:08:41 test_sonic.run_scenario                  L0272 INFO   | The expected value is included in the printed result.
output:


23:08:41 test_sonic.run_scenario                  L0169 INFO   | 
step 1-1) sub scenario name: Set neighbor route-map
node name: R-3
23:08:41 test_sonic.run_scenario                  L0218 INFO   | 
step 1-2) sub scenario actions: [{'command': 'vtysh -c "config" \\\n-c "router bgp 100" \\\n-c "neighbor 10.1.3.1 route-map SET-MED out" \\\n-c "end" \\\n-c "clear ip bgp 10.1.3.1 soft out"\n'}]
sub scenario expect mode: and
sub scenario expect values: [[]]
sub scenario not expect values: [[]]
sub scenario retries: 5
sub scenario delay: 1
23:08:41 test_sonic.run_scenario                  L0224 INFO   | 
step 1-3) act command: {'command': 'vtysh -c "config" \\\n-c "router bgp 100" \\\n-c "neighbor 10.1.3.1 route-map SET-MED out" \\\n-c "end" \\\n-c "clear ip bgp 10.1.3.1 soft out"\n'}
expect values: []
not expect values: []
23:08:46 test_sonic.run_scenario                  L0244 INFO   | 
execute command result:


23:08:46 test_sonic.run_scenario                  L0245 INFO   | 
expect value in result:
[]
23:08:46 test_sonic.run_scenario                  L0272 INFO   | The expected value is included in the printed result.
output:


23:08:46 test_sonic.run_scenario                  L0169 INFO   | 
step 1-1) sub scenario name: Verification neighbor route-map
node name: R-2
23:08:46 test_sonic.run_scenario                  L0218 INFO   | 
step 1-2) sub scenario actions: [{'command': 'vtysh -c "show ip bgp"'}]
sub scenario expect mode: and
sub scenario expect values: [['10.1.3.2 50 0 100 i', '10.1.1.1 100 0 100 i']]
sub scenario not expect values: [[]]
sub scenario retries: 10
sub scenario delay: 10
23:08:46 test_sonic.run_scenario                  L0224 INFO   | 
step 1-3) act command: {'command': 'vtysh -c "show ip bgp"'}
expect values: ['10.1.3.2 50 0 100 i', '10.1.1.1 100 0 100 i']
not expect values: []
23:08:52 test_sonic.run_scenario                  L0244 INFO   | 
execute command result:
BGP table version is 4, local router ID is 10.250.0.52, vrf id 0
Default local pref 100, local AS 200
Status codes:  s suppressed, d damped, h history, u unsorted, * valid, > best, = multipath,
               i internal, r RIB-failure, S Stale, R Removed
Nexthop codes: @NNN nexthop's vrf id, < announce-nh-self
Origin codes:  i - IGP, e - EGP, ? - incomplete
RPKI validation codes: V valid, I invalid, N Not found

     Network          Next Hop            Metric LocPrf Weight Path
 *>  10.1.1.8/30      10.1.3.2                50             0 100 i
 *                    10.1.1.1               100             0 100 i

Displayed 1 routes and 2 total paths

23:08:52 test_sonic.run_scenario                  L0245 INFO   | 
expect value in result:
['10.1.3.2 50 0 100 i', '10.1.1.1 100 0 100 i']
23:08:52 test_sonic.run_scenario                  L0272 INFO   | The expected value is included in the printed result.
output:
BGP table version is 4, local router ID is 10.250.0.52, vrf id 0
Default local pref 100, local AS 200
Status codes:  s suppressed, d damped, h history, u unsorted, * valid, > best, = multipath,
               i internal, r RIB-failure, S Stale, R Removed
Nexthop codes: @NNN nexthop's vrf id, < announce-nh-self
Origin codes:  i - IGP, e - EGP, ? - incomplete
RPKI validation codes: V valid, I invalid, N Not found

     Network          Next Hop            Metric LocPrf Weight Path
 *>  10.1.1.8/30      10.1.3.2                50             0 100 i
 *                    10.1.1.1               100             0 100 i

Displayed 1 routes and 2 total paths

23:08:52 test_sonic.run_scenario                  L0169 INFO   | 
step 1-1) sub scenario name: Verification neighbor route-map
node name: R-2
23:08:52 test_sonic.run_scenario                  L0218 INFO   | 
step 1-2) sub scenario actions: [{'command': 'vtysh -c "show ip route"'}]
sub scenario expect mode: and
sub scenario expect values: [['B>* 10.1.1.8/30 [20/50] via 10.1.3.2, Ethernet12']]
sub scenario not expect values: [[]]
sub scenario retries: 10
sub scenario delay: 10
23:08:52 test_sonic.run_scenario                  L0224 INFO   | 
step 1-3) act command: {'command': 'vtysh -c "show ip route"'}
expect values: ['B>* 10.1.1.8/30 [20/50] via 10.1.3.2, Ethernet12']
not expect values: []
23:08:57 test_sonic.run_scenario                  L0244 INFO   | 
execute command result:
Codes: K - kernel route, C - connected, L - local, S - static,
       R - RIP, O - OSPF, I - IS-IS, B - BGP, E - EIGRP, N - NHRP,
       T - Table, v - VNC, V - VNC-Direct, A - Babel, F - PBR,
       f - OpenFabric, t - Table-Direct,
       > - selected route, * - FIB route, q - queued, r - rejected, b - backup
       t - trapped, o - offload failure

IPv4 unicast VRF default:
C>* 10.1.1.0/30 is directly connected, Ethernet4, weight 1, 00:03:07
K   10.1.1.0/30 [0/0] is directly connected, Ethernet4, weight 1, 00:03:07
C>* 10.1.1.4/30 is directly connected, Ethernet8, weight 1, 00:03:02
B>* 10.1.1.8/30 [20/50] via 10.1.3.2, Ethernet12, weight 1, 00:00:10
C>* 10.1.3.0/24 is directly connected, Ethernet12, weight 1, 00:02:56
C>* 10.20.0.0/24 is directly connected, Ethernet16, weight 1, 00:02:50
K   10.20.0.0/24 [0/0] is directly connected, Ethernet16, weight 1, 00:02:50
C>* 10.20.1.0/24 is directly connected, Ethernet20, weight 1, 00:02:44
K   10.20.1.0/24 [0/0] is directly connected, Ethernet20, weight 1, 00:02:44
C>* 10.250.0.0/24 is directly connected, eth0, weight 1, 00:10:11
K   240.127.1.0/24 [0/0] is directly connected, docker0 inactive linkdown, weight 1, 00:10:11

23:08:57 test_sonic.run_scenario                  L0245 INFO   | 
expect value in result:
['B>* 10.1.1.8/30 [20/50] via 10.1.3.2, Ethernet12']
23:08:57 test_sonic.run_scenario                  L0272 INFO   | The expected value is included in the printed result.
output:
Codes: K - kernel route, C - connected, L - local, S - static,
       R - RIP, O - OSPF, I - IS-IS, B - BGP, E - EIGRP, N - NHRP,
       T - Table, v - VNC, V - VNC-Direct, A - Babel, F - PBR,
       f - OpenFabric, t - Table-Direct,
       > - selected route, * - FIB route, q - queued, r - rejected, b - backup
       t - trapped, o - offload failure

IPv4 unicast VRF default:
C>* 10.1.1.0/30 is directly connected, Ethernet4, weight 1, 00:03:07
K   10.1.1.0/30 [0/0] is directly connected, Ethernet4, weight 1, 00:03:07
C>* 10.1.1.4/30 is directly connected, Ethernet8, weight 1, 00:03:02
B>* 10.1.1.8/30 [20/50] via 10.1.3.2, Ethernet12, weight 1, 00:00:10
C>* 10.1.3.0/24 is directly connected, Ethernet12, weight 1, 00:02:56
C>* 10.20.0.0/24 is directly connected, Ethernet16, weight 1, 00:02:50
K   10.20.0.0/24 [0/0] is directly connected, Ethernet16, weight 1, 00:02:50
C>* 10.20.1.0/24 is directly connected, Ethernet20, weight 1, 00:02:44
K   10.20.1.0/24 [0/0] is directly connected, Ethernet20, weight 1, 00:02:44
C>* 10.250.0.0/24 is directly connected, eth0, weight 1, 00:10:11
K   240.127.1.0/24 [0/0] is directly connected, docker0 inactive linkdown, weight 1, 00:10:11

23:08:57 test_sonic.run_scenario                  L0169 INFO   | 
step 1-1) sub scenario name: Delete neighbor route-map
node name: R-1
23:08:57 test_sonic.run_scenario                  L0218 INFO   | 
step 1-2) sub scenario actions: [{'command': 'vtysh -c "config" \\\n-c "router bgp 100" \\\n-c "no neighbor 10.1.1.2 route-map SET-MED out" \\\n-c "no neighbor 10.1.1.2 route-map permit-all out" \\\n-c "end" \\\n-c "clear ip bgp 10.1.1.2 soft out"\n'}]
sub scenario expect mode: and
sub scenario expect values: [[]]
sub scenario not expect values: [[]]
sub scenario retries: 5
sub scenario delay: 1
23:08:57 test_sonic.run_scenario                  L0224 INFO   | 
step 1-3) act command: {'command': 'vtysh -c "config" \\\n-c "router bgp 100" \\\n-c "no neighbor 10.1.1.2 route-map SET-MED out" \\\n-c "no neighbor 10.1.1.2 route-map permit-all out" \\\n-c "end" \\\n-c "clear ip bgp 10.1.1.2 soft out"\n'}
expect values: []
not expect values: []
23:09:03 test_sonic.run_scenario                  L0244 INFO   | 
execute command result:


23:09:03 test_sonic.run_scenario                  L0245 INFO   | 
expect value in result:
[]
23:09:03 test_sonic.run_scenario                  L0272 INFO   | The expected value is included in the printed result.
output:


23:09:03 test_sonic.run_scenario                  L0169 INFO   | 
step 1-1) sub scenario name: Delete neighbor route-map
node name: R-3
23:09:03 test_sonic.run_scenario                  L0218 INFO   | 
step 1-2) sub scenario actions: [{'command': 'vtysh -c "config" \\\n-c "router bgp 100" \\\n-c "no neighbor 10.1.3.1 route-map SET-MED out" \\\n-c "no neighbor 10.1.3.1 route-map permit-all out" \\\n-c "end" \\\n-c "clear ip bgp 10.1.3.1 soft out"\n'}]
sub scenario expect mode: and
sub scenario expect values: [[]]
sub scenario not expect values: [[]]
sub scenario retries: 5
sub scenario delay: 1
23:09:03 test_sonic.run_scenario                  L0224 INFO   | 
step 1-3) act command: {'command': 'vtysh -c "config" \\\n-c "router bgp 100" \\\n-c "no neighbor 10.1.3.1 route-map SET-MED out" \\\n-c "no neighbor 10.1.3.1 route-map permit-all out" \\\n-c "end" \\\n-c "clear ip bgp 10.1.3.1 soft out"\n'}
expect values: []
not expect values: []
23:09:08 test_sonic.run_scenario                  L0244 INFO   | 
execute command result:


23:09:08 test_sonic.run_scenario                  L0245 INFO   | 
expect value in result:
[]
23:09:08 test_sonic.run_scenario                  L0272 INFO   | The expected value is included in the printed result.
output:


23:09:08 test_sonic.run_scenario                  L0169 INFO   | 
step 1-1) sub scenario name: Delete route-map
node name: R-1
23:09:08 test_sonic.run_scenario                  L0218 INFO   | 
step 1-2) sub scenario actions: [{'command': 'vtysh -c "config" \\\n-c "no route-map SET-MED permit 10" \\\n-c "end"\n'}]
sub scenario expect mode: and
sub scenario expect values: [[]]
sub scenario not expect values: [[]]
sub scenario retries: 5
sub scenario delay: 1
23:09:08 test_sonic.run_scenario                  L0224 INFO   | 
step 1-3) act command: {'command': 'vtysh -c "config" \\\n-c "no route-map SET-MED permit 10" \\\n-c "end"\n'}
expect values: []
not expect values: []
23:09:14 test_sonic.run_scenario                  L0244 INFO   | 
execute command result:


23:09:14 test_sonic.run_scenario                  L0245 INFO   | 
expect value in result:
[]
23:09:14 test_sonic.run_scenario                  L0272 INFO   | The expected value is included in the printed result.
output:


23:09:14 test_sonic.run_scenario                  L0169 INFO   | 
step 1-1) sub scenario name: Delete route-map
node name: R-3
23:09:14 test_sonic.run_scenario                  L0218 INFO   | 
step 1-2) sub scenario actions: [{'command': 'vtysh -c "config" \\\n-c "no route-map SET-MED permit 10" \\\n-c "end"\n'}]
sub scenario expect mode: and
sub scenario expect values: [[]]
sub scenario not expect values: [[]]
sub scenario retries: 5
sub scenario delay: 1
23:09:14 test_sonic.run_scenario                  L0224 INFO   | 
step 1-3) act command: {'command': 'vtysh -c "config" \\\n-c "no route-map SET-MED permit 10" \\\n-c "end"\n'}
expect values: []
not expect values: []
23:09:19 test_sonic.run_scenario                  L0244 INFO   | 
execute command result:


23:09:19 test_sonic.run_scenario                  L0245 INFO   | 
expect value in result:
[]
23:09:19 test_sonic.run_scenario                  L0272 INFO   | The expected value is included in the printed result.
output:


23:09:19 test_sonic.run_scenario                  L0169 INFO   | 
step 1-1) sub scenario name: Verification default
node name: R-2
23:09:19 test_sonic.run_scenario                  L0218 INFO   | 
step 1-2) sub scenario actions: [{'command': 'vtysh -c "show ip bgp"'}]
sub scenario expect mode: and
sub scenario expect values: [['10.1.1.1 0 0 100 i', '10.1.3.2 0 0 100 i']]
sub scenario not expect values: [[]]
sub scenario retries: 10
sub scenario delay: 10
23:09:19 test_sonic.run_scenario                  L0224 INFO   | 
step 1-3) act command: {'command': 'vtysh -c "show ip bgp"'}
expect values: ['10.1.1.1 0 0 100 i', '10.1.3.2 0 0 100 i']
not expect values: []
23:09:24 test_sonic.run_scenario                  L0244 INFO   | 
execute command result:
No BGP prefixes displayed, 0 exist

23:09:24 test_sonic.run_scenario                  L0245 INFO   | 
expect value in result:
['10.1.1.1 0 0 100 i', '10.1.3.2 0 0 100 i']
23:09:24 test_sonic.run_scenario                  L0287 INFO   | Contidion not met. Retrying in 10 seconds...((1/10 attempts)
23:09:40 test_sonic.run_scenario                  L0244 INFO   | 
execute command result:
No BGP prefixes displayed, 0 exist

23:09:40 test_sonic.run_scenario                  L0245 INFO   | 
expect value in result:
['10.1.1.1 0 0 100 i', '10.1.3.2 0 0 100 i']
23:09:40 test_sonic.run_scenario                  L0287 INFO   | Contidion not met. Retrying in 10 seconds...((2/10 attempts)
23:09:55 test_sonic.run_scenario                  L0244 INFO   | 
execute command result:
No BGP prefixes displayed, 0 exist

23:09:55 test_sonic.run_scenario                  L0245 INFO   | 
expect value in result:
['10.1.1.1 0 0 100 i', '10.1.3.2 0 0 100 i']
23:09:55 test_sonic.run_scenario                  L0287 INFO   | Contidion not met. Retrying in 10 seconds...((3/10 attempts)
23:10:11 test_sonic.run_scenario                  L0244 INFO   | 
execute command result:
No BGP prefixes displayed, 0 exist

23:10:11 test_sonic.run_scenario                  L0245 INFO   | 
expect value in result:
['10.1.1.1 0 0 100 i', '10.1.3.2 0 0 100 i']
23:10:11 test_sonic.run_scenario                  L0287 INFO   | Contidion not met. Retrying in 10 seconds...((4/10 attempts)
23:10:26 test_sonic.run_scenario                  L0244 INFO   | 
execute command result:
No BGP prefixes displayed, 0 exist

23:10:26 test_sonic.run_scenario                  L0245 INFO   | 
expect value in result:
['10.1.1.1 0 0 100 i', '10.1.3.2 0 0 100 i']
23:10:26 test_sonic.run_scenario                  L0287 INFO   | Contidion not met. Retrying in 10 seconds...((5/10 attempts)
23:10:42 test_sonic.run_scenario                  L0244 INFO   | 
execute command result:
No BGP prefixes displayed, 0 exist

23:10:42 test_sonic.run_scenario                  L0245 INFO   | 
expect value in result:
['10.1.1.1 0 0 100 i', '10.1.3.2 0 0 100 i']
23:10:42 test_sonic.run_scenario                  L0287 INFO   | Contidion not met. Retrying in 10 seconds...((6/10 attempts)
23:10:57 test_sonic.run_scenario                  L0244 INFO   | 
execute command result:
No BGP prefixes displayed, 0 exist

23:10:57 test_sonic.run_scenario                  L0245 INFO   | 
expect value in result:
['10.1.1.1 0 0 100 i', '10.1.3.2 0 0 100 i']
23:10:57 test_sonic.run_scenario                  L0287 INFO   | Contidion not met. Retrying in 10 seconds...((7/10 attempts)
23:11:13 test_sonic.run_scenario                  L0244 INFO   | 
execute command result:
No BGP prefixes displayed, 0 exist

23:11:13 test_sonic.run_scenario                  L0245 INFO   | 
expect value in result:
['10.1.1.1 0 0 100 i', '10.1.3.2 0 0 100 i']
23:11:13 test_sonic.run_scenario                  L0287 INFO   | Contidion not met. Retrying in 10 seconds...((8/10 attempts)
23:11:28 test_sonic.run_scenario                  L0244 INFO   | 
execute command result:
No BGP prefixes displayed, 0 exist

23:11:28 test_sonic.run_scenario                  L0245 INFO   | 
expect value in result:
['10.1.1.1 0 0 100 i', '10.1.3.2 0 0 100 i']
23:11:28 test_sonic.run_scenario                  L0287 INFO   | Contidion not met. Retrying in 10 seconds...((9/10 attempts)
23:11:44 test_sonic.run_scenario                  L0244 INFO   | 
execute command result:
No BGP prefixes displayed, 0 exist

23:11:44 test_sonic.run_scenario                  L0245 INFO   | 
expect value in result:
['10.1.1.1 0 0 100 i', '10.1.3.2 0 0 100 i']
23:11:44 test_sonic.run_scenario                  L0287 INFO   | Contidion not met. Retrying in 10 seconds...((10/10 attempts)
23:11:54 test_sonic.run_scenario                  L0292 ERROR  | Test failed after 10 retries for command: vtysh -c "show ip bgp"
23:11:54 test_sonic.run_scenario                  L0293 ERROR  | Final output was:
No BGP prefixes displayed, 0 exist

23:11:54 __init__.pytest_runtest_call             L0040 ERROR  | Traceback (most recent call last):
  File "/usr/local/lib/python3.8/dist-packages/_pytest/python.py", line 1788, in runtest
    self.ihook.pytest_pyfunc_call(pyfuncitem=self)
  File "/usr/local/lib/python3.8/dist-packages/pluggy/_hooks.py", line 513, in __call__
    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)
  File "/usr/local/lib/python3.8/dist-packages/pluggy/_manager.py", line 120, in _hookexec
    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)
  File "/usr/local/lib/python3.8/dist-packages/pluggy/_callers.py", line 139, in _multicall
    raise exception.with_traceback(exception.__traceback__)
  File "/usr/local/lib/python3.8/dist-packages/pluggy/_callers.py", line 103, in _multicall
    res = hook_impl.function(*args)
  File "/usr/local/lib/python3.8/dist-packages/_pytest/python.py", line 194, in pytest_pyfunc_call
    result = testfunction(**testargs)
  File "/data/NetAutoTestFW/tests/test_sonic/test_sonic.py", line 413, in test_scenario
    run_scenario(duthosts, ubuntus, vmhost, parse_scenario, record_property, reload_config, sonicHostname, sonic_ssh_prompt, ubuntuHostname, ubuntu_ssh_prompt)
  File "/data/NetAutoTestFW/tests/test_sonic/test_sonic.py", line 294, in run_scenario
    assert False, error_message
AssertionError: Test failed after 10 retries for command: vtysh -c "show ip bgp"

ERROR:root:Traceback (most recent call last):
  File "/usr/local/lib/python3.8/dist-packages/_pytest/python.py", line 1788, in runtest
    self.ihook.pytest_pyfunc_call(pyfuncitem=self)
  File "/usr/local/lib/python3.8/dist-packages/pluggy/_hooks.py", line 513, in __call__
    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)
  File "/usr/local/lib/python3.8/dist-packages/pluggy/_manager.py", line 120, in _hookexec
    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)
  File "/usr/local/lib/python3.8/dist-packages/pluggy/_callers.py", line 139, in _multicall
    raise exception.with_traceback(exception.__traceback__)
  File "/usr/local/lib/python3.8/dist-packages/pluggy/_callers.py", line 103, in _multicall
    res = hook_impl.function(*args)
  File "/usr/local/lib/python3.8/dist-packages/_pytest/python.py", line 194, in pytest_pyfunc_call
    result = testfunction(**testargs)
  File "/data/NetAutoTestFW/tests/test_sonic/test_sonic.py", line 413, in test_scenario
    run_scenario(duthosts, ubuntus, vmhost, parse_scenario, record_property, reload_config, sonicHostname, sonic_ssh_prompt, ubuntuHostname, ubuntu_ssh_prompt)
  File "/data/NetAutoTestFW/tests/test_sonic/test_sonic.py", line 294, in run_scenario
    assert False, error_message
AssertionError: Test failed after 10 retries for command: vtysh -c "show ip bgp"

FAILEDINFO:SectionStartLogger:==================== test_sonic/test_sonic.py::test_scenario teardown ====================

        TEARDOWN F record_property
------------------------------ live log teardown -------------------------------
23:11:54 __init__.loganalyzer                     L0074 INFO   | Starting to analyse on all SONiC Devices
23:11:58 parallel.on_terminate                    L0085 INFO   | process analyze_logs-- terminated with exit code None
23:11:59 parallel.on_terminate                    L0085 INFO   | process analyze_logs-- terminated with exit code None
23:11:59 parallel.on_terminate                    L0085 INFO   | process analyze_logs-- terminated with exit code None
23:11:59 parallel.on_terminate                    L0085 INFO   | process analyze_logs-- terminated with exit code None
23:11:59 parallel.parallel_run                    L0221 INFO   | Completed running processes for target "analyze_logs" in 0:00:05.048649 seconds

        TEARDOWN F loganalyzer
    TEARDOWN M ubuntu_paramiko_ssh
    TEARDOWN M sonic_paramiko_ssh23:11:59 config_reload.config_reload              L0144 INFO   | reloading config_db
23:13:20 processes_utils.wait_critical_processes  L0076 INFO   | Wait until all critical processes are healthy in 300 sec
23:13:20 processes_utils._all_critical_processes_ L0045 INFO   | Check critical processes status
23:13:24 processes_utils.get_critical_processes_s L0035 INFO   | The status of checking process in container 'snmp' is: False
23:13:24 processes_utils.get_critical_processes_s L0037 INFO   | The processes not running in container 'snmp' are: '['snmp-subagent']'
23:13:44 processes_utils._all_critical_processes_ L0045 INFO   | Check critical processes status
23:13:48 config_reload.config_reload              L0144 INFO   | reloading config_db
23:15:11 processes_utils.wait_critical_processes  L0076 INFO   | Wait until all critical processes are healthy in 300 sec
23:15:11 processes_utils._all_critical_processes_ L0045 INFO   | Check critical processes status
23:15:15 processes_utils.get_critical_processes_s L0035 INFO   | The status of checking process in container 'snmp' is: False
23:15:15 processes_utils.get_critical_processes_s L0037 INFO   | The processes not running in container 'snmp' are: '['snmp-subagent', 'snmpd']'
23:15:35 processes_utils._all_critical_processes_ L0045 INFO   | Check critical processes status
23:15:39 config_reload.config_reload              L0144 INFO   | reloading config_db
23:17:00 processes_utils.wait_critical_processes  L0076 INFO   | Wait until all critical processes are healthy in 300 sec
23:17:00 processes_utils._all_critical_processes_ L0045 INFO   | Check critical processes status
23:17:05 processes_utils.get_critical_processes_s L0035 INFO   | The status of checking process in container 'snmp' is: False
23:17:05 processes_utils.get_critical_processes_s L0037 INFO   | The processes not running in container 'snmp' are: '['snmp-subagent']'
23:17:25 processes_utils._all_critical_processes_ L0045 INFO   | Check critical processes status
23:17:29 config_reload.config_reload              L0144 INFO   | reloading config_db
23:18:51 processes_utils.wait_critical_processes  L0076 INFO   | Wait until all critical processes are healthy in 300 sec
23:18:51 processes_utils._all_critical_processes_ L0045 INFO   | Check critical processes status
23:18:55 processes_utils.get_critical_processes_s L0035 INFO   | The status of checking process in container 'snmp' is: False
23:18:55 processes_utils.get_critical_processes_s L0037 INFO   | The processes not running in container 'snmp' are: '['snmp-subagent']'
23:19:15 processes_utils._all_critical_processes_ L0045 INFO   | Check critical processes status

    TEARDOWN M reload_config23:19:29 conftest.setup_trex_daemons              L0465 INFO   | [Teardown] Test finished. TRex daemon stopped: set()

    TEARDOWN M setup_trex_daemons
    TEARDOWN M parse_scenario23:19:29 conftest.core_dump_and_config_check      L0636 INFO   | Dumping Disk and Memory Space informataion after test on R-1
23:19:30 conftest.core_dump_and_config_check      L0640 INFO   | Collecting core dumps after test on R-1
23:19:30 conftest.core_dump_and_config_check      L0658 INFO   | Collecting running config after test on R-1
23:19:31 conftest.core_dump_and_config_check      L0636 INFO   | Dumping Disk and Memory Space informataion after test on R-2
23:19:32 conftest.core_dump_and_config_check      L0640 INFO   | Collecting core dumps after test on R-2
23:19:32 conftest.core_dump_and_config_check      L0658 INFO   | Collecting running config after test on R-2
23:19:32 conftest.core_dump_and_config_check      L0636 INFO   | Dumping Disk and Memory Space informataion after test on R-3
23:19:33 conftest.core_dump_and_config_check      L0640 INFO   | Collecting core dumps after test on R-3
23:19:34 conftest.core_dump_and_config_check      L0658 INFO   | Collecting running config after test on R-3
23:19:34 conftest.core_dump_and_config_check      L0636 INFO   | Dumping Disk and Memory Space informataion after test on R-4
23:19:35 conftest.core_dump_and_config_check      L0640 INFO   | Collecting core dumps after test on R-4
23:19:35 conftest.core_dump_and_config_check      L0658 INFO   | Collecting running config after test on R-4
23:19:36 conftest.core_dump_and_config_check      L0796 INFO   | Core dump and config check passed for test_sonic/test_sonic.py

    TEARDOWN M core_dump_and_config_check
    TEARDOWN M sanity_check
TEARDOWN S parallel_run_context
TEARDOWN S vmhost
TEARDOWN S tag_test_report
TEARDOWN S record_testsuite_property
TEARDOWN S ubuntus
TEARDOWN S pytestconfig
TEARDOWN S add_mgmt_test_mark
TEARDOWN S duthosts
TEARDOWN S ansible_adhoc
TEARDOWN S enhance_inventory
TEARDOWN S tbinfoDEBUG:tests.conftest:[log_custom_msg] item: 


=================================== FAILURES ===================================
________________________________ test_scenario _________________________________

duthosts = [, , , ]
ubuntus = []
vmhost = 
parse_scenario = 
record_property = .append_property at 0x70174cf8ea60>
reload_config = None
sonic_paramiko_ssh = (['R-1', 'R-2', 'R-3', 'R-4'], ['Linux R-1 6.1.0-29-2-amd64 #1 SMP PREEMPT_DYNAMIC Debian 6.1.123-1 (2025-01-02) x86_6...   https://sonic-net.github.io/SONiC/\r\n\r\nLast login: Mon Sep 21 22:48:05 2026 from 10.250.0.1\r\r\nadmin@R-4:~$ '])
ubuntu_paramiko_ssh = ([], [])

    def test_scenario(duthosts, ubuntus, vmhost, parse_scenario, record_property, reload_config, sonic_paramiko_ssh, ubuntu_paramiko_ssh):
        sonicHostname, sonic_ssh_prompt = sonic_paramiko_ssh
        ubuntuHostname, ubuntu_ssh_prompt = ubuntu_paramiko_ssh
>       run_scenario(duthosts, ubuntus, vmhost, parse_scenario, record_property, reload_config, sonicHostname, sonic_ssh_prompt, ubuntuHostname, ubuntu_ssh_prompt)

duthosts   = [, , , ]
parse_scenario = 
record_property = .append_property at 0x70174cf8ea60>
reload_config = None
sonicHostname = ['R-1', 'R-2', 'R-3', 'R-4']
sonic_paramiko_ssh = (['R-1', 'R-2', 'R-3', 'R-4'],
 ['Linux R-1 6.1.0-29-2-amd64 #1 SMP PREEMPT_DYNAMIC Debian 6.1.123-1 '
  '(2025-01-02) x86_64\r\n'
  'You are on\r\n'
  '  ____   ___  _   _ _  ____\r\n'
  ' / ___| / _ \\| \\ | (_)/ ___|\r\n'
  ' \\___ \\| | | |  \\| | | |\r\n'
  '  ___) | |_| | |\\  | | |___\r\n'
  ' |____/ \\___/|_| \\_|_|\\____|\r\n'
  '\r\n'
  '-- Software for Open Networking in the Cloud --\r\n'
  '\r\n'
  'Unauthorized access and/or use are prohibited.\r\n'
  'All access and/or use are subject to monitoring.\r\n'
  '\r\n'
  'Help:    https://sonic-net.github.io/SONiC/\r\n'
  '\r\n'
  'Last login: Mon Sep 21 22:48:00 2026 from 10.250.0.1\r'
  '\r\n'
  'admin@R-1:~$ ',
  'Linux R-2 6.1.0-29-2-amd64 #1 SMP PREEMPT_DYNAMIC Debian 6.1.123-1 '
  '(2025-01-02) x86_64\r\n'
  'You are on\r\n'
  '  ____   ___  _   _ _  ____\r\n'
  ' / ___| / _ \\| \\ | (_)/ ___|\r\n'
  ' \\___ \\| | | |  \\| | | |\r\n'
  '  ___) | |_| | |\\  | | |___\r\n'
  ' |____/ \\___/|_| \\_|_|\\____|\r\n'
  '\r\n'
  '-- Software for Open Networking in the Cloud --\r\n'
  '\r\n'
  'Unauthorized access and/or use are prohibited.\r\n'
  'All access and/or use are subject to monitoring.\r\n'
  '\r\n'
  'Help:    https://sonic-net.github.io/SONiC/\r\n'
  '\r\n'
  'Last login: Mon Sep 21 22:48:02 2026 from 10.250.0.1\r'
  '\r\n'
  'admin@R-2:~$ ',
  'Linux R-3 6.1.0-29-2-amd64 #1 SMP PREEMPT_DYNAMIC Debian 6.1.123-1 '
  '(2025-01-02) x86_64\r\n'
  'You are on\r\n'
  '  ____   ___  _   _ _  ____\r\n'
  ' / ___| / _ \\| \\ | (_)/ ___|\r\n'
  ' \\___ \\| | | |  \\| | | |\r\n'
  '  ___) | |_| | |\\  | | |___\r\n'
  ' |____/ \\___/|_| \\_|_|\\____|\r\n'
  '\r\n'
  '-- Software for Open Networking in the Cloud --\r\n'
  '\r\n'
  'Unauthorized access and/or use are prohibited.\r\n'
  'All access and/or use are subject to monitoring.\r\n'
  '\r\n'
  'Help:    https://sonic-net.github.io/SONiC/\r\n'
  '\r\n'
  'Last login: Mon Sep 21 22:48:04 2026 from 10.250.0.1\r'
  '\r\n'
  'admin@R-3:~$ ',
  'Linux R-4 6.1.0-29-2-amd64 #1 SMP PREEMPT_DYNAMIC Debian 6.1.123-1 '
  '(2025-01-02) x86_64\r\n'
  'You are on\r\n'
  '  ____   ___  _   _ _  ____\r\n'
  ' / ___| / _ \\| \\ | (_)/ ___|\r\n'
  ' \\___ \\| | | |  \\| | | |\r\n'
  '  ___) | |_| | |\\  | | |___\r\n'
  ' |____/ \\___/|_| \\_|_|\\____|\r\n'
  '\r\n'
  '-- Software for Open Networking in the Cloud --\r\n'
  '\r\n'
  'Unauthorized access and/or use are prohibited.\r\n'
  'All access and/or use are subject to monitoring.\r\n'
  '\r\n'
  'Help:    https://sonic-net.github.io/SONiC/\r\n'
  '\r\n'
  'Last login: Mon Sep 21 22:48:05 2026 from 10.250.0.1\r'
  '\r\n'
  'admin@R-4:~$ '])
sonic_ssh_prompt = ['Linux R-1 6.1.0-29-2-amd64 #1 SMP PREEMPT_DYNAMIC Debian 6.1.123-1 '
 '(2025-01-02) x86_64\r\n'
 'You are on\r\n'
 '  ____   ___  _   _ _  ____\r\n'
 ' / ___| / _ \\| \\ | (_)/ ___|\r\n'
 ' \\___ \\| | | |  \\| | | |\r\n'
 '  ___) | |_| | |\\  | | |___\r\n'
 ' |____/ \\___/|_| \\_|_|\\____|\r\n'
 '\r\n'
 '-- Software for Open Networking in the Cloud --\r\n'
 '\r\n'
 'Unauthorized access and/or use are prohibited.\r\n'
 'All access and/or use are subject to monitoring.\r\n'
 '\r\n'
 'Help:    https://sonic-net.github.io/SONiC/\r\n'
 '\r\n'
 'Last login: Mon Sep 21 22:48:00 2026 from 10.250.0.1\r'
 '\r\n'
 'admin@R-1:~$ ',
 'Linux R-2 6.1.0-29-2-amd64 #1 SMP PREEMPT_DYNAMIC Debian 6.1.123-1 '
 '(2025-01-02) x86_64\r\n'
 'You are on\r\n'
 '  ____   ___  _   _ _  ____\r\n'
 ' / ___| / _ \\| \\ | (_)/ ___|\r\n'
 ' \\___ \\| | | |  \\| | | |\r\n'
 '  ___) | |_| | |\\  | | |___\r\n'
 ' |____/ \\___/|_| \\_|_|\\____|\r\n'
 '\r\n'
 '-- Software for Open Networking in the Cloud --\r\n'
 '\r\n'
 'Unauthorized access and/or use are prohibited.\r\n'
 'All access and/or use are subject to monitoring.\r\n'
 '\r\n'
 'Help:    https://sonic-net.github.io/SONiC/\r\n'
 '\r\n'
 'Last login: Mon Sep 21 22:48:02 2026 from 10.250.0.1\r'
 '\r\n'
 'admin@R-2:~$ ',
 'Linux R-3 6.1.0-29-2-amd64 #1 SMP PREEMPT_DYNAMIC Debian 6.1.123-1 '
 '(2025-01-02) x86_64\r\n'
 'You are on\r\n'
 '  ____   ___  _   _ _  ____\r\n'
 ' / ___| / _ \\| \\ | (_)/ ___|\r\n'
 ' \\___ \\| | | |  \\| | | |\r\n'
 '  ___) | |_| | |\\  | | |___\r\n'
 ' |____/ \\___/|_| \\_|_|\\____|\r\n'
 '\r\n'
 '-- Software for Open Networking in the Cloud --\r\n'
 '\r\n'
 'Unauthorized access and/or use are prohibited.\r\n'
 'All access and/or use are subject to monitoring.\r\n'
 '\r\n'
 'Help:    https://sonic-net.github.io/SONiC/\r\n'
 '\r\n'
 'Last login: Mon Sep 21 22:48:04 2026 from 10.250.0.1\r'
 '\r\n'
 'admin@R-3:~$ ',
 'Linux R-4 6.1.0-29-2-amd64 #1 SMP PREEMPT_DYNAMIC Debian 6.1.123-1 '
 '(2025-01-02) x86_64\r\n'
 'You are on\r\n'
 '  ____   ___  _   _ _  ____\r\n'
 ' / ___| / _ \\| \\ | (_)/ ___|\r\n'
 ' \\___ \\| | | |  \\| | | |\r\n'
 '  ___) | |_| | |\\  | | |___\r\n'
 ' |____/ \\___/|_| \\_|_|\\____|\r\n'
 '\r\n'
 '-- Software for Open Networking in the Cloud --\r\n'
 '\r\n'
 'Unauthorized access and/or use are prohibited.\r\n'
 'All access and/or use are subject to monitoring.\r\n'
 '\r\n'
 'Help:    https://sonic-net.github.io/SONiC/\r\n'
 '\r\n'
 'Last login: Mon Sep 21 22:48:05 2026 from 10.250.0.1\r'
 '\r\n'
 'admin@R-4:~$ ']
ubuntuHostname = []
ubuntu_paramiko_ssh = ([], [])
ubuntu_ssh_prompt = []
ubuntus    = []
vmhost     = 

test_sonic/test_sonic.py:413: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 

duthosts = [, , , ]
ubuntus = []
vmhost = 
parse_scenario = 
record_property = .append_property at 0x70174cf8ea60>
reload_config = None, sonicHostname = ['R-1', 'R-2', 'R-3', 'R-4']
sonic_ssh_prompt = ['Linux R-1 6.1.0-29-2-amd64 #1 SMP PREEMPT_DYNAMIC Debian 6.1.123-1 (2025-01-02) x86_64\r\nYou are on\r\n  ____   ___...    https://sonic-net.github.io/SONiC/\r\n\r\nLast login: Mon Sep 21 22:48:05 2026 from 10.250.0.1\r\r\nadmin@R-4:~$ ']
ubuntuHostname = [], ubuntu_ssh_prompt = []

    def run_scenario(duthosts, ubuntus, vmhost, parse_scenario, record_property, reload_config, sonicHostname, sonic_ssh_prompt, ubuntuHostname, ubuntu_ssh_prompt):
        duthost = duthosts
        ubuntu = ubuntus
        server = vmhost
    
        logger.info('test device hostname: {}'.format(duthost.hostname))
        logger.info('server hostname: {}'.format(server.hostname))
    
        # Parsing Scenario data
        scenario = parse_scenario
        logger.info('step 0) scenario_data:\n{}'.format(scenario))
    
        # This Section, parsed data save to variable for test
        for keys in scenario:
            scenario_name = keys['scenario_name']
            logger.info('\nstep 1) scenario name:{}'.format(scenario_name))
            record_property("Scenario_name","{}".format(scenario_name))
            for tasks in keys['steps']:
                sub_scenario_name = tasks['name']
                if scenario_name == "Print Topology Image":
                    topo_img_path = tasks['img_path']
                    topo_img_name = tasks['img_name']
                    sum_img_path = topo_img_path + '/' + topo_img_name
    
                    start_time = datetime.now().strftime('%H:%M:%S')
    
                    assert sum_img_path, record_property("Fail", "Fail")
    
                    record_property('Action', sub_scenario_name)
                    record_property('Session','caller')
                    record_property('Time Stamp',start_time)
                    record_property('Pass/Fail','Pass')
                    record_property('Parameter',topo_img_name)
                    record_property('Response',sum_img_path)
    
                elif scenario_name == "Session Check":
                    session_node_name = tasks['node']
                    logger.info('nodes: {}'.format(session_node_name))
    
    
                    device = sonicHostname + ubuntuHostname
                    ssh_prompt = sonic_ssh_prompt + ubuntu_ssh_prompt
    
                    for dev, ssh in zip(device, ssh_prompt):
                        if dev == session_node_name:
                            logger.info('step 1)\nHostname:\n{}\nnode name:\n{}'.format(dev, session_node_name))
                            logger.info('step 2)\nssh_prompt:\n{}'.format(ssh))
    
                            start_time = datetime.now().strftime('%H:%M:%S')
    
                            assert dev == session_node_name, record_property("Fail", "Fail")
                            logger.info('step 3)\n pass')
                            record_property("Action", sub_scenario_name)
                            record_property("Session","{}".format(dev))
                            record_property("Time Stamp",start_time)
                            record_property("Pass/Fail","Pass")
                            record_property("Parameter","None")
                            record_property("Response","{}".format(ssh))
    
                elif 'source' in tasks and 'packet' in tasks:
                    # Duck-typing: If a step has 'source' and 'packet', it is a Traffic Generation test
                    logger.info('\nstep 1) Traffic Generation test detected: {}'.format(sub_scenario_name))
                    start_time = datetime.now().strftime('%H:%M:%S')
                    execute_traffic_step(tasks, duthost, ubuntu)
    
                    # If it successfully returns without assertion failure, we record PASS
                    record_property("Action", sub_scenario_name)
                    record_property("Session", tasks['source']['node'])
                    record_property("Time Stamp", start_time)
                    record_property("Pass/Fail", "Pass")
                    record_property("Parameter", "Snappi TRex Traffic ({} pkts)".format(tasks['packet']['tx_packets']))
                    record_property("Response", "Traffic validation succeeded")
                    record_property("Judgement", "Success")
    
                else:
                    node_name = tasks['node']
                    logger.info('\nstep 1-1) sub scenario name: {}\nnode name: {}'.format(sub_scenario_name, node_name))
    
                    if 'template' in tasks:
                        import yaml
                        from jinja2 import Template
    
                        scenario_path = getattr(parse_scenario, 'scenario_filename', '')
                        if "bgp/"  in scenario_path or "bgp_policy/" in scenario_path:
                            ip_profile = "bgp_ip"
                        elif "ospf_routemap_redistribute/" in scenario_path:
                            ip_profile = "ospf_redist_ip"
                        else:
                            ip_profile = "common_ip"
    
                        if "vlan/" in scenario_path or "lacp/" in scenario_path or "ip/" in scenario_path:
                            start_daemons = False
                        else:
                            start_daemons = True
    
                        try:
                            with open("/data/NetAutoTestFW/ansible/vsonic_vtb", "r") as f:
                                vtb = yaml.safe_load(f)
                            ip_map = vtb['all']['children']['sonic_r']['vars'].get(ip_profile, {})
                            target_ips = ip_map.get(node_name, [])
                        except Exception as e:
                            logger.error(f"Failed to load IP profile from vsonic_vtb: {e}")
                            target_ips = []
    
                        template_path = tasks['template']
                        with open(f"/data/NetAutoTestFW/{template_path}", "r") as f:
                            template_content = f.read()
    
                        rendered = Template(template_content).render(ip_list=target_ips, start_daemons=start_daemons)
                        cmds = [cmd.strip() for cmd in rendered.strip().split('\n') if cmd.strip() and not cmd.strip().startswith('#')]
    
                        tasks['actions'] = [{'command': cmd} for cmd in cmds]
                        tasks['expect'] = {'mode': 'and', 'values': [[] for _ in cmds]}
                        tasks['not_expect'] = {'mode': 'and', 'values': [[] for _ in cmds]}
    
                    sub_scenario_actions = tasks['actions']
                    sub_scenario_expect = tasks.get('expect', {'mode': 'and', 'values': []})
                    sub_scenario_not_expect = tasks.get('not_expect', {'mode': 'and', 'values': []})
                    sub_scenario_retries = tasks.get('retries', 5)
                    sub_scenario_delay = tasks.get('delay', 1)
    
                    sub_sce_exp_mode = sub_scenario_expect.get('mode', 'and')
                    sub_sce_exp_values = sub_scenario_expect.get('values', [])
                    sub_sce_not_exp_values = sub_scenario_not_expect.get('values', [])
    
                    logger.info('\nstep 1-2) sub scenario actions: {}\nsub scenario expect mode: {}\nsub scenario expect values: {}\nsub scenario not expect values: {}\nsub scenario retries: {}\nsub scenario delay: {}'.format(sub_scenario_actions, sub_sce_exp_mode, sub_sce_exp_values, sub_sce_not_exp_values, sub_scenario_retries, sub_scenario_delay))
    
                    # This Section, command execute to SONiC Test Device
                    for dut in duthost:
                        if node_name == dut.hostname:
                            for act_command, expect_values, not_expect_values in zip(sub_scenario_actions, sub_sce_exp_values, sub_sce_not_exp_values):
                                logger.info('\nstep 1-3) act command: {}\nexpect values: {}\nnot expect values: {}'.format(act_command, expect_values, not_expect_values))
    
                                single_command = act_command.get('command')
                                timestamps = datetime.now().strftime('%H:%M:%S')
                                contain_str = '\n'.join("contain string:    {}".format(v) for v in expect_values)
                                not_contain_str = '\n'.join("not contain string:    {}".format(n) for n in not_expect_values)
    
                                # trace success function
                                trace_success = False
                                output = ""
    
                                # This Section, repeat until the output contains the intended value.
                                for attempt in range(sub_scenario_retries):
                                    execute_cmd = dut.shell(single_command, module_ignore_errors=True)
                                    time.sleep(5)
                                    stdout = execute_cmd.get('stdout', '')
                                    stderr = execute_cmd.get('stderr', '')
                                    output = stdout + '\n' + stderr
                                    nomalized_lines = [' '.join(line.split()) for line in output.splitlines()]
    
                                    logger.info('\nexecute command result:\n{}'.format(output))
                                    logger.info('\nexpect value in result:\n{}'.format(expect_values))
    
                                    import re
                                    if 'neighbor' in single_command and 'remote-as' in single_command:
                                        match = re.search(r'neighbor\s+([0-9\.]+)\s+remote-as', single_command)
                                        if match:
                                            neighbor_ip = match.group(1)
                                            logger.info(f"[{node_name}] Auto Ping Verification to neighbor: {neighbor_ip}")
                                            ping_result = dut.shell(f"ping {neighbor_ip} -c 3", module_ignore_errors=True)
                                            logger.info(f"[{node_name}] Ping result:\n{ping_result.get('stdout', '')}")
                                            if ping_result.get('rc', -1) != 0:
                                                logger.warning(f"[{node_name}] Ping failed to {neighbor_ip}")
    
                                    expect_ok = False
    
                                    if not expect_values:
                                        expect_ok = True
                                    elif sub_sce_exp_mode == "and":
                                        expect_ok = all(any(val in line for line in nomalized_lines) for val in expect_values)
                                    elif sub_sce_exp_mode == "or":
                                        expect_ok = any(any(val in line for line in nomalized_lines) for val in expect_values)
    
                                    not_expect_ok = not not_expect_values or all(all(val not in line for line in nomalized_lines) for val in not_expect_values)
    
                                    condition_met = expect_ok and not_expect_ok
    
                                    if condition_met:
                                        logger.info('The expected value is included in the printed result.\noutput:\n{}'.format(output))
    
                                        trace_success = True
    
                                        if isinstance(output, str) and output.strip():
                                            if not_expect_values == "":
                                                exist_only_expect_values(sub_scenario_name, node_name, timestamps, single_command, output, sub_sce_exp_mode, contain_str, record_property)
                                            elif not_expect_values != "" and expect_values == "":
                                                exist_only_not_expect_values(sub_scenario_name, node_name, timestamps, single_command, output, sub_sce_exp_mode, not_contain_str, record_property)
                                            elif not_expect_values != "" and expect_values != "":
                                                exist_not_expect_and_expect_values(sub_scenario_name, node_name, timestamps, single_command, output, sub_sce_exp_mode, contain_str, not_contain_str, record_property)
                                        else:
                                            empty_expect_and_not_expect_values(sub_scenario_name, node_name, timestamps, single_command, record_property)
                                        break
                                    else:
                                        logger.info('Contidion not met. Retrying in {} seconds...(({}/{} attempts)'.format(sub_scenario_delay, attempt + 1, sub_scenario_retries))
                                        time.sleep(sub_scenario_delay)
                                if not trace_success:
                                    # If generated AssertionError when test failed
                                    error_message = "Test failed after {} retries for command: {}".format(sub_scenario_retries, single_command)
                                    logger.error(error_message)
                                    logger.error("Final output was:\n{}".format(output))
>                                   assert False, error_message
E                                   AssertionError: Test failed after 10 retries for command: vtysh -c "show ip bgp"

Template   = 
act_command = {'command': 'vtysh -c "show ip bgp"'}
attempt    = 9
cmds       = ['docker exec -i bgp bash -c "/usr/lib/frr/ripd &"',
 'docker exec -i bgp bash -c "/usr/lib/frr/isisd &"',
 'docker exec -i bgp bash -c "/usr/lib/frr/ospfd &"',
 'sudo config interface ip add Ethernet4 10.1.4.1/24',
 'sudo config interface ip add Ethernet8 10.1.3.3/24',
 'sudo config interface ip add Ethernet12 10.40.0.1/24',
 'sudo config interface ip add Ethernet16 10.40.1.1/24']
condition_met = False
contain_str = 'contain string:    10.1.1.1 0 0 100 i\ncontain string:    10.1.3.2 0 0 100 i'
dev        = 'R-4'
device     = ['R-1', 'R-2', 'R-3', 'R-4']
dut        = 
duthost    = [, , , ]
duthosts   = [, , , ]
error_message = 'Test failed after 10 retries for command: vtysh -c "show ip bgp"'
execute_cmd = {'_ansible_no_log': None,
 'changed': True,
 'cmd': 'vtysh -c "show ip bgp"',
 'delta': '0:00:00.133478',
 'end': '2026-09-21 23:11:38.042623',
 'failed': False,
 'invocation': {'module_args': {'_raw_params': 'vtysh -c "show ip bgp"',
                                '_uses_shell': True,
                                'argv': None,
                                'chdir': None,
                                'creates': None,
                                'executable': None,
                                'removes': None,
                                'stdin': None,
                                'stdin_add_newline': True,
                                'strip_empty_ends': True,
                                'warn': False}},
 'msg': '',
 'rc': 0,
 'start': '2026-09-21 23:11:37.909145',
 'stderr': '',
 'stderr_lines': [],
 'stdout': 'No BGP prefixes displayed, 0 exist',
 'stdout_lines': ['No BGP prefixes displayed, 0 exist']}
expect_ok  = False
expect_values = ['10.1.1.1 0 0 100 i', '10.1.3.2 0 0 100 i']
f          = <_io.TextIOWrapper name='/data/NetAutoTestFW/tests/common/templates/common_setup.j2' mode='r' encoding='UTF-8'>
ip_map     = {'R-1': [{'intf': 'Ethernet4', 'ip': '10.1.1.1/30'},
         {'intf': 'Ethernet8', 'ip': '10.1.1.9/30'},
         {'intf': 'Ethernet12', 'ip': '10.1.1.5/30'},
         {'intf': 'Ethernet16', 'ip': '10.10.1.1/24'},
         {'intf': 'Ethernet20', 'ip': '10.10.2.1/24'}],
 'R-2': [{'intf': 'Ethernet4', 'ip': '10.1.1.2/30'},
         {'intf': 'Ethernet8', 'ip': '10.1.1.6/30'},
         {'intf': 'Ethernet12', 'ip': '10.1.3.1/24'},
         {'intf': 'Ethernet16', 'ip': '10.20.0.1/24'},
         {'intf': 'Ethernet20', 'ip': '10.20.1.1/24'}],
 'R-3': [{'intf': 'Ethernet0', 'ip': '10.1.1.10/30'},
         {'intf': 'Ethernet8', 'ip': '10.1.3.2/24'},
         {'intf': 'Ethernet12', 'ip': '10.30.0.1/24'},
         {'intf': 'Ethernet16', 'ip': '10.30.1.1/24'}],
 'R-4': [{'intf': 'Ethernet4', 'ip': '10.1.4.1/24'},
         {'intf': 'Ethernet8', 'ip': '10.1.3.3/24'},
         {'intf': 'Ethernet12', 'ip': '10.40.0.1/24'},
         {'intf': 'Ethernet16', 'ip': '10.40.1.1/24'}],
 'R-5': [{'intf': 'Ethernet0', 'ip': '10.1.4.2/24'},
         {'intf': 'Ethernet8', 'ip': '10.50.0.1/24'},
         {'intf': 'Ethernet12', 'ip': '10.50.1.1/24'}]}
ip_profile = 'bgp_ip'
keys       = {'scenario_name': 'MED Attribute Function',
 'steps': [{'actions': [{'command': 'vtysh -c "config" \\\n'
                                    '-c "route-map permit-all permit 10" \\\n'
                                    '-c "exit" \\\n'
                                    '-c "router bgp 100" \\\n'
                                    '-c "neighbor 10.1.1.2 remote-as 200" \\\n'
                                    '-c "neighbor 10.1.1.2 route-map '
                                    'permit-all in" \\\n'
                                    '-c "neighbor 10.1.1.2 route-map '
                                    'permit-all out" \\\n'
                                    '-c "neighbor 10.1.1.10 remote-as 100" \\\n'
                                    '-c "neighbor 10.1.1.10 route-map '
                                    'permit-all in" \\\n'
                                    '-c "neighbor 10.1.1.10 route-map '
                                    'permit-all out" \\\n'
                                    '-c "network 10.1.1.8/30" \\\n'
                                    '-c "do show running-config" \\\n'
                                    '-c "end"\n'}],
            'expect': {'mode': 'and', 'values': [[]]},
            'name': 'Default - Set Default',
            'node': 'R-1',
            'not_expect': {'values': [[]]}},
           {'actions': [{'command': 'vtysh -c "config" \\\n'
                                    '-c "route-map permit-all permit 10" \\\n'
                                    '-c "exit" \\\n'
                                    '-c "router bgp 200" \\\n'
                                    '-c "neighbor 10.1.1.1 remote-as 100" \\\n'
                                    '-c "neighbor 10.1.1.1 route-map '
                                    'permit-all in" \\\n'
                                    '-c "neighbor 10.1.1.1 route-map '
                                    'permit-all out" \\\n'
                                    '-c "neighbor 10.1.3.2 remote-as 100" \\\n'
                                    '-c "neighbor 10.1.3.2 route-map '
                                    'permit-all in" \\\n'
                                    '-c "neighbor 10.1.3.2 route-map '
                                    'permit-all out" \\\n'
                                    '-c "neighbor 10.1.3.2 next-hop-self" \\\n'
                                    '-c "neighbor 10.1.3.3 remote-as 400" \\\n'
                                    '-c "neighbor 10.1.3.3 route-map '
                                    'permit-all in" \\\n'
                                    '-c "neighbor 10.1.3.3 route-map '
                                    'permit-all out" \\\n'
                                    '-c "neighbor 10.1.3.3 next-hop-self" \\\n'
                                    '-c "do show running-config" \\\n'
                                    '-c "end"\n'}],
            'expect': {'mode': 'and', 'values': [[]]},
            'name': 'Default - Set Default',
            'node': 'R-2',
            'not_expect': {'values': [[]]}},
           {'actions': [{'command': 'vtysh -c "config" \\\n'
                                    '-c "route-map permit-all permit 10" \\\n'
                                    '-c "exit" \\\n'
                                    '-c "router bgp 100" \\\n'
                                    '-c "network 10.1.1.8/30" \\\n'
                                    '-c "neighbor 10.1.1.9 remote-as 100" \\\n'
                                    '-c "neighbor 10.1.1.9 route-map '
                                    'permit-all in" \\\n'
                                    '-c "neighbor 10.1.1.9 route-map '
                                    'permit-all out" \\\n'
                                    '-c "neighbor 10.1.3.1 remote-as 200" \\\n'
                                    '-c "neighbor 10.1.3.1 route-map '
                                    'permit-all in" \\\n'
                                    '-c "neighbor 10.1.3.1 route-map '
                                    'permit-all out" \\\n'
                                    '-c "do show running-config" \\\n'
                                    '-c "end"\n'}],
            'expect': {'mode': 'and', 'values': [[]]},
            'name': 'Default - Set Default',
            'node': 'R-3',
            'not_expect': {'values': [[]]}},
           {'actions': [{'command': 'vtysh -c "config" \\\n'
                                    '-c "route-map permit-all permit 10" \\\n'
                                    '-c "exit" \\\n'
                                    '-c "router bgp 400" \\\n'
                                    '-c "neighbor 10.1.3.1 remote-as 200" \\\n'
                                    '-c "neighbor 10.1.3.1 route-map '
                                    'permit-all in" \\\n'
                                    '-c "neighbor 10.1.3.1 route-map '
                                    'permit-all out" \\\n'
                                    '-c "do show running-config" \\\n'
                                    '-c "end"\n'}],
            'expect': {'mode': 'and', 'values': [[]]},
            'name': 'Default - Set Default',
            'node': 'R-4',
            'not_expect': {'values': [[]]}},
           {'actions': [{'command': 'vtysh -c "show ip bgp"'}],
            'delay': 10,
            'expect': {'mode': 'and',
                       'values': [['10.1.1.1 0 0 100 i',
                                   '10.1.3.2 0 0 100 i']]},
            'name': 'Verification default',
            'node': 'R-2',
            'not_expect': {'values': [[]]},
            'retries': 10},
           {'actions': [{'command': 'vtysh -c "show ip route"'}],
            'delay': 10,
            'expect': {'mode': 'and',
                       'values': [['B>* 10.1.1.8/30 [20/0] via 10.1.1.1, '
                                   'Ethernet4']]},
            'name': 'Verification default',
            'node': 'R-2',
            'not_expect': {'values': [[]]},
            'retries': 10},
           {'actions': [{'command': 'vtysh -c "config" \\\n'
                                    '-c "route-map SET-MED permit 10" \\\n'
                                    '-c "set metric 100" \\\n'
                                    '-c "end"\n'}],
            'expect': {'mode': 'and', 'values': [[]]},
            'name': 'Set route-map',
            'node': 'R-1',
            'not_expect': {'values': [[]]}},
           {'actions': [{'command': 'vtysh -c "config" \\\n'
                                    '-c "route-map SET-MED permit 10" \\\n'
                                    '-c "set metric 50" \\\n'
                                    '-c "end"\n'}],
            'expect': {'mode': 'and', 'values': [[]]},
            'name': 'Set route-map',
            'node': 'R-3',
            'not_expect': {'values': [[]]}},
           {'actions': [{'command': 'vtysh -c "config" \\\n'
                                    '-c "router bgp 100" \\\n'
                                    '-c "neighbor 10.1.1.2 route-map SET-MED '
                                    'out" \\\n'
                                    '-c "end" \\\n'
                                    '-c "clear ip bgp 10.1.1.2 soft out"\n'}],
            'expect': {'mode': 'and', 'values': [[]]},
            'name': 'Set neighbor route-map',
            'node': 'R-1',
            'not_expect': {'values': [[]]}},
           {'actions': [{'command': 'vtysh -c "config" \\\n'
                                    '-c "router bgp 100" \\\n'
                                    '-c "neighbor 10.1.3.1 route-map SET-MED '
                                    'out" \\\n'
                                    '-c "end" \\\n'
                                    '-c "clear ip bgp 10.1.3.1 soft out"\n'}],
            'expect': {'mode': 'and', 'values': [[]]},
            'name': 'Set neighbor route-map',
            'node': 'R-3',
            'not_expect': {'values': [[]]}},
           {'actions': [{'command': 'vtysh -c "show ip bgp"'}],
            'delay': 10,
            'expect': {'mode': 'and',
                       'values': [['10.1.3.2 50 0 100 i',
                                   '10.1.1.1 100 0 100 i']]},
            'name': 'Verification neighbor route-map',
            'node': 'R-2',
            'not_expect': {'values': [[]]},
            'retries': 10},
           {'actions': [{'command': 'vtysh -c "show ip route"'}],
            'delay': 10,
            'expect': {'mode': 'and',
                       'values': [['B>* 10.1.1.8/30 [20/50] via 10.1.3.2, '
                                   'Ethernet12']]},
            'name': 'Verification neighbor route-map',
            'node': 'R-2',
            'not_expect': {'values': [[]]},
            'retries': 10},
           {'actions': [{'command': 'vtysh -c "config" \\\n'
                                    '-c "router bgp 100" \\\n'
                                    '-c "no neighbor 10.1.1.2 route-map '
                                    'SET-MED out" \\\n'
                                    '-c "no neighbor 10.1.1.2 route-map '
                                    'permit-all out" \\\n'
                                    '-c "end" \\\n'
                                    '-c "clear ip bgp 10.1.1.2 soft out"\n'}],
            'expect': {'mode': 'and', 'values': [[]]},
            'name': 'Delete neighbor route-map',
            'node': 'R-1',
            'not_expect': {'values': [[]]}},
           {'actions': [{'command': 'vtysh -c "config" \\\n'
                                    '-c "router bgp 100" \\\n'
                                    '-c "no neighbor 10.1.3.1 route-map '
                                    'SET-MED out" \\\n'
                                    '-c "no neighbor 10.1.3.1 route-map '
                                    'permit-all out" \\\n'
                                    '-c "end" \\\n'
                                    '-c "clear ip bgp 10.1.3.1 soft out"\n'}],
            'expect': {'mode': 'and', 'values': [[]]},
            'name': 'Delete neighbor route-map',
            'node': 'R-3',
            'not_expect': {'values': [[]]}},
           {'actions': [{'command': 'vtysh -c "config" \\\n'
                                    '-c "no route-map SET-MED permit 10" \\\n'
                                    '-c "end"\n'}],
            'expect': {'mode': 'and', 'values': [[]]},
            'name': 'Delete route-map',
            'node': 'R-1',
            'not_expect': {'values': [[]]}},
           {'actions': [{'command': 'vtysh -c "config" \\\n'
                                    '-c "no route-map SET-MED permit 10" \\\n'
                                    '-c "end"\n'}],
            'expect': {'mode': 'and', 'values': [[]]},
            'name': 'Delete route-map',
            'node': 'R-3',
            'not_expect': {'values': [[]]}},
           {'actions': [{'command': 'vtysh -c "show ip bgp"'}],
            'delay': 10,
            'expect': {'mode': 'and',
                       'values': [['10.1.1.1 0 0 100 i',
                                   '10.1.3.2 0 0 100 i']]},
            'name': 'Verification default',
            'node': 'R-2',
            'not_expect': {'values': [[]]},
            'retries': 10},
           {'actions': [{'command': 'vtysh -c "show ip route"'}],
            'delay': 10,
            'expect': {'mode': 'and',
                       'values': [['B>* 10.1.1.8/30 [20/0] via 10.1.1.1, '
                                   'Ethernet4']]},
            'name': 'Verification default',
            'node': 'R-2',
            'not_expect': {'values': [[]]},
            'retries': 10},
           {'actions': [{'command': 'vtysh -c "config" \\\n'
                                    '-c "no router bgp 100" \\\n'
                                    '-c "end"\n'}],
            'expect': {'mode': 'and', 'values': [[]]},
            'name': 'Delete Default',
            'node': 'R-1',
            'not_expect': {'values': [[]]}},
           {'actions': [{'command': 'vtysh -c "config" \\\n'
                                    '-c "no router bgp 200" \\\n'
                                    '-c "end"\n'}],
            'expect': {'mode': 'and', 'values': [[]]},
            'name': 'Delete Default',
            'node': 'R-2',
            'not_expect': {'values': [[]]}},
           {'actions': [{'command': 'vtysh -c "config" \\\n'
                                    '-c "no router bgp 100" \\\n'
                                    '-c "end"\n'}],
            'expect': {'mode': 'and', 'values': [[]]},
            'name': 'Delete Default',
            'node': 'R-3',
            'not_expect': {'values': [[]]}}]}
match      = 
neighbor_ip = '10.1.3.1'
node_name  = 'R-2'
nomalized_lines = ['No BGP prefixes displayed, 0 exist']
not_contain_str = ''
not_expect_ok = True
not_expect_values = []
output     = 'No BGP prefixes displayed, 0 exist\n'
parse_scenario = 
ping_result = {'_ansible_no_log': None,
 'changed': True,
 'cmd': 'ping 10.1.3.1 -c 3',
 'delta': '0:00:02.034156',
 'end': '2026-09-21 23:08:12.045746',
 'failed': False,
 'invocation': {'module_args': {'_raw_params': 'ping 10.1.3.1 -c 3',
                                '_uses_shell': True,
                                'argv': None,
                                'chdir': None,
                                'creates': None,
                                'executable': None,
                                'removes': None,
                                'stdin': None,
                                'stdin_add_newline': True,
                                'strip_empty_ends': True,
                                'warn': False}},
 'msg': '',
 'rc': 0,
 'start': '2026-09-21 23:08:10.011590',
 'stderr': '',
 'stderr_lines': [],
 'stdout': 'PING 10.1.3.1 (10.1.3.1) 56(84) bytes of data.\n'
           '64 bytes from 10.1.3.1: icmp_seq=1 ttl=64 time=0.863 ms\n'
           '64 bytes from 10.1.3.1: icmp_seq=2 ttl=64 time=0.686 ms\n'
           '64 bytes from 10.1.3.1: icmp_seq=3 ttl=64 time=0.671 ms\n'
           '\n'
           '--- 10.1.3.1 ping statistics ---\n'
           '3 packets transmitted, 3 received, 0% packet loss, time 2025ms\n'
           'rtt min/avg/max/mdev = 0.671/0.740/0.863/0.087 ms',
 'stdout_lines': ['PING 10.1.3.1 (10.1.3.1) 56(84) bytes of data.',
                  '64 bytes from 10.1.3.1: icmp_seq=1 ttl=64 time=0.863 ms',
                  '64 bytes from 10.1.3.1: icmp_seq=2 ttl=64 time=0.686 ms',
                  '64 bytes from 10.1.3.1: icmp_seq=3 ttl=64 time=0.671 ms',
                  '',
                  '--- 10.1.3.1 ping statistics ---',
                  '3 packets transmitted, 3 received, 0% packet loss, time '
                  '2025ms',
                  'rtt min/avg/max/mdev = 0.671/0.740/0.863/0.087 ms']}
re         = 
record_property = .append_property at 0x70174cf8ea60>
reload_config = None
rendered   = ('\n'
 '# Start daemons\n'
 'docker exec -i bgp bash -c "/usr/lib/frr/ripd &"\n'
 'docker exec -i bgp bash -c "/usr/lib/frr/isisd &"\n'
 'docker exec -i bgp bash -c "/usr/lib/frr/ospfd &"\n'
 '\n'
 '\n'
 '# Set IPs\n'
 '\n'
 'sudo config interface ip add Ethernet4 10.1.4.1/24\n'
 '\n'
 'sudo config interface ip add Ethernet8 10.1.3.3/24\n'
 '\n'
 'sudo config interface ip add Ethernet12 10.40.0.1/24\n'
 '\n'
 'sudo config interface ip add Ethernet16 10.40.1.1/24\n')
scenario   = 
scenario_name = 'MED Attribute Function'
scenario_path = 'test_sonic/bgp_policy/scenario_bgp_policy_med_attribute.yaml'
server     = 
session_node_name = 'R-4'
single_command = 'vtysh -c "show ip bgp"'
sonicHostname = ['R-1', 'R-2', 'R-3', 'R-4']
sonic_ssh_prompt = ['Linux R-1 6.1.0-29-2-amd64 #1 SMP PREEMPT_DYNAMIC Debian 6.1.123-1 '
 '(2025-01-02) x86_64\r\n'
 'You are on\r\n'
 '  ____   ___  _   _ _  ____\r\n'
 ' / ___| / _ \\| \\ | (_)/ ___|\r\n'
 ' \\___ \\| | | |  \\| | | |\r\n'
 '  ___) | |_| | |\\  | | |___\r\n'
 ' |____/ \\___/|_| \\_|_|\\____|\r\n'
 '\r\n'
 '-- Software for Open Networking in the Cloud --\r\n'
 '\r\n'
 'Unauthorized access and/or use are prohibited.\r\n'
 'All access and/or use are subject to monitoring.\r\n'
 '\r\n'
 'Help:    https://sonic-net.github.io/SONiC/\r\n'
 '\r\n'
 'Last login: Mon Sep 21 22:48:00 2026 from 10.250.0.1\r'
 '\r\n'
 'admin@R-1:~$ ',
 'Linux R-2 6.1.0-29-2-amd64 #1 SMP PREEMPT_DYNAMIC Debian 6.1.123-1 '
 '(2025-01-02) x86_64\r\n'
 'You are on\r\n'
 '  ____   ___  _   _ _  ____\r\n'
 ' / ___| / _ \\| \\ | (_)/ ___|\r\n'
 ' \\___ \\| | | |  \\| | | |\r\n'
 '  ___) | |_| | |\\  | | |___\r\n'
 ' |____/ \\___/|_| \\_|_|\\____|\r\n'
 '\r\n'
 '-- Software for Open Networking in the Cloud --\r\n'
 '\r\n'
 'Unauthorized access and/or use are prohibited.\r\n'
 'All access and/or use are subject to monitoring.\r\n'
 '\r\n'
 'Help:    https://sonic-net.github.io/SONiC/\r\n'
 '\r\n'
 'Last login: Mon Sep 21 22:48:02 2026 from 10.250.0.1\r'
 '\r\n'
 'admin@R-2:~$ ',
 'Linux R-3 6.1.0-29-2-amd64 #1 SMP PREEMPT_DYNAMIC Debian 6.1.123-1 '
 '(2025-01-02) x86_64\r\n'
 'You are on\r\n'
 '  ____   ___  _   _ _  ____\r\n'
 ' / ___| / _ \\| \\ | (_)/ ___|\r\n'
 ' \\___ \\| | | |  \\| | | |\r\n'
 '  ___) | |_| | |\\  | | |___\r\n'
 ' |____/ \\___/|_| \\_|_|\\____|\r\n'
 '\r\n'
 '-- Software for Open Networking in the Cloud --\r\n'
 '\r\n'
 'Unauthorized access and/or use are prohibited.\r\n'
 'All access and/or use are subject to monitoring.\r\n'
 '\r\n'
 'Help:    https://sonic-net.github.io/SONiC/\r\n'
 '\r\n'
 'Last login: Mon Sep 21 22:48:04 2026 from 10.250.0.1\r'
 '\r\n'
 'admin@R-3:~$ ',
 'Linux R-4 6.1.0-29-2-amd64 #1 SMP PREEMPT_DYNAMIC Debian 6.1.123-1 '
 '(2025-01-02) x86_64\r\n'
 'You are on\r\n'
 '  ____   ___  _   _ _  ____\r\n'
 ' / ___| / _ \\| \\ | (_)/ ___|\r\n'
 ' \\___ \\| | | |  \\| | | |\r\n'
 '  ___) | |_| | |\\  | | |___\r\n'
 ' |____/ \\___/|_| \\_|_|\\____|\r\n'
 '\r\n'
 '-- Software for Open Networking in the Cloud --\r\n'
 '\r\n'
 'Unauthorized access and/or use are prohibited.\r\n'
 'All access and/or use are subject to monitoring.\r\n'
 '\r\n'
 'Help:    https://sonic-net.github.io/SONiC/\r\n'
 '\r\n'
 'Last login: Mon Sep 21 22:48:05 2026 from 10.250.0.1\r'
 '\r\n'
 'admin@R-4:~$ ']
ssh        = ('Linux R-4 6.1.0-29-2-amd64 #1 SMP PREEMPT_DYNAMIC Debian 6.1.123-1 '
 '(2025-01-02) x86_64\r\n'
 'You are on\r\n'
 '  ____   ___  _   _ _  ____\r\n'
 ' / ___| / _ \\| \\ | (_)/ ___|\r\n'
 ' \\___ \\| | | |  \\| | | |\r\n'
 '  ___) | |_| | |\\  | | |___\r\n'
 ' |____/ \\___/|_| \\_|_|\\____|\r\n'
 '\r\n'
 '-- Software for Open Networking in the Cloud --\r\n'
 '\r\n'
 'Unauthorized access and/or use are prohibited.\r\n'
 'All access and/or use are subject to monitoring.\r\n'
 '\r\n'
 'Help:    https://sonic-net.github.io/SONiC/\r\n'
 '\r\n'
 'Last login: Mon Sep 21 22:48:05 2026 from 10.250.0.1\r'
 '\r\n'
 'admin@R-4:~$ ')
ssh_prompt = ['Linux R-1 6.1.0-29-2-amd64 #1 SMP PREEMPT_DYNAMIC Debian 6.1.123-1 '
 '(2025-01-02) x86_64\r\n'
 'You are on\r\n'
 '  ____   ___  _   _ _  ____\r\n'
 ' / ___| / _ \\| \\ | (_)/ ___|\r\n'
 ' \\___ \\| | | |  \\| | | |\r\n'
 '  ___) | |_| | |\\  | | |___\r\n'
 ' |____/ \\___/|_| \\_|_|\\____|\r\n'
 '\r\n'
 '-- Software for Open Networking in the Cloud --\r\n'
 '\r\n'
 'Unauthorized access and/or use are prohibited.\r\n'
 'All access and/or use are subject to monitoring.\r\n'
 '\r\n'
 'Help:    https://sonic-net.github.io/SONiC/\r\n'
 '\r\n'
 'Last login: Mon Sep 21 22:48:00 2026 from 10.250.0.1\r'
 '\r\n'
 'admin@R-1:~$ ',
 'Linux R-2 6.1.0-29-2-amd64 #1 SMP PREEMPT_DYNAMIC Debian 6.1.123-1 '
 '(2025-01-02) x86_64\r\n'
 'You are on\r\n'
 '  ____   ___  _   _ _  ____\r\n'
 ' / ___| / _ \\| \\ | (_)/ ___|\r\n'
 ' \\___ \\| | | |  \\| | | |\r\n'
 '  ___) | |_| | |\\  | | |___\r\n'
 ' |____/ \\___/|_| \\_|_|\\____|\r\n'
 '\r\n'
 '-- Software for Open Networking in the Cloud --\r\n'
 '\r\n'
 'Unauthorized access and/or use are prohibited.\r\n'
 'All access and/or use are subject to monitoring.\r\n'
 '\r\n'
 'Help:    https://sonic-net.github.io/SONiC/\r\n'
 '\r\n'
 'Last login: Mon Sep 21 22:48:02 2026 from 10.250.0.1\r'
 '\r\n'
 'admin@R-2:~$ ',
 'Linux R-3 6.1.0-29-2-amd64 #1 SMP PREEMPT_DYNAMIC Debian 6.1.123-1 '
 '(2025-01-02) x86_64\r\n'
 'You are on\r\n'
 '  ____   ___  _   _ _  ____\r\n'
 ' / ___| / _ \\| \\ | (_)/ ___|\r\n'
 ' \\___ \\| | | |  \\| | | |\r\n'
 '  ___) | |_| | |\\  | | |___\r\n'
 ' |____/ \\___/|_| \\_|_|\\____|\r\n'
 '\r\n'
 '-- Software for Open Networking in the Cloud --\r\n'
 '\r\n'
 'Unauthorized access and/or use are prohibited.\r\n'
 'All access and/or use are subject to monitoring.\r\n'
 '\r\n'
 'Help:    https://sonic-net.github.io/SONiC/\r\n'
 '\r\n'
 'Last login: Mon Sep 21 22:48:04 2026 from 10.250.0.1\r'
 '\r\n'
 'admin@R-3:~$ ',
 'Linux R-4 6.1.0-29-2-amd64 #1 SMP PREEMPT_DYNAMIC Debian 6.1.123-1 '
 '(2025-01-02) x86_64\r\n'
 'You are on\r\n'
 '  ____   ___  _   _ _  ____\r\n'
 ' / ___| / _ \\| \\ | (_)/ ___|\r\n'
 ' \\___ \\| | | |  \\| | | |\r\n'
 '  ___) | |_| | |\\  | | |___\r\n'
 ' |____/ \\___/|_| \\_|_|\\____|\r\n'
 '\r\n'
 '-- Software for Open Networking in the Cloud --\r\n'
 '\r\n'
 'Unauthorized access and/or use are prohibited.\r\n'
 'All access and/or use are subject to monitoring.\r\n'
 '\r\n'
 'Help:    https://sonic-net.github.io/SONiC/\r\n'
 '\r\n'
 'Last login: Mon Sep 21 22:48:05 2026 from 10.250.0.1\r'
 '\r\n'
 'admin@R-4:~$ ']
start_daemons = True
start_time = '23:04:31'
stderr     = ''
stdout     = 'No BGP prefixes displayed, 0 exist'
sub_sce_exp_mode = 'and'
sub_sce_exp_values = [['10.1.1.1 0 0 100 i', '10.1.3.2 0 0 100 i']]
sub_sce_not_exp_values = [[]]
sub_scenario_actions = [{'command': 'vtysh -c "show ip bgp"'}]
sub_scenario_delay = 10
sub_scenario_expect = {'mode': 'and', 'values': [['10.1.1.1 0 0 100 i', '10.1.3.2 0 0 100 i']]}
sub_scenario_name = 'Verification default'
sub_scenario_not_expect = {'values': [[]]}
sub_scenario_retries = 10
sum_img_path = '/data/NetAutoTestFW/tests/converter_report/topology_img/topo-L3-bgp.jpg'
target_ips = [{'intf': 'Ethernet4', 'ip': '10.1.4.1/24'},
 {'intf': 'Ethernet8', 'ip': '10.1.3.3/24'},
 {'intf': 'Ethernet12', 'ip': '10.40.0.1/24'},
 {'intf': 'Ethernet16', 'ip': '10.40.1.1/24'}]
tasks      = {'actions': [{'command': 'vtysh -c "show ip bgp"'}],
 'delay': 10,
 'expect': {'mode': 'and',
            'values': [['10.1.1.1 0 0 100 i', '10.1.3.2 0 0 100 i']]},
 'name': 'Verification default',
 'node': 'R-2',
 'not_expect': {'values': [[]]},
 'retries': 10}
template_content = ('{% if start_daemons %}\n'
 '# Start daemons\n'
 'docker exec -i bgp bash -c "/usr/lib/frr/ripd &"\n'
 'docker exec -i bgp bash -c "/usr/lib/frr/isisd &"\n'
 'docker exec -i bgp bash -c "/usr/lib/frr/ospfd &"\n'
 '{% endif %}\n'
 '\n'
 '# Set IPs\n'
 '{% for item in ip_list %}\n'
 'sudo config interface ip add {{ item.intf }} {{ item.ip }}\n'
 '{% endfor %}\n')
template_path = 'tests/common/templates/common_setup.j2'
timestamps = '23:09:19'
topo_img_name = 'topo-L3-bgp.jpg'
topo_img_path = '/data/NetAutoTestFW/tests/converter_report/topology_img'
trace_success = False
ubuntu     = []
ubuntuHostname = []
ubuntu_ssh_prompt = []
ubuntus    = []
vmhost     = 
vtb        = {'all': {'children': {'TGS': {'hosts': {'TG-1': {'ansible_host': '10.250.0.108',
                                                 'ansible_password': 'password',
                                                 'ansible_user': 'ubuntu',
                                                 'first_mac': '52:54:00:20:01:02',
                                                 'mac_addr': '52:54:00:20:01:01',
                                                 'second_mac': '52:54:00:20:01:03',
                                                 'type': 'kvm'}},
                              'vars': {'ansible_altpassword': 'YourPaSsWoRd',
                                       'ansible_connection': 'multi_passwd_ssh',
                                       'mgmt_subnet_mask_length': 24,
                                       'mgmt_subnet_v6_mask_length': 64}},
                      'onie': {'hosts': {'dhcp-server': {'ansible_host': '10.250.0.2',
                                                         'ansible_password': 'password',
                                                         'ansible_user': 'ubuntu',
                                                         'type': 'kvm'},
                                         'http-server': {'ansible_host': '10.250.0.3',
                                                         'ansible_password': 'password',
                                                         'ansible_user': 'ubuntu',
                                                         'type': 'kvm'}},
                               'vars': {'ansible_altpassword': 'YourPaSsWoRd',
                                        'ansible_connection': 'multi_passwd_ssh',
                                        'mgmt_subnet_mask_length': 24,
                                        'mgmt_subnet_v6_mask_length': 64}},
                      'servers': {'children': {'server_1': {'children': {'TGS': None,
                                                                         'onie': None,
                                                                         'sonic_r': None,
                                                                         'sonic_sw': None,
                                                                         'ubuntu': None,
                                                                         'vm_host_1': None},
                                                            'vars': {'host_var_file': 'host_vars/STR-ACS-VSERV-01.yml'}}},
                                  'vars': {'topologies': ['etri',
                                                          'etri_bgp',
                                                          'etri_l2']}},
                      'sonic_r': {'hosts': {'R-1': {'ansible_host': '10.250.0.51',
                                                    'ansible_password': 'password',
                                                    'ansible_user': 'admin',
                                                    'hwsku': 'Force10-S6000',
                                                    'mgmt_mac': '52:54:00:00:00:01',
                                                    'os_name': 'sonic-vs.bin',
                                                    'serial_port': 7001,
                                                    'symbolic_link': 'onie-installer-vs-1',
                                                    'type': 'kvm'},
                                            'R-2': {'ansible_host': '10.250.0.52',
                                                    'ansible_password': 'password',
                                                    'ansible_user': 'admin',
                                                    'hwsku': 'Force10-S6000',
                                                    'mgmt_mac': '52:54:00:00:00:02',
                                                    'os_name': 'sonic-vs.bin',
                                                    'serial_port': 7002,
                                                    'symbolic_link': 'onie-installer-vs-2',
                                                    'type': 'kvm'},
                                            'R-3': {'ansible_host': '10.250.0.53',
                                                    'ansible_password': 'password',
                                                    'ansible_user': 'admin',
                                                    'hwsku': 'Force10-S6000',
                                                    'mgmt_mac': '52:54:00:00:00:03',
                                                    'os_name': 'sonic-vs.bin',
                                                    'serial_port': 7003,
                                                    'symbolic_link': 'onie-installer-vs-3',
                                                    'type': 'kvm'},
                                            'R-4': {'ansible_host': '10.250.0.54',
                                                    'ansible_password': 'password',
                                                    'ansible_user': 'admin',
                                                    'hwsku': 'Force10-S6000',
                                                    'mgmt_mac': '52:54:00:00:00:04',
                                                    'os_name': 'sonic-vs.bin',
                                                    'serial_port': 7004,
                                                    'symbolic_link': 'onie-installer-vs-4',
                                                    'type': 'kvm'},
                                            'R-5': {'ansible_host': '10.250.0.55',
                                                    'ansible_password': 'password',
                                                    'ansible_user': 'admin',
                                                    'hwsku': 'Force10-S6000',
                                                    'mgmt_mac': '52:54:00:00:00:05',
                                                    'os_name': 'sonic-vs.bin',
                                                    'serial_port': 7005,
                                                    'symbolic_link': 'onie-installer-vs-5',
                                                    'type': 'kvm'},
                                            'R-6': {'ansible_host': '10.250.0.56',
                                                    'ansible_password': 'password',
                                                    'ansible_user': 'admin',
                                                    'hwsku': 'Force10-S6000',
                                                    'mgmt_mac': '52:54:00:00:00:06',
                                                    'os_name': 'sonic-vs.bin',
                                                    'serial_port': 7006,
                                                    'symbolic_link': 'onie-installer-vs-6',
                                                    'type': 'kvm'}},
                                  'vars': {'ansible_altpassword': 'YourPaSsWoRd',
                                           'ansible_connection': 'multi_passwd_ssh',
                                           'bgp_ip': {'R-1': [{'intf': 'Ethernet4',
                                                               'ip': '10.1.1.1/30'},
                                                              {'intf': 'Ethernet8',
                                                               'ip': '10.1.1.9/30'},
                                                              {'intf': 'Ethernet12',
                                                               'ip': '10.1.1.5/30'},
                                                              {'intf': 'Ethernet16',
                                                               'ip': '10.10.1.1/24'},
                                                              {'intf': 'Ethernet20',
                                                               'ip': '10.10.2.1/24'}],
                                                      'R-2': [{'intf': 'Ethernet4',
                                                               'ip': '10.1.1.2/30'},
                                                              {'intf': 'Ethernet8',
                                                               'ip': '10.1.1.6/30'},
                                                              {'intf': 'Ethernet12',
                                                               'ip': '10.1.3.1/24'},
                                                              {'intf': 'Ethernet16',
                                                               'ip': '10.20.0.1/24'},
                                                              {'intf': 'Ethernet20',
                                                               'ip': '10.20.1.1/24'}],
                                                      'R-3': [{'intf': 'Ethernet0',
                                                               'ip': '10.1.1.10/30'},
                                                              {'intf': 'Ethernet8',
                                                               'ip': '10.1.3.2/24'},
                                                              {'intf': 'Ethernet12',
                                                               'ip': '10.30.0.1/24'},
                                                              {'intf': 'Ethernet16',
                                                               'ip': '10.30.1.1/24'}],
                                                      'R-4': [{'intf': 'Ethernet4',
                                                               'ip': '10.1.4.1/24'},
                                                              {'intf': 'Ethernet8',
                                                               'ip': '10.1.3.3/24'},
                                                              {'intf': 'Ethernet12',
                                                               'ip': '10.40.0.1/24'},
                                                              {'intf': 'Ethernet16',
                                                               'ip': '10.40.1.1/24'}],
                                                      'R-5': [{'intf': 'Ethernet0',
                                                               'ip': '10.1.4.2/24'},
                                                              {'intf': 'Ethernet8',
                                                               'ip': '10.50.0.1/24'},
                                                              {'intf': 'Ethernet12',
                                                               'ip': '10.50.1.1/24'}]},
                                           'common_ip': {'R-1': [{'intf': 'Ethernet0',
                                                                  'ip': '21.1.1.2/24'},
                                                                 {'intf': 'Ethernet4',
                                                                  'ip': '30.1.1.2/24'},
                                                                 {'intf': 'Ethernet8',
                                                                  'ip': '20.1.1.2/24'}],
                                                         'R-2': [{'intf': 'Ethernet0',
                                                                  'ip': '22.1.1.4/24'},
                                                                 {'intf': 'Ethernet4',
                                                                  'ip': '30.1.1.4/24'}],
                                                         'R-3': [{'intf': 'Ethernet0',
                                                                  'ip': '20.1.1.3/24'},
                                                                 {'intf': 'Ethernet4',
                                                                  'ip': '10.0.100.1/24'}],
                                                         'R-4': [{'intf': 'Ethernet0',
                                                                  'ip': '22.1.1.11/24'},
                                                                 {'intf': 'Ethernet4',
                                                                  'ip': '50.1.1.2/24'}],
                                                         'R-5': [{'intf': 'Ethernet0',
                                                                  'ip': '50.1.1.3/24'},
                                                                 {'intf': 'Ethernet4',
                                                                  'ip': '40.0.100.1/24'}],
                                                         'R-6': [{'intf': 'Ethernet0',
                                                                  'ip': '21.1.1.3/24'},
                                                                 {'intf': 'Ethernet4',
                                                                  'ip': '10.0.100.3/24'}]},
                                           'mgmt_subnet_mask_length': 24,
                                           'mgmt_subnet_v6_mask_length': 64,
                                           'ospf_redist_ip': {'R-1': [{'intf': 'Ethernet4',
                                                                       'ip': '30.1.1.2/24'},
                                                                      {'intf': 'Ethernet8',
                                                                       'ip': '20.1.1.2/24'}],
                                                              'R-2': [{'intf': 'Ethernet4',
                                                                       'ip': '30.1.1.4/24'}],
                                                              'R-3': [{'intf': 'Ethernet0',
                                                                       'ip': '20.1.1.3/24'},
                                                                      {'intf': 'Ethernet4',
                                                                       'ip': '10.0.100.1/24'},
                                                                      {'intf': 'Ethernet8',
                                                                       'ip': '10.1.100.1/24'},
                                                                      {'intf': 'Ethernet12',
                                                                       'ip': '10.2.100.1/24'},
                                                                      {'intf': 'Ethernet16',
                                                                       'ip': '10.3.100.1/24'}]}}},
                      'sonic_sw': {'hosts': {'SW-1': {'ansible_host': '10.250.0.10',
                                                      'ansible_password': 'password',
                                                      'ansible_user': 'admin',
                                                      'hwsku': 'Force10-S6000',
                                                      'mgmt_mac': '52:54:00:00:00:07',
                                                      'os_name': 'sonic-vs.bin',
                                                      'serial_port': 8001,
                                                      'symbolic_link': 'onie-installer-vs-7',
                                                      'type': 'kvm'},
                                             'SW-2': {'ansible_host': '10.250.0.11',
                                                      'ansible_password': 'password',
                                                      'ansible_user': 'admin',
                                                      'hwsku': 'Force10-S6000',
                                                      'mgmt_mac': '52:54:00:00:00:08',
                                                      'os_name': 'sonic-vs.bin',
                                                      'serial_port': 8002,
                                                      'symbolic_link': 'onie-installer-vs-8',
                                                      'type': 'kvm'},
                                             'SW-3': {'ansible_host': '10.250.0.12',
                                                      'ansible_password': 'password',
                                                      'ansible_user': 'admin',
                                                      'hwsku': 'Force10-S6000',
                                                      'mgmt_mac': '52:54:00:00:00:09',
                                                      'os_name': 'sonic-vs.bin',
                                                      'serial_port': 8003,
                                                      'symbolic_link': 'onie-installer-vs-9',
                                                      'type': 'kvm'},
                                             'SW-4': {'ansible_host': '10.250.0.13',
                                                      'ansible_password': 'password',
                                                      'ansible_user': 'admin',
                                                      'hwsku': 'Force10-S6000',
                                                      'mgmt_mac': '52:54:00:00:00:10',
                                                      'os_name': 'sonic-vs.bin',
                                                      'serial_port': 8004,
                                                      'symbolic_link': 'onie-installer-vs-10',
                                                      'type': 'kvm'}},
                                   'vars': {'ansible_altpassword': 'YourPaSsWoRd',
                                            'ansible_connection': 'multi_passwd_ssh',
                                            'mgmt_subnet_mask_length': 24,
                                            'mgmt_subnet_v6_mask_length': 64}},
                      'ubuntu': {'hosts': {'H-1': {'ansible_host': '10.250.0.101',
                                                   'ansible_password': 'password',
                                                   'ansible_user': 'ubuntu',
                                                   'dest_ip': '40.0.100.0/24',
                                                   'dp_ip': '10.0.100.10/24',
                                                   'first_mac': '52:54:00:10:02:01',
                                                   'mac_addr': '52:54:00:10:01:01',
                                                   'src_ip': '10.0.100.1',
                                                   'type': 'kvm'},
                                           'H-2': {'ansible_host': '10.250.0.102',
                                                   'ansible_password': 'password',
                                                   'ansible_user': 'ubuntu',
                                                   'dest_ip': '40.0.100.0/24',
                                                   'dp_ip': '10.0.100.11/24',
                                                   'first_mac': '52:54:00:10:02:02',
                                                   'mac_addr': '52:54:00:10:01:02',
                                                   'src_ip': '10.0.100.1',
                                                   'type': 'kvm'},
                                           'H-3': {'ansible_host': '10.250.0.103',
                                                   'ansible_password': 'password',
                                                   'ansible_user': 'ubuntu',
                                                   'dest_ip': '40.0.100.0/24',
                                                   'dp_ip': '10.0.100.12/24',
                                                   'first_mac': '52:54:00:10:02:03',
                                                   'mac_addr': '52:54:00:10:01:03',
                                                   'src_ip': '10.0.100.1',
                                                   'type': 'kvm'},
                                           'H-4': {'ansible_host': '10.250.0.104',
                                                   'ansible_password': 'password',
                                                   'ansible_user': 'ubuntu',
                                                   'dest_ip': '40.0.100.0/24',
                                                   'dp_ip': '10.0.100.13/24',
                                                   'first_mac': '52:54:00:10:02:04',
                                                   'mac_addr': '52:54:00:10:01:04',
                                                   'src_ip': '10.0.100.1',
                                                   'type': 'kvm'},
                                           'H-5': {'ansible_host': '10.250.0.105',
                                                   'ansible_password': 'password',
                                                   'ansible_user': 'ubuntu',
                                                   'dest_ip': '10.0.100.0/24',
                                                   'dp_ip': '40.0.100.105/24',
                                                   'first_mac': '52:54:00:10:02:05',
                                                   'mac_addr': '52:54:00:10:01:05',
                                                   'src_ip': '40.0.100.1',
                                                   'type': 'kvm'},
                                           'H-6': {'ansible_host': '10.250.0.106',
                                                   'ansible_password': 'password',
                                                   'ansible_user': 'ubuntu',
                                                   'dest_ip': '40.0.100.0/24',
                                                   'dp_ip': '10.0.100.14/24',
                                                   'first_mac': '52:54:00:10:02:06',
                                                   'mac_addr': '52:54:00:10:01:06',
                                                   'src_ip': '10.0.100.1',
                                                   'type': 'kvm'},
                                           'H-7': {'ansible_host': '10.250.0.107',
                                                   'ansible_password': 'password',
                                                   'ansible_user': 'ubuntu',
                                                   'dest_ip': '40.0.100.0/24',
                                                   'dp_ip': '10.0.100.15/24',
                                                   'first_mac': '52:54:00:10:02:07',
                                                   'mac_addr': '52:54:00:10:01:07',
                                                   'src_ip': '10.0.100.1',
                                                   'type': 'kvm'}},
                                 'vars': {'ansible_altpassword': 'YourPaSsWoRd',
                                          'ansible_connection': 'multi_passwd_ssh',
                                          'mgmt_subnet_mask_length': 24,
                                          'mgmt_subnet_v6_mask_length': 64}},
                      'vm_host': {'children': {'vm_host_1': {'hosts': {'STR-ACS-VSERV-01': {'ansible_host': '172.17.0.1',
                                                                                            'ansible_user': 'jenkins',
                                                                                            'vm_host_user': 'jenkins'}}}}}}}}
yaml       = 

test_sonic/test_sonic.py:294: AssertionError
---------- generated xml file: /data/NetAutoTestFW/tests/logs/tr.xml -----------
---------------------------- live log sessionfinish ----------------------------
23:19:36 __init__.pytest_terminal_summary         L0067 INFO   | Can not get Allure report URL. Please check logs
INFO:root:Can not get Allure report URL. Please check logs
=========================== short test summary info ============================
FAILED test_sonic/test_sonic.py::test_scenario - AssertionError: Test failed ...
======================== 1 failed in 964.40s (0:16:04) =========================
⚠️  [WARN] Scenario failed on attempt 1/2 (exit code 1): test_sonic/bgp_policy/scenario_bgp_policy_med_attribute.yaml
Retrying test_sonic/bgp_policy/scenario_bgp_policy_med_attribute.yaml in 30s...
Running test command. . . (attempt 2/2)
./run_tests.sh -n etri-sonic-all -d R-1,R-2,R-3,R-4 -c test_sonic/test_sonic.py -f vtestbed.yaml -i ../ansible/vsonic_vtb -P test_sonic/bgp_policy/scenario_bgp_policy_med_attribute.yaml
=== Running tests in groups ===
Running: python3 -m pytest test_sonic/test_sonic.py --inventory ../ansible/vsonic_vtb --host-pattern R-1,R-2,R-3,R-4 --testbed etri-sonic-all --testbed_file vtestbed.yaml --log-cli-level info --log-file-level debug --scenario-filename test_sonic/bgp_policy/scenario_bgp_policy_med_attribute.yaml --showlocals --assert plain --show-capture no -rav --ignore=ptftests --ignore=acstests --ignore=saitests --ignore=scripts --ignore=k8s --ignore=sai_qualify --junit-xml=logs/tr.xml --log-file=logs/test.log
ERROR:pytest_ansible.units:No galaxy.yml file found, plugin not activated
============================= test session starts ==============================
platform linux -- Python 3.8.10, pytest-7.4.0, pluggy-1.5.0 -- /usr/bin/python3
cachedir: .pytest_cache
metadata: {'Python': '3.8.10', 'Platform': 'Linux-6.8.0-107-generic-x86_64-with-glibc2.29', 'Packages': {'pytest': '7.4.0', 'pluggy': '1.5.0'}, 'Plugins': {'html': '4.1.1', 'ansible': '4.0.0', 'repeat': '0.9.3', 'stress': '1.0.1', 'forked': '1.6.0', 'xdist': '1.28.0', 'allure-pytest': '2.8.22', 'metadata': '3.1.1'}}
ansible: 2.13.13
rootdir: /data/NetAutoTestFW/tests
configfile: pytest.ini
plugins: html-4.1.1, ansible-4.0.0, repeat-0.9.3, stress-1.0.1, forked-1.6.0, xdist-1.28.0, allure-pytest-2.8.22, metadata-3.1.1
collecting ... DEBUG:tests.common.plugins.conditional_mark:Trying to load test mark conditions files: ['common/plugins/conditional_mark/tests_mark_conditions_skip_traffic_test.yaml', 'common/plugins/conditional_mark/tests_mark_conditions.yaml', 'common/plugins/conditional_mark/tests_mark_conditions_acl.yaml', 'common/plugins/conditional_mark/tests_mark_conditions_drop_packets.yaml', 'common/plugins/conditional_mark/tests_mark_conditions_platform_tests.yaml']
DEBUG:tests.common.plugins.conditional_mark:Loaded test mark conditions file: common/plugins/conditional_mark/tests_mark_conditions_skip_traffic_test.yaml
DEBUG:tests.common.plugins.conditional_mark:Loaded test mark conditions file: common/plugins/conditional_mark/tests_mark_conditions.yaml
DEBUG:tests.common.plugins.conditional_mark:Loaded test mark conditions file: common/plugins/conditional_mark/tests_mark_conditions_acl.yaml
DEBUG:tests.common.plugins.conditional_mark:Loaded test mark conditions file: common/plugins/conditional_mark/tests_mark_conditions_drop_packets.yaml
DEBUG:tests.common.plugins.conditional_mark:Loaded test mark conditions file: common/plugins/conditional_mark/tests_mark_conditions_platform_tests.yaml

----------------------------- live log collection ------------------------------
23:20:08 __init__.load_dut_basic_facts            L0143 INFO   | Getting dut basic facts
INFO:tests.common.plugins.conditional_mark:Getting dut basic facts
/usr/local/lib/python3.8/dist-packages/paramiko/transport.py:236: CryptographyDeprecationWarning: Blowfish has been deprecated
  "class": algorithms.Blowfish,
DEBUG:tests.common.plugins.conditional_mark:raw dut basic facts:
R-1 | SUCCESS => {"ansible_facts": {"dut_basic_facts": {"asic_subtype": "vs","asic_type": "vs","branch": "etri-202505","build_date": "Wed Sep  9 05:16:43 UTC 2026","build_number": 27,"build_version": "etri-202505.27-8610ff460","built_by": "jenkins@w2sh","commit_id": "8610ff460","debian_version": "12.15","feature_status": {"bgp": "enabled","database": "always_enabled","dhcp_relay": "disabled","eventd": "enabled","gbsyncd": "enabled","gnmi": "enabled","lldp": "enabled","macsec": "disabled","mgmt-framework": "enabled","mux": "always_disabled","nat": "disabled","pmon": "enabled","radv": "enabled","sflow": "disabled","snmp": "enabled","swss": "enabled","syncd": "enabled","teamd": "enabled","telemetry": "enabled"},"hwsku": "Etri-SONiC","is_multi_asic": false,"is_supervisor": false,"kernel_version": "6.1.0","libswsscommon": "1.0.0","num_asic": 1,"platform": "x86_64-kvm_x86_64-r0","release": "202505","secure_boot_image": "no","sonic_os_version": 12,"sonic_utilities": 1.2}},"changed": false}

23:20:09 __init__.load_minigraph_facts            L0231 INFO   | Getting minigraph basic facts
INFO:tests.common.plugins.conditional_mark:Getting minigraph basic facts
/usr/local/lib/python3.8/dist-packages/paramiko/transport.py:236: CryptographyDeprecationWarning: Blowfish has been deprecated
  "class": algorithms.Blowfish,
ERROR:tests.common.plugins.conditional_mark:Failed to load minigraph basic facts, exception: CalledProcessError(2, ['ansible', '-m', 'minigraph_facts', '-i', '../ansible/vsonic_vtb', 'R-1', '-a', 'host=R-1'])
23:20:10 __init__.load_minigraph_facts            L0245 ERROR  | Failed to load minigraph basic facts, exception: CalledProcessError(2, ['ansible', '-m', 'minigraph_facts', '-i', '../ansible/vsonic_vtb', 'R-1', '-a', 'host=R-1'])
INFO:tests.common.plugins.conditional_mark:Getting config basic facts
23:20:10 __init__.load_config_facts               L0263 INFO   | Getting config basic facts
/usr/local/lib/python3.8/dist-packages/paramiko/transport.py:236: CryptographyDeprecationWarning: Blowfish has been deprecated
  "class": algorithms.Blowfish,
DEBUG:tests.common.plugins.conditional_mark:raw config basic facts:
R-1 | SUCCESS => {
    "ansible_facts": {
        "DEVICE_METADATA": {
            "localhost": {
                "deployment_id": "1",
                "hostname": "R-1",
                "hwsku": "Etri-SONiC",
                "mac": "22:f1:58:ae:a6:55",
                "platform": "x86_64-kvm_x86_64-r0",
                "type": "LeafRouter"
            }
        },
        "MGMT_INTERFACE": {
            "eth0": {
                "10.250.0.51/24": {
                    "gwaddr": "10.250.0.1"
                }
            }
        },
        "MGMT_PORT": {
            "eth0": {
                "admin_status": "up",
                "alias": "eth0"
            }
        },
        "PORT": {
            "Ethernet0": {
                "admin_status": "up",
                "alias": "fortyGigE0/0",
                "index": "0",
                "lanes": "25,26,27,28",
                "speed": "40000"
            },
            "Ethernet100": {
                "admin_status": "up",
                "alias": "fortyGigE0/100",
                "index": "25",
                "lanes": "121,122,123,124",
                "speed": "40000"
            },
            "Ethernet104": {
                "admin_status": "up",
                "alias": "fortyGigE0/104",
                "index": "26",
                "lanes": "81,82,83,84",
                "speed": "40000"
            },
            "Ethernet108": {
                "admin_status": "up",
                "alias": "fortyGigE0/108",
                "index": "27",
                "lanes": "85,86,87,88",
                "speed": "40000"
            },
            "Ethernet112": {
                "admin_status": "up",
                "alias": "fortyGigE0/112",
                "index": "28",
                "lanes": "93,94,95,96",
                "speed": "40000"
            },
            "Ethernet116": {
                "admin_status": "up",
                "alias": "fortyGigE0/116",
                "index": "29",
                "lanes": "89,90,91,92",
                "speed": "40000"
            },
            "Ethernet12": {
                "admin_status": "up",
                "alias": "fortyGigE0/12",
                "index": "3",
                "lanes": "37,38,39,40",
                "speed": "40000"
            },
            "Ethernet120": {
                "admin_status": "up",
                "alias": "fortyGigE0/120",
                "index": "30",
                "lanes": "101,102,103,104",
                "speed": "40000"
            },
            "Ethernet124": {
                "admin_status": "up",
                "alias": "fortyGigE0/124",
                "index": "31",
                "lanes": "97,98,99,100",
                "speed": "40000"
            },
            "Ethernet16": {
                "admin_status": "up",
                "alias": "fortyGigE0/16",
                "index": "4",
                "lanes": "45,46,47,48",
                "speed": "40000"
            },
            "Ethernet20": {
                "admin_status": "up",
                "alias": "fortyGigE0/20",
                "index": "5",
                "lanes": "41,42,43,44",
                "speed": "40000"
            },
            "Ethernet24": {
                "admin_status": "up",
                "alias": "fortyGigE0/24",
                "index": "6",
                "lanes": "1,2,3,4",
                "speed": "40000"
            },
            "Ethernet28": {
                "admin_status": "up",
                "alias": "fortyGigE0/28",
                "index": "7",
                "lanes": "5,6,7,8",
                "speed": "40000"
            },
            "Ethernet32": {
                "admin_status": "up",
                "alias": "fortyGigE0/32",
                "index": "8",
                "lanes": "13,14,15,16",
                "speed": "40000"
            },
            "Ethernet36": {
                "admin_status": "up",
                "alias": "fortyGigE0/36",
                "index": "9",
                "lanes": "9,10,11,12",
                "speed": "40000"
            },
            "Ethernet4": {
                "admin_status": "up",
                "alias": "fortyGigE0/4",
                "index": "1",
                "lanes": "29,30,31,32",
                "speed": "40000"
            },
            "Ethernet40": {
                "admin_status": "up",
                "alias": "fortyGigE0/40",
                "index": "10",
                "lanes": "17,18,19,20",
                "speed": "40000"
            },
            "Ethernet44": {
                "admin_status": "up",
                "alias": "fortyGigE0/44",
                "index": "11",
                "lanes": "21,22,23,24",
                "speed": "40000"
            },
            "Ethernet48": {
                "admin_status": "up",
                "alias": "fortyGigE0/48",
                "index": "12",
                "lanes": "53,54,55,56",
                "speed": "40000"
            },
            "Ethernet52": {
                "admin_status": "up",
                "alias": "fortyGigE0/52",
                "index": "13",
                "lanes": "49,50,51,52",
                "speed": "40000"
            },
            "Ethernet56": {
                "admin_status": "up",
                "alias": "fortyGigE0/56",
                "index": "14",
                "lanes": "57,58,59,60",
                "speed": "40000"
            },
            "Ethernet60": {
                "admin_status": "up",
                "alias": "fortyGigE0/60",
                "index": "15",
                "lanes": "61,62,63,64",
                "speed": "40000"
            },
            "Ethernet64": {
                "admin_status": "up",
                "alias": "fortyGigE0/64",
                "index": "16",
                "lanes": "69,70,71,72",
                "speed": "40000"
            },
            "Ethernet68": {
                "admin_status": "up",
                "alias": "fortyGigE0/68",
                "index": "17",
                "lanes": "65,66,67,68",
                "speed": "40000"
            },
            "Ethernet72": {
                "admin_status": "up",
                "alias": "fortyGigE0/72",
                "index": "18",
                "lanes": "73,74,75,76",
                "speed": "40000"
            },
            "Ethernet76": {
                "admin_status": "up",
                "alias": "fortyGigE0/76",
                "index": "19",
                "lanes": "77,78,79,80",
                "speed": "40000"
            },
            "Ethernet8": {
                "admin_status": "up",
                "alias": "fortyGigE0/8",
                "index": "2",
                "lanes": "33,34,35,36",
                "speed": "40000"
            },
            "Ethernet80": {
                "admin_status": "up",
                "alias": "fortyGigE0/80",
                "index": "20",
                "lanes": "109,110,111,112",
                "speed": "40000"
            },
            "Ethernet84": {
                "admin_status": "up",
                "alias": "fortyGigE0/84",
                "index": "21",
                "lanes": "105,106,107,108",
                "speed": "40000"
            },
            "Ethernet88": {
                "admin_status": "up",
                "alias": "fortyGigE0/88",
                "index": "22",
                "lanes": "113,114,115,116",
                "speed": "40000"
            },
            "Ethernet92": {
                "admin_status": "up",
                "alias": "fortyGigE0/92",
                "index": "23",
                "lanes": "117,118,119,120",
                "speed": "40000"
            },
            "Ethernet96": {
                "admin_status": "up",
                "alias": "fortyGigE0/96",
                "index": "24",
                "lanes": "125,126,127,128",
                "speed": "40000"
            }
        },
        "port_alias_to_name_map": {
            "fortyGigE0/0": "Ethernet0",
            "fortyGigE0/100": "Ethernet100",
            "fortyGigE0/104": "Ethernet104",
            "fortyGigE0/108": "Ethernet108",
            "fortyGigE0/112": "Ethernet112",
            "fortyGigE0/116": "Ethernet116",
            "fortyGigE0/12": "Ethernet12",
            "fortyGigE0/120": "Ethernet120",
            "fortyGigE0/124": "Ethernet124",
            "fortyGigE0/16": "Ethernet16",
            "fortyGigE0/20": "Ethernet20",
            "fortyGigE0/24": "Ethernet24",
            "fortyGigE0/28": "Ethernet28",
            "fortyGigE0/32": "Ethernet32",
            "fortyGigE0/36": "Ethernet36",
            "fortyGigE0/4": "Ethernet4",
            "fortyGigE0/40": "Ethernet40",
            "fortyGigE0/44": "Ethernet44",
            "fortyGigE0/48": "Ethernet48",
            "fortyGigE0/52": "Ethernet52",
            "fortyGigE0/56": "Ethernet56",
            "fortyGigE0/60": "Ethernet60",
            "fortyGigE0/64": "Ethernet64",
            "fortyGigE0/68": "Ethernet68",
            "fortyGigE0/72": "Ethernet72",
            "fortyGigE0/76": "Ethernet76",
            "fortyGigE0/8": "Ethernet8",
            "fortyGigE0/80": "Ethernet80",
            "fortyGigE0/84": "Ethernet84",
            "fortyGigE0/88": "Ethernet88",
            "fortyGigE0/92": "Ethernet92",
            "fortyGigE0/96": "Ethernet96"
        },
        "port_index_map": {
            "Ethernet0": 0,
            "Ethernet100": 25,
            "Ethernet104": 26,
            "Ethernet108": 27,
            "Ethernet112": 28,
            "Ethernet116": 29,
            "Ethernet12": 3,
            "Ethernet120": 30,
            "Ethernet124": 31,
            "Ethernet16": 4,
            "Ethernet20": 5,
            "Ethernet24": 6,
            "Ethernet28": 7,
            "Ethernet32": 8,
            "Ethernet36": 9,
            "Ethernet4": 1,
            "Ethernet40": 10,
            "Ethernet44": 11,
            "Ethernet48": 12,
            "Ethernet52": 13,
            "Ethernet56": 14,
            "Ethernet60": 15,
            "Ethernet64": 16,
            "Ethernet68": 17,
            "Ethernet72": 18,
            "Ethernet76": 19,
            "Ethernet8": 2,
            "Ethernet80": 20,
            "Ethernet84": 21,
            "Ethernet88": 22,
            "Ethernet92": 23,
            "Ethernet96": 24
        },
        "port_name_to_alias_map": {
            "Ethernet0": "fortyGigE0/0",
            "Ethernet100": "fortyGigE0/100",
            "Ethernet104": "fortyGigE0/104",
            "Ethernet108": "fortyGigE0/108",
            "Ethernet112": "fortyGigE0/112",
            "Ethernet116": "fortyGigE0/116",
            "Ethernet12": "fortyGigE0/12",
            "Ethernet120": "fortyGigE0/120",
            "Ethernet124": "fortyGigE0/124",
            "Ethernet16": "fortyGigE0/16",
            "Ethernet20": "fortyGigE0/20",
            "Ethernet24": "fortyGigE0/24",
            "Ethernet28": "fortyGigE0/28",
            "Ethernet32": "fortyGigE0/32",
            "Ethernet36": "fortyGigE0/36",
            "Ethernet4": "fortyGigE0/4",
            "Ethernet40": "fortyGigE0/40",
            "Ethernet44": "fortyGigE0/44",
            "Ethernet48": "fortyGigE0/48",
            "Ethernet52": "fortyGigE0/52",
            "Ethernet56": "fortyGigE0/56",
            "Ethernet60": "fortyGigE0/60",
            "Ethernet64": "fortyGigE0/64",
            "Ethernet68": "fortyGigE0/68",
            "Ethernet72": "fortyGigE0/72",
            "Ethernet76": "fortyGigE0/76",
            "Ethernet8": "fortyGigE0/8",
            "Ethernet80": "fortyGigE0/80",
            "Ethernet84": "fortyGigE0/84",
            "Ethernet88": "fortyGigE0/88",
            "Ethernet92": "fortyGigE0/92",
            "Ethernet96": "fortyGigE0/96"
        }
    },
    "changed": false
}

INFO:tests.common.plugins.conditional_mark:Getting switch capabilities basic facts
23:20:11 __init__.load_switch_capabilities_facts  L0298 INFO   | Getting switch capabilities basic facts
/usr/local/lib/python3.8/dist-packages/paramiko/transport.py:236: CryptographyDeprecationWarning: Blowfish has been deprecated
  "class": algorithms.Blowfish,
DEBUG:tests.common.plugins.conditional_mark:raw switch capabilities basic facts:
R-1 | SUCCESS => {
    "ansible_facts": {
        "discovered_interpreter_python": "/usr/bin/python3",
        "switch_capabilities": {
            "switch": {
                "ACL_ACTION|FLOW_OP": "INT,IOAM,NOP,POSTCARD",
                "ACL_ACTION|PACKET_ACTION": "COPY,DROP,FORWARD",
                "ASIC_SDK_HEALTH_EVENT": "true",
                "ECMP_HASH_ALGORITHM": "CRC,XOR,RANDOM,CRC_32LO,CRC_32HI,CRC_CCITT,CRC_XOR",
                "ECMP_HASH_ALGORITHM_CAPABLE": "true",
                "ECMP_HASH_CAPABLE": "true",
                "HASH|NATIVE_HASH_FIELD_LIST": "SRC_IP,DST_IP,INNER_SRC_IP,INNER_DST_IP,VLAN_ID,IP_PROTOCOL,ETHERTYPE,L4_SRC_PORT,L4_DST_PORT,SRC_MAC,DST_MAC,IN_PORT,INNER_IP_PROTOCOL,INNER_ETHERTYPE,INNER_L4_SRC_PORT,INNER_L4_DST_PORT,INNER_SRC_MAC,INNER_DST_MAC,IPV6_FLOW_LABEL",
                "ICMP_OFFLOAD_CAPABLE": "true",
                "LAG_HASH_ALGORITHM": "CRC,XOR,RANDOM,CRC_32LO,CRC_32HI,CRC_CCITT,CRC_XOR",
                "LAG_HASH_ALGORITHM_CAPABLE": "true",
                "LAG_HASH_CAPABLE": "true",
                "LAG_TPID_CAPABLE": "true",
                "MAX_NEXTHOP_GROUP_COUNT": "512",
                "MAX_TWAMP_SESSION_COUNT": "128",
                "MIRROR": "true",
                "MIRRORV6": "true",
                "ORDERED_ECMP_CAPABLE": "true",
                "PATH_TRACING_CAPABLE": "true",
                "PFC_DLR_INIT_CAPABLE": "true",
                "PORT_EGRESS_SAMPLE_CAPABLE": "true",
                "PORT_TPID_CAPABLE": "true",
                "REG_FATAL_ASIC_SDK_HEALTH_CATEGORY": "true",
                "REG_NOTICE_ASIC_SDK_HEALTH_CATEGORY": "true",
                "REG_WARNING_ASIC_SDK_HEALTH_CATEGORY": "true",
                "SWITCH_TRIMMING_CAPABLE": "true",
                "SWITCH|NUMBER_OF_TRAFFIC_CLASSES": "16",
                "SWITCH|NUMBER_OF_UNICAST_QUEUES": "10",
                "SWITCH|PACKET_TRIMMING_DSCP_RESOLUTION_MODE": "DSCP_VALUE,FROM_TC",
                "SWITCH|PACKET_TRIMMING_QUEUE_RESOLUTION_MODE": "STATIC,DYNAMIC"
            }
        }
    },
    "changed": false
}

INFO:tests.common.plugins.conditional_mark:Getting config basic facts
23:20:12 __init__.load_config_facts               L0263 INFO   | Getting config basic facts
/usr/local/lib/python3.8/dist-packages/paramiko/transport.py:236: CryptographyDeprecationWarning: Blowfish has been deprecated
  "class": algorithms.Blowfish,
DEBUG:tests.common.plugins.conditional_mark:raw config basic facts:
R-1 | SUCCESS => {
    "ansible_facts": {
        "DEVICE_METADATA": {
            "localhost": {
                "deployment_id": "1",
                "hostname": "R-1",
                "hwsku": "Etri-SONiC",
                "mac": "22:f1:58:ae:a6:55",
                "platform": "x86_64-kvm_x86_64-r0",
                "type": "LeafRouter"
            }
        },
        "MGMT_INTERFACE": {
            "eth0": {
                "10.250.0.51/24": {
                    "gwaddr": "10.250.0.1"
                }
            }
        },
        "MGMT_PORT": {
            "eth0": {
                "admin_status": "up",
                "alias": "eth0"
            }
        },
        "PORT": {
            "Ethernet0": {
                "admin_status": "up",
                "alias": "fortyGigE0/0",
                "index": "0",
                "lanes": "25,26,27,28",
                "speed": "40000"
            },
            "Ethernet100": {
                "admin_status": "up",
                "alias": "fortyGigE0/100",
                "index": "25",
                "lanes": "121,122,123,124",
                "speed": "40000"
            },
            "Ethernet104": {
                "admin_status": "up",
                "alias": "fortyGigE0/104",
                "index": "26",
                "lanes": "81,82,83,84",
                "speed": "40000"
            },
            "Ethernet108": {
                "admin_status": "up",
                "alias": "fortyGigE0/108",
                "index": "27",
                "lanes": "85,86,87,88",
                "speed": "40000"
            },
            "Ethernet112": {
                "admin_status": "up",
                "alias": "fortyGigE0/112",
                "index": "28",
                "lanes": "93,94,95,96",
                "speed": "40000"
            },
            "Ethernet116": {
                "admin_status": "up",
                "alias": "fortyGigE0/116",
                "index": "29",
                "lanes": "89,90,91,92",
                "speed": "40000"
            },
            "Ethernet12": {
                "admin_status": "up",
                "alias": "fortyGigE0/12",
                "index": "3",
                "lanes": "37,38,39,40",
                "speed": "40000"
            },
            "Ethernet120": {
                "admin_status": "up",
                "alias": "fortyGigE0/120",
                "index": "30",
                "lanes": "101,102,103,104",
                "speed": "40000"
            },
            "Ethernet124": {
                "admin_status": "up",
                "alias": "fortyGigE0/124",
                "index": "31",
                "lanes": "97,98,99,100",
                "speed": "40000"
            },
            "Ethernet16": {
                "admin_status": "up",
                "alias": "fortyGigE0/16",
                "index": "4",
                "lanes": "45,46,47,48",
                "speed": "40000"
            },
            "Ethernet20": {
                "admin_status": "up",
                "alias": "fortyGigE0/20",
                "index": "5",
                "lanes": "41,42,43,44",
                "speed": "40000"
            },
            "Ethernet24": {
                "admin_status": "up",
                "alias": "fortyGigE0/24",
                "index": "6",
                "lanes": "1,2,3,4",
                "speed": "40000"
            },
            "Ethernet28": {
                "admin_status": "up",
                "alias": "fortyGigE0/28",
                "index": "7",
                "lanes": "5,6,7,8",
                "speed": "40000"
            },
            "Ethernet32": {
                "admin_status": "up",
                "alias": "fortyGigE0/32",
                "index": "8",
                "lanes": "13,14,15,16",
                "speed": "40000"
            },
            "Ethernet36": {
                "admin_status": "up",
                "alias": "fortyGigE0/36",
                "index": "9",
                "lanes": "9,10,11,12",
                "speed": "40000"
            },
            "Ethernet4": {
                "admin_status": "up",
                "alias": "fortyGigE0/4",
                "index": "1",
                "lanes": "29,30,31,32",
                "speed": "40000"
            },
            "Ethernet40": {
                "admin_status": "up",
                "alias": "fortyGigE0/40",
                "index": "10",
                "lanes": "17,18,19,20",
                "speed": "40000"
            },
            "Ethernet44": {
                "admin_status": "up",
                "alias": "fortyGigE0/44",
                "index": "11",
                "lanes": "21,22,23,24",
                "speed": "40000"
            },
            "Ethernet48": {
                "admin_status": "up",
                "alias": "fortyGigE0/48",
                "index": "12",
                "lanes": "53,54,55,56",
                "speed": "40000"
            },
            "Ethernet52": {
                "admin_status": "up",
                "alias": "fortyGigE0/52",
                "index": "13",
                "lanes": "49,50,51,52",
                "speed": "40000"
            },
            "Ethernet56": {
                "admin_status": "up",
                "alias": "fortyGigE0/56",
                "index": "14",
                "lanes": "57,58,59,60",
                "speed": "40000"
            },
            "Ethernet60": {
                "admin_status": "up",
                "alias": "fortyGigE0/60",
                "index": "15",
                "lanes": "61,62,63,64",
                "speed": "40000"
            },
            "Ethernet64": {
                "admin_status": "up",
                "alias": "fortyGigE0/64",
                "index": "16",
                "lanes": "69,70,71,72",
                "speed": "40000"
            },
            "Ethernet68": {
                "admin_status": "up",
                "alias": "fortyGigE0/68",
                "index": "17",
                "lanes": "65,66,67,68",
                "speed": "40000"
            },
            "Ethernet72": {
                "admin_status": "up",
                "alias": "fortyGigE0/72",
                "index": "18",
                "lanes": "73,74,75,76",
                "speed": "40000"
            },
            "Ethernet76": {
                "admin_status": "up",
                "alias": "fortyGigE0/76",
                "index": "19",
                "lanes": "77,78,79,80",
                "speed": "40000"
            },
            "Ethernet8": {
                "admin_status": "up",
                "alias": "fortyGigE0/8",
                "index": "2",
                "lanes": "33,34,35,36",
                "speed": "40000"
            },
            "Ethernet80": {
                "admin_status": "up",
                "alias": "fortyGigE0/80",
                "index": "20",
                "lanes": "109,110,111,112",
                "speed": "40000"
            },
            "Ethernet84": {
                "admin_status": "up",
                "alias": "fortyGigE0/84",
                "index": "21",
                "lanes": "105,106,107,108",
                "speed": "40000"
            },
            "Ethernet88": {
                "admin_status": "up",
                "alias": "fortyGigE0/88",
                "index": "22",
                "lanes": "113,114,115,116",
                "speed": "40000"
            },
            "Ethernet92": {
                "admin_status": "up",
                "alias": "fortyGigE0/92",
                "index": "23",
                "lanes": "117,118,119,120",
                "speed": "40000"
            },
            "Ethernet96": {
                "admin_status": "up",
                "alias": "fortyGigE0/96",
                "index": "24",
                "lanes": "125,126,127,128",
                "speed": "40000"
            }
        },
        "port_alias_to_name_map": {
            "fortyGigE0/0": "Ethernet0",
            "fortyGigE0/100": "Ethernet100",
            "fortyGigE0/104": "Ethernet104",
            "fortyGigE0/108": "Ethernet108",
            "fortyGigE0/112": "Ethernet112",
            "fortyGigE0/116": "Ethernet116",
            "fortyGigE0/12": "Ethernet12",
            "fortyGigE0/120": "Ethernet120",
            "fortyGigE0/124": "Ethernet124",
            "fortyGigE0/16": "Ethernet16",
            "fortyGigE0/20": "Ethernet20",
            "fortyGigE0/24": "Ethernet24",
            "fortyGigE0/28": "Ethernet28",
            "fortyGigE0/32": "Ethernet32",
            "fortyGigE0/36": "Ethernet36",
            "fortyGigE0/4": "Ethernet4",
            "fortyGigE0/40": "Ethernet40",
            "fortyGigE0/44": "Ethernet44",
            "fortyGigE0/48": "Ethernet48",
            "fortyGigE0/52": "Ethernet52",
            "fortyGigE0/56": "Ethernet56",
            "fortyGigE0/60": "Ethernet60",
            "fortyGigE0/64": "Ethernet64",
            "fortyGigE0/68": "Ethernet68",
            "fortyGigE0/72": "Ethernet72",
            "fortyGigE0/76": "Ethernet76",
            "fortyGigE0/8": "Ethernet8",
            "fortyGigE0/80": "Ethernet80",
            "fortyGigE0/84": "Ethernet84",
            "fortyGigE0/88": "Ethernet88",
            "fortyGigE0/92": "Ethernet92",
            "fortyGigE0/96": "Ethernet96"
        },
        "port_index_map": {
            "Ethernet0": 0,
            "Ethernet100": 25,
            "Ethernet104": 26,
            "Ethernet108": 27,
            "Ethernet112": 28,
            "Ethernet116": 29,
            "Ethernet12": 3,
            "Ethernet120": 30,
            "Ethernet124": 31,
            "Ethernet16": 4,
            "Ethernet20": 5,
            "Ethernet24": 6,
            "Ethernet28": 7,
            "Ethernet32": 8,
            "Ethernet36": 9,
            "Ethernet4": 1,
            "Ethernet40": 10,
            "Ethernet44": 11,
            "Ethernet48": 12,
            "Ethernet52": 13,
            "Ethernet56": 14,
            "Ethernet60": 15,
            "Ethernet64": 16,
            "Ethernet68": 17,
            "Ethernet72": 18,
            "Ethernet76": 19,
            "Ethernet8": 2,
            "Ethernet80": 20,
            "Ethernet84": 21,
            "Ethernet88": 22,
            "Ethernet92": 23,
            "Ethernet96": 24
        },
        "port_name_to_alias_map": {
            "Ethernet0": "fortyGigE0/0",
            "Ethernet100": "fortyGigE0/100",
            "Ethernet104": "fortyGigE0/104",
            "Ethernet108": "fortyGigE0/108",
            "Ethernet112": "fortyGigE0/112",
            "Ethernet116": "fortyGigE0/116",
            "Ethernet12": "fortyGigE0/12",
            "Ethernet120": "fortyGigE0/120",
            "Ethernet124": "fortyGigE0/124",
            "Ethernet16": "fortyGigE0/16",
            "Ethernet20": "fortyGigE0/20",
            "Ethernet24": "fortyGigE0/24",
            "Ethernet28": "fortyGigE0/28",
            "Ethernet32": "fortyGigE0/32",
            "Ethernet36": "fortyGigE0/36",
            "Ethernet4": "fortyGigE0/4",
            "Ethernet40": "fortyGigE0/40",
            "Ethernet44": "fortyGigE0/44",
            "Ethernet48": "fortyGigE0/48",
            "Ethernet52": "fortyGigE0/52",
            "Ethernet56": "fortyGigE0/56",
            "Ethernet60": "fortyGigE0/60",
            "Ethernet64": "fortyGigE0/64",
            "Ethernet68": "fortyGigE0/68",
            "Ethernet72": "fortyGigE0/72",
            "Ethernet76": "fortyGigE0/76",
            "Ethernet8": "fortyGigE0/8",
            "Ethernet80": "fortyGigE0/80",
            "Ethernet84": "fortyGigE0/84",
            "Ethernet88": "fortyGigE0/88",
            "Ethernet92": "fortyGigE0/92",
            "Ethernet96": "fortyGigE0/96"
        }
    },
    "changed": false
}

INFO:tests.common.plugins.conditional_mark:Available basic facts that can be used in conditional skip:
{
  "topo_type": "etri",
  "topo_name": "etri",
  "testbed": "etri-sonic-all",
  "asic_subtype": "vs",
  "asic_type": "vs",
  "branch": "etri-202505",
  "build_date": "Wed Sep  9 05:16:43 UTC 2026",
  "build_number": 27,
  "build_version": "etri-202505.27-8610ff460",
  "built_by": "jenkins@w2sh",
  "commit_id": "8610ff460",
  "debian_version": "12.15",
  "feature_status": {
    "bgp": "enabled",
    "database": "always_enabled",
    "dhcp_relay": "disabled",
    "eventd": "enabled",
    "gbsyncd": "enabled",
    "gnmi": "enabled",
    "lldp": "enabled",
    "macsec": "disabled",
    "mgmt-framework": "enabled",
    "mux": "always_disabled",
    "nat": "disabled",
    "pmon": "enabled",
    "radv": "enabled",
    "sflow": "disabled",
    "snmp": "enabled",
    "swss": "enabled",
    "syncd": "enabled",
    "teamd": "enabled",
    "telemetry": "enabled"
  },
  "hwsku": "Etri-SONiC",
  "is_multi_asic": false,
  "is_supervisor": false,
  "kernel_version": "6.1.0",
  "libswsscommon": "1.0.0",
  "num_asic": 1,
  "platform": "x86_64-kvm_x86_64-r0",
  "release": "202505",
  "secure_boot_image": "no",
  "sonic_os_version": 12,
  "sonic_utilities": 1.2,
  "asic_gen": "unknown",
  "VOQ_INBAND_INTERFACE": {},
  "BGP_VOQ_CHASSIS_NEIGHBOR": {},
  "INTERFACE": {},
  "switch": {
    "ACL_ACTION|FLOW_OP": "INT,IOAM,NOP,POSTCARD",
    "ACL_ACTION|PACKET_ACTION": "COPY,DROP,FORWARD",
    "ASIC_SDK_HEALTH_EVENT": "true",
    "ECMP_HASH_ALGORITHM": "CRC,XOR,RANDOM,CRC_32LO,CRC_32HI,CRC_CCITT,CRC_XOR",
    "ECMP_HASH_ALGORITHM_CAPABLE": "true",
    "ECMP_HASH_CAPABLE": "true",
    "HASH|NATIVE_HASH_FIELD_LIST": "SRC_IP,DST_IP,INNER_SRC_IP,INNER_DST_IP,VLAN_ID,IP_PROTOCOL,ETHERTYPE,L4_SRC_PORT,L4_DST_PORT,SRC_MAC,DST_MAC,IN_PORT,INNER_IP_PROTOCOL,INNER_ETHERTYPE,INNER_L4_SRC_PORT,INNER_L4_DST_PORT,INNER_SRC_MAC,INNER_DST_MAC,IPV6_FLOW_LABEL",
    "ICMP_OFFLOAD_CAPABLE": "true",
    "LAG_HASH_ALGORITHM": "CRC,XOR,RANDOM,CRC_32LO,CRC_32HI,CRC_CCITT,CRC_XOR",
    "LAG_HASH_ALGORITHM_CAPABLE": "true",
    "LAG_HASH_CAPABLE": "true",
    "LAG_TPID_CAPABLE": "true",
    "MAX_NEXTHOP_GROUP_COUNT": "512",
    "MAX_TWAMP_SESSION_COUNT": "128",
    "MIRROR": "true",
    "MIRRORV6": "true",
    "ORDERED_ECMP_CAPABLE": "true",
    "PATH_TRACING_CAPABLE": "true",
    "PFC_DLR_INIT_CAPABLE": "true",
    "PORT_EGRESS_SAMPLE_CAPABLE": "true",
    "PORT_TPID_CAPABLE": "true",
    "REG_FATAL_ASIC_SDK_HEALTH_CATEGORY": "true",
    "REG_NOTICE_ASIC_SDK_HEALTH_CATEGORY": "true",
    "REG_WARNING_ASIC_SDK_HEALTH_CATEGORY": "true",
    "SWITCH_TRIMMING_CAPABLE": "true",
    "SWITCH|NUMBER_OF_TRAFFIC_CLASSES": "16",
    "SWITCH|NUMBER_OF_UNICAST_QUEUES": "10",
    "SWITCH|PACKET_TRIMMING_DSCP_RESOLUTION_MODE": "DSCP_VALUE,FROM_TC",
    "SWITCH|PACKET_TRIMMING_QUEUE_RESOLUTION_MODE": "STATIC,DYNAMIC"
  }
}
23:20:13 __init__.pytest_collection_modifyitems   L0607 INFO   | Available basic facts that can be used in conditional skip:
{
  "topo_type": "etri",
  "topo_name": "etri",
  "testbed": "etri-sonic-all",
  "asic_subtype": "vs",
  "asic_type": "vs",
  "branch": "etri-202505",
  "build_date": "Wed Sep  9 05:16:43 UTC 2026",
  "build_number": 27,
  "build_version": "etri-202505.27-8610ff460",
  "built_by": "jenkins@w2sh",
  "commit_id": "8610ff460",
  "debian_version": "12.15",
  "feature_status": {
    "bgp": "enabled",
    "database": "always_enabled",
    "dhcp_relay": "disabled",
    "eventd": "enabled",
    "gbsyncd": "enabled",
    "gnmi": "enabled",
    "lldp": "enabled",
    "macsec": "disabled",
    "mgmt-framework": "enabled",
    "mux": "always_disabled",
    "nat": "disabled",
    "pmon": "enabled",
    "radv": "enabled",
    "sflow": "disabled",
    "snmp": "enabled",
    "swss": "enabled",
    "syncd": "enabled",
    "teamd": "enabled",
    "telemetry": "enabled"
  },
  "hwsku": "Etri-SONiC",
  "is_multi_asic": false,
  "is_supervisor": false,
  "kernel_version": "6.1.0",
  "libswsscommon": "1.0.0",
  "num_asic": 1,
  "platform": "x86_64-kvm_x86_64-r0",
  "release": "202505",
  "secure_boot_image": "no",
  "sonic_os_version": 12,
  "sonic_utilities": 1.2,
  "asic_gen": "unknown",
  "VOQ_INBAND_INTERFACE": {},
  "BGP_VOQ_CHASSIS_NEIGHBOR": {},
  "INTERFACE": {},
  "switch": {
    "ACL_ACTION|FLOW_OP": "INT,IOAM,NOP,POSTCARD",
    "ACL_ACTION|PACKET_ACTION": "COPY,DROP,FORWARD",
    "ASIC_SDK_HEALTH_EVENT": "true",
    "ECMP_HASH_ALGORITHM": "CRC,XOR,RANDOM,CRC_32LO,CRC_32HI,CRC_CCITT,CRC_XOR",
    "ECMP_HASH_ALGORITHM_CAPABLE": "true",
    "ECMP_HASH_CAPABLE": "true",
    "HASH|NATIVE_HASH_FIELD_LIST": "SRC_IP,DST_IP,INNER_SRC_IP,INNER_DST_IP,VLAN_ID,IP_PROTOCOL,ETHERTYPE,L4_SRC_PORT,L4_DST_PORT,SRC_MAC,DST_MAC,IN_PORT,INNER_IP_PROTOCOL,INNER_ETHERTYPE,INNER_L4_SRC_PORT,INNER_L4_DST_PORT,INNER_SRC_MAC,INNER_DST_MAC,IPV6_FLOW_LABEL",
    "ICMP_OFFLOAD_CAPABLE": "true",
    "LAG_HASH_ALGORITHM": "CRC,XOR,RANDOM,CRC_32LO,CRC_32HI,CRC_CCITT,CRC_XOR",
    "LAG_HASH_ALGORITHM_CAPABLE": "true",
    "LAG_HASH_CAPABLE": "true",
    "LAG_TPID_CAPABLE": "true",
    "MAX_NEXTHOP_GROUP_COUNT": "512",
    "MAX_TWAMP_SESSION_COUNT": "128",
    "MIRROR": "true",
    "MIRRORV6": "true",
    "ORDERED_ECMP_CAPABLE": "true",
    "PATH_TRACING_CAPABLE": "true",
    "PFC_DLR_INIT_CAPABLE": "true",
    "PORT_EGRESS_SAMPLE_CAPABLE": "true",
    "PORT_TPID_CAPABLE": "true",
    "REG_FATAL_ASIC_SDK_HEALTH_CATEGORY": "true",
    "REG_NOTICE_ASIC_SDK_HEALTH_CATEGORY": "true",
    "REG_WARNING_ASIC_SDK_HEALTH_CATEGORY": "true",
    "SWITCH_TRIMMING_CAPABLE": "true",
    "SWITCH|NUMBER_OF_TRAFFIC_CLASSES": "16",
    "SWITCH|NUMBER_OF_UNICAST_QUEUES": "10",
    "SWITCH|PACKET_TRIMMING_DSCP_RESOLUTION_MODE": "DSCP_VALUE,FROM_TC",
    "SWITCH|PACKET_TRIMMING_QUEUE_RESOLUTION_MODE": "STATIC,DYNAMIC"
  }
}
collected 1 item

test_sonic/test_sonic.py::test_scenario INFO:SectionStartLogger:==================== test_sonic/test_sonic.py::test_scenario setup  ====================

-------------------------------- live log setup --------------------------------
23:20:13 __init__.set_default                     L0053 INFO   | Completeness level not set during test execution. Setting to default level: CompletenessLevel.basic
23:20:13 __init__.check_test_completeness         L0151 INFO   | Test has no defined levels. Continue without test completeness checks
23:20:13 facts_cache.read                         L0093 INFO   | [Cache] Load cache file "/data/NetAutoTestFW/tests/_cache/etri-sonic-all/tbinfo.pickle" failed with exception: FileNotFoundError(2, 'No such file or directory')
23:20:13 facts_cache.write                        L0115 INFO   | [Cache] Create cache dir /data/NetAutoTestFW/tests/_cache/etri-sonic-all
23:20:13 facts_cache.write                        L0121 INFO   | [Cache] Cached facts "etri-sonic-all.tbinfo" to /data/NetAutoTestFW/tests/_cache/etri-sonic-all/tbinfo.pickle
23:20:13 conftest.tbinfo                          L0187 INFO   | YCLEE tbinfo: {'conf-name': 'etri-sonic-all', 'group-name': 'etri', 'server': 'server_1', 'vm_base': 'R-1', 'tgs': ['TG-1'], 'inv_name': 'vsonic_vtb', 'auto_recover': 'False', 'comment': 'Tests virtual switch vm', 'duts': ['R-1', 'R-2', 'R-3', 'R-4', 'R-5', 'R-6', 'SW-1', 'SW-2', 'SW-3', 'SW-4'], 'duts_map': {'R-1': 0, 'R-2': 1, 'R-3': 2, 'R-4': 3, 'R-5': 4, 'R-6': 5, 'SW-1': 6, 'SW-2': 7, 'SW-3': 8, 'SW-4': 9}, 'ubuntus': ['H-1', 'H-2', 'H-3', 'H-4', 'H-5', 'H-6', 'H-7'], 'ubuntus_map': {'H-1': 0, 'H-2': 1, 'H-3': 2, 'H-4': 3, 'H-5': 4, 'H-6': 5, 'H-7': 6}, 'topo': defaultdict(None, {'name': 'etri', 'type': 'etri', 'properties': {'topology': {'links': [{'endpoint': ['R-1:Ethernet0', 'R-6:Ethernet0']}, {'endpoint': ['R-1:Ethernet4', 'R-2:Ethernet4']}, {'endpoint': ['R-1:Ethernet8', 'R-3:Ethernet0']}, {'endpoint': ['R-1:Ethernet12', 'R-2:Ethernet8']}, {'endpoint': ['R-2:Ethernet0', 'R-4:Ethernet0']}, {'endpoint': ['R-2:Ethernet12', 'R-3:Ethernet8', 'R-4:Ethernet8']}, {'endpoint': ['R-3:Ethernet4', 'SW-3:Ethernet12']}, {'endpoint': ['R-6:Ethernet4', 'SW-3:Ethernet16']}, {'endpoint': ['R-4:Ethernet4', 'R-5:Ethernet0']}, {'endpoint': ['R-5:Ethernet4', 'H-5:Eth1']}, {'endpoint': ['SW-2:Ethernet12', 'H-2:Eth1']}, {'endpoint': ['SW-2:Ethernet16', 'H-4:Eth1']}, {'endpoint': ['SW-4:Ethernet8', 'H-6:Eth1']}, {'endpoint': ['SW-4:Ethernet12', 'H-7:Eth1']}, {'endpoint': ['SW-1:Ethernet16', 'H-1:Eth1']}, {'endpoint': ['SW-1:Ethernet20', 'H-3:Eth1']}], 'L2_links': [{'switch': 'SW-1', 'intf': 'Ethernet0', 'send_port': 10000, 'recv_port': 10001}, {'switch': 'SW-1', 'intf': 'Ethernet4', 'send_port': 10002, 'recv_port': 10003}, {'switch': 'SW-1', 'intf': 'Ethernet8', 'send_port': 10004, 'recv_port': 10005}, {'switch': 'SW-1', 'intf': 'Ethernet12', 'send_port': 10006, 'recv_port': 10007}, {'switch': 'SW-2', 'intf': 'Ethernet0', 'send_port': 10008, 'recv_port': 10009}, {'switch': 'SW-2', 'intf': 'Ethernet4', 'send_port': 10005, 'recv_port': 10004}, {'switch': 'SW-2', 'intf': 'Ethernet8', 'send_port': 10010, 'recv_port': 10011}, {'switch': 'SW-3', 'intf': 'Ethernet0', 'send_port': 10001, 'recv_port': 10000}, {'switch': 'SW-3', 'intf': 'Ethernet4', 'send_port': 10003, 'recv_port': 10002}, {'switch': 'SW-3', 'intf': 'Ethernet8', 'send_port': 10009, 'recv_port': 10008}, {'switch': 'SW-4', 'intf': 'Ethernet0', 'send_port': 10007, 'recv_port': 10006}, {'switch': 'SW-4', 'intf': 'Ethernet4', 'send_port': 10011, 'recv_port': 10010}], 'VMs': {'R-1': {'vm_offset': 0}, 'R-2': {'vm_offset': 1}, 'R-3': {'vm_offset': 2}, 'R-4': {'vm_offset': 3}, 'R-5': {'vm_offset': 4}, 'R-6': {'vm_offset': 5}, 'SW-1': {'vm_offset': 6}, 'SW-2': {'vm_offset': 7}, 'SW-3': {'vm_offset': 8}, 'SW-4': {'vm_offset': 9}, 'H-1': {'vm_offset': 10}, 'H-2': {'vm_offset': 11}, 'H-3': {'vm_offset': 12}, 'H-4': {'vm_offset': 13}, 'H-5': {'vm_offset': 14}, 'H-6': {'vm_offset': 15}, 'H-7': {'vm_offset': 16}, 'TG-1': {'vm_offset': 17}}}}, 'ptf_map': defaultdict(, {}), 'ptf_map_disabled': defaultdict(, {}), 'ptf_dut_intf_map': defaultdict(, {})})}

SETUP    S tbinfo23:20:13 conftest.enhance_inventory               L0124 INFO   | Inventory file: ['../ansible/vsonic_vtb']

SETUP    S enhance_inventory (fixtures used: tbinfo)
SETUP    S ansible_adhoc23:20:13 facts_cache.read                         L0093 INFO   | [Cache] Load cache file "/data/NetAutoTestFW/tests/_cache/R-1/basic_facts.pickle" failed with exception: FileNotFoundError(2, 'No such file or directory')
23:20:15 facts_cache.read                         L0093 INFO   | [Cache] Load cache file "/data/NetAutoTestFW/tests/_cache/R-1/host_visible_vars.pickle" failed with exception: FileNotFoundError(2, 'No such file or directory')
23:20:15 facts_cache.write                        L0115 INFO   | [Cache] Create cache dir /data/NetAutoTestFW/tests/_cache/R-1
23:20:15 facts_cache.write                        L0121 INFO   | [Cache] Cached facts "R-1.host_visible_vars" to /data/NetAutoTestFW/tests/_cache/R-1/host_visible_vars.pickle
23:20:16 facts_cache.write                        L0121 INFO   | [Cache] Cached facts "R-1.basic_facts" to /data/NetAutoTestFW/tests/_cache/R-1/basic_facts.pickle
23:20:16 facts_cache.read                         L0093 INFO   | [Cache] Load cache file "/data/NetAutoTestFW/tests/_cache/R-1/os_version.pickle" failed with exception: FileNotFoundError(2, 'No such file or directory')
23:20:16 facts_cache.write                        L0121 INFO   | [Cache] Cached facts "R-1.os_version" to /data/NetAutoTestFW/tests/_cache/R-1/os_version.pickle
23:20:16 facts_cache.read                         L0093 INFO   | [Cache] Load cache file "/data/NetAutoTestFW/tests/_cache/R-1/feature_status.pickle" failed with exception: FileNotFoundError(2, 'No such file or directory')
23:20:17 facts_cache.write                        L0121 INFO   | [Cache] Cached facts "R-1.feature_status" to /data/NetAutoTestFW/tests/_cache/R-1/feature_status.pickle
23:20:17 facts_cache.read                         L0093 INFO   | [Cache] Load cache file "/data/NetAutoTestFW/tests/_cache/R-1/sonic_release.pickle" failed with exception: FileNotFoundError(2, 'No such file or directory')
23:20:17 facts_cache.write                        L0121 INFO   | [Cache] Cached facts "R-1.sonic_release" to /data/NetAutoTestFW/tests/_cache/R-1/sonic_release.pickle
23:20:17 facts_cache.read                         L0093 INFO   | [Cache] Load cache file "/data/NetAutoTestFW/tests/_cache/R-1/kernel_version.pickle" failed with exception: FileNotFoundError(2, 'No such file or directory')
23:20:17 facts_cache.write                        L0121 INFO   | [Cache] Cached facts "R-1.kernel_version" to /data/NetAutoTestFW/tests/_cache/R-1/kernel_version.pickle
23:20:18 facts_cache.read                         L0093 INFO   | [Cache] Load cache file "/data/NetAutoTestFW/tests/_cache/R-2/basic_facts.pickle" failed with exception: FileNotFoundError(2, 'No such file or directory')
23:20:21 facts_cache.read                         L0093 INFO   | [Cache] Load cache file "/data/NetAutoTestFW/tests/_cache/R-2/host_visible_vars.pickle" failed with exception: FileNotFoundError(2, 'No such file or directory')
23:20:21 facts_cache.write                        L0115 INFO   | [Cache] Create cache dir /data/NetAutoTestFW/tests/_cache/R-2
23:20:21 facts_cache.write                        L0121 INFO   | [Cache] Cached facts "R-2.host_visible_vars" to /data/NetAutoTestFW/tests/_cache/R-2/host_visible_vars.pickle
23:20:21 facts_cache.write                        L0121 INFO   | [Cache] Cached facts "R-2.basic_facts" to /data/NetAutoTestFW/tests/_cache/R-2/basic_facts.pickle
23:20:21 facts_cache.read                         L0093 INFO   | [Cache] Load cache file "/data/NetAutoTestFW/tests/_cache/R-2/os_version.pickle" failed with exception: FileNotFoundError(2, 'No such file or directory')
23:20:22 facts_cache.write                        L0121 INFO   | [Cache] Cached facts "R-2.os_version" to /data/NetAutoTestFW/tests/_cache/R-2/os_version.pickle
23:20:22 facts_cache.read                         L0093 INFO   | [Cache] Load cache file "/data/NetAutoTestFW/tests/_cache/R-2/feature_status.pickle" failed with exception: FileNotFoundError(2, 'No such file or directory')
23:20:22 facts_cache.write                        L0121 INFO   | [Cache] Cached facts "R-2.feature_status" to /data/NetAutoTestFW/tests/_cache/R-2/feature_status.pickle
23:20:22 facts_cache.read                         L0093 INFO   | [Cache] Load cache file "/data/NetAutoTestFW/tests/_cache/R-2/sonic_release.pickle" failed with exception: FileNotFoundError(2, 'No such file or directory')
23:20:23 facts_cache.write                        L0121 INFO   | [Cache] Cached facts "R-2.sonic_release" to /data/NetAutoTestFW/tests/_cache/R-2/sonic_release.pickle
23:20:23 facts_cache.read                         L0093 INFO   | [Cache] Load cache file "/data/NetAutoTestFW/tests/_cache/R-2/kernel_version.pickle" failed with exception: FileNotFoundError(2, 'No such file or directory')
23:20:23 facts_cache.write                        L0121 INFO   | [Cache] Cached facts "R-2.kernel_version" to /data/NetAutoTestFW/tests/_cache/R-2/kernel_version.pickle
23:20:24 facts_cache.read                         L0093 INFO   | [Cache] Load cache file "/data/NetAutoTestFW/tests/_cache/R-3/basic_facts.pickle" failed with exception: FileNotFoundError(2, 'No such file or directory')
23:20:26 facts_cache.read                         L0093 INFO   | [Cache] Load cache file "/data/NetAutoTestFW/tests/_cache/R-3/host_visible_vars.pickle" failed with exception: FileNotFoundError(2, 'No such file or directory')
23:20:26 facts_cache.write                        L0115 INFO   | [Cache] Create cache dir /data/NetAutoTestFW/tests/_cache/R-3
23:20:26 facts_cache.write                        L0121 INFO   | [Cache] Cached facts "R-3.host_visible_vars" to /data/NetAutoTestFW/tests/_cache/R-3/host_visible_vars.pickle
23:20:27 facts_cache.write                        L0121 INFO   | [Cache] Cached facts "R-3.basic_facts" to /data/NetAutoTestFW/tests/_cache/R-3/basic_facts.pickle
23:20:27 facts_cache.read                         L0093 INFO   | [Cache] Load cache file "/data/NetAutoTestFW/tests/_cache/R-3/os_version.pickle" failed with exception: FileNotFoundError(2, 'No such file or directory')
23:20:27 facts_cache.write                        L0121 INFO   | [Cache] Cached facts "R-3.os_version" to /data/NetAutoTestFW/tests/_cache/R-3/os_version.pickle
23:20:27 facts_cache.read                         L0093 INFO   | [Cache] Load cache file "/data/NetAutoTestFW/tests/_cache/R-3/feature_status.pickle" failed with exception: FileNotFoundError(2, 'No such file or directory')
23:20:28 facts_cache.write                        L0121 INFO   | [Cache] Cached facts "R-3.feature_status" to /data/NetAutoTestFW/tests/_cache/R-3/feature_status.pickle
23:20:28 facts_cache.read                         L0093 INFO   | [Cache] Load cache file "/data/NetAutoTestFW/tests/_cache/R-3/sonic_release.pickle" failed with exception: FileNotFoundError(2, 'No such file or directory')
23:20:28 facts_cache.write                        L0121 INFO   | [Cache] Cached facts "R-3.sonic_release" to /data/NetAutoTestFW/tests/_cache/R-3/sonic_release.pickle
23:20:28 facts_cache.read                         L0093 INFO   | [Cache] Load cache file "/data/NetAutoTestFW/tests/_cache/R-3/kernel_version.pickle" failed with exception: FileNotFoundError(2, 'No such file or directory')
23:20:28 facts_cache.write                        L0121 INFO   | [Cache] Cached facts "R-3.kernel_version" to /data/NetAutoTestFW/tests/_cache/R-3/kernel_version.pickle
23:20:29 facts_cache.read                         L0093 INFO   | [Cache] Load cache file "/data/NetAutoTestFW/tests/_cache/R-4/basic_facts.pickle" failed with exception: FileNotFoundError(2, 'No such file or directory')
23:20:31 facts_cache.read                         L0093 INFO   | [Cache] Load cache file "/data/NetAutoTestFW/tests/_cache/R-4/host_visible_vars.pickle" failed with exception: FileNotFoundError(2, 'No such file or directory')
23:20:31 facts_cache.write                        L0115 INFO   | [Cache] Create cache dir /data/NetAutoTestFW/tests/_cache/R-4
23:20:31 facts_cache.write                        L0121 INFO   | [Cache] Cached facts "R-4.host_visible_vars" to /data/NetAutoTestFW/tests/_cache/R-4/host_visible_vars.pickle
23:20:32 facts_cache.write                        L0121 INFO   | [Cache] Cached facts "R-4.basic_facts" to /data/NetAutoTestFW/tests/_cache/R-4/basic_facts.pickle
23:20:32 facts_cache.read                         L0093 INFO   | [Cache] Load cache file "/data/NetAutoTestFW/tests/_cache/R-4/os_version.pickle" failed with exception: FileNotFoundError(2, 'No such file or directory')
23:20:32 facts_cache.write                        L0121 INFO   | [Cache] Cached facts "R-4.os_version" to /data/NetAutoTestFW/tests/_cache/R-4/os_version.pickle
23:20:32 facts_cache.read                         L0093 INFO   | [Cache] Load cache file "/data/NetAutoTestFW/tests/_cache/R-4/feature_status.pickle" failed with exception: FileNotFoundError(2, 'No such file or directory')
23:20:33 facts_cache.write                        L0121 INFO   | [Cache] Cached facts "R-4.feature_status" to /data/NetAutoTestFW/tests/_cache/R-4/feature_status.pickle
23:20:33 facts_cache.read                         L0093 INFO   | [Cache] Load cache file "/data/NetAutoTestFW/tests/_cache/R-4/sonic_release.pickle" failed with exception: FileNotFoundError(2, 'No such file or directory')
23:20:33 facts_cache.write                        L0121 INFO   | [Cache] Cached facts "R-4.sonic_release" to /data/NetAutoTestFW/tests/_cache/R-4/sonic_release.pickle
23:20:33 facts_cache.read                         L0093 INFO   | [Cache] Load cache file "/data/NetAutoTestFW/tests/_cache/R-4/kernel_version.pickle" failed with exception: FileNotFoundError(2, 'No such file or directory')
23:20:34 facts_cache.write                        L0121 INFO   | [Cache] Cached facts "R-4.kernel_version" to /data/NetAutoTestFW/tests/_cache/R-4/kernel_version.pickle

SETUP    S duthosts (fixtures used: ansible_adhoc, enhance_inventory, tbinfo)
SETUP    S add_mgmt_test_mark (fixtures used: duthosts)
SETUP    S pytestconfig
SETUP    S ubuntus (fixtures used: ansible_adhoc, enhance_inventory, tbinfo)
SETUP    S record_testsuite_property23:20:36 conftest.tag_test_report                 L0413 INFO   | login_user : admin
 conn_type : ssh
 mgmt_ipv4 : 10.250.0.51
 port : 22
23:20:36 conftest.tag_test_report                 L0413 INFO   | login_user : admin
 conn_type : ssh
 mgmt_ipv4 : 10.250.0.52
 port : 22
23:20:36 conftest.tag_test_report                 L0413 INFO   | login_user : admin
 conn_type : ssh
 mgmt_ipv4 : 10.250.0.53
 port : 22
23:20:36 conftest.tag_test_report                 L0413 INFO   | login_user : admin
 conn_type : ssh
 mgmt_ipv4 : 10.250.0.54
 port : 22

SETUP    S tag_test_report (fixtures used: duthosts, pytestconfig, record_testsuite_property, tbinfo, ubuntus)
SETUP    S vmhost (fixtures used: ansible_adhoc, enhance_inventory, tbinfo)
SETUP    S parallel_run_context23:20:36 __init__.sanity_check                    L0399 INFO   | Skip sanity check according to command line argument

    SETUP    M sanity_check (fixtures used: parallel_run_context)23:20:36 conftest.core_dump_and_config_check      L0583 INFO   | Dumping Disk and Memory Space informataion before test on R-1
23:20:36 conftest.core_dump_and_config_check      L0587 INFO   | Collecting core dumps before test on R-1
23:20:37 conftest.core_dump_and_config_check      L0596 INFO   | Collecting running config before test on R-1
23:20:37 conftest.core_dump_and_config_check      L0583 INFO   | Dumping Disk and Memory Space informataion before test on R-2
23:20:38 conftest.core_dump_and_config_check      L0587 INFO   | Collecting core dumps before test on R-2
23:20:38 conftest.core_dump_and_config_check      L0596 INFO   | Collecting running config before test on R-2
23:20:39 conftest.core_dump_and_config_check      L0583 INFO   | Dumping Disk and Memory Space informataion before test on R-3
23:20:40 conftest.core_dump_and_config_check      L0587 INFO   | Collecting core dumps before test on R-3
23:20:40 conftest.core_dump_and_config_check      L0596 INFO   | Collecting running config before test on R-3
23:20:41 conftest.core_dump_and_config_check      L0583 INFO   | Dumping Disk and Memory Space informataion before test on R-4
23:20:41 conftest.core_dump_and_config_check      L0587 INFO   | Collecting core dumps before test on R-4
23:20:42 conftest.core_dump_and_config_check      L0596 INFO   | Collecting running config before test on R-4

    SETUP    M core_dump_and_config_check (fixtures used: duthosts, sanity_check, tbinfo)23:20:42 conftest.get_scenario_file               L0258 INFO   | YCLEE pt_file:
test_sonic/bgp_policy/scenario_bgp_policy_med_attribute.yaml
23:20:42 parse_scenario.__init__                  L0014 INFO   | YCLEE request:
test_sonic/bgp_policy/scenario_bgp_policy_med_attribute.yaml
23:20:42 parse_scenario.__init__                  L0022 INFO   | YCLEE scenario_filename:
test_sonic/bgp_policy/scenario_bgp_policy_med_attribute.yaml
23:20:42 conftest.fixture_parse_scenario          L0266 INFO   | YCLEE protocol:


    SETUP    M parse_scenario23:20:42 conftest.setup_trex_daemons              L0441 INFO   | [Setup] Starting the TRex daemon on an Ubuntu device.

    SETUP    M setup_trex_daemons (fixtures used: parse_scenario, ubuntus)
    SETUP    M reload_config (fixtures used: duthosts, ubuntus)23:20:52 __init__._fixture_func_decorator         L0069 INFO   | -------------------- fixture sonic_paramiko_ssh setup starts --------------------
23:20:53 session.sonic_paramiko_ssh               L0025 INFO   | mgmt_interface:{'eth0|10.250.0.51/24': {'gwaddr': '10.250.0.1'}}
23:20:53 session.sonic_paramiko_ssh               L0026 INFO   | duthost hostname:R-1
username:admin
password:password
23:20:53 transport._log                           L1873 INFO   | Connected (version 2.0, client OpenSSH_9.2p1)
23:20:53 transport._log                           L1873 INFO   | Auth banner: b'Debian GNU/Linux 12 \\n \\l\n\n'
23:20:53 transport._log                           L1873 INFO   | Authentication (publickey) failed.
23:20:53 transport._log                           L1873 INFO   | Authentication (password) successful!
23:20:53 session.sonic_paramiko_ssh               L0046 INFO   | output: 
Linux R-1 6.1.0-29-2-amd64 #1 SMP PREEMPT_DYNAMIC Debian 6.1.123-1 (2025-01-02) x86_64
You are on
  ____   ___  _   _ _  ____
 / ___| / _ \| \ | (_)/ ___|
 \___ \| | | |  \| | | |
  ___) | |_| | |\  | | |___
 |____/ \___/|_| \_|_|\____|

-- Software for Open Networking in the Cloud --

Unauthorized access and/or use are prohibited.
All access and/or use are subject to monitoring.

Help:    https://sonic-net.github.io/SONiC/

Last login: Mon Sep 21 23:04:16 2026 from 10.250.0.1

admin@R-1:~$ 
23:20:54 session.sonic_paramiko_ssh               L0056 INFO   | 
hostname: R-1
23:20:55 session.sonic_paramiko_ssh               L0025 INFO   | mgmt_interface:{'eth0|10.250.0.52/24': {'gwaddr': '10.250.0.1'}}
23:20:55 session.sonic_paramiko_ssh               L0026 INFO   | duthost hostname:R-2
username:admin
password:password
23:20:55 transport._log                           L1873 INFO   | Connected (version 2.0, client OpenSSH_9.2p1)
23:20:55 transport._log                           L1873 INFO   | Auth banner: b'Debian GNU/Linux 12 \\n \\l\n\n'
23:20:55 transport._log                           L1873 INFO   | Authentication (publickey) failed.
23:20:55 transport._log                           L1873 INFO   | Authentication (password) successful!
23:20:55 session.sonic_paramiko_ssh               L0046 INFO   | output: 
Linux R-2 6.1.0-29-2-amd64 #1 SMP PREEMPT_DYNAMIC Debian 6.1.123-1 (2025-01-02) x86_64
You are on
  ____   ___  _   _ _  ____
 / ___| / _ \| \ | (_)/ ___|
 \___ \| | | |  \| | | |
  ___) | |_| | |\  | | |___
 |____/ \___/|_| \_|_|\____|

-- Software for Open Networking in the Cloud --

Unauthorized access and/or use are prohibited.
All access and/or use are subject to monitoring.

Help:    https://sonic-net.github.io/SONiC/

Last login: Mon Sep 21 23:04:18 2026 from 10.250.0.1

admin@R-2:~$ 
23:20:57 session.sonic_paramiko_ssh               L0056 INFO   | 
hostname: R-2
23:20:57 session.sonic_paramiko_ssh               L0025 INFO   | mgmt_interface:{'eth0|10.250.0.53/24': {'gwaddr': '10.250.0.1'}}
23:20:57 session.sonic_paramiko_ssh               L0026 INFO   | duthost hostname:R-3
username:admin
password:password
23:20:57 transport._log                           L1873 INFO   | Connected (version 2.0, client OpenSSH_9.2p1)
23:20:57 transport._log                           L1873 INFO   | Auth banner: b'Debian GNU/Linux 12 \\n \\l\n\n'
23:20:57 transport._log                           L1873 INFO   | Authentication (publickey) failed.
23:20:57 transport._log                           L1873 INFO   | Authentication (password) successful!
23:20:57 session.sonic_paramiko_ssh               L0046 INFO   | output: 
Linux R-3 6.1.0-29-2-amd64 #1 SMP PREEMPT_DYNAMIC Debian 6.1.123-1 (2025-01-02) x86_64
You are on
  ____   ___  _   _ _  ____
 / ___| / _ \| \ | (_)/ ___|
 \___ \| | | |  \| | | |
  ___) | |_| | |\  | | |___
 |____/ \___/|_| \_|_|\____|

-- Software for Open Networking in the Cloud --

Unauthorized access and/or use are prohibited.
All access and/or use are subject to monitoring.

Help:    https://sonic-net.github.io/SONiC/

Last login: Mon Sep 21 23:04:20 2026 from 10.250.0.1

admin@R-3:~$ 
23:20:59 session.sonic_paramiko_ssh               L0056 INFO   | 
hostname: R-3
23:20:59 session.sonic_paramiko_ssh               L0025 INFO   | mgmt_interface:{'eth0|10.250.0.54/24': {'gwaddr': '10.250.0.1'}}
23:20:59 session.sonic_paramiko_ssh               L0026 INFO   | duthost hostname:R-4
username:admin
password:password
23:20:59 transport._log                           L1873 INFO   | Connected (version 2.0, client OpenSSH_9.2p1)
23:20:59 transport._log                           L1873 INFO   | Auth banner: b'Debian GNU/Linux 12 \\n \\l\n\n'
23:20:59 transport._log                           L1873 INFO   | Authentication (publickey) failed.
23:20:59 transport._log                           L1873 INFO   | Authentication (password) successful!
23:20:59 session.sonic_paramiko_ssh               L0046 INFO   | output: 
Linux R-4 6.1.0-29-2-amd64 #1 SMP PREEMPT_DYNAMIC Debian 6.1.123-1 (2025-01-02) x86_64
You are on
  ____   ___  _   _ _  ____
 / ___| / _ \| \ | (_)/ ___|
 \___ \| | | |  \| | | |
  ___) | |_| | |\  | | |___
 |____/ \___/|_| \_|_|\____|

-- Software for Open Networking in the Cloud --

Unauthorized access and/or use are prohibited.
All access and/or use are subject to monitoring.

Help:    https://sonic-net.github.io/SONiC/

Last login: Mon Sep 21 23:04:21 2026 from 10.250.0.1

admin@R-4:~$ 
23:21:01 session.sonic_paramiko_ssh               L0056 INFO   | 
hostname: R-4
23:21:01 __init__._fixture_func_decorator         L0076 INFO   | -------------------- fixture sonic_paramiko_ssh setup ends --------------------

    SETUP    M sonic_paramiko_ssh (fixtures used: duthosts)23:21:01 __init__._fixture_func_decorator         L0069 INFO   | -------------------- fixture ubuntu_paramiko_ssh setup starts --------------------
23:21:01 __init__._fixture_func_decorator         L0076 INFO   | -------------------- fixture ubuntu_paramiko_ssh setup ends --------------------

    SETUP    M ubuntu_paramiko_ssh (fixtures used: ubuntus)23:21:02 __init__.analyzer_logrotate              L0023 INFO   | logrotate called on R-1
23:21:02 __init__.analyzer_logrotate              L0023 INFO   | logrotate called on R-4
23:21:02 __init__.analyzer_logrotate              L0023 INFO   | logrotate called on R-2
23:21:03 __init__.analyzer_logrotate              L0023 INFO   | logrotate called on R-3
23:21:04 parallel.on_terminate                    L0085 INFO   | process analyzer_logrotate-- terminated with exit code None
23:21:04 parallel.on_terminate                    L0085 INFO   | process analyzer_logrotate-- terminated with exit code None
23:21:04 parallel.on_terminate                    L0085 INFO   | process analyzer_logrotate-- terminated with exit code None
23:21:04 parallel.on_terminate                    L0085 INFO   | process analyzer_logrotate-- terminated with exit code None
23:21:04 parallel.parallel_run                    L0221 INFO   | Completed running processes for target "analyzer_logrotate" in 0:00:03.661749 seconds
23:21:05 __init__.analyzer_add_marker             L0035 INFO   | add marker called on R-1
23:21:05 __init__.analyzer_add_marker             L0037 INFO   | Add start marker into SONiC Devices syslog for host R-1
23:21:05 __init__.analyzer_add_marker             L0035 INFO   | add marker called on R-2
23:21:05 __init__.analyzer_add_marker             L0037 INFO   | Add start marker into SONiC Devices syslog for host R-2
23:21:05 __init__.analyzer_add_marker             L0035 INFO   | add marker called on R-3
23:21:05 __init__.analyzer_add_marker             L0037 INFO   | Add start marker into SONiC Devices syslog for host R-3
23:21:05 __init__.analyzer_add_marker             L0035 INFO   | add marker called on R-4
23:21:05 __init__.analyzer_add_marker             L0037 INFO   | Add start marker into SONiC Devices syslog for host R-4
23:21:07 parallel.on_terminate                    L0085 INFO   | process analyzer_add_marker-- terminated with exit code None
23:21:07 parallel.on_terminate                    L0085 INFO   | process analyzer_add_marker-- terminated with exit code None
23:21:08 parallel.on_terminate                    L0085 INFO   | process analyzer_add_marker-- terminated with exit code None
23:21:08 parallel.on_terminate                    L0085 INFO   | process analyzer_add_marker-- terminated with exit code None
23:21:08 parallel.parallel_run                    L0221 INFO   | Completed running processes for target "analyzer_add_marker" in 0:00:03.123838 seconds

        SETUP    F loganalyzer (fixtures used: duthosts)
        SETUP    F record_property
        test_sonic/test_sonic.py::test_scenario (fixtures used: add_mgmt_test_mark, ansible_adhoc, core_dump_and_config_check, duthosts, enhance_inventory, loganalyzer, parallel_run_context, parse_scenario, pytestconfig, record_property, record_testsuite_property, reload_config, request, sanity_check, setup_trex_daemons, sonic_paramiko_ssh, tag_test_report, tbinfo, ubuntu_paramiko_ssh, ubuntus, vmhost)INFO:SectionStartLogger:==================== test_sonic/test_sonic.py::test_scenario call ====================
-------------------------------- live log call ---------------------------------
23:21:08 test_sonic.run_scenario                  L0098 INFO   | test device hostname: , , , ]>
23:21:08 test_sonic.run_scenario                  L0099 INFO   | server hostname: STR-ACS-VSERV-01
23:21:08 test_sonic.run_scenario                  L0103 INFO   | step 0) scenario_data:

23:21:08 test_sonic.run_scenario                  L0108 INFO   | 
step 1) scenario name:Print Topology Image
23:21:08 test_sonic.run_scenario                  L0108 INFO   | 
step 1) scenario name:Session Check
23:21:08 test_sonic.run_scenario                  L0130 INFO   | nodes: R-1
23:21:08 test_sonic.run_scenario                  L0138 INFO   | step 1)
Hostname:
R-1
node name:
R-1
23:21:08 test_sonic.run_scenario                  L0139 INFO   | step 2)
ssh_prompt:
Linux R-1 6.1.0-29-2-amd64 #1 SMP PREEMPT_DYNAMIC Debian 6.1.123-1 (2025-01-02) x86_64
You are on
  ____   ___  _   _ _  ____
 / ___| / _ \| \ | (_)/ ___|
 \___ \| | | |  \| | | |
  ___) | |_| | |\  | | |___
 |____/ \___/|_| \_|_|\____|

-- Software for Open Networking in the Cloud --

Unauthorized access and/or use are prohibited.
All access and/or use are subject to monitoring.

Help:    https://sonic-net.github.io/SONiC/

Last login: Mon Sep 21 23:04:16 2026 from 10.250.0.1

admin@R-1:~$ 
23:21:08 test_sonic.run_scenario                  L0144 INFO   | step 3)
 pass
23:21:08 test_sonic.run_scenario                  L0130 INFO   | nodes: R-2
23:21:08 test_sonic.run_scenario                  L0138 INFO   | step 1)
Hostname:
R-2
node name:
R-2
23:21:08 test_sonic.run_scenario                  L0139 INFO   | step 2)
ssh_prompt:
Linux R-2 6.1.0-29-2-amd64 #1 SMP PREEMPT_DYNAMIC Debian 6.1.123-1 (2025-01-02) x86_64
You are on
  ____   ___  _   _ _  ____
 / ___| / _ \| \ | (_)/ ___|
 \___ \| | | |  \| | | |
  ___) | |_| | |\  | | |___
 |____/ \___/|_| \_|_|\____|

-- Software for Open Networking in the Cloud --

Unauthorized access and/or use are prohibited.
All access and/or use are subject to monitoring.

Help:    https://sonic-net.github.io/SONiC/

Last login: Mon Sep 21 23:04:18 2026 from 10.250.0.1

admin@R-2:~$ 
23:21:08 test_sonic.run_scenario                  L0144 INFO   | step 3)
 pass
23:21:08 test_sonic.run_scenario                  L0130 INFO   | nodes: R-3
23:21:08 test_sonic.run_scenario                  L0138 INFO   | step 1)
Hostname:
R-3
node name:
R-3
23:21:08 test_sonic.run_scenario                  L0139 INFO   | step 2)
ssh_prompt:
Linux R-3 6.1.0-29-2-amd64 #1 SMP PREEMPT_DYNAMIC Debian 6.1.123-1 (2025-01-02) x86_64
You are on
  ____   ___  _   _ _  ____
 / ___| / _ \| \ | (_)/ ___|
 \___ \| | | |  \| | | |
  ___) | |_| | |\  | | |___
 |____/ \___/|_| \_|_|\____|

-- Software for Open Networking in the Cloud --

Unauthorized access and/or use are prohibited.
All access and/or use are subject to monitoring.

Help:    https://sonic-net.github.io/SONiC/

Last login: Mon Sep 21 23:04:20 2026 from 10.250.0.1

admin@R-3:~$ 
23:21:08 test_sonic.run_scenario                  L0144 INFO   | step 3)
 pass
23:21:08 test_sonic.run_scenario                  L0130 INFO   | nodes: R-4
23:21:08 test_sonic.run_scenario                  L0138 INFO   | step 1)
Hostname:
R-4
node name:
R-4
23:21:08 test_sonic.run_scenario                  L0139 INFO   | step 2)
ssh_prompt:
Linux R-4 6.1.0-29-2-amd64 #1 SMP PREEMPT_DYNAMIC Debian 6.1.123-1 (2025-01-02) x86_64
You are on
  ____   ___  _   _ _  ____
 / ___| / _ \| \ | (_)/ ___|
 \___ \| | | |  \| | | |
  ___) | |_| | |\  | | |___
 |____/ \___/|_| \_|_|\____|

-- Software for Open Networking in the Cloud --

Unauthorized access and/or use are prohibited.
All access and/or use are subject to monitoring.

Help:    https://sonic-net.github.io/SONiC/

Last login: Mon Sep 21 23:04:21 2026 from 10.250.0.1

admin@R-4:~$ 
23:21:08 test_sonic.run_scenario                  L0144 INFO   | step 3)
 pass
23:21:08 test_sonic.run_scenario                  L0108 INFO   | 
step 1) scenario name:IP Assign for BGP Func Test
23:21:08 test_sonic.run_scenario                  L0169 INFO   | 
step 1-1) sub scenario name: Assign IPv4 on R-1
node name: R-1
23:21:08 test_sonic.run_scenario                  L0218 INFO   | 
step 1-2) sub scenario actions: [{'command': 'docker exec -i bgp bash -c "/usr/lib/frr/ripd &"'}, {'command': 'docker exec -i bgp bash -c "/usr/lib/frr/isisd &"'}, {'command': 'docker exec -i bgp bash -c "/usr/lib/frr/ospfd &"'}, {'command': 'sudo config interface ip add Ethernet4 10.1.1.1/30'}, {'command': 'sudo config interface ip add Ethernet8 10.1.1.9/30'}, {'command': 'sudo config interface ip add Ethernet12 10.1.1.5/30'}, {'command': 'sudo config interface ip add Ethernet16 10.10.1.1/24'}, {'command': 'sudo config interface ip add Ethernet20 10.10.2.1/24'}]
sub scenario expect mode: and
sub scenario expect values: [[], [], [], [], [], [], [], []]
sub scenario not expect values: [[], [], [], [], [], [], [], []]
sub scenario retries: 5
sub scenario delay: 1
23:21:08 test_sonic.run_scenario                  L0224 INFO   | 
step 1-3) act command: {'command': 'docker exec -i bgp bash -c "/usr/lib/frr/ripd &"'}
expect values: []
not expect values: []
23:21:15 test_sonic.run_scenario                  L0244 INFO   | 
execute command result:

2026/09/21 23:21:06 RIP: [YDG3W-JND95] FD Limit set: 1048576 is stupidly large.  Is this what you intended?  Consider using --limit-fds also limiting size to 100000
23:21:15 test_sonic.run_scenario                  L0245 INFO   | 
expect value in result:
[]
23:21:15 test_sonic.run_scenario                  L0272 INFO   | The expected value is included in the printed result.
output:

2026/09/21 23:21:06 RIP: [YDG3W-JND95] FD Limit set: 1048576 is stupidly large.  Is this what you intended?  Consider using --limit-fds also limiting size to 100000
23:21:15 test_sonic.run_scenario                  L0224 INFO   | 
step 1-3) act command: {'command': 'docker exec -i bgp bash -c "/usr/lib/frr/isisd &"'}
expect values: []
not expect values: []
23:21:23 test_sonic.run_scenario                  L0244 INFO   | 
execute command result:

2026/09/21 23:21:14 ISIS: [YDG3W-JND95] FD Limit set: 1048576 is stupidly large.  Is this what you intended?  Consider using --limit-fds also limiting size to 100000
23:21:23 test_sonic.run_scenario                  L0245 INFO   | 
expect value in result:
[]
23:21:23 test_sonic.run_scenario                  L0272 INFO   | The expected value is included in the printed result.
output:

2026/09/21 23:21:14 ISIS: [YDG3W-JND95] FD Limit set: 1048576 is stupidly large.  Is this what you intended?  Consider using --limit-fds also limiting size to 100000
23:21:23 test_sonic.run_scenario                  L0224 INFO   | 
step 1-3) act command: {'command': 'docker exec -i bgp bash -c "/usr/lib/frr/ospfd &"'}
expect values: []
not expect values: []
23:21:30 test_sonic.run_scenario                  L0244 INFO   | 
execute command result:

2026/09/21 23:21:21 OSPF: [YDG3W-JND95] FD Limit set: 1048576 is stupidly large.  Is this what you intended?  Consider using --limit-fds also limiting size to 100000
23:21:30 test_sonic.run_scenario                  L0245 INFO   | 
expect value in result:
[]
23:21:30 test_sonic.run_scenario                  L0272 INFO   | The expected value is included in the printed result.
output:

2026/09/21 23:21:21 OSPF: [YDG3W-JND95] FD Limit set: 1048576 is stupidly large.  Is this what you intended?  Consider using --limit-fds also limiting size to 100000
23:21:30 test_sonic.run_scenario                  L0224 INFO   | 
step 1-3) act command: {'command': 'sudo config interface ip add Ethernet4 10.1.1.1/30'}
expect values: []
not expect values: []
23:21:36 test_sonic.run_scenario                  L0244 INFO   | 
execute command result:


23:21:36 test_sonic.run_scenario                  L0245 INFO   | 
expect value in result:
[]
23:21:36 test_sonic.run_scenario                  L0272 INFO   | The expected value is included in the printed result.
output:


23:21:36 test_sonic.run_scenario                  L0224 INFO   | 
step 1-3) act command: {'command': 'sudo config interface ip add Ethernet8 10.1.1.9/30'}
expect values: []
not expect values: []
23:21:41 test_sonic.run_scenario                  L0244 INFO   | 
execute command result:


23:21:41 test_sonic.run_scenario                  L0245 INFO   | 
expect value in result:
[]
23:21:41 test_sonic.run_scenario                  L0272 INFO   | The expected value is included in the printed result.
output:


23:21:41 test_sonic.run_scenario                  L0224 INFO   | 
step 1-3) act command: {'command': 'sudo config interface ip add Ethernet12 10.1.1.5/30'}
expect values: []
not expect values: []
23:21:47 test_sonic.run_scenario                  L0244 INFO   | 
execute command result:


23:21:47 test_sonic.run_scenario                  L0245 INFO   | 
expect value in result:
[]
23:21:47 test_sonic.run_scenario                  L0272 INFO   | The expected value is included in the printed result.
output:


23:21:47 test_sonic.run_scenario                  L0224 INFO   | 
step 1-3) act command: {'command': 'sudo config interface ip add Ethernet16 10.10.1.1/24'}
expect values: []
not expect values: []
23:21:53 test_sonic.run_scenario                  L0244 INFO   | 
execute command result:


23:21:53 test_sonic.run_scenario                  L0245 INFO   | 
expect value in result:
[]
23:21:53 test_sonic.run_scenario                  L0272 INFO   | The expected value is included in the printed result.
output:


23:21:53 test_sonic.run_scenario                  L0224 INFO   | 
step 1-3) act command: {'command': 'sudo config interface ip add Ethernet20 10.10.2.1/24'}
expect values: []
not expect values: []
23:21:58 test_sonic.run_scenario                  L0244 INFO   | 
execute command result:


23:21:58 test_sonic.run_scenario                  L0245 INFO   | 
expect value in result:
[]
23:21:58 test_sonic.run_scenario                  L0272 INFO   | The expected value is included in the printed result.
output:


23:21:58 test_sonic.run_scenario                  L0169 INFO   | 
step 1-1) sub scenario name: Assign IPv4 on R-2
node name: R-2
23:21:59 test_sonic.run_scenario                  L0218 INFO   | 
step 1-2) sub scenario actions: [{'command': 'docker exec -i bgp bash -c "/usr/lib/frr/ripd &"'}, {'command': 'docker exec -i bgp bash -c "/usr/lib/frr/isisd &"'}, {'command': 'docker exec -i bgp bash -c "/usr/lib/frr/ospfd &"'}, {'command': 'sudo config interface ip add Ethernet4 10.1.1.2/30'}, {'command': 'sudo config interface ip add Ethernet8 10.1.1.6/30'}, {'command': 'sudo config interface ip add Ethernet12 10.1.3.1/24'}, {'command': 'sudo config interface ip add Ethernet16 10.20.0.1/24'}, {'command': 'sudo config interface ip add Ethernet20 10.20.1.1/24'}]
sub scenario expect mode: and
sub scenario expect values: [[], [], [], [], [], [], [], []]
sub scenario not expect values: [[], [], [], [], [], [], [], []]
sub scenario retries: 5
sub scenario delay: 1
23:21:59 test_sonic.run_scenario                  L0224 INFO   | 
step 1-3) act command: {'command': 'docker exec -i bgp bash -c "/usr/lib/frr/ripd &"'}
expect values: []
not expect values: []
23:22:06 test_sonic.run_scenario                  L0244 INFO   | 
execute command result:

2026/09/21 23:21:58 RIP: [YDG3W-JND95] FD Limit set: 1048576 is stupidly large.  Is this what you intended?  Consider using --limit-fds also limiting size to 100000
23:22:06 test_sonic.run_scenario                  L0245 INFO   | 
expect value in result:
[]
23:22:06 test_sonic.run_scenario                  L0272 INFO   | The expected value is included in the printed result.
output:

2026/09/21 23:21:58 RIP: [YDG3W-JND95] FD Limit set: 1048576 is stupidly large.  Is this what you intended?  Consider using --limit-fds also limiting size to 100000
23:22:06 test_sonic.run_scenario                  L0224 INFO   | 
step 1-3) act command: {'command': 'docker exec -i bgp bash -c "/usr/lib/frr/isisd &"'}
expect values: []
not expect values: []
23:22:13 test_sonic.run_scenario                  L0244 INFO   | 
execute command result:

2026/09/21 23:22:05 ISIS: [YDG3W-JND95] FD Limit set: 1048576 is stupidly large.  Is this what you intended?  Consider using --limit-fds also limiting size to 100000
23:22:13 test_sonic.run_scenario                  L0245 INFO   | 
expect value in result:
[]
23:22:13 test_sonic.run_scenario                  L0272 INFO   | The expected value is included in the printed result.
output:

2026/09/21 23:22:05 ISIS: [YDG3W-JND95] FD Limit set: 1048576 is stupidly large.  Is this what you intended?  Consider using --limit-fds also limiting size to 100000
23:22:13 test_sonic.run_scenario                  L0224 INFO   | 
step 1-3) act command: {'command': 'docker exec -i bgp bash -c "/usr/lib/frr/ospfd &"'}
expect values: []
not expect values: []
23:22:21 test_sonic.run_scenario                  L0244 INFO   | 
execute command result:

2026/09/21 23:22:12 OSPF: [YDG3W-JND95] FD Limit set: 1048576 is stupidly large.  Is this what you intended?  Consider using --limit-fds also limiting size to 100000
23:22:21 test_sonic.run_scenario                  L0245 INFO   | 
expect value in result:
[]
23:22:21 test_sonic.run_scenario                  L0272 INFO   | The expected value is included in the printed result.
output:

2026/09/21 23:22:12 OSPF: [YDG3W-JND95] FD Limit set: 1048576 is stupidly large.  Is this what you intended?  Consider using --limit-fds also limiting size to 100000
23:22:21 test_sonic.run_scenario                  L0224 INFO   | 
step 1-3) act command: {'command': 'sudo config interface ip add Ethernet4 10.1.1.2/30'}
expect values: []
not expect values: []
23:22:27 test_sonic.run_scenario                  L0244 INFO   | 
execute command result:


23:22:27 test_sonic.run_scenario                  L0245 INFO   | 
expect value in result:
[]
23:22:27 test_sonic.run_scenario                  L0272 INFO   | The expected value is included in the printed result.
output:


23:22:27 test_sonic.run_scenario                  L0224 INFO   | 
step 1-3) act command: {'command': 'sudo config interface ip add Ethernet8 10.1.1.6/30'}
expect values: []
not expect values: []
23:22:32 test_sonic.run_scenario                  L0244 INFO   | 
execute command result:


23:22:32 test_sonic.run_scenario                  L0245 INFO   | 
expect value in result:
[]
23:22:32 test_sonic.run_scenario                  L0272 INFO   | The expected value is included in the printed result.
output:


23:22:32 test_sonic.run_scenario                  L0224 INFO   | 
step 1-3) act command: {'command': 'sudo config interface ip add Ethernet12 10.1.3.1/24'}
expect values: []
not expect values: []
23:22:38 test_sonic.run_scenario                  L0244 INFO   | 
execute command result:


23:22:38 test_sonic.run_scenario                  L0245 INFO   | 
expect value in result:
[]
23:22:38 test_sonic.run_scenario                  L0272 INFO   | The expected value is included in the printed result.
output:


23:22:38 test_sonic.run_scenario                  L0224 INFO   | 
step 1-3) act command: {'command': 'sudo config interface ip add Ethernet16 10.20.0.1/24'}
expect values: []
not expect values: []
23:22:43 test_sonic.run_scenario                  L0244 INFO   | 
execute command result:


23:22:43 test_sonic.run_scenario                  L0245 INFO   | 
expect value in result:
[]
23:22:43 test_sonic.run_scenario                  L0272 INFO   | The expected value is included in the printed result.
output:


23:22:43 test_sonic.run_scenario                  L0224 INFO   | 
step 1-3) act command: {'command': 'sudo config interface ip add Ethernet20 10.20.1.1/24'}
expect values: []
not expect values: []
23:22:49 test_sonic.run_scenario                  L0244 INFO   | 
execute command result:


23:22:49 test_sonic.run_scenario                  L0245 INFO   | 
expect value in result:
[]
23:22:49 test_sonic.run_scenario                  L0272 INFO   | The expected value is included in the printed result.
output:


23:22:49 test_sonic.run_scenario                  L0169 INFO   | 
step 1-1) sub scenario name: Assign IPv4 on R-3
node name: R-3
23:22:49 test_sonic.run_scenario                  L0218 INFO   | 
step 1-2) sub scenario actions: [{'command': 'docker exec -i bgp bash -c "/usr/lib/frr/ripd &"'}, {'command': 'docker exec -i bgp bash -c "/usr/lib/frr/isisd &"'}, {'command': 'docker exec -i bgp bash -c "/usr/lib/frr/ospfd &"'}, {'command': 'sudo config interface ip add Ethernet0 10.1.1.10/30'}, {'command': 'sudo config interface ip add Ethernet8 10.1.3.2/24'}, {'command': 'sudo config interface ip add Ethernet12 10.30.0.1/24'}, {'command': 'sudo config interface ip add Ethernet16 10.30.1.1/24'}]
sub scenario expect mode: and
sub scenario expect values: [[], [], [], [], [], [], []]
sub scenario not expect values: [[], [], [], [], [], [], []]
sub scenario retries: 5
sub scenario delay: 1
23:22:49 test_sonic.run_scenario                  L0224 INFO   | 
step 1-3) act command: {'command': 'docker exec -i bgp bash -c "/usr/lib/frr/ripd &"'}
expect values: []
not expect values: []
23:22:56 test_sonic.run_scenario                  L0244 INFO   | 
execute command result:

2026/09/21 23:22:48 RIP: [YDG3W-JND95] FD Limit set: 1048576 is stupidly large.  Is this what you intended?  Consider using --limit-fds also limiting size to 100000
23:22:56 test_sonic.run_scenario                  L0245 INFO   | 
expect value in result:
[]
23:22:56 test_sonic.run_scenario                  L0272 INFO   | The expected value is included in the printed result.
output:

2026/09/21 23:22:48 RIP: [YDG3W-JND95] FD Limit set: 1048576 is stupidly large.  Is this what you intended?  Consider using --limit-fds also limiting size to 100000
23:22:56 test_sonic.run_scenario                  L0224 INFO   | 
step 1-3) act command: {'command': 'docker exec -i bgp bash -c "/usr/lib/frr/isisd &"'}
expect values: []
not expect values: []
23:23:04 test_sonic.run_scenario                  L0244 INFO   | 
execute command result:

2026/09/21 23:22:56 ISIS: [YDG3W-JND95] FD Limit set: 1048576 is stupidly large.  Is this what you intended?  Consider using --limit-fds also limiting size to 100000
23:23:04 test_sonic.run_scenario                  L0245 INFO   | 
expect value in result:
[]
23:23:04 test_sonic.run_scenario                  L0272 INFO   | The expected value is included in the printed result.
output:

2026/09/21 23:22:56 ISIS: [YDG3W-JND95] FD Limit set: 1048576 is stupidly large.  Is this what you intended?  Consider using --limit-fds also limiting size to 100000
23:23:04 test_sonic.run_scenario                  L0224 INFO   | 
step 1-3) act command: {'command': 'docker exec -i bgp bash -c "/usr/lib/frr/ospfd &"'}
expect values: []
not expect values: []
23:23:11 test_sonic.run_scenario                  L0244 INFO   | 
execute command result:

2026/09/21 23:23:03 OSPF: [YDG3W-JND95] FD Limit set: 1048576 is stupidly large.  Is this what you intended?  Consider using --limit-fds also limiting size to 100000
23:23:11 test_sonic.run_scenario                  L0245 INFO   | 
expect value in result:
[]
23:23:11 test_sonic.run_scenario                  L0272 INFO   | The expected value is included in the printed result.
output:

2026/09/21 23:23:03 OSPF: [YDG3W-JND95] FD Limit set: 1048576 is stupidly large.  Is this what you intended?  Consider using --limit-fds also limiting size to 100000
23:23:11 test_sonic.run_scenario                  L0224 INFO   | 
step 1-3) act command: {'command': 'sudo config interface ip add Ethernet0 10.1.1.10/30'}
expect values: []
not expect values: []
23:23:17 test_sonic.run_scenario                  L0244 INFO   | 
execute command result:


23:23:17 test_sonic.run_scenario                  L0245 INFO   | 
expect value in result:
[]
23:23:17 test_sonic.run_scenario                  L0272 INFO   | The expected value is included in the printed result.
output:


23:23:17 test_sonic.run_scenario                  L0224 INFO   | 
step 1-3) act command: {'command': 'sudo config interface ip add Ethernet8 10.1.3.2/24'}
expect values: []
not expect values: []
23:23:22 test_sonic.run_scenario                  L0244 INFO   | 
execute command result:


23:23:22 test_sonic.run_scenario                  L0245 INFO   | 
expect value in result:
[]
23:23:22 test_sonic.run_scenario                  L0272 INFO   | The expected value is included in the printed result.
output:


23:23:22 test_sonic.run_scenario                  L0224 INFO   | 
step 1-3) act command: {'command': 'sudo config interface ip add Ethernet12 10.30.0.1/24'}
expect values: []
not expect values: []
23:23:28 test_sonic.run_scenario                  L0244 INFO   | 
execute command result:


23:23:28 test_sonic.run_scenario                  L0245 INFO   | 
expect value in result:
[]
23:23:28 test_sonic.run_scenario                  L0272 INFO   | The expected value is included in the printed result.
output:


23:23:28 test_sonic.run_scenario                  L0224 INFO   | 
step 1-3) act command: {'command': 'sudo config interface ip add Ethernet16 10.30.1.1/24'}
expect values: []
not expect values: []
23:23:34 test_sonic.run_scenario                  L0244 INFO   | 
execute command result:


23:23:34 test_sonic.run_scenario                  L0245 INFO   | 
expect value in result:
[]
23:23:34 test_sonic.run_scenario                  L0272 INFO   | The expected value is included in the printed result.
output:


23:23:34 test_sonic.run_scenario                  L0169 INFO   | 
step 1-1) sub scenario name: Assign IPv4 on R-4
node name: R-4
23:23:34 test_sonic.run_scenario                  L0218 INFO   | 
step 1-2) sub scenario actions: [{'command': 'docker exec -i bgp bash -c "/usr/lib/frr/ripd &"'}, {'command': 'docker exec -i bgp bash -c "/usr/lib/frr/isisd &"'}, {'command': 'docker exec -i bgp bash -c "/usr/lib/frr/ospfd &"'}, {'command': 'sudo config interface ip add Ethernet4 10.1.4.1/24'}, {'command': 'sudo config interface ip add Ethernet8 10.1.3.3/24'}, {'command': 'sudo config interface ip add Ethernet12 10.40.0.1/24'}, {'command': 'sudo config interface ip add Ethernet16 10.40.1.1/24'}]
sub scenario expect mode: and
sub scenario expect values: [[], [], [], [], [], [], []]
sub scenario not expect values: [[], [], [], [], [], [], []]
sub scenario retries: 5
sub scenario delay: 1
23:23:34 test_sonic.run_scenario                  L0224 INFO   | 
step 1-3) act command: {'command': 'docker exec -i bgp bash -c "/usr/lib/frr/ripd &"'}
expect values: []
not expect values: []
23:23:42 test_sonic.run_scenario                  L0244 INFO   | 
execute command result:

2026/09/21 23:23:32 RIP: [YDG3W-JND95] FD Limit set: 1048576 is stupidly large.  Is this what you intended?  Consider using --limit-fds also limiting size to 100000
23:23:42 test_sonic.run_scenario                  L0245 INFO   | 
expect value in result:
[]
23:23:42 test_sonic.run_scenario                  L0272 INFO   | The expected value is included in the printed result.
output:

2026/09/21 23:23:32 RIP: [YDG3W-JND95] FD Limit set: 1048576 is stupidly large.  Is this what you intended?  Consider using --limit-fds also limiting size to 100000
23:23:42 test_sonic.run_scenario                  L0224 INFO   | 
step 1-3) act command: {'command': 'docker exec -i bgp bash -c "/usr/lib/frr/isisd &"'}
expect values: []
not expect values: []
23:23:49 test_sonic.run_scenario                  L0244 INFO   | 
execute command result:

2026/09/21 23:23:40 ISIS: [YDG3W-JND95] FD Limit set: 1048576 is stupidly large.  Is this what you intended?  Consider using --limit-fds also limiting size to 100000
23:23:49 test_sonic.run_scenario                  L0245 INFO   | 
expect value in result:
[]
23:23:49 test_sonic.run_scenario                  L0272 INFO   | The expected value is included in the printed result.
output:

2026/09/21 23:23:40 ISIS: [YDG3W-JND95] FD Limit set: 1048576 is stupidly large.  Is this what you intended?  Consider using --limit-fds also limiting size to 100000
23:23:49 test_sonic.run_scenario                  L0224 INFO   | 
step 1-3) act command: {'command': 'docker exec -i bgp bash -c "/usr/lib/frr/ospfd &"'}
expect values: []
not expect values: []
23:23:56 test_sonic.run_scenario                  L0244 INFO   | 
execute command result:

2026/09/21 23:23:47 OSPF: [YDG3W-JND95] FD Limit set: 1048576 is stupidly large.  Is this what you intended?  Consider using --limit-fds also limiting size to 100000
23:23:56 test_sonic.run_scenario                  L0245 INFO   | 
expect value in result:
[]
23:23:56 test_sonic.run_scenario                  L0272 INFO   | The expected value is included in the printed result.
output:

2026/09/21 23:23:47 OSPF: [YDG3W-JND95] FD Limit set: 1048576 is stupidly large.  Is this what you intended?  Consider using --limit-fds also limiting size to 100000
23:23:56 test_sonic.run_scenario                  L0224 INFO   | 
step 1-3) act command: {'command': 'sudo config interface ip add Ethernet4 10.1.4.1/24'}
expect values: []
not expect values: []
23:24:02 test_sonic.run_scenario                  L0244 INFO   | 
execute command result:


23:24:02 test_sonic.run_scenario                  L0245 INFO   | 
expect value in result:
[]
23:24:02 test_sonic.run_scenario                  L0272 INFO   | The expected value is included in the printed result.
output:


23:24:02 test_sonic.run_scenario                  L0224 INFO   | 
step 1-3) act command: {'command': 'sudo config interface ip add Ethernet8 10.1.3.3/24'}
expect values: []
not expect values: []
23:24:08 test_sonic.run_scenario                  L0244 INFO   | 
execute command result:


23:24:08 test_sonic.run_scenario                  L0245 INFO   | 
expect value in result:
[]
23:24:08 test_sonic.run_scenario                  L0272 INFO   | The expected value is included in the printed result.
output:


23:24:08 test_sonic.run_scenario                  L0224 INFO   | 
step 1-3) act command: {'command': 'sudo config interface ip add Ethernet12 10.40.0.1/24'}
expect values: []
not expect values: []
23:24:13 test_sonic.run_scenario                  L0244 INFO   | 
execute command result:


23:24:13 test_sonic.run_scenario                  L0245 INFO   | 
expect value in result:
[]
23:24:13 test_sonic.run_scenario                  L0272 INFO   | The expected value is included in the printed result.
output:


23:24:13 test_sonic.run_scenario                  L0224 INFO   | 
step 1-3) act command: {'command': 'sudo config interface ip add Ethernet16 10.40.1.1/24'}
expect values: []
not expect values: []
23:24:19 test_sonic.run_scenario                  L0244 INFO   | 
execute command result:


23:24:19 test_sonic.run_scenario                  L0245 INFO   | 
expect value in result:
[]
23:24:19 test_sonic.run_scenario                  L0272 INFO   | The expected value is included in the printed result.
output:


23:24:19 test_sonic.run_scenario                  L0108 INFO   | 
step 1) scenario name:MED Attribute Function
23:24:19 test_sonic.run_scenario                  L0169 INFO   | 
step 1-1) sub scenario name: Default - Set Default
node name: R-1
23:24:19 test_sonic.run_scenario                  L0218 INFO   | 
step 1-2) sub scenario actions: [{'command': 'vtysh -c "config" \\\n-c "route-map permit-all permit 10" \\\n-c "exit" \\\n-c "router bgp 100" \\\n-c "neighbor 10.1.1.2 remote-as 200" \\\n-c "neighbor 10.1.1.2 route-map permit-all in" \\\n-c "neighbor 10.1.1.2 route-map permit-all out" \\\n-c "neighbor 10.1.1.10 remote-as 100" \\\n-c "neighbor 10.1.1.10 route-map permit-all in" \\\n-c "neighbor 10.1.1.10 route-map permit-all out" \\\n-c "network 10.1.1.8/30" \\\n-c "do show running-config" \\\n-c "end"\n'}]
sub scenario expect mode: and
sub scenario expect values: [[]]
sub scenario not expect values: [[]]
sub scenario retries: 5
sub scenario delay: 1
23:24:19 test_sonic.run_scenario                  L0224 INFO   | 
step 1-3) act command: {'command': 'vtysh -c "config" \\\n-c "route-map permit-all permit 10" \\\n-c "exit" \\\n-c "router bgp 100" \\\n-c "neighbor 10.1.1.2 remote-as 200" \\\n-c "neighbor 10.1.1.2 route-map permit-all in" \\\n-c "neighbor 10.1.1.2 route-map permit-all out" \\\n-c "neighbor 10.1.1.10 remote-as 100" \\\n-c "neighbor 10.1.1.10 route-map permit-all in" \\\n-c "neighbor 10.1.1.10 route-map permit-all out" \\\n-c "network 10.1.1.8/30" \\\n-c "do show running-config" \\\n-c "end"\n'}
expect values: []
not expect values: []
23:24:25 test_sonic.run_scenario                  L0244 INFO   | 
execute command result:
Building configuration...

Current configuration:
!
frr version 10.3
frr defaults traditional
hostname R-1
log syslog informational
log facility local4
zebra nexthop-group keep 1
no zebra nexthop kernel enable
fpm address 127.0.0.1
no fpm use-next-hop-groups
agentx
no service integrated-vtysh-config
!
route-map permit-all permit 10
exit
!
password zebra
enable password zebra
!
router bgp 100
 neighbor 10.1.1.2 remote-as 200
 neighbor 10.1.1.10 remote-as 100
 !
 address-family ipv4 unicast
  network 10.1.1.8/30
  neighbor 10.1.1.2 route-map permit-all in
  neighbor 10.1.1.2 route-map permit-all out
  neighbor 10.1.1.10 route-map permit-all in
  neighbor 10.1.1.10 route-map permit-all out
 exit-address-family
exit
!
ip nht resolve-via-default
!
ipv6 nht resolve-via-default
!
end

23:24:25 test_sonic.run_scenario                  L0245 INFO   | 
expect value in result:
[]
23:24:25 test_sonic.run_scenario                  L0252 INFO   | [R-1] Auto Ping Verification to neighbor: 10.1.1.2
23:24:27 test_sonic.run_scenario                  L0254 INFO   | [R-1] Ping result:
PING 10.1.1.2 (10.1.1.2) 56(84) bytes of data.
64 bytes from 10.1.1.2: icmp_seq=1 ttl=64 time=2.25 ms
64 bytes from 10.1.1.2: icmp_seq=2 ttl=64 time=0.680 ms
64 bytes from 10.1.1.2: icmp_seq=3 ttl=64 time=0.941 ms

--- 10.1.1.2 ping statistics ---
3 packets transmitted, 3 received, 0% packet loss, time 2002ms
rtt min/avg/max/mdev = 0.680/1.290/2.249/0.686 ms
23:24:27 test_sonic.run_scenario                  L0272 INFO   | The expected value is included in the printed result.
output:
Building configuration...

Current configuration:
!
frr version 10.3
frr defaults traditional
hostname R-1
log syslog informational
log facility local4
zebra nexthop-group keep 1
no zebra nexthop kernel enable
fpm address 127.0.0.1
no fpm use-next-hop-groups
agentx
no service integrated-vtysh-config
!
route-map permit-all permit 10
exit
!
password zebra
enable password zebra
!
router bgp 100
 neighbor 10.1.1.2 remote-as 200
 neighbor 10.1.1.10 remote-as 100
 !
 address-family ipv4 unicast
  network 10.1.1.8/30
  neighbor 10.1.1.2 route-map permit-all in
  neighbor 10.1.1.2 route-map permit-all out
  neighbor 10.1.1.10 route-map permit-all in
  neighbor 10.1.1.10 route-map permit-all out
 exit-address-family
exit
!
ip nht resolve-via-default
!
ipv6 nht resolve-via-default
!
end

23:24:27 test_sonic.run_scenario                  L0169 INFO   | 
step 1-1) sub scenario name: Default - Set Default
node name: R-2
23:24:27 test_sonic.run_scenario                  L0218 INFO   | 
step 1-2) sub scenario actions: [{'command': 'vtysh -c "config" \\\n-c "route-map permit-all permit 10" \\\n-c "exit" \\\n-c "router bgp 200" \\\n-c "neighbor 10.1.1.1 remote-as 100" \\\n-c "neighbor 10.1.1.1 route-map permit-all in" \\\n-c "neighbor 10.1.1.1 route-map permit-all out" \\\n-c "neighbor 10.1.3.2 remote-as 100" \\\n-c "neighbor 10.1.3.2 route-map permit-all in" \\\n-c "neighbor 10.1.3.2 route-map permit-all out" \\\n-c "neighbor 10.1.3.2 next-hop-self" \\\n-c "neighbor 10.1.3.3 remote-as 400" \\\n-c "neighbor 10.1.3.3 route-map permit-all in" \\\n-c "neighbor 10.1.3.3 route-map permit-all out" \\\n-c "neighbor 10.1.3.3 next-hop-self" \\\n-c "do show running-config" \\\n-c "end"\n'}]
sub scenario expect mode: and
sub scenario expect values: [[]]
sub scenario not expect values: [[]]
sub scenario retries: 5
sub scenario delay: 1
23:24:27 test_sonic.run_scenario                  L0224 INFO   | 
step 1-3) act command: {'command': 'vtysh -c "config" \\\n-c "route-map permit-all permit 10" \\\n-c "exit" \\\n-c "router bgp 200" \\\n-c "neighbor 10.1.1.1 remote-as 100" \\\n-c "neighbor 10.1.1.1 route-map permit-all in" \\\n-c "neighbor 10.1.1.1 route-map permit-all out" \\\n-c "neighbor 10.1.3.2 remote-as 100" \\\n-c "neighbor 10.1.3.2 route-map permit-all in" \\\n-c "neighbor 10.1.3.2 route-map permit-all out" \\\n-c "neighbor 10.1.3.2 next-hop-self" \\\n-c "neighbor 10.1.3.3 remote-as 400" \\\n-c "neighbor 10.1.3.3 route-map permit-all in" \\\n-c "neighbor 10.1.3.3 route-map permit-all out" \\\n-c "neighbor 10.1.3.3 next-hop-self" \\\n-c "do show running-config" \\\n-c "end"\n'}
expect values: []
not expect values: []
23:24:32 test_sonic.run_scenario                  L0244 INFO   | 
execute command result:
Building configuration...

Current configuration:
!
frr version 10.3
frr defaults traditional
hostname R-2
log syslog informational
log facility local4
zebra nexthop-group keep 1
no zebra nexthop kernel enable
fpm address 127.0.0.1
no fpm use-next-hop-groups
agentx
no service integrated-vtysh-config
!
route-map permit-all permit 10
exit
!
password zebra
enable password zebra
!
router bgp 200
 neighbor 10.1.1.1 remote-as 100
 neighbor 10.1.3.2 remote-as 100
 neighbor 10.1.3.3 remote-as 400
 !
 address-family ipv4 unicast
  neighbor 10.1.1.1 route-map permit-all in
  neighbor 10.1.1.1 route-map permit-all out
  neighbor 10.1.3.2 next-hop-self
  neighbor 10.1.3.2 route-map permit-all in
  neighbor 10.1.3.2 route-map permit-all out
  neighbor 10.1.3.3 next-hop-self
  neighbor 10.1.3.3 route-map permit-all in
  neighbor 10.1.3.3 route-map permit-all out
 exit-address-family
exit
!
ip nht resolve-via-default
!
ipv6 nht resolve-via-default
!
end

23:24:32 test_sonic.run_scenario                  L0245 INFO   | 
expect value in result:
[]
23:24:32 test_sonic.run_scenario                  L0252 INFO   | [R-2] Auto Ping Verification to neighbor: 10.1.1.1
23:24:35 test_sonic.run_scenario                  L0254 INFO   | [R-2] Ping result:
PING 10.1.1.1 (10.1.1.1) 56(84) bytes of data.
64 bytes from 10.1.1.1: icmp_seq=1 ttl=64 time=0.877 ms
64 bytes from 10.1.1.1: icmp_seq=2 ttl=64 time=1.05 ms
64 bytes from 10.1.1.1: icmp_seq=3 ttl=64 time=0.900 ms

--- 10.1.1.1 ping statistics ---
3 packets transmitted, 3 received, 0% packet loss, time 2003ms
rtt min/avg/max/mdev = 0.877/0.942/1.049/0.076 ms
23:24:35 test_sonic.run_scenario                  L0272 INFO   | The expected value is included in the printed result.
output:
Building configuration...

Current configuration:
!
frr version 10.3
frr defaults traditional
hostname R-2
log syslog informational
log facility local4
zebra nexthop-group keep 1
no zebra nexthop kernel enable
fpm address 127.0.0.1
no fpm use-next-hop-groups
agentx
no service integrated-vtysh-config
!
route-map permit-all permit 10
exit
!
password zebra
enable password zebra
!
router bgp 200
 neighbor 10.1.1.1 remote-as 100
 neighbor 10.1.3.2 remote-as 100
 neighbor 10.1.3.3 remote-as 400
 !
 address-family ipv4 unicast
  neighbor 10.1.1.1 route-map permit-all in
  neighbor 10.1.1.1 route-map permit-all out
  neighbor 10.1.3.2 next-hop-self
  neighbor 10.1.3.2 route-map permit-all in
  neighbor 10.1.3.2 route-map permit-all out
  neighbor 10.1.3.3 next-hop-self
  neighbor 10.1.3.3 route-map permit-all in
  neighbor 10.1.3.3 route-map permit-all out
 exit-address-family
exit
!
ip nht resolve-via-default
!
ipv6 nht resolve-via-default
!
end

23:24:35 test_sonic.run_scenario                  L0169 INFO   | 
step 1-1) sub scenario name: Default - Set Default
node name: R-3
23:24:35 test_sonic.run_scenario                  L0218 INFO   | 
step 1-2) sub scenario actions: [{'command': 'vtysh -c "config" \\\n-c "route-map permit-all permit 10" \\\n-c "exit" \\\n-c "router bgp 100" \\\n-c "network 10.1.1.8/30" \\\n-c "neighbor 10.1.1.9 remote-as 100" \\\n-c "neighbor 10.1.1.9 route-map permit-all in" \\\n-c "neighbor 10.1.1.9 route-map permit-all out" \\\n-c "neighbor 10.1.3.1 remote-as 200" \\\n-c "neighbor 10.1.3.1 route-map permit-all in" \\\n-c "neighbor 10.1.3.1 route-map permit-all out" \\\n-c "do show running-config" \\\n-c "end"\n'}]
sub scenario expect mode: and
sub scenario expect values: [[]]
sub scenario not expect values: [[]]
sub scenario retries: 5
sub scenario delay: 1
23:24:35 test_sonic.run_scenario                  L0224 INFO   | 
step 1-3) act command: {'command': 'vtysh -c "config" \\\n-c "route-map permit-all permit 10" \\\n-c "exit" \\\n-c "router bgp 100" \\\n-c "network 10.1.1.8/30" \\\n-c "neighbor 10.1.1.9 remote-as 100" \\\n-c "neighbor 10.1.1.9 route-map permit-all in" \\\n-c "neighbor 10.1.1.9 route-map permit-all out" \\\n-c "neighbor 10.1.3.1 remote-as 200" \\\n-c "neighbor 10.1.3.1 route-map permit-all in" \\\n-c "neighbor 10.1.3.1 route-map permit-all out" \\\n-c "do show running-config" \\\n-c "end"\n'}
expect values: []
not expect values: []
23:24:40 test_sonic.run_scenario                  L0244 INFO   | 
execute command result:
Building configuration...

Current configuration:
!
frr version 10.3
frr defaults traditional
hostname R-3
log syslog informational
log facility local4
zebra nexthop-group keep 1
no zebra nexthop kernel enable
fpm address 127.0.0.1
no fpm use-next-hop-groups
agentx
no service integrated-vtysh-config
!
route-map permit-all permit 10
exit
!
password zebra
enable password zebra
!
router bgp 100
 neighbor 10.1.1.9 remote-as 100
 neighbor 10.1.3.1 remote-as 200
 !
 address-family ipv4 unicast
  network 10.1.1.8/30
  neighbor 10.1.1.9 route-map permit-all in
  neighbor 10.1.1.9 route-map permit-all out
  neighbor 10.1.3.1 route-map permit-all in
  neighbor 10.1.3.1 route-map permit-all out
 exit-address-family
exit
!
ip nht resolve-via-default
!
ipv6 nht resolve-via-default
!
end

23:24:40 test_sonic.run_scenario                  L0245 INFO   | 
expect value in result:
[]
23:24:40 test_sonic.run_scenario                  L0252 INFO   | [R-3] Auto Ping Verification to neighbor: 10.1.1.9
23:24:42 test_sonic.run_scenario                  L0254 INFO   | [R-3] Ping result:
PING 10.1.1.9 (10.1.1.9) 56(84) bytes of data.
64 bytes from 10.1.1.9: icmp_seq=1 ttl=64 time=0.706 ms
64 bytes from 10.1.1.9: icmp_seq=2 ttl=64 time=0.966 ms
64 bytes from 10.1.1.9: icmp_seq=3 ttl=64 time=0.787 ms

--- 10.1.1.9 ping statistics ---
3 packets transmitted, 3 received, 0% packet loss, time 2031ms
rtt min/avg/max/mdev = 0.706/0.819/0.966/0.108 ms
23:24:42 test_sonic.run_scenario                  L0272 INFO   | The expected value is included in the printed result.
output:
Building configuration...

Current configuration:
!
frr version 10.3
frr defaults traditional
hostname R-3
log syslog informational
log facility local4
zebra nexthop-group keep 1
no zebra nexthop kernel enable
fpm address 127.0.0.1
no fpm use-next-hop-groups
agentx
no service integrated-vtysh-config
!
route-map permit-all permit 10
exit
!
password zebra
enable password zebra
!
router bgp 100
 neighbor 10.1.1.9 remote-as 100
 neighbor 10.1.3.1 remote-as 200
 !
 address-family ipv4 unicast
  network 10.1.1.8/30
  neighbor 10.1.1.9 route-map permit-all in
  neighbor 10.1.1.9 route-map permit-all out
  neighbor 10.1.3.1 route-map permit-all in
  neighbor 10.1.3.1 route-map permit-all out
 exit-address-family
exit
!
ip nht resolve-via-default
!
ipv6 nht resolve-via-default
!
end

23:24:42 test_sonic.run_scenario                  L0169 INFO   | 
step 1-1) sub scenario name: Default - Set Default
node name: R-4
23:24:42 test_sonic.run_scenario                  L0218 INFO   | 
step 1-2) sub scenario actions: [{'command': 'vtysh -c "config" \\\n-c "route-map permit-all permit 10" \\\n-c "exit" \\\n-c "router bgp 400" \\\n-c "neighbor 10.1.3.1 remote-as 200" \\\n-c "neighbor 10.1.3.1 route-map permit-all in" \\\n-c "neighbor 10.1.3.1 route-map permit-all out" \\\n-c "do show running-config" \\\n-c "end"\n'}]
sub scenario expect mode: and
sub scenario expect values: [[]]
sub scenario not expect values: [[]]
sub scenario retries: 5
sub scenario delay: 1
23:24:42 test_sonic.run_scenario                  L0224 INFO   | 
step 1-3) act command: {'command': 'vtysh -c "config" \\\n-c "route-map permit-all permit 10" \\\n-c "exit" \\\n-c "router bgp 400" \\\n-c "neighbor 10.1.3.1 remote-as 200" \\\n-c "neighbor 10.1.3.1 route-map permit-all in" \\\n-c "neighbor 10.1.3.1 route-map permit-all out" \\\n-c "do show running-config" \\\n-c "end"\n'}
expect values: []
not expect values: []
23:24:48 test_sonic.run_scenario                  L0244 INFO   | 
execute command result:
Building configuration...

Current configuration:
!
frr version 10.3
frr defaults traditional
hostname R-4
log syslog informational
log facility local4
zebra nexthop-group keep 1
no zebra nexthop kernel enable
fpm address 127.0.0.1
no fpm use-next-hop-groups
agentx
no service integrated-vtysh-config
!
route-map permit-all permit 10
exit
!
password zebra
enable password zebra
!
router bgp 400
 neighbor 10.1.3.1 remote-as 200
 !
 address-family ipv4 unicast
  neighbor 10.1.3.1 route-map permit-all in
  neighbor 10.1.3.1 route-map permit-all out
 exit-address-family
exit
!
ip nht resolve-via-default
!
ipv6 nht resolve-via-default
!
end

23:24:48 test_sonic.run_scenario                  L0245 INFO   | 
expect value in result:
[]
23:24:48 test_sonic.run_scenario                  L0252 INFO   | [R-4] Auto Ping Verification to neighbor: 10.1.3.1
23:24:50 test_sonic.run_scenario                  L0254 INFO   | [R-4] Ping result:
PING 10.1.3.1 (10.1.3.1) 56(84) bytes of data.
64 bytes from 10.1.3.1: icmp_seq=1 ttl=64 time=0.892 ms
64 bytes from 10.1.3.1: icmp_seq=2 ttl=64 time=0.659 ms
64 bytes from 10.1.3.1: icmp_seq=3 ttl=64 time=0.925 ms

--- 10.1.3.1 ping statistics ---
3 packets transmitted, 3 received, 0% packet loss, time 2023ms
rtt min/avg/max/mdev = 0.659/0.825/0.925/0.118 ms
23:24:50 test_sonic.run_scenario                  L0272 INFO   | The expected value is included in the printed result.
output:
Building configuration...

Current configuration:
!
frr version 10.3
frr defaults traditional
hostname R-4
log syslog informational
log facility local4
zebra nexthop-group keep 1
no zebra nexthop kernel enable
fpm address 127.0.0.1
no fpm use-next-hop-groups
agentx
no service integrated-vtysh-config
!
route-map permit-all permit 10
exit
!
password zebra
enable password zebra
!
router bgp 400
 neighbor 10.1.3.1 remote-as 200
 !
 address-family ipv4 unicast
  neighbor 10.1.3.1 route-map permit-all in
  neighbor 10.1.3.1 route-map permit-all out
 exit-address-family
exit
!
ip nht resolve-via-default
!
ipv6 nht resolve-via-default
!
end

23:24:50 test_sonic.run_scenario                  L0169 INFO   | 
step 1-1) sub scenario name: Verification default
node name: R-2
23:24:50 test_sonic.run_scenario                  L0218 INFO   | 
step 1-2) sub scenario actions: [{'command': 'vtysh -c "show ip bgp"'}]
sub scenario expect mode: and
sub scenario expect values: [['10.1.1.1 0 0 100 i', '10.1.3.2 0 0 100 i']]
sub scenario not expect values: [[]]
sub scenario retries: 10
sub scenario delay: 10
23:24:50 test_sonic.run_scenario                  L0224 INFO   | 
step 1-3) act command: {'command': 'vtysh -c "show ip bgp"'}
expect values: ['10.1.1.1 0 0 100 i', '10.1.3.2 0 0 100 i']
not expect values: []
23:24:56 test_sonic.run_scenario                  L0244 INFO   | 
execute command result:
BGP table version is 2, local router ID is 10.250.0.52, vrf id 0
Default local pref 100, local AS 200
Status codes:  s suppressed, d damped, h history, u unsorted, * valid, > best, = multipath,
               i internal, r RIB-failure, S Stale, R Removed
Nexthop codes: @NNN nexthop's vrf id, < announce-nh-self
Origin codes:  i - IGP, e - EGP, ? - incomplete
RPKI validation codes: V valid, I invalid, N Not found

     Network          Next Hop            Metric LocPrf Weight Path
 *>  10.1.1.8/30      10.1.1.1                 0             0 100 i
 *=                   10.1.3.2                 0             0 100 i

Displayed 1 routes and 2 total paths

23:24:56 test_sonic.run_scenario                  L0245 INFO   | 
expect value in result:
['10.1.1.1 0 0 100 i', '10.1.3.2 0 0 100 i']
23:24:56 test_sonic.run_scenario                  L0272 INFO   | The expected value is included in the printed result.
output:
BGP table version is 2, local router ID is 10.250.0.52, vrf id 0
Default local pref 100, local AS 200
Status codes:  s suppressed, d damped, h history, u unsorted, * valid, > best, = multipath,
               i internal, r RIB-failure, S Stale, R Removed
Nexthop codes: @NNN nexthop's vrf id, < announce-nh-self
Origin codes:  i - IGP, e - EGP, ? - incomplete
RPKI validation codes: V valid, I invalid, N Not found

     Network          Next Hop            Metric LocPrf Weight Path
 *>  10.1.1.8/30      10.1.1.1                 0             0 100 i
 *=                   10.1.3.2                 0             0 100 i

Displayed 1 routes and 2 total paths

23:24:56 test_sonic.run_scenario                  L0169 INFO   | 
step 1-1) sub scenario name: Verification default
node name: R-2
23:24:56 test_sonic.run_scenario                  L0218 INFO   | 
step 1-2) sub scenario actions: [{'command': 'vtysh -c "show ip route"'}]
sub scenario expect mode: and
sub scenario expect values: [['B>* 10.1.1.8/30 [20/0] via 10.1.1.1, Ethernet4']]
sub scenario not expect values: [[]]
sub scenario retries: 10
sub scenario delay: 10
23:24:56 test_sonic.run_scenario                  L0224 INFO   | 
step 1-3) act command: {'command': 'vtysh -c "show ip route"'}
expect values: ['B>* 10.1.1.8/30 [20/0] via 10.1.1.1, Ethernet4']
not expect values: []
23:25:01 test_sonic.run_scenario                  L0244 INFO   | 
execute command result:
Codes: K - kernel route, C - connected, L - local, S - static,
       R - RIP, O - OSPF, I - IS-IS, B - BGP, E - EIGRP, N - NHRP,
       T - Table, v - VNC, V - VNC-Direct, A - Babel, F - PBR,
       f - OpenFabric, t - Table-Direct,
       > - selected route, * - FIB route, q - queued, r - rejected, b - backup
       t - trapped, o - offload failure

IPv4 unicast VRF default:
C>* 10.1.1.0/30 is directly connected, Ethernet4, weight 1, 00:02:35
K   10.1.1.0/30 [0/0] is directly connected, Ethernet4, weight 1, 00:02:35
C>* 10.1.1.4/30 is directly connected, Ethernet8, weight 1, 00:02:29
B>* 10.1.1.8/30 [20/0] via 10.1.1.1, Ethernet4, weight 1, 00:00:19
  *                    via 10.1.3.2, Ethernet12, weight 1, 00:00:19
C>* 10.1.3.0/24 is directly connected, Ethernet12, weight 1, 00:02:23
C>* 10.20.0.0/24 is directly connected, Ethernet16, weight 1, 00:02:18
K   10.20.0.0/24 [0/0] is directly connected, Ethernet16, weight 1, 00:02:18
C>* 10.20.1.0/24 is directly connected, Ethernet20, weight 1, 00:02:12
K   10.20.1.0/24 [0/0] is directly connected, Ethernet20, weight 1, 00:02:12
C>* 10.250.0.0/24 is directly connected, eth0, weight 1, 00:10:01
K   240.127.1.0/24 [0/0] is directly connected, docker0 inactive linkdown, weight 1, 00:10:01

23:25:01 test_sonic.run_scenario                  L0245 INFO   | 
expect value in result:
['B>* 10.1.1.8/30 [20/0] via 10.1.1.1, Ethernet4']
23:25:01 test_sonic.run_scenario                  L0272 INFO   | The expected value is included in the printed result.
output:
Codes: K - kernel route, C - connected, L - local, S - static,
       R - RIP, O - OSPF, I - IS-IS, B - BGP, E - EIGRP, N - NHRP,
       T - Table, v - VNC, V - VNC-Direct, A - Babel, F - PBR,
       f - OpenFabric, t - Table-Direct,
       > - selected route, * - FIB route, q - queued, r - rejected, b - backup
       t - trapped, o - offload failure

IPv4 unicast VRF default:
C>* 10.1.1.0/30 is directly connected, Ethernet4, weight 1, 00:02:35
K   10.1.1.0/30 [0/0] is directly connected, Ethernet4, weight 1, 00:02:35
C>* 10.1.1.4/30 is directly connected, Ethernet8, weight 1, 00:02:29
B>* 10.1.1.8/30 [20/0] via 10.1.1.1, Ethernet4, weight 1, 00:00:19
  *                    via 10.1.3.2, Ethernet12, weight 1, 00:00:19
C>* 10.1.3.0/24 is directly connected, Ethernet12, weight 1, 00:02:23
C>* 10.20.0.0/24 is directly connected, Ethernet16, weight 1, 00:02:18
K   10.20.0.0/24 [0/0] is directly connected, Ethernet16, weight 1, 00:02:18
C>* 10.20.1.0/24 is directly connected, Ethernet20, weight 1, 00:02:12
K   10.20.1.0/24 [0/0] is directly connected, Ethernet20, weight 1, 00:02:12
C>* 10.250.0.0/24 is directly connected, eth0, weight 1, 00:10:01
K   240.127.1.0/24 [0/0] is directly connected, docker0 inactive linkdown, weight 1, 00:10:01

23:25:01 test_sonic.run_scenario                  L0169 INFO   | 
step 1-1) sub scenario name: Set route-map
node name: R-1
23:25:01 test_sonic.run_scenario                  L0218 INFO   | 
step 1-2) sub scenario actions: [{'command': 'vtysh -c "config" \\\n-c "route-map SET-MED permit 10" \\\n-c "set metric 100" \\\n-c "end"\n'}]
sub scenario expect mode: and
sub scenario expect values: [[]]
sub scenario not expect values: [[]]
sub scenario retries: 5
sub scenario delay: 1
23:25:01 test_sonic.run_scenario                  L0224 INFO   | 
step 1-3) act command: {'command': 'vtysh -c "config" \\\n-c "route-map SET-MED permit 10" \\\n-c "set metric 100" \\\n-c "end"\n'}
expect values: []
not expect values: []
23:25:07 test_sonic.run_scenario                  L0244 INFO   | 
execute command result:


23:25:07 test_sonic.run_scenario                  L0245 INFO   | 
expect value in result:
[]
23:25:07 test_sonic.run_scenario                  L0272 INFO   | The expected value is included in the printed result.
output:


23:25:07 test_sonic.run_scenario                  L0169 INFO   | 
step 1-1) sub scenario name: Set route-map
node name: R-3
23:25:07 test_sonic.run_scenario                  L0218 INFO   | 
step 1-2) sub scenario actions: [{'command': 'vtysh -c "config" \\\n-c "route-map SET-MED permit 10" \\\n-c "set metric 50" \\\n-c "end"\n'}]
sub scenario expect mode: and
sub scenario expect values: [[]]
sub scenario not expect values: [[]]
sub scenario retries: 5
sub scenario delay: 1
23:25:07 test_sonic.run_scenario                  L0224 INFO   | 
step 1-3) act command: {'command': 'vtysh -c "config" \\\n-c "route-map SET-MED permit 10" \\\n-c "set metric 50" \\\n-c "end"\n'}
expect values: []
not expect values: []
23:25:12 test_sonic.run_scenario                  L0244 INFO   | 
execute command result:


23:25:12 test_sonic.run_scenario                  L0245 INFO   | 
expect value in result:
[]
23:25:12 test_sonic.run_scenario                  L0272 INFO   | The expected value is included in the printed result.
output:


23:25:12 test_sonic.run_scenario                  L0169 INFO   | 
step 1-1) sub scenario name: Set neighbor route-map
node name: R-1
23:25:12 test_sonic.run_scenario                  L0218 INFO   | 
step 1-2) sub scenario actions: [{'command': 'vtysh -c "config" \\\n-c "router bgp 100" \\\n-c "neighbor 10.1.1.2 route-map SET-MED out" \\\n-c "end" \\\n-c "clear ip bgp 10.1.1.2 soft out"\n'}]
sub scenario expect mode: and
sub scenario expect values: [[]]
sub scenario not expect values: [[]]
sub scenario retries: 5
sub scenario delay: 1
23:25:12 test_sonic.run_scenario                  L0224 INFO   | 
step 1-3) act command: {'command': 'vtysh -c "config" \\\n-c "router bgp 100" \\\n-c "neighbor 10.1.1.2 route-map SET-MED out" \\\n-c "end" \\\n-c "clear ip bgp 10.1.1.2 soft out"\n'}
expect values: []
not expect values: []
23:25:17 test_sonic.run_scenario                  L0244 INFO   | 
execute command result:


23:25:17 test_sonic.run_scenario                  L0245 INFO   | 
expect value in result:
[]
23:25:17 test_sonic.run_scenario                  L0272 INFO   | The expected value is included in the printed result.
output:


23:25:17 test_sonic.run_scenario                  L0169 INFO   | 
step 1-1) sub scenario name: Set neighbor route-map
node name: R-3
23:25:17 test_sonic.run_scenario                  L0218 INFO   | 
step 1-2) sub scenario actions: [{'command': 'vtysh -c "config" \\\n-c "router bgp 100" \\\n-c "neighbor 10.1.3.1 route-map SET-MED out" \\\n-c "end" \\\n-c "clear ip bgp 10.1.3.1 soft out"\n'}]
sub scenario expect mode: and
sub scenario expect values: [[]]
sub scenario not expect values: [[]]
sub scenario retries: 5
sub scenario delay: 1
23:25:17 test_sonic.run_scenario                  L0224 INFO   | 
step 1-3) act command: {'command': 'vtysh -c "config" \\\n-c "router bgp 100" \\\n-c "neighbor 10.1.3.1 route-map SET-MED out" \\\n-c "end" \\\n-c "clear ip bgp 10.1.3.1 soft out"\n'}
expect values: []
not expect values: []
23:25:23 test_sonic.run_scenario                  L0244 INFO   | 
execute command result:


23:25:23 test_sonic.run_scenario                  L0245 INFO   | 
expect value in result:
[]
23:25:23 test_sonic.run_scenario                  L0272 INFO   | The expected value is included in the printed result.
output:


23:25:23 test_sonic.run_scenario                  L0169 INFO   | 
step 1-1) sub scenario name: Verification neighbor route-map
node name: R-2
23:25:23 test_sonic.run_scenario                  L0218 INFO   | 
step 1-2) sub scenario actions: [{'command': 'vtysh -c "show ip bgp"'}]
sub scenario expect mode: and
sub scenario expect values: [['10.1.3.2 50 0 100 i', '10.1.1.1 100 0 100 i']]
sub scenario not expect values: [[]]
sub scenario retries: 10
sub scenario delay: 10
23:25:23 test_sonic.run_scenario                  L0224 INFO   | 
step 1-3) act command: {'command': 'vtysh -c "show ip bgp"'}
expect values: ['10.1.3.2 50 0 100 i', '10.1.1.1 100 0 100 i']
not expect values: []
23:25:28 test_sonic.run_scenario                  L0244 INFO   | 
execute command result:
BGP table version is 4, local router ID is 10.250.0.52, vrf id 0
Default local pref 100, local AS 200
Status codes:  s suppressed, d damped, h history, u unsorted, * valid, > best, = multipath,
               i internal, r RIB-failure, S Stale, R Removed
Nexthop codes: @NNN nexthop's vrf id, < announce-nh-self
Origin codes:  i - IGP, e - EGP, ? - incomplete
RPKI validation codes: V valid, I invalid, N Not found

     Network          Next Hop            Metric LocPrf Weight Path
 *>  10.1.1.8/30      10.1.3.2                50             0 100 i
 *                    10.1.1.1               100             0 100 i

Displayed 1 routes and 2 total paths

23:25:28 test_sonic.run_scenario                  L0245 INFO   | 
expect value in result:
['10.1.3.2 50 0 100 i', '10.1.1.1 100 0 100 i']
23:25:28 test_sonic.run_scenario                  L0272 INFO   | The expected value is included in the printed result.
output:
BGP table version is 4, local router ID is 10.250.0.52, vrf id 0
Default local pref 100, local AS 200
Status codes:  s suppressed, d damped, h history, u unsorted, * valid, > best, = multipath,
               i internal, r RIB-failure, S Stale, R Removed
Nexthop codes: @NNN nexthop's vrf id, < announce-nh-self
Origin codes:  i - IGP, e - EGP, ? - incomplete
RPKI validation codes: V valid, I invalid, N Not found

     Network          Next Hop            Metric LocPrf Weight Path
 *>  10.1.1.8/30      10.1.3.2                50             0 100 i
 *                    10.1.1.1               100             0 100 i

Displayed 1 routes and 2 total paths

23:25:28 test_sonic.run_scenario                  L0169 INFO   | 
step 1-1) sub scenario name: Verification neighbor route-map
node name: R-2
23:25:28 test_sonic.run_scenario                  L0218 INFO   | 
step 1-2) sub scenario actions: [{'command': 'vtysh -c "show ip route"'}]
sub scenario expect mode: and
sub scenario expect values: [['B>* 10.1.1.8/30 [20/50] via 10.1.3.2, Ethernet12']]
sub scenario not expect values: [[]]
sub scenario retries: 10
sub scenario delay: 10
23:25:28 test_sonic.run_scenario                  L0224 INFO   | 
step 1-3) act command: {'command': 'vtysh -c "show ip route"'}
expect values: ['B>* 10.1.1.8/30 [20/50] via 10.1.3.2, Ethernet12']
not expect values: []
23:25:34 test_sonic.run_scenario                  L0244 INFO   | 
execute command result:
Codes: K - kernel route, C - connected, L - local, S - static,
       R - RIP, O - OSPF, I - IS-IS, B - BGP, E - EIGRP, N - NHRP,
       T - Table, v - VNC, V - VNC-Direct, A - Babel, F - PBR,
       f - OpenFabric, t - Table-Direct,
       > - selected route, * - FIB route, q - queued, r - rejected, b - backup
       t - trapped, o - offload failure

IPv4 unicast VRF default:
C>* 10.1.1.0/30 is directly connected, Ethernet4, weight 1, 00:03:08
K   10.1.1.0/30 [0/0] is directly connected, Ethernet4, weight 1, 00:03:08
C>* 10.1.1.4/30 is directly connected, Ethernet8, weight 1, 00:03:02
B>* 10.1.1.8/30 [20/50] via 10.1.3.2, Ethernet12, weight 1, 00:00:11
C>* 10.1.3.0/24 is directly connected, Ethernet12, weight 1, 00:02:56
C>* 10.20.0.0/24 is directly connected, Ethernet16, weight 1, 00:02:51
K   10.20.0.0/24 [0/0] is directly connected, Ethernet16, weight 1, 00:02:51
C>* 10.20.1.0/24 is directly connected, Ethernet20, weight 1, 00:02:45
K   10.20.1.0/24 [0/0] is directly connected, Ethernet20, weight 1, 00:02:45
C>* 10.250.0.0/24 is directly connected, eth0, weight 1, 00:10:34
K   240.127.1.0/24 [0/0] is directly connected, docker0 inactive linkdown, weight 1, 00:10:34

23:25:34 test_sonic.run_scenario                  L0245 INFO   | 
expect value in result:
['B>* 10.1.1.8/30 [20/50] via 10.1.3.2, Ethernet12']
23:25:34 test_sonic.run_scenario                  L0272 INFO   | The expected value is included in the printed result.
output:
Codes: K - kernel route, C - connected, L - local, S - static,
       R - RIP, O - OSPF, I - IS-IS, B - BGP, E - EIGRP, N - NHRP,
       T - Table, v - VNC, V - VNC-Direct, A - Babel, F - PBR,
       f - OpenFabric, t - Table-Direct,
       > - selected route, * - FIB route, q - queued, r - rejected, b - backup
       t - trapped, o - offload failure

IPv4 unicast VRF default:
C>* 10.1.1.0/30 is directly connected, Ethernet4, weight 1, 00:03:08
K   10.1.1.0/30 [0/0] is directly connected, Ethernet4, weight 1, 00:03:08
C>* 10.1.1.4/30 is directly connected, Ethernet8, weight 1, 00:03:02
B>* 10.1.1.8/30 [20/50] via 10.1.3.2, Ethernet12, weight 1, 00:00:11
C>* 10.1.3.0/24 is directly connected, Ethernet12, weight 1, 00:02:56
C>* 10.20.0.0/24 is directly connected, Ethernet16, weight 1, 00:02:51
K   10.20.0.0/24 [0/0] is directly connected, Ethernet16, weight 1, 00:02:51
C>* 10.20.1.0/24 is directly connected, Ethernet20, weight 1, 00:02:45
K   10.20.1.0/24 [0/0] is directly connected, Ethernet20, weight 1, 00:02:45
C>* 10.250.0.0/24 is directly connected, eth0, weight 1, 00:10:34
K   240.127.1.0/24 [0/0] is directly connected, docker0 inactive linkdown, weight 1, 00:10:34

23:25:34 test_sonic.run_scenario                  L0169 INFO   | 
step 1-1) sub scenario name: Delete neighbor route-map
node name: R-1
23:25:34 test_sonic.run_scenario                  L0218 INFO   | 
step 1-2) sub scenario actions: [{'command': 'vtysh -c "config" \\\n-c "router bgp 100" \\\n-c "no neighbor 10.1.1.2 route-map SET-MED out" \\\n-c "end" \\\n-c "clear ip bgp 10.1.1.2 soft out"\n'}]
sub scenario expect mode: and
sub scenario expect values: [[]]
sub scenario not expect values: [[]]
sub scenario retries: 5
sub scenario delay: 1
23:25:34 test_sonic.run_scenario                  L0224 INFO   | 
step 1-3) act command: {'command': 'vtysh -c "config" \\\n-c "router bgp 100" \\\n-c "no neighbor 10.1.1.2 route-map SET-MED out" \\\n-c "end" \\\n-c "clear ip bgp 10.1.1.2 soft out"\n'}
expect values: []
not expect values: []
23:25:39 test_sonic.run_scenario                  L0244 INFO   | 
execute command result:


23:25:39 test_sonic.run_scenario                  L0245 INFO   | 
expect value in result:
[]
23:25:39 test_sonic.run_scenario                  L0272 INFO   | The expected value is included in the printed result.
output:


23:25:39 test_sonic.run_scenario                  L0169 INFO   | 
step 1-1) sub scenario name: Delete neighbor route-map
node name: R-3
23:25:39 test_sonic.run_scenario                  L0218 INFO   | 
step 1-2) sub scenario actions: [{'command': 'vtysh -c "config" \\\n-c "router bgp 100" \\\n-c "no neighbor 10.1.3.1 route-map SET-MED out" \\\n-c "end" \\\n-c "clear ip bgp 10.1.3.1 soft out"\n'}]
sub scenario expect mode: and
sub scenario expect values: [[]]
sub scenario not expect values: [[]]
sub scenario retries: 5
sub scenario delay: 1
23:25:39 test_sonic.run_scenario                  L0224 INFO   | 
step 1-3) act command: {'command': 'vtysh -c "config" \\\n-c "router bgp 100" \\\n-c "no neighbor 10.1.3.1 route-map SET-MED out" \\\n-c "end" \\\n-c "clear ip bgp 10.1.3.1 soft out"\n'}
expect values: []
not expect values: []
23:25:45 test_sonic.run_scenario                  L0244 INFO   | 
execute command result:


23:25:45 test_sonic.run_scenario                  L0245 INFO   | 
expect value in result:
[]
23:25:45 test_sonic.run_scenario                  L0272 INFO   | The expected value is included in the printed result.
output:


23:25:45 test_sonic.run_scenario                  L0169 INFO   | 
step 1-1) sub scenario name: Delete route-map
node name: R-1
23:25:45 test_sonic.run_scenario                  L0218 INFO   | 
step 1-2) sub scenario actions: [{'command': 'vtysh -c "config" \\\n-c "no route-map SET-MED permit 10" \\\n-c "end"\n'}]
sub scenario expect mode: and
sub scenario expect values: [[]]
sub scenario not expect values: [[]]
sub scenario retries: 5
sub scenario delay: 1
23:25:45 test_sonic.run_scenario                  L0224 INFO   | 
step 1-3) act command: {'command': 'vtysh -c "config" \\\n-c "no route-map SET-MED permit 10" \\\n-c "end"\n'}
expect values: []
not expect values: []
23:25:50 test_sonic.run_scenario                  L0244 INFO   | 
execute command result:


23:25:50 test_sonic.run_scenario                  L0245 INFO   | 
expect value in result:
[]
23:25:50 test_sonic.run_scenario                  L0272 INFO   | The expected value is included in the printed result.
output:


23:25:50 test_sonic.run_scenario                  L0169 INFO   | 
step 1-1) sub scenario name: Delete route-map
node name: R-3
23:25:50 test_sonic.run_scenario                  L0218 INFO   | 
step 1-2) sub scenario actions: [{'command': 'vtysh -c "config" \\\n-c "no route-map SET-MED permit 10" \\\n-c "end"\n'}]
sub scenario expect mode: and
sub scenario expect values: [[]]
sub scenario not expect values: [[]]
sub scenario retries: 5
sub scenario delay: 1
23:25:50 test_sonic.run_scenario                  L0224 INFO   | 
step 1-3) act command: {'command': 'vtysh -c "config" \\\n-c "no route-map SET-MED permit 10" \\\n-c "end"\n'}
expect values: []
not expect values: []
23:25:55 test_sonic.run_scenario                  L0244 INFO   | 
execute command result:


23:25:55 test_sonic.run_scenario                  L0245 INFO   | 
expect value in result:
[]
23:25:55 test_sonic.run_scenario                  L0272 INFO   | The expected value is included in the printed result.
output:


23:25:55 test_sonic.run_scenario                  L0169 INFO   | 
step 1-1) sub scenario name: Verification default
node name: R-2
23:25:55 test_sonic.run_scenario                  L0218 INFO   | 
step 1-2) sub scenario actions: [{'command': 'vtysh -c "show ip bgp"'}]
sub scenario expect mode: and
sub scenario expect values: [['10.1.1.1 0 0 100 i', '10.1.3.2 0 0 100 i']]
sub scenario not expect values: [[]]
sub scenario retries: 10
sub scenario delay: 10
23:25:55 test_sonic.run_scenario                  L0224 INFO   | 
step 1-3) act command: {'command': 'vtysh -c "show ip bgp"'}
expect values: ['10.1.1.1 0 0 100 i', '10.1.3.2 0 0 100 i']
not expect values: []
23:26:01 test_sonic.run_scenario                  L0244 INFO   | 
execute command result:
No BGP prefixes displayed, 0 exist

23:26:01 test_sonic.run_scenario                  L0245 INFO   | 
expect value in result:
['10.1.1.1 0 0 100 i', '10.1.3.2 0 0 100 i']
23:26:01 test_sonic.run_scenario                  L0287 INFO   | Contidion not met. Retrying in 10 seconds...((1/10 attempts)
23:26:16 test_sonic.run_scenario                  L0244 INFO   | 
execute command result:
No BGP prefixes displayed, 0 exist

23:26:16 test_sonic.run_scenario                  L0245 INFO   | 
expect value in result:
['10.1.1.1 0 0 100 i', '10.1.3.2 0 0 100 i']
23:26:16 test_sonic.run_scenario                  L0287 INFO   | Contidion not met. Retrying in 10 seconds...((2/10 attempts)
23:26:32 test_sonic.run_scenario                  L0244 INFO   | 
execute command result:
No BGP prefixes displayed, 0 exist

23:26:32 test_sonic.run_scenario                  L0245 INFO   | 
expect value in result:
['10.1.1.1 0 0 100 i', '10.1.3.2 0 0 100 i']
23:26:32 test_sonic.run_scenario                  L0287 INFO   | Contidion not met. Retrying in 10 seconds...((3/10 attempts)
23:26:47 test_sonic.run_scenario                  L0244 INFO   | 
execute command result:
No BGP prefixes displayed, 0 exist

23:26:47 test_sonic.run_scenario                  L0245 INFO   | 
expect value in result:
['10.1.1.1 0 0 100 i', '10.1.3.2 0 0 100 i']
23:26:47 test_sonic.run_scenario                  L0287 INFO   | Contidion not met. Retrying in 10 seconds...((4/10 attempts)
23:27:03 test_sonic.run_scenario                  L0244 INFO   | 
execute command result:
No BGP prefixes displayed, 0 exist

23:27:03 test_sonic.run_scenario                  L0245 INFO   | 
expect value in result:
['10.1.1.1 0 0 100 i', '10.1.3.2 0 0 100 i']
23:27:03 test_sonic.run_scenario                  L0287 INFO   | Contidion not met. Retrying in 10 seconds...((5/10 attempts)
23:27:18 test_sonic.run_scenario                  L0244 INFO   | 
execute command result:
No BGP prefixes displayed, 0 exist

23:27:18 test_sonic.run_scenario                  L0245 INFO   | 
expect value in result:
['10.1.1.1 0 0 100 i', '10.1.3.2 0 0 100 i']
23:27:18 test_sonic.run_scenario                  L0287 INFO   | Contidion not met. Retrying in 10 seconds...((6/10 attempts)
23:27:34 test_sonic.run_scenario                  L0244 INFO   | 
execute command result:
No BGP prefixes displayed, 0 exist

23:27:34 test_sonic.run_scenario                  L0245 INFO   | 
expect value in result:
['10.1.1.1 0 0 100 i', '10.1.3.2 0 0 100 i']
23:27:34 test_sonic.run_scenario                  L0287 INFO   | Contidion not met. Retrying in 10 seconds...((7/10 attempts)
23:27:49 test_sonic.run_scenario                  L0244 INFO   | 
execute command result:
No BGP prefixes displayed, 0 exist

23:27:49 test_sonic.run_scenario                  L0245 INFO   | 
expect value in result:
['10.1.1.1 0 0 100 i', '10.1.3.2 0 0 100 i']
23:27:49 test_sonic.run_scenario                  L0287 INFO   | Contidion not met. Retrying in 10 seconds...((8/10 attempts)
23:28:05 test_sonic.run_scenario                  L0244 INFO   | 
execute command result:
No BGP prefixes displayed, 0 exist

23:28:05 test_sonic.run_scenario                  L0245 INFO   | 
expect value in result:
['10.1.1.1 0 0 100 i', '10.1.3.2 0 0 100 i']
23:28:05 test_sonic.run_scenario                  L0287 INFO   | Contidion not met. Retrying in 10 seconds...((9/10 attempts)
23:28:20 test_sonic.run_scenario                  L0244 INFO   | 
execute command result:
No BGP prefixes displayed, 0 exist

23:28:20 test_sonic.run_scenario                  L0245 INFO   | 
expect value in result:
['10.1.1.1 0 0 100 i', '10.1.3.2 0 0 100 i']
23:28:20 test_sonic.run_scenario                  L0287 INFO   | Contidion not met. Retrying in 10 seconds...((10/10 attempts)
23:28:30 test_sonic.run_scenario                  L0292 ERROR  | Test failed after 10 retries for command: vtysh -c "show ip bgp"
23:28:30 test_sonic.run_scenario                  L0293 ERROR  | Final output was:
No BGP prefixes displayed, 0 exist

ERROR:root:Traceback (most recent call last):
  File "/usr/local/lib/python3.8/dist-packages/_pytest/python.py", line 1788, in runtest
    self.ihook.pytest_pyfunc_call(pyfuncitem=self)
  File "/usr/local/lib/python3.8/dist-packages/pluggy/_hooks.py", line 513, in __call__
    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)
  File "/usr/local/lib/python3.8/dist-packages/pluggy/_manager.py", line 120, in _hookexec
    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)
  File "/usr/local/lib/python3.8/dist-packages/pluggy/_callers.py", line 139, in _multicall
    raise exception.with_traceback(exception.__traceback__)
  File "/usr/local/lib/python3.8/dist-packages/pluggy/_callers.py", line 103, in _multicall
    res = hook_impl.function(*args)
  File "/usr/local/lib/python3.8/dist-packages/_pytest/python.py", line 194, in pytest_pyfunc_call
    result = testfunction(**testargs)
  File "/data/NetAutoTestFW/tests/test_sonic/test_sonic.py", line 413, in test_scenario
    run_scenario(duthosts, ubuntus, vmhost, parse_scenario, record_property, reload_config, sonicHostname, sonic_ssh_prompt, ubuntuHostname, ubuntu_ssh_prompt)
  File "/data/NetAutoTestFW/tests/test_sonic/test_sonic.py", line 294, in run_scenario
    assert False, error_message
AssertionError: Test failed after 10 retries for command: vtysh -c "show ip bgp"

23:28:30 __init__.pytest_runtest_call             L0040 ERROR  | Traceback (most recent call last):
  File "/usr/local/lib/python3.8/dist-packages/_pytest/python.py", line 1788, in runtest
    self.ihook.pytest_pyfunc_call(pyfuncitem=self)
  File "/usr/local/lib/python3.8/dist-packages/pluggy/_hooks.py", line 513, in __call__
    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)
  File "/usr/local/lib/python3.8/dist-packages/pluggy/_manager.py", line 120, in _hookexec
    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)
  File "/usr/local/lib/python3.8/dist-packages/pluggy/_callers.py", line 139, in _multicall
    raise exception.with_traceback(exception.__traceback__)
  File "/usr/local/lib/python3.8/dist-packages/pluggy/_callers.py", line 103, in _multicall
    res = hook_impl.function(*args)
  File "/usr/local/lib/python3.8/dist-packages/_pytest/python.py", line 194, in pytest_pyfunc_call
    result = testfunction(**testargs)
  File "/data/NetAutoTestFW/tests/test_sonic/test_sonic.py", line 413, in test_scenario
    run_scenario(duthosts, ubuntus, vmhost, parse_scenario, record_property, reload_config, sonicHostname, sonic_ssh_prompt, ubuntuHostname, ubuntu_ssh_prompt)
  File "/data/NetAutoTestFW/tests/test_sonic/test_sonic.py", line 294, in run_scenario
    assert False, error_message
AssertionError: Test failed after 10 retries for command: vtysh -c "show ip bgp"

FAILEDINFO:SectionStartLogger:==================== test_sonic/test_sonic.py::test_scenario teardown ====================

        TEARDOWN F record_property
------------------------------ live log teardown -------------------------------
23:28:30 __init__.loganalyzer                     L0074 INFO   | Starting to analyse on all SONiC Devices
23:28:35 parallel.on_terminate                    L0085 INFO   | process analyze_logs-- terminated with exit code None
23:28:35 parallel.on_terminate                    L0085 INFO   | process analyze_logs-- terminated with exit code None
23:28:35 parallel.on_terminate                    L0085 INFO   | process analyze_logs-- terminated with exit code None
23:28:36 parallel.on_terminate                    L0085 INFO   | process analyze_logs-- terminated with exit code None
23:28:36 parallel.parallel_run                    L0221 INFO   | Completed running processes for target "analyze_logs" in 0:00:05.342070 seconds

        TEARDOWN F loganalyzer
    TEARDOWN M ubuntu_paramiko_ssh
    TEARDOWN M sonic_paramiko_ssh23:28:36 config_reload.config_reload              L0144 INFO   | reloading config_db
23:29:59 processes_utils.wait_critical_processes  L0076 INFO   | Wait until all critical processes are healthy in 300 sec
23:29:59 processes_utils._all_critical_processes_ L0045 INFO   | Check critical processes status
23:30:03 config_reload.config_reload              L0144 INFO   | reloading config_db
23:31:25 processes_utils.wait_critical_processes  L0076 INFO   | Wait until all critical processes are healthy in 300 sec
23:31:25 processes_utils._all_critical_processes_ L0045 INFO   | Check critical processes status
23:31:29 processes_utils.get_critical_processes_s L0035 INFO   | The status of checking process in container 'snmp' is: False
23:31:29 processes_utils.get_critical_processes_s L0037 INFO   | The processes not running in container 'snmp' are: '['snmp-subagent']'
23:31:49 processes_utils._all_critical_processes_ L0045 INFO   | Check critical processes status
23:31:53 config_reload.config_reload              L0144 INFO   | reloading config_db
23:33:14 processes_utils.wait_critical_processes  L0076 INFO   | Wait until all critical processes are healthy in 300 sec
23:33:14 processes_utils._all_critical_processes_ L0045 INFO   | Check critical processes status
23:33:18 processes_utils.get_critical_processes_s L0035 INFO   | The status of checking process in container 'snmp' is: False
23:33:18 processes_utils.get_critical_processes_s L0037 INFO   | The processes not running in container 'snmp' are: '['snmp-subagent']'
23:33:38 processes_utils._all_critical_processes_ L0045 INFO   | Check critical processes status
23:33:43 config_reload.config_reload              L0144 INFO   | reloading config_db
23:35:05 processes_utils.wait_critical_processes  L0076 INFO   | Wait until all critical processes are healthy in 300 sec
23:35:05 processes_utils._all_critical_processes_ L0045 INFO   | Check critical processes status
23:35:09 processes_utils.get_critical_processes_s L0035 INFO   | The status of checking process in container 'snmp' is: False
23:35:09 processes_utils.get_critical_processes_s L0037 INFO   | The processes not running in container 'snmp' are: '['snmp-subagent']'
23:35:29 processes_utils._all_critical_processes_ L0045 INFO   | Check critical processes status

    TEARDOWN M reload_config23:35:43 conftest.setup_trex_daemons              L0465 INFO   | [Teardown] Test finished. TRex daemon stopped: set()

    TEARDOWN M setup_trex_daemons
    TEARDOWN M parse_scenario23:35:43 conftest.core_dump_and_config_check      L0636 INFO   | Dumping Disk and Memory Space informataion after test on R-1
23:35:44 conftest.core_dump_and_config_check      L0640 INFO   | Collecting core dumps after test on R-1
23:35:44 conftest.core_dump_and_config_check      L0658 INFO   | Collecting running config after test on R-1
23:35:45 conftest.core_dump_and_config_check      L0636 INFO   | Dumping Disk and Memory Space informataion after test on R-2
23:35:46 conftest.core_dump_and_config_check      L0640 INFO   | Collecting core dumps after test on R-2
23:35:46 conftest.core_dump_and_config_check      L0658 INFO   | Collecting running config after test on R-2
23:35:46 conftest.core_dump_and_config_check      L0636 INFO   | Dumping Disk and Memory Space informataion after test on R-3
23:35:47 conftest.core_dump_and_config_check      L0640 INFO   | Collecting core dumps after test on R-3
23:35:48 conftest.core_dump_and_config_check      L0658 INFO   | Collecting running config after test on R-3
23:35:48 conftest.core_dump_and_config_check      L0636 INFO   | Dumping Disk and Memory Space informataion after test on R-4
23:35:49 conftest.core_dump_and_config_check      L0640 INFO   | Collecting core dumps after test on R-4
23:35:49 conftest.core_dump_and_config_check      L0658 INFO   | Collecting running config after test on R-4
23:35:50 conftest.core_dump_and_config_check      L0796 INFO   | Core dump and config check passed for test_sonic/test_sonic.py

    TEARDOWN M core_dump_and_config_check
    TEARDOWN M sanity_check
TEARDOWN S parallel_run_context
TEARDOWN S vmhost
TEARDOWN S tag_test_report
TEARDOWN S record_testsuite_property
TEARDOWN S ubuntus
TEARDOWN S pytestconfig
TEARDOWN S add_mgmt_test_mark
TEARDOWN S duthosts
TEARDOWN S ansible_adhoc
TEARDOWN S enhance_inventory
TEARDOWN S tbinfoDEBUG:tests.conftest:[log_custom_msg] item: 


=================================== FAILURES ===================================
________________________________ test_scenario _________________________________

duthosts = [, , , ]
ubuntus = []
vmhost = 
parse_scenario = 
record_property = .append_property at 0x72c1a09b4ee0>
reload_config = None
sonic_paramiko_ssh = (['R-1', 'R-2', 'R-3', 'R-4'], ['Linux R-1 6.1.0-29-2-amd64 #1 SMP PREEMPT_DYNAMIC Debian 6.1.123-1 (2025-01-02) x86_6...   https://sonic-net.github.io/SONiC/\r\n\r\nLast login: Mon Sep 21 23:04:21 2026 from 10.250.0.1\r\r\nadmin@R-4:~$ '])
ubuntu_paramiko_ssh = ([], [])

    def test_scenario(duthosts, ubuntus, vmhost, parse_scenario, record_property, reload_config, sonic_paramiko_ssh, ubuntu_paramiko_ssh):
        sonicHostname, sonic_ssh_prompt = sonic_paramiko_ssh
        ubuntuHostname, ubuntu_ssh_prompt = ubuntu_paramiko_ssh
>       run_scenario(duthosts, ubuntus, vmhost, parse_scenario, record_property, reload_config, sonicHostname, sonic_ssh_prompt, ubuntuHostname, ubuntu_ssh_prompt)

duthosts   = [, , , ]
parse_scenario = 
record_property = .append_property at 0x72c1a09b4ee0>
reload_config = None
sonicHostname = ['R-1', 'R-2', 'R-3', 'R-4']
sonic_paramiko_ssh = (['R-1', 'R-2', 'R-3', 'R-4'],
 ['Linux R-1 6.1.0-29-2-amd64 #1 SMP PREEMPT_DYNAMIC Debian 6.1.123-1 '
  '(2025-01-02) x86_64\r\n'
  'You are on\r\n'
  '  ____   ___  _   _ _  ____\r\n'
  ' / ___| / _ \\| \\ | (_)/ ___|\r\n'
  ' \\___ \\| | | |  \\| | | |\r\n'
  '  ___) | |_| | |\\  | | |___\r\n'
  ' |____/ \\___/|_| \\_|_|\\____|\r\n'
  '\r\n'
  '-- Software for Open Networking in the Cloud --\r\n'
  '\r\n'
  'Unauthorized access and/or use are prohibited.\r\n'
  'All access and/or use are subject to monitoring.\r\n'
  '\r\n'
  'Help:    https://sonic-net.github.io/SONiC/\r\n'
  '\r\n'
  'Last login: Mon Sep 21 23:04:16 2026 from 10.250.0.1\r'
  '\r\n'
  'admin@R-1:~$ ',
  'Linux R-2 6.1.0-29-2-amd64 #1 SMP PREEMPT_DYNAMIC Debian 6.1.123-1 '
  '(2025-01-02) x86_64\r\n'
  'You are on\r\n'
  '  ____   ___  _   _ _  ____\r\n'
  ' / ___| / _ \\| \\ | (_)/ ___|\r\n'
  ' \\___ \\| | | |  \\| | | |\r\n'
  '  ___) | |_| | |\\  | | |___\r\n'
  ' |____/ \\___/|_| \\_|_|\\____|\r\n'
  '\r\n'
  '-- Software for Open Networking in the Cloud --\r\n'
  '\r\n'
  'Unauthorized access and/or use are prohibited.\r\n'
  'All access and/or use are subject to monitoring.\r\n'
  '\r\n'
  'Help:    https://sonic-net.github.io/SONiC/\r\n'
  '\r\n'
  'Last login: Mon Sep 21 23:04:18 2026 from 10.250.0.1\r'
  '\r\n'
  'admin@R-2:~$ ',
  'Linux R-3 6.1.0-29-2-amd64 #1 SMP PREEMPT_DYNAMIC Debian 6.1.123-1 '
  '(2025-01-02) x86_64\r\n'
  'You are on\r\n'
  '  ____   ___  _   _ _  ____\r\n'
  ' / ___| / _ \\| \\ | (_)/ ___|\r\n'
  ' \\___ \\| | | |  \\| | | |\r\n'
  '  ___) | |_| | |\\  | | |___\r\n'
  ' |____/ \\___/|_| \\_|_|\\____|\r\n'
  '\r\n'
  '-- Software for Open Networking in the Cloud --\r\n'
  '\r\n'
  'Unauthorized access and/or use are prohibited.\r\n'
  'All access and/or use are subject to monitoring.\r\n'
  '\r\n'
  'Help:    https://sonic-net.github.io/SONiC/\r\n'
  '\r\n'
  'Last login: Mon Sep 21 23:04:20 2026 from 10.250.0.1\r'
  '\r\n'
  'admin@R-3:~$ ',
  'Linux R-4 6.1.0-29-2-amd64 #1 SMP PREEMPT_DYNAMIC Debian 6.1.123-1 '
  '(2025-01-02) x86_64\r\n'
  'You are on\r\n'
  '  ____   ___  _   _ _  ____\r\n'
  ' / ___| / _ \\| \\ | (_)/ ___|\r\n'
  ' \\___ \\| | | |  \\| | | |\r\n'
  '  ___) | |_| | |\\  | | |___\r\n'
  ' |____/ \\___/|_| \\_|_|\\____|\r\n'
  '\r\n'
  '-- Software for Open Networking in the Cloud --\r\n'
  '\r\n'
  'Unauthorized access and/or use are prohibited.\r\n'
  'All access and/or use are subject to monitoring.\r\n'
  '\r\n'
  'Help:    https://sonic-net.github.io/SONiC/\r\n'
  '\r\n'
  'Last login: Mon Sep 21 23:04:21 2026 from 10.250.0.1\r'
  '\r\n'
  'admin@R-4:~$ '])
sonic_ssh_prompt = ['Linux R-1 6.1.0-29-2-amd64 #1 SMP PREEMPT_DYNAMIC Debian 6.1.123-1 '
 '(2025-01-02) x86_64\r\n'
 'You are on\r\n'
 '  ____   ___  _   _ _  ____\r\n'
 ' / ___| / _ \\| \\ | (_)/ ___|\r\n'
 ' \\___ \\| | | |  \\| | | |\r\n'
 '  ___) | |_| | |\\  | | |___\r\n'
 ' |____/ \\___/|_| \\_|_|\\____|\r\n'
 '\r\n'
 '-- Software for Open Networking in the Cloud --\r\n'
 '\r\n'
 'Unauthorized access and/or use are prohibited.\r\n'
 'All access and/or use are subject to monitoring.\r\n'
 '\r\n'
 'Help:    https://sonic-net.github.io/SONiC/\r\n'
 '\r\n'
 'Last login: Mon Sep 21 23:04:16 2026 from 10.250.0.1\r'
 '\r\n'
 'admin@R-1:~$ ',
 'Linux R-2 6.1.0-29-2-amd64 #1 SMP PREEMPT_DYNAMIC Debian 6.1.123-1 '
 '(2025-01-02) x86_64\r\n'
 'You are on\r\n'
 '  ____   ___  _   _ _  ____\r\n'
 ' / ___| / _ \\| \\ | (_)/ ___|\r\n'
 ' \\___ \\| | | |  \\| | | |\r\n'
 '  ___) | |_| | |\\  | | |___\r\n'
 ' |____/ \\___/|_| \\_|_|\\____|\r\n'
 '\r\n'
 '-- Software for Open Networking in the Cloud --\r\n'
 '\r\n'
 'Unauthorized access and/or use are prohibited.\r\n'
 'All access and/or use are subject to monitoring.\r\n'
 '\r\n'
 'Help:    https://sonic-net.github.io/SONiC/\r\n'
 '\r\n'
 'Last login: Mon Sep 21 23:04:18 2026 from 10.250.0.1\r'
 '\r\n'
 'admin@R-2:~$ ',
 'Linux R-3 6.1.0-29-2-amd64 #1 SMP PREEMPT_DYNAMIC Debian 6.1.123-1 '
 '(2025-01-02) x86_64\r\n'
 'You are on\r\n'
 '  ____   ___  _   _ _  ____\r\n'
 ' / ___| / _ \\| \\ | (_)/ ___|\r\n'
 ' \\___ \\| | | |  \\| | | |\r\n'
 '  ___) | |_| | |\\  | | |___\r\n'
 ' |____/ \\___/|_| \\_|_|\\____|\r\n'
 '\r\n'
 '-- Software for Open Networking in the Cloud --\r\n'
 '\r\n'
 'Unauthorized access and/or use are prohibited.\r\n'
 'All access and/or use are subject to monitoring.\r\n'
 '\r\n'
 'Help:    https://sonic-net.github.io/SONiC/\r\n'
 '\r\n'
 'Last login: Mon Sep 21 23:04:20 2026 from 10.250.0.1\r'
 '\r\n'
 'admin@R-3:~$ ',
 'Linux R-4 6.1.0-29-2-amd64 #1 SMP PREEMPT_DYNAMIC Debian 6.1.123-1 '
 '(2025-01-02) x86_64\r\n'
 'You are on\r\n'
 '  ____   ___  _   _ _  ____\r\n'
 ' / ___| / _ \\| \\ | (_)/ ___|\r\n'
 ' \\___ \\| | | |  \\| | | |\r\n'
 '  ___) | |_| | |\\  | | |___\r\n'
 ' |____/ \\___/|_| \\_|_|\\____|\r\n'
 '\r\n'
 '-- Software for Open Networking in the Cloud --\r\n'
 '\r\n'
 'Unauthorized access and/or use are prohibited.\r\n'
 'All access and/or use are subject to monitoring.\r\n'
 '\r\n'
 'Help:    https://sonic-net.github.io/SONiC/\r\n'
 '\r\n'
 'Last login: Mon Sep 21 23:04:21 2026 from 10.250.0.1\r'
 '\r\n'
 'admin@R-4:~$ ']
ubuntuHostname = []
ubuntu_paramiko_ssh = ([], [])
ubuntu_ssh_prompt = []
ubuntus    = []
vmhost     = 

test_sonic/test_sonic.py:413: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 

duthosts = [, , , ]
ubuntus = []
vmhost = 
parse_scenario = 
record_property = .append_property at 0x72c1a09b4ee0>
reload_config = None, sonicHostname = ['R-1', 'R-2', 'R-3', 'R-4']
sonic_ssh_prompt = ['Linux R-1 6.1.0-29-2-amd64 #1 SMP PREEMPT_DYNAMIC Debian 6.1.123-1 (2025-01-02) x86_64\r\nYou are on\r\n  ____   ___...    https://sonic-net.github.io/SONiC/\r\n\r\nLast login: Mon Sep 21 23:04:21 2026 from 10.250.0.1\r\r\nadmin@R-4:~$ ']
ubuntuHostname = [], ubuntu_ssh_prompt = []

    def run_scenario(duthosts, ubuntus, vmhost, parse_scenario, record_property, reload_config, sonicHostname, sonic_ssh_prompt, ubuntuHostname, ubuntu_ssh_prompt):
        duthost = duthosts
        ubuntu = ubuntus
        server = vmhost
    
        logger.info('test device hostname: {}'.format(duthost.hostname))
        logger.info('server hostname: {}'.format(server.hostname))
    
        # Parsing Scenario data
        scenario = parse_scenario
        logger.info('step 0) scenario_data:\n{}'.format(scenario))
    
        # This Section, parsed data save to variable for test
        for keys in scenario:
            scenario_name = keys['scenario_name']
            logger.info('\nstep 1) scenario name:{}'.format(scenario_name))
            record_property("Scenario_name","{}".format(scenario_name))
            for tasks in keys['steps']:
                sub_scenario_name = tasks['name']
                if scenario_name == "Print Topology Image":
                    topo_img_path = tasks['img_path']
                    topo_img_name = tasks['img_name']
                    sum_img_path = topo_img_path + '/' + topo_img_name
    
                    start_time = datetime.now().strftime('%H:%M:%S')
    
                    assert sum_img_path, record_property("Fail", "Fail")
    
                    record_property('Action', sub_scenario_name)
                    record_property('Session','caller')
                    record_property('Time Stamp',start_time)
                    record_property('Pass/Fail','Pass')
                    record_property('Parameter',topo_img_name)
                    record_property('Response',sum_img_path)
    
                elif scenario_name == "Session Check":
                    session_node_name = tasks['node']
                    logger.info('nodes: {}'.format(session_node_name))
    
    
                    device = sonicHostname + ubuntuHostname
                    ssh_prompt = sonic_ssh_prompt + ubuntu_ssh_prompt
    
                    for dev, ssh in zip(device, ssh_prompt):
                        if dev == session_node_name:
                            logger.info('step 1)\nHostname:\n{}\nnode name:\n{}'.format(dev, session_node_name))
                            logger.info('step 2)\nssh_prompt:\n{}'.format(ssh))
    
                            start_time = datetime.now().strftime('%H:%M:%S')
    
                            assert dev == session_node_name, record_property("Fail", "Fail")
                            logger.info('step 3)\n pass')
                            record_property("Action", sub_scenario_name)
                            record_property("Session","{}".format(dev))
                            record_property("Time Stamp",start_time)
                            record_property("Pass/Fail","Pass")
                            record_property("Parameter","None")
                            record_property("Response","{}".format(ssh))
    
                elif 'source' in tasks and 'packet' in tasks:
                    # Duck-typing: If a step has 'source' and 'packet', it is a Traffic Generation test
                    logger.info('\nstep 1) Traffic Generation test detected: {}'.format(sub_scenario_name))
                    start_time = datetime.now().strftime('%H:%M:%S')
                    execute_traffic_step(tasks, duthost, ubuntu)
    
                    # If it successfully returns without assertion failure, we record PASS
                    record_property("Action", sub_scenario_name)
                    record_property("Session", tasks['source']['node'])
                    record_property("Time Stamp", start_time)
                    record_property("Pass/Fail", "Pass")
                    record_property("Parameter", "Snappi TRex Traffic ({} pkts)".format(tasks['packet']['tx_packets']))
                    record_property("Response", "Traffic validation succeeded")
                    record_property("Judgement", "Success")
    
                else:
                    node_name = tasks['node']
                    logger.info('\nstep 1-1) sub scenario name: {}\nnode name: {}'.format(sub_scenario_name, node_name))
    
                    if 'template' in tasks:
                        import yaml
                        from jinja2 import Template
    
                        scenario_path = getattr(parse_scenario, 'scenario_filename', '')
                        if "bgp/"  in scenario_path or "bgp_policy/" in scenario_path:
                            ip_profile = "bgp_ip"
                        elif "ospf_routemap_redistribute/" in scenario_path:
                            ip_profile = "ospf_redist_ip"
                        else:
                            ip_profile = "common_ip"
    
                        if "vlan/" in scenario_path or "lacp/" in scenario_path or "ip/" in scenario_path:
                            start_daemons = False
                        else:
                            start_daemons = True
    
                        try:
                            with open("/data/NetAutoTestFW/ansible/vsonic_vtb", "r") as f:
                                vtb = yaml.safe_load(f)
                            ip_map = vtb['all']['children']['sonic_r']['vars'].get(ip_profile, {})
                            target_ips = ip_map.get(node_name, [])
                        except Exception as e:
                            logger.error(f"Failed to load IP profile from vsonic_vtb: {e}")
                            target_ips = []
    
                        template_path = tasks['template']
                        with open(f"/data/NetAutoTestFW/{template_path}", "r") as f:
                            template_content = f.read()
    
                        rendered = Template(template_content).render(ip_list=target_ips, start_daemons=start_daemons)
                        cmds = [cmd.strip() for cmd in rendered.strip().split('\n') if cmd.strip() and not cmd.strip().startswith('#')]
    
                        tasks['actions'] = [{'command': cmd} for cmd in cmds]
                        tasks['expect'] = {'mode': 'and', 'values': [[] for _ in cmds]}
                        tasks['not_expect'] = {'mode': 'and', 'values': [[] for _ in cmds]}
    
                    sub_scenario_actions = tasks['actions']
                    sub_scenario_expect = tasks.get('expect', {'mode': 'and', 'values': []})
                    sub_scenario_not_expect = tasks.get('not_expect', {'mode': 'and', 'values': []})
                    sub_scenario_retries = tasks.get('retries', 5)
                    sub_scenario_delay = tasks.get('delay', 1)
    
                    sub_sce_exp_mode = sub_scenario_expect.get('mode', 'and')
                    sub_sce_exp_values = sub_scenario_expect.get('values', [])
                    sub_sce_not_exp_values = sub_scenario_not_expect.get('values', [])
    
                    logger.info('\nstep 1-2) sub scenario actions: {}\nsub scenario expect mode: {}\nsub scenario expect values: {}\nsub scenario not expect values: {}\nsub scenario retries: {}\nsub scenario delay: {}'.format(sub_scenario_actions, sub_sce_exp_mode, sub_sce_exp_values, sub_sce_not_exp_values, sub_scenario_retries, sub_scenario_delay))
    
                    # This Section, command execute to SONiC Test Device
                    for dut in duthost:
                        if node_name == dut.hostname:
                            for act_command, expect_values, not_expect_values in zip(sub_scenario_actions, sub_sce_exp_values, sub_sce_not_exp_values):
                                logger.info('\nstep 1-3) act command: {}\nexpect values: {}\nnot expect values: {}'.format(act_command, expect_values, not_expect_values))
    
                                single_command = act_command.get('command')
                                timestamps = datetime.now().strftime('%H:%M:%S')
                                contain_str = '\n'.join("contain string:    {}".format(v) for v in expect_values)
                                not_contain_str = '\n'.join("not contain string:    {}".format(n) for n in not_expect_values)
    
                                # trace success function
                                trace_success = False
                                output = ""
    
                                # This Section, repeat until the output contains the intended value.
                                for attempt in range(sub_scenario_retries):
                                    execute_cmd = dut.shell(single_command, module_ignore_errors=True)
                                    time.sleep(5)
                                    stdout = execute_cmd.get('stdout', '')
                                    stderr = execute_cmd.get('stderr', '')
                                    output = stdout + '\n' + stderr
                                    nomalized_lines = [' '.join(line.split()) for line in output.splitlines()]
    
                                    logger.info('\nexecute command result:\n{}'.format(output))
                                    logger.info('\nexpect value in result:\n{}'.format(expect_values))
    
                                    import re
                                    if 'neighbor' in single_command and 'remote-as' in single_command:
                                        match = re.search(r'neighbor\s+([0-9\.]+)\s+remote-as', single_command)
                                        if match:
                                            neighbor_ip = match.group(1)
                                            logger.info(f"[{node_name}] Auto Ping Verification to neighbor: {neighbor_ip}")
                                            ping_result = dut.shell(f"ping {neighbor_ip} -c 3", module_ignore_errors=True)
                                            logger.info(f"[{node_name}] Ping result:\n{ping_result.get('stdout', '')}")
                                            if ping_result.get('rc', -1) != 0:
                                                logger.warning(f"[{node_name}] Ping failed to {neighbor_ip}")
    
                                    expect_ok = False
    
                                    if not expect_values:
                                        expect_ok = True
                                    elif sub_sce_exp_mode == "and":
                                        expect_ok = all(any(val in line for line in nomalized_lines) for val in expect_values)
                                    elif sub_sce_exp_mode == "or":
                                        expect_ok = any(any(val in line for line in nomalized_lines) for val in expect_values)
    
                                    not_expect_ok = not not_expect_values or all(all(val not in line for line in nomalized_lines) for val in not_expect_values)
    
                                    condition_met = expect_ok and not_expect_ok
    
                                    if condition_met:
                                        logger.info('The expected value is included in the printed result.\noutput:\n{}'.format(output))
    
                                        trace_success = True
    
                                        if isinstance(output, str) and output.strip():
                                            if not_expect_values == "":
                                                exist_only_expect_values(sub_scenario_name, node_name, timestamps, single_command, output, sub_sce_exp_mode, contain_str, record_property)
                                            elif not_expect_values != "" and expect_values == "":
                                                exist_only_not_expect_values(sub_scenario_name, node_name, timestamps, single_command, output, sub_sce_exp_mode, not_contain_str, record_property)
                                            elif not_expect_values != "" and expect_values != "":
                                                exist_not_expect_and_expect_values(sub_scenario_name, node_name, timestamps, single_command, output, sub_sce_exp_mode, contain_str, not_contain_str, record_property)
                                        else:
                                            empty_expect_and_not_expect_values(sub_scenario_name, node_name, timestamps, single_command, record_property)
                                        break
                                    else:
                                        logger.info('Contidion not met. Retrying in {} seconds...(({}/{} attempts)'.format(sub_scenario_delay, attempt + 1, sub_scenario_retries))
                                        time.sleep(sub_scenario_delay)
                                if not trace_success:
                                    # If generated AssertionError when test failed
                                    error_message = "Test failed after {} retries for command: {}".format(sub_scenario_retries, single_command)
                                    logger.error(error_message)
                                    logger.error("Final output was:\n{}".format(output))
>                                   assert False, error_message
E                                   AssertionError: Test failed after 10 retries for command: vtysh -c "show ip bgp"

Template   = 
act_command = {'command': 'vtysh -c "show ip bgp"'}
attempt    = 9
cmds       = ['docker exec -i bgp bash -c "/usr/lib/frr/ripd &"',
 'docker exec -i bgp bash -c "/usr/lib/frr/isisd &"',
 'docker exec -i bgp bash -c "/usr/lib/frr/ospfd &"',
 'sudo config interface ip add Ethernet4 10.1.4.1/24',
 'sudo config interface ip add Ethernet8 10.1.3.3/24',
 'sudo config interface ip add Ethernet12 10.40.0.1/24',
 'sudo config interface ip add Ethernet16 10.40.1.1/24']
condition_met = False
contain_str = 'contain string:    10.1.1.1 0 0 100 i\ncontain string:    10.1.3.2 0 0 100 i'
dev        = 'R-4'
device     = ['R-1', 'R-2', 'R-3', 'R-4']
dut        = 
duthost    = [, , , ]
duthosts   = [, , , ]
error_message = 'Test failed after 10 retries for command: vtysh -c "show ip bgp"'
execute_cmd = {'_ansible_no_log': None,
 'changed': True,
 'cmd': 'vtysh -c "show ip bgp"',
 'delta': '0:00:00.102505',
 'end': '2026-09-21 23:28:14.326902',
 'failed': False,
 'invocation': {'module_args': {'_raw_params': 'vtysh -c "show ip bgp"',
                                '_uses_shell': True,
                                'argv': None,
                                'chdir': None,
                                'creates': None,
                                'executable': None,
                                'removes': None,
                                'stdin': None,
                                'stdin_add_newline': True,
                                'strip_empty_ends': True,
                                'warn': False}},
 'msg': '',
 'rc': 0,
 'start': '2026-09-21 23:28:14.224397',
 'stderr': '',
 'stderr_lines': [],
 'stdout': 'No BGP prefixes displayed, 0 exist',
 'stdout_lines': ['No BGP prefixes displayed, 0 exist']}
expect_ok  = False
expect_values = ['10.1.1.1 0 0 100 i', '10.1.3.2 0 0 100 i']
f          = <_io.TextIOWrapper name='/data/NetAutoTestFW/tests/common/templates/common_setup.j2' mode='r' encoding='UTF-8'>
ip_map     = {'R-1': [{'intf': 'Ethernet4', 'ip': '10.1.1.1/30'},
         {'intf': 'Ethernet8', 'ip': '10.1.1.9/30'},
         {'intf': 'Ethernet12', 'ip': '10.1.1.5/30'},
         {'intf': 'Ethernet16', 'ip': '10.10.1.1/24'},
         {'intf': 'Ethernet20', 'ip': '10.10.2.1/24'}],
 'R-2': [{'intf': 'Ethernet4', 'ip': '10.1.1.2/30'},
         {'intf': 'Ethernet8', 'ip': '10.1.1.6/30'},
         {'intf': 'Ethernet12', 'ip': '10.1.3.1/24'},
         {'intf': 'Ethernet16', 'ip': '10.20.0.1/24'},
         {'intf': 'Ethernet20', 'ip': '10.20.1.1/24'}],
 'R-3': [{'intf': 'Ethernet0', 'ip': '10.1.1.10/30'},
         {'intf': 'Ethernet8', 'ip': '10.1.3.2/24'},
         {'intf': 'Ethernet12', 'ip': '10.30.0.1/24'},
         {'intf': 'Ethernet16', 'ip': '10.30.1.1/24'}],
 'R-4': [{'intf': 'Ethernet4', 'ip': '10.1.4.1/24'},
         {'intf': 'Ethernet8', 'ip': '10.1.3.3/24'},
         {'intf': 'Ethernet12', 'ip': '10.40.0.1/24'},
         {'intf': 'Ethernet16', 'ip': '10.40.1.1/24'}],
 'R-5': [{'intf': 'Ethernet0', 'ip': '10.1.4.2/24'},
         {'intf': 'Ethernet8', 'ip': '10.50.0.1/24'},
         {'intf': 'Ethernet12', 'ip': '10.50.1.1/24'}]}
ip_profile = 'bgp_ip'
keys       = {'scenario_name': 'MED Attribute Function',
 'steps': [{'actions': [{'command': 'vtysh -c "config" \\\n'
                                    '-c "route-map permit-all permit 10" \\\n'
                                    '-c "exit" \\\n'
                                    '-c "router bgp 100" \\\n'
                                    '-c "neighbor 10.1.1.2 remote-as 200" \\\n'
                                    '-c "neighbor 10.1.1.2 route-map '
                                    'permit-all in" \\\n'
                                    '-c "neighbor 10.1.1.2 route-map '
                                    'permit-all out" \\\n'
                                    '-c "neighbor 10.1.1.10 remote-as 100" \\\n'
                                    '-c "neighbor 10.1.1.10 route-map '
                                    'permit-all in" \\\n'
                                    '-c "neighbor 10.1.1.10 route-map '
                                    'permit-all out" \\\n'
                                    '-c "network 10.1.1.8/30" \\\n'
                                    '-c "do show running-config" \\\n'
                                    '-c "end"\n'}],
            'expect': {'mode': 'and', 'values': [[]]},
            'name': 'Default - Set Default',
            'node': 'R-1',
            'not_expect': {'values': [[]]}},
           {'actions': [{'command': 'vtysh -c "config" \\\n'
                                    '-c "route-map permit-all permit 10" \\\n'
                                    '-c "exit" \\\n'
                                    '-c "router bgp 200" \\\n'
                                    '-c "neighbor 10.1.1.1 remote-as 100" \\\n'
                                    '-c "neighbor 10.1.1.1 route-map '
                                    'permit-all in" \\\n'
                                    '-c "neighbor 10.1.1.1 route-map '
                                    'permit-all out" \\\n'
                                    '-c "neighbor 10.1.3.2 remote-as 100" \\\n'
                                    '-c "neighbor 10.1.3.2 route-map '
                                    'permit-all in" \\\n'
                                    '-c "neighbor 10.1.3.2 route-map '
                                    'permit-all out" \\\n'
                                    '-c "neighbor 10.1.3.2 next-hop-self" \\\n'
                                    '-c "neighbor 10.1.3.3 remote-as 400" \\\n'
                                    '-c "neighbor 10.1.3.3 route-map '
                                    'permit-all in" \\\n'
                                    '-c "neighbor 10.1.3.3 route-map '
                                    'permit-all out" \\\n'
                                    '-c "neighbor 10.1.3.3 next-hop-self" \\\n'
                                    '-c "do show running-config" \\\n'
                                    '-c "end"\n'}],
            'expect': {'mode': 'and', 'values': [[]]},
            'name': 'Default - Set Default',
            'node': 'R-2',
            'not_expect': {'values': [[]]}},
           {'actions': [{'command': 'vtysh -c "config" \\\n'
                                    '-c "route-map permit-all permit 10" \\\n'
                                    '-c "exit" \\\n'
                                    '-c "router bgp 100" \\\n'
                                    '-c "network 10.1.1.8/30" \\\n'
                                    '-c "neighbor 10.1.1.9 remote-as 100" \\\n'
                                    '-c "neighbor 10.1.1.9 route-map '
                                    'permit-all in" \\\n'
                                    '-c "neighbor 10.1.1.9 route-map '
                                    'permit-all out" \\\n'
                                    '-c "neighbor 10.1.3.1 remote-as 200" \\\n'
                                    '-c "neighbor 10.1.3.1 route-map '
                                    'permit-all in" \\\n'
                                    '-c "neighbor 10.1.3.1 route-map '
                                    'permit-all out" \\\n'
                                    '-c "do show running-config" \\\n'
                                    '-c "end"\n'}],
            'expect': {'mode': 'and', 'values': [[]]},
            'name': 'Default - Set Default',
            'node': 'R-3',
            'not_expect': {'values': [[]]}},
           {'actions': [{'command': 'vtysh -c "config" \\\n'
                                    '-c "route-map permit-all permit 10" \\\n'
                                    '-c "exit" \\\n'
                                    '-c "router bgp 400" \\\n'
                                    '-c "neighbor 10.1.3.1 remote-as 200" \\\n'
                                    '-c "neighbor 10.1.3.1 route-map '
                                    'permit-all in" \\\n'
                                    '-c "neighbor 10.1.3.1 route-map '
                                    'permit-all out" \\\n'
                                    '-c "do show running-config" \\\n'
                                    '-c "end"\n'}],
            'expect': {'mode': 'and', 'values': [[]]},
            'name': 'Default - Set Default',
            'node': 'R-4',
            'not_expect': {'values': [[]]}},
           {'actions': [{'command': 'vtysh -c "show ip bgp"'}],
            'delay': 10,
            'expect': {'mode': 'and',
                       'values': [['10.1.1.1 0 0 100 i',
                                   '10.1.3.2 0 0 100 i']]},
            'name': 'Verification default',
            'node': 'R-2',
            'not_expect': {'values': [[]]},
            'retries': 10},
           {'actions': [{'command': 'vtysh -c "show ip route"'}],
            'delay': 10,
            'expect': {'mode': 'and',
                       'values': [['B>* 10.1.1.8/30 [20/0] via 10.1.1.1, '
                                   'Ethernet4']]},
            'name': 'Verification default',
            'node': 'R-2',
            'not_expect': {'values': [[]]},
            'retries': 10},
           {'actions': [{'command': 'vtysh -c "config" \\\n'
                                    '-c "route-map SET-MED permit 10" \\\n'
                                    '-c "set metric 100" \\\n'
                                    '-c "end"\n'}],
            'expect': {'mode': 'and', 'values': [[]]},
            'name': 'Set route-map',
            'node': 'R-1',
            'not_expect': {'values': [[]]}},
           {'actions': [{'command': 'vtysh -c "config" \\\n'
                                    '-c "route-map SET-MED permit 10" \\\n'
                                    '-c "set metric 50" \\\n'
                                    '-c "end"\n'}],
            'expect': {'mode': 'and', 'values': [[]]},
            'name': 'Set route-map',
            'node': 'R-3',
            'not_expect': {'values': [[]]}},
           {'actions': [{'command': 'vtysh -c "config" \\\n'
                                    '-c "router bgp 100" \\\n'
                                    '-c "neighbor 10.1.1.2 route-map SET-MED '
                                    'out" \\\n'
                                    '-c "end" \\\n'
                                    '-c "clear ip bgp 10.1.1.2 soft out"\n'}],
            'expect': {'mode': 'and', 'values': [[]]},
            'name': 'Set neighbor route-map',
            'node': 'R-1',
            'not_expect': {'values': [[]]}},
           {'actions': [{'command': 'vtysh -c "config" \\\n'
                                    '-c "router bgp 100" \\\n'
                                    '-c "neighbor 10.1.3.1 route-map SET-MED '
                                    'out" \\\n'
                                    '-c "end" \\\n'
                                    '-c "clear ip bgp 10.1.3.1 soft out"\n'}],
            'expect': {'mode': 'and', 'values': [[]]},
            'name': 'Set neighbor route-map',
            'node': 'R-3',
            'not_expect': {'values': [[]]}},
           {'actions': [{'command': 'vtysh -c "show ip bgp"'}],
            'delay': 10,
            'expect': {'mode': 'and',
                       'values': [['10.1.3.2 50 0 100 i',
                                   '10.1.1.1 100 0 100 i']]},
            'name': 'Verification neighbor route-map',
            'node': 'R-2',
            'not_expect': {'values': [[]]},
            'retries': 10},
           {'actions': [{'command': 'vtysh -c "show ip route"'}],
            'delay': 10,
            'expect': {'mode': 'and',
                       'values': [['B>* 10.1.1.8/30 [20/50] via 10.1.3.2, '
                                   'Ethernet12']]},
            'name': 'Verification neighbor route-map',
            'node': 'R-2',
            'not_expect': {'values': [[]]},
            'retries': 10},
           {'actions': [{'command': 'vtysh -c "config" \\\n'
                                    '-c "router bgp 100" \\\n'
                                    '-c "no neighbor 10.1.1.2 route-map '
                                    'SET-MED out" \\\n'
                                    '-c "end" \\\n'
                                    '-c "clear ip bgp 10.1.1.2 soft out"\n'}],
            'expect': {'mode': 'and', 'values': [[]]},
            'name': 'Delete neighbor route-map',
            'node': 'R-1',
            'not_expect': {'values': [[]]}},
           {'actions': [{'command': 'vtysh -c "config" \\\n'
                                    '-c "router bgp 100" \\\n'
                                    '-c "no neighbor 10.1.3.1 route-map '
                                    'SET-MED out" \\\n'
                                    '-c "end" \\\n'
                                    '-c "clear ip bgp 10.1.3.1 soft out"\n'}],
            'expect': {'mode': 'and', 'values': [[]]},
            'name': 'Delete neighbor route-map',
            'node': 'R-3',
            'not_expect': {'values': [[]]}},
           {'actions': [{'command': 'vtysh -c "config" \\\n'
                                    '-c "no route-map SET-MED permit 10" \\\n'
                                    '-c "end"\n'}],
            'expect': {'mode': 'and', 'values': [[]]},
            'name': 'Delete route-map',
            'node': 'R-1',
            'not_expect': {'values': [[]]}},
           {'actions': [{'command': 'vtysh -c "config" \\\n'
                                    '-c "no route-map SET-MED permit 10" \\\n'
                                    '-c "end"\n'}],
            'expect': {'mode': 'and', 'values': [[]]},
            'name': 'Delete route-map',
            'node': 'R-3',
            'not_expect': {'values': [[]]}},
           {'actions': [{'command': 'vtysh -c "show ip bgp"'}],
            'delay': 10,
            'expect': {'mode': 'and',
                       'values': [['10.1.1.1 0 0 100 i',
                                   '10.1.3.2 0 0 100 i']]},
            'name': 'Verification default',
            'node': 'R-2',
            'not_expect': {'values': [[]]},
            'retries': 10},
           {'actions': [{'command': 'vtysh -c "show ip route"'}],
            'delay': 10,
            'expect': {'mode': 'and',
                       'values': [['B>* 10.1.1.8/30 [20/0] via 10.1.1.1, '
                                   'Ethernet4']]},
            'name': 'Verification default',
            'node': 'R-2',
            'not_expect': {'values': [[]]},
            'retries': 10},
           {'actions': [{'command': 'vtysh -c "config" \\\n'
                                    '-c "no router bgp 100" \\\n'
                                    '-c "end"\n'}],
            'expect': {'mode': 'and', 'values': [[]]},
            'name': 'Delete Default',
            'node': 'R-1',
            'not_expect': {'values': [[]]}},
           {'actions': [{'command': 'vtysh -c "config" \\\n'
                                    '-c "no router bgp 200" \\\n'
                                    '-c "end"\n'}],
            'expect': {'mode': 'and', 'values': [[]]},
            'name': 'Delete Default',
            'node': 'R-2',
            'not_expect': {'values': [[]]}},
           {'actions': [{'command': 'vtysh -c "config" \\\n'
                                    '-c "no router bgp 100" \\\n'
                                    '-c "end"\n'}],
            'expect': {'mode': 'and', 'values': [[]]},
            'name': 'Delete Default',
            'node': 'R-3',
            'not_expect': {'values': [[]]}}]}
match      = 
neighbor_ip = '10.1.3.1'
node_name  = 'R-2'
nomalized_lines = ['No BGP prefixes displayed, 0 exist']
not_contain_str = ''
not_expect_ok = True
not_expect_values = []
output     = 'No BGP prefixes displayed, 0 exist\n'
parse_scenario = 
ping_result = {'_ansible_no_log': None,
 'changed': True,
 'cmd': 'ping 10.1.3.1 -c 3',
 'delta': '0:00:02.030088',
 'end': '2026-09-21 23:24:48.494670',
 'failed': False,
 'invocation': {'module_args': {'_raw_params': 'ping 10.1.3.1 -c 3',
                                '_uses_shell': True,
                                'argv': None,
                                'chdir': None,
                                'creates': None,
                                'executable': None,
                                'removes': None,
                                'stdin': None,
                                'stdin_add_newline': True,
                                'strip_empty_ends': True,
                                'warn': False}},
 'msg': '',
 'rc': 0,
 'start': '2026-09-21 23:24:46.464582',
 'stderr': '',
 'stderr_lines': [],
 'stdout': 'PING 10.1.3.1 (10.1.3.1) 56(84) bytes of data.\n'
           '64 bytes from 10.1.3.1: icmp_seq=1 ttl=64 time=0.892 ms\n'
           '64 bytes from 10.1.3.1: icmp_seq=2 ttl=64 time=0.659 ms\n'
           '64 bytes from 10.1.3.1: icmp_seq=3 ttl=64 time=0.925 ms\n'
           '\n'
           '--- 10.1.3.1 ping statistics ---\n'
           '3 packets transmitted, 3 received, 0% packet loss, time 2023ms\n'
           'rtt min/avg/max/mdev = 0.659/0.825/0.925/0.118 ms',
 'stdout_lines': ['PING 10.1.3.1 (10.1.3.1) 56(84) bytes of data.',
                  '64 bytes from 10.1.3.1: icmp_seq=1 ttl=64 time=0.892 ms',
                  '64 bytes from 10.1.3.1: icmp_seq=2 ttl=64 time=0.659 ms',
                  '64 bytes from 10.1.3.1: icmp_seq=3 ttl=64 time=0.925 ms',
                  '',
                  '--- 10.1.3.1 ping statistics ---',
                  '3 packets transmitted, 3 received, 0% packet loss, time '
                  '2023ms',
                  'rtt min/avg/max/mdev = 0.659/0.825/0.925/0.118 ms']}
re         = 
record_property = .append_property at 0x72c1a09b4ee0>
reload_config = None
rendered   = ('\n'
 '# Start daemons\n'
 'docker exec -i bgp bash -c "/usr/lib/frr/ripd &"\n'
 'docker exec -i bgp bash -c "/usr/lib/frr/isisd &"\n'
 'docker exec -i bgp bash -c "/usr/lib/frr/ospfd &"\n'
 '\n'
 '\n'
 '# Set IPs\n'
 '\n'
 'sudo config interface ip add Ethernet4 10.1.4.1/24\n'
 '\n'
 'sudo config interface ip add Ethernet8 10.1.3.3/24\n'
 '\n'
 'sudo config interface ip add Ethernet12 10.40.0.1/24\n'
 '\n'
 'sudo config interface ip add Ethernet16 10.40.1.1/24\n')
scenario   = 
scenario_name = 'MED Attribute Function'
scenario_path = 'test_sonic/bgp_policy/scenario_bgp_policy_med_attribute.yaml'
server     = 
session_node_name = 'R-4'
single_command = 'vtysh -c "show ip bgp"'
sonicHostname = ['R-1', 'R-2', 'R-3', 'R-4']
sonic_ssh_prompt = ['Linux R-1 6.1.0-29-2-amd64 #1 SMP PREEMPT_DYNAMIC Debian 6.1.123-1 '
 '(2025-01-02) x86_64\r\n'
 'You are on\r\n'
 '  ____   ___  _   _ _  ____\r\n'
 ' / ___| / _ \\| \\ | (_)/ ___|\r\n'
 ' \\___ \\| | | |  \\| | | |\r\n'
 '  ___) | |_| | |\\  | | |___\r\n'
 ' |____/ \\___/|_| \\_|_|\\____|\r\n'
 '\r\n'
 '-- Software for Open Networking in the Cloud --\r\n'
 '\r\n'
 'Unauthorized access and/or use are prohibited.\r\n'
 'All access and/or use are subject to monitoring.\r\n'
 '\r\n'
 'Help:    https://sonic-net.github.io/SONiC/\r\n'
 '\r\n'
 'Last login: Mon Sep 21 23:04:16 2026 from 10.250.0.1\r'
 '\r\n'
 'admin@R-1:~$ ',
 'Linux R-2 6.1.0-29-2-amd64 #1 SMP PREEMPT_DYNAMIC Debian 6.1.123-1 '
 '(2025-01-02) x86_64\r\n'
 'You are on\r\n'
 '  ____   ___  _   _ _  ____\r\n'
 ' / ___| / _ \\| \\ | (_)/ ___|\r\n'
 ' \\___ \\| | | |  \\| | | |\r\n'
 '  ___) | |_| | |\\  | | |___\r\n'
 ' |____/ \\___/|_| \\_|_|\\____|\r\n'
 '\r\n'
 '-- Software for Open Networking in the Cloud --\r\n'
 '\r\n'
 'Unauthorized access and/or use are prohibited.\r\n'
 'All access and/or use are subject to monitoring.\r\n'
 '\r\n'
 'Help:    https://sonic-net.github.io/SONiC/\r\n'
 '\r\n'
 'Last login: Mon Sep 21 23:04:18 2026 from 10.250.0.1\r'
 '\r\n'
 'admin@R-2:~$ ',
 'Linux R-3 6.1.0-29-2-amd64 #1 SMP PREEMPT_DYNAMIC Debian 6.1.123-1 '
 '(2025-01-02) x86_64\r\n'
 'You are on\r\n'
 '  ____   ___  _   _ _  ____\r\n'
 ' / ___| / _ \\| \\ | (_)/ ___|\r\n'
 ' \\___ \\| | | |  \\| | | |\r\n'
 '  ___) | |_| | |\\  | | |___\r\n'
 ' |____/ \\___/|_| \\_|_|\\____|\r\n'
 '\r\n'
 '-- Software for Open Networking in the Cloud --\r\n'
 '\r\n'
 'Unauthorized access and/or use are prohibited.\r\n'
 'All access and/or use are subject to monitoring.\r\n'
 '\r\n'
 'Help:    https://sonic-net.github.io/SONiC/\r\n'
 '\r\n'
 'Last login: Mon Sep 21 23:04:20 2026 from 10.250.0.1\r'
 '\r\n'
 'admin@R-3:~$ ',
 'Linux R-4 6.1.0-29-2-amd64 #1 SMP PREEMPT_DYNAMIC Debian 6.1.123-1 '
 '(2025-01-02) x86_64\r\n'
 'You are on\r\n'
 '  ____   ___  _   _ _  ____\r\n'
 ' / ___| / _ \\| \\ | (_)/ ___|\r\n'
 ' \\___ \\| | | |  \\| | | |\r\n'
 '  ___) | |_| | |\\  | | |___\r\n'
 ' |____/ \\___/|_| \\_|_|\\____|\r\n'
 '\r\n'
 '-- Software for Open Networking in the Cloud --\r\n'
 '\r\n'
 'Unauthorized access and/or use are prohibited.\r\n'
 'All access and/or use are subject to monitoring.\r\n'
 '\r\n'
 'Help:    https://sonic-net.github.io/SONiC/\r\n'
 '\r\n'
 'Last login: Mon Sep 21 23:04:21 2026 from 10.250.0.1\r'
 '\r\n'
 'admin@R-4:~$ ']
ssh        = ('Linux R-4 6.1.0-29-2-amd64 #1 SMP PREEMPT_DYNAMIC Debian 6.1.123-1 '
 '(2025-01-02) x86_64\r\n'
 'You are on\r\n'
 '  ____   ___  _   _ _  ____\r\n'
 ' / ___| / _ \\| \\ | (_)/ ___|\r\n'
 ' \\___ \\| | | |  \\| | | |\r\n'
 '  ___) | |_| | |\\  | | |___\r\n'
 ' |____/ \\___/|_| \\_|_|\\____|\r\n'
 '\r\n'
 '-- Software for Open Networking in the Cloud --\r\n'
 '\r\n'
 'Unauthorized access and/or use are prohibited.\r\n'
 'All access and/or use are subject to monitoring.\r\n'
 '\r\n'
 'Help:    https://sonic-net.github.io/SONiC/\r\n'
 '\r\n'
 'Last login: Mon Sep 21 23:04:21 2026 from 10.250.0.1\r'
 '\r\n'
 'admin@R-4:~$ ')
ssh_prompt = ['Linux R-1 6.1.0-29-2-amd64 #1 SMP PREEMPT_DYNAMIC Debian 6.1.123-1 '
 '(2025-01-02) x86_64\r\n'
 'You are on\r\n'
 '  ____   ___  _   _ _  ____\r\n'
 ' / ___| / _ \\| \\ | (_)/ ___|\r\n'
 ' \\___ \\| | | |  \\| | | |\r\n'
 '  ___) | |_| | |\\  | | |___\r\n'
 ' |____/ \\___/|_| \\_|_|\\____|\r\n'
 '\r\n'
 '-- Software for Open Networking in the Cloud --\r\n'
 '\r\n'
 'Unauthorized access and/or use are prohibited.\r\n'
 'All access and/or use are subject to monitoring.\r\n'
 '\r\n'
 'Help:    https://sonic-net.github.io/SONiC/\r\n'
 '\r\n'
 'Last login: Mon Sep 21 23:04:16 2026 from 10.250.0.1\r'
 '\r\n'
 'admin@R-1:~$ ',
 'Linux R-2 6.1.0-29-2-amd64 #1 SMP PREEMPT_DYNAMIC Debian 6.1.123-1 '
 '(2025-01-02) x86_64\r\n'
 'You are on\r\n'
 '  ____   ___  _   _ _  ____\r\n'
 ' / ___| / _ \\| \\ | (_)/ ___|\r\n'
 ' \\___ \\| | | |  \\| | | |\r\n'
 '  ___) | |_| | |\\  | | |___\r\n'
 ' |____/ \\___/|_| \\_|_|\\____|\r\n'
 '\r\n'
 '-- Software for Open Networking in the Cloud --\r\n'
 '\r\n'
 'Unauthorized access and/or use are prohibited.\r\n'
 'All access and/or use are subject to monitoring.\r\n'
 '\r\n'
 'Help:    https://sonic-net.github.io/SONiC/\r\n'
 '\r\n'
 'Last login: Mon Sep 21 23:04:18 2026 from 10.250.0.1\r'
 '\r\n'
 'admin@R-2:~$ ',
 'Linux R-3 6.1.0-29-2-amd64 #1 SMP PREEMPT_DYNAMIC Debian 6.1.123-1 '
 '(2025-01-02) x86_64\r\n'
 'You are on\r\n'
 '  ____   ___  _   _ _  ____\r\n'
 ' / ___| / _ \\| \\ | (_)/ ___|\r\n'
 ' \\___ \\| | | |  \\| | | |\r\n'
 '  ___) | |_| | |\\  | | |___\r\n'
 ' |____/ \\___/|_| \\_|_|\\____|\r\n'
 '\r\n'
 '-- Software for Open Networking in the Cloud --\r\n'
 '\r\n'
 'Unauthorized access and/or use are prohibited.\r\n'
 'All access and/or use are subject to monitoring.\r\n'
 '\r\n'
 'Help:    https://sonic-net.github.io/SONiC/\r\n'
 '\r\n'
 'Last login: Mon Sep 21 23:04:20 2026 from 10.250.0.1\r'
 '\r\n'
 'admin@R-3:~$ ',
 'Linux R-4 6.1.0-29-2-amd64 #1 SMP PREEMPT_DYNAMIC Debian 6.1.123-1 '
 '(2025-01-02) x86_64\r\n'
 'You are on\r\n'
 '  ____   ___  _   _ _  ____\r\n'
 ' / ___| / _ \\| \\ | (_)/ ___|\r\n'
 ' \\___ \\| | | |  \\| | | |\r\n'
 '  ___) | |_| | |\\  | | |___\r\n'
 ' |____/ \\___/|_| \\_|_|\\____|\r\n'
 '\r\n'
 '-- Software for Open Networking in the Cloud --\r\n'
 '\r\n'
 'Unauthorized access and/or use are prohibited.\r\n'
 'All access and/or use are subject to monitoring.\r\n'
 '\r\n'
 'Help:    https://sonic-net.github.io/SONiC/\r\n'
 '\r\n'
 'Last login: Mon Sep 21 23:04:21 2026 from 10.250.0.1\r'
 '\r\n'
 'admin@R-4:~$ ']
start_daemons = True
start_time = '23:21:08'
stderr     = ''
stdout     = 'No BGP prefixes displayed, 0 exist'
sub_sce_exp_mode = 'and'
sub_sce_exp_values = [['10.1.1.1 0 0 100 i', '10.1.3.2 0 0 100 i']]
sub_sce_not_exp_values = [[]]
sub_scenario_actions = [{'command': 'vtysh -c "show ip bgp"'}]
sub_scenario_delay = 10
sub_scenario_expect = {'mode': 'and', 'values': [['10.1.1.1 0 0 100 i', '10.1.3.2 0 0 100 i']]}
sub_scenario_name = 'Verification default'
sub_scenario_not_expect = {'values': [[]]}
sub_scenario_retries = 10
sum_img_path = '/data/NetAutoTestFW/tests/converter_report/topology_img/topo-L3-bgp.jpg'
target_ips = [{'intf': 'Ethernet4', 'ip': '10.1.4.1/24'},
 {'intf': 'Ethernet8', 'ip': '10.1.3.3/24'},
 {'intf': 'Ethernet12', 'ip': '10.40.0.1/24'},
 {'intf': 'Ethernet16', 'ip': '10.40.1.1/24'}]
tasks      = {'actions': [{'command': 'vtysh -c "show ip bgp"'}],
 'delay': 10,
 'expect': {'mode': 'and',
            'values': [['10.1.1.1 0 0 100 i', '10.1.3.2 0 0 100 i']]},
 'name': 'Verification default',
 'node': 'R-2',
 'not_expect': {'values': [[]]},
 'retries': 10}
template_content = ('{% if start_daemons %}\n'
 '# Start daemons\n'
 'docker exec -i bgp bash -c "/usr/lib/frr/ripd &"\n'
 'docker exec -i bgp bash -c "/usr/lib/frr/isisd &"\n'
 'docker exec -i bgp bash -c "/usr/lib/frr/ospfd &"\n'
 '{% endif %}\n'
 '\n'
 '# Set IPs\n'
 '{% for item in ip_list %}\n'
 'sudo config interface ip add {{ item.intf }} {{ item.ip }}\n'
 '{% endfor %}\n')
template_path = 'tests/common/templates/common_setup.j2'
timestamps = '23:25:55'
topo_img_name = 'topo-L3-bgp.jpg'
topo_img_path = '/data/NetAutoTestFW/tests/converter_report/topology_img'
trace_success = False
ubuntu     = []
ubuntuHostname = []
ubuntu_ssh_prompt = []
ubuntus    = []
vmhost     = 
vtb        = {'all': {'children': {'TGS': {'hosts': {'TG-1': {'ansible_host': '10.250.0.108',
                                                 'ansible_password': 'password',
                                                 'ansible_user': 'ubuntu',
                                                 'first_mac': '52:54:00:20:01:02',
                                                 'mac_addr': '52:54:00:20:01:01',
                                                 'second_mac': '52:54:00:20:01:03',
                                                 'type': 'kvm'}},
                              'vars': {'ansible_altpassword': 'YourPaSsWoRd',
                                       'ansible_connection': 'multi_passwd_ssh',
                                       'mgmt_subnet_mask_length': 24,
                                       'mgmt_subnet_v6_mask_length': 64}},
                      'onie': {'hosts': {'dhcp-server': {'ansible_host': '10.250.0.2',
                                                         'ansible_password': 'password',
                                                         'ansible_user': 'ubuntu',
                                                         'type': 'kvm'},
                                         'http-server': {'ansible_host': '10.250.0.3',
                                                         'ansible_password': 'password',
                                                         'ansible_user': 'ubuntu',
                                                         'type': 'kvm'}},
                               'vars': {'ansible_altpassword': 'YourPaSsWoRd',
                                        'ansible_connection': 'multi_passwd_ssh',
                                        'mgmt_subnet_mask_length': 24,
                                        'mgmt_subnet_v6_mask_length': 64}},
                      'servers': {'children': {'server_1': {'children': {'TGS': None,
                                                                         'onie': None,
                                                                         'sonic_r': None,
                                                                         'sonic_sw': None,
                                                                         'ubuntu': None,
                                                                         'vm_host_1': None},
                                                            'vars': {'host_var_file': 'host_vars/STR-ACS-VSERV-01.yml'}}},
                                  'vars': {'topologies': ['etri',
                                                          'etri_bgp',
                                                          'etri_l2']}},
                      'sonic_r': {'hosts': {'R-1': {'ansible_host': '10.250.0.51',
                                                    'ansible_password': 'password',
                                                    'ansible_user': 'admin',
                                                    'hwsku': 'Force10-S6000',
                                                    'mgmt_mac': '52:54:00:00:00:01',
                                                    'os_name': 'sonic-vs.bin',
                                                    'serial_port': 7001,
                                                    'symbolic_link': 'onie-installer-vs-1',
                                                    'type': 'kvm'},
                                            'R-2': {'ansible_host': '10.250.0.52',
                                                    'ansible_password': 'password',
                                                    'ansible_user': 'admin',
                                                    'hwsku': 'Force10-S6000',
                                                    'mgmt_mac': '52:54:00:00:00:02',
                                                    'os_name': 'sonic-vs.bin',
                                                    'serial_port': 7002,
                                                    'symbolic_link': 'onie-installer-vs-2',
                                                    'type': 'kvm'},
                                            'R-3': {'ansible_host': '10.250.0.53',
                                                    'ansible_password': 'password',
                                                    'ansible_user': 'admin',
                                                    'hwsku': 'Force10-S6000',
                                                    'mgmt_mac': '52:54:00:00:00:03',
                                                    'os_name': 'sonic-vs.bin',
                                                    'serial_port': 7003,
                                                    'symbolic_link': 'onie-installer-vs-3',
                                                    'type': 'kvm'},
                                            'R-4': {'ansible_host': '10.250.0.54',
                                                    'ansible_password': 'password',
                                                    'ansible_user': 'admin',
                                                    'hwsku': 'Force10-S6000',
                                                    'mgmt_mac': '52:54:00:00:00:04',
                                                    'os_name': 'sonic-vs.bin',
                                                    'serial_port': 7004,
                                                    'symbolic_link': 'onie-installer-vs-4',
                                                    'type': 'kvm'},
                                            'R-5': {'ansible_host': '10.250.0.55',
                                                    'ansible_password': 'password',
                                                    'ansible_user': 'admin',
                                                    'hwsku': 'Force10-S6000',
                                                    'mgmt_mac': '52:54:00:00:00:05',
                                                    'os_name': 'sonic-vs.bin',
                                                    'serial_port': 7005,
                                                    'symbolic_link': 'onie-installer-vs-5',
                                                    'type': 'kvm'},
                                            'R-6': {'ansible_host': '10.250.0.56',
                                                    'ansible_password': 'password',
                                                    'ansible_user': 'admin',
                                                    'hwsku': 'Force10-S6000',
                                                    'mgmt_mac': '52:54:00:00:00:06',
                                                    'os_name': 'sonic-vs.bin',
                                                    'serial_port': 7006,
                                                    'symbolic_link': 'onie-installer-vs-6',
                                                    'type': 'kvm'}},
                                  'vars': {'ansible_altpassword': 'YourPaSsWoRd',
                                           'ansible_connection': 'multi_passwd_ssh',
                                           'bgp_ip': {'R-1': [{'intf': 'Ethernet4',
                                                               'ip': '10.1.1.1/30'},
                                                              {'intf': 'Ethernet8',
                                                               'ip': '10.1.1.9/30'},
                                                              {'intf': 'Ethernet12',
                                                               'ip': '10.1.1.5/30'},
                                                              {'intf': 'Ethernet16',
                                                               'ip': '10.10.1.1/24'},
                                                              {'intf': 'Ethernet20',
                                                               'ip': '10.10.2.1/24'}],
                                                      'R-2': [{'intf': 'Ethernet4',
                                                               'ip': '10.1.1.2/30'},
                                                              {'intf': 'Ethernet8',
                                                               'ip': '10.1.1.6/30'},
                                                              {'intf': 'Ethernet12',
                                                               'ip': '10.1.3.1/24'},
                                                              {'intf': 'Ethernet16',
                                                               'ip': '10.20.0.1/24'},
                                                              {'intf': 'Ethernet20',
                                                               'ip': '10.20.1.1/24'}],
                                                      'R-3': [{'intf': 'Ethernet0',
                                                               'ip': '10.1.1.10/30'},
                                                              {'intf': 'Ethernet8',
                                                               'ip': '10.1.3.2/24'},
                                                              {'intf': 'Ethernet12',
                                                               'ip': '10.30.0.1/24'},
                                                              {'intf': 'Ethernet16',
                                                               'ip': '10.30.1.1/24'}],
                                                      'R-4': [{'intf': 'Ethernet4',
                                                               'ip': '10.1.4.1/24'},
                                                              {'intf': 'Ethernet8',
                                                               'ip': '10.1.3.3/24'},
                                                              {'intf': 'Ethernet12',
                                                               'ip': '10.40.0.1/24'},
                                                              {'intf': 'Ethernet16',
                                                               'ip': '10.40.1.1/24'}],
                                                      'R-5': [{'intf': 'Ethernet0',
                                                               'ip': '10.1.4.2/24'},
                                                              {'intf': 'Ethernet8',
                                                               'ip': '10.50.0.1/24'},
                                                              {'intf': 'Ethernet12',
                                                               'ip': '10.50.1.1/24'}]},
                                           'common_ip': {'R-1': [{'intf': 'Ethernet0',
                                                                  'ip': '21.1.1.2/24'},
                                                                 {'intf': 'Ethernet4',
                                                                  'ip': '30.1.1.2/24'},
                                                                 {'intf': 'Ethernet8',
                                                                  'ip': '20.1.1.2/24'}],
                                                         'R-2': [{'intf': 'Ethernet0',
                                                                  'ip': '22.1.1.4/24'},
                                                                 {'intf': 'Ethernet4',
                                                                  'ip': '30.1.1.4/24'}],
                                                         'R-3': [{'intf': 'Ethernet0',
                                                                  'ip': '20.1.1.3/24'},
                                                                 {'intf': 'Ethernet4',
                                                                  'ip': '10.0.100.1/24'}],
                                                         'R-4': [{'intf': 'Ethernet0',
                                                                  'ip': '22.1.1.11/24'},
                                                                 {'intf': 'Ethernet4',
                                                                  'ip': '50.1.1.2/24'}],
                                                         'R-5': [{'intf': 'Ethernet0',
                                                                  'ip': '50.1.1.3/24'},
                                                                 {'intf': 'Ethernet4',
                                                                  'ip': '40.0.100.1/24'}],
                                                         'R-6': [{'intf': 'Ethernet0',
                                                                  'ip': '21.1.1.3/24'},
                                                                 {'intf': 'Ethernet4',
                                                                  'ip': '10.0.100.3/24'}]},
                                           'mgmt_subnet_mask_length': 24,
                                           'mgmt_subnet_v6_mask_length': 64,
                                           'ospf_redist_ip': {'R-1': [{'intf': 'Ethernet4',
                                                                       'ip': '30.1.1.2/24'},
                                                                      {'intf': 'Ethernet8',
                                                                       'ip': '20.1.1.2/24'}],
                                                              'R-2': [{'intf': 'Ethernet4',
                                                                       'ip': '30.1.1.4/24'}],
                                                              'R-3': [{'intf': 'Ethernet0',
                                                                       'ip': '20.1.1.3/24'},
                                                                      {'intf': 'Ethernet4',
                                                                       'ip': '10.0.100.1/24'},
                                                                      {'intf': 'Ethernet8',
                                                                       'ip': '10.1.100.1/24'},
                                                                      {'intf': 'Ethernet12',
                                                                       'ip': '10.2.100.1/24'},
                                                                      {'intf': 'Ethernet16',
                                                                       'ip': '10.3.100.1/24'}]}}},
                      'sonic_sw': {'hosts': {'SW-1': {'ansible_host': '10.250.0.10',
                                                      'ansible_password': 'password',
                                                      'ansible_user': 'admin',
                                                      'hwsku': 'Force10-S6000',
                                                      'mgmt_mac': '52:54:00:00:00:07',
                                                      'os_name': 'sonic-vs.bin',
                                                      'serial_port': 8001,
                                                      'symbolic_link': 'onie-installer-vs-7',
                                                      'type': 'kvm'},
                                             'SW-2': {'ansible_host': '10.250.0.11',
                                                      'ansible_password': 'password',
                                                      'ansible_user': 'admin',
                                                      'hwsku': 'Force10-S6000',
                                                      'mgmt_mac': '52:54:00:00:00:08',
                                                      'os_name': 'sonic-vs.bin',
                                                      'serial_port': 8002,
                                                      'symbolic_link': 'onie-installer-vs-8',
                                                      'type': 'kvm'},
                                             'SW-3': {'ansible_host': '10.250.0.12',
                                                      'ansible_password': 'password',
                                                      'ansible_user': 'admin',
                                                      'hwsku': 'Force10-S6000',
                                                      'mgmt_mac': '52:54:00:00:00:09',
                                                      'os_name': 'sonic-vs.bin',
                                                      'serial_port': 8003,
                                                      'symbolic_link': 'onie-installer-vs-9',
                                                      'type': 'kvm'},
                                             'SW-4': {'ansible_host': '10.250.0.13',
                                                      'ansible_password': 'password',
                                                      'ansible_user': 'admin',
                                                      'hwsku': 'Force10-S6000',
                                                      'mgmt_mac': '52:54:00:00:00:10',
                                                      'os_name': 'sonic-vs.bin',
                                                      'serial_port': 8004,
                                                      'symbolic_link': 'onie-installer-vs-10',
                                                      'type': 'kvm'}},
                                   'vars': {'ansible_altpassword': 'YourPaSsWoRd',
                                            'ansible_connection': 'multi_passwd_ssh',
                                            'mgmt_subnet_mask_length': 24,
                                            'mgmt_subnet_v6_mask_length': 64}},
                      'ubuntu': {'hosts': {'H-1': {'ansible_host': '10.250.0.101',
                                                   'ansible_password': 'password',
                                                   'ansible_user': 'ubuntu',
                                                   'dest_ip': '40.0.100.0/24',
                                                   'dp_ip': '10.0.100.10/24',
                                                   'first_mac': '52:54:00:10:02:01',
                                                   'mac_addr': '52:54:00:10:01:01',
                                                   'src_ip': '10.0.100.1',
                                                   'type': 'kvm'},
                                           'H-2': {'ansible_host': '10.250.0.102',
                                                   'ansible_password': 'password',
                                                   'ansible_user': 'ubuntu',
                                                   'dest_ip': '40.0.100.0/24',
                                                   'dp_ip': '10.0.100.11/24',
                                                   'first_mac': '52:54:00:10:02:02',
                                                   'mac_addr': '52:54:00:10:01:02',
                                                   'src_ip': '10.0.100.1',
                                                   'type': 'kvm'},
                                           'H-3': {'ansible_host': '10.250.0.103',
                                                   'ansible_password': 'password',
                                                   'ansible_user': 'ubuntu',
                                                   'dest_ip': '40.0.100.0/24',
                                                   'dp_ip': '10.0.100.12/24',
                                                   'first_mac': '52:54:00:10:02:03',
                                                   'mac_addr': '52:54:00:10:01:03',
                                                   'src_ip': '10.0.100.1',
                                                   'type': 'kvm'},
                                           'H-4': {'ansible_host': '10.250.0.104',
                                                   'ansible_password': 'password',
                                                   'ansible_user': 'ubuntu',
                                                   'dest_ip': '40.0.100.0/24',
                                                   'dp_ip': '10.0.100.13/24',
                                                   'first_mac': '52:54:00:10:02:04',
                                                   'mac_addr': '52:54:00:10:01:04',
                                                   'src_ip': '10.0.100.1',
                                                   'type': 'kvm'},
                                           'H-5': {'ansible_host': '10.250.0.105',
                                                   'ansible_password': 'password',
                                                   'ansible_user': 'ubuntu',
                                                   'dest_ip': '10.0.100.0/24',
                                                   'dp_ip': '40.0.100.105/24',
                                                   'first_mac': '52:54:00:10:02:05',
                                                   'mac_addr': '52:54:00:10:01:05',
                                                   'src_ip': '40.0.100.1',
                                                   'type': 'kvm'},
                                           'H-6': {'ansible_host': '10.250.0.106',
                                                   'ansible_password': 'password',
                                                   'ansible_user': 'ubuntu',
                                                   'dest_ip': '40.0.100.0/24',
                                                   'dp_ip': '10.0.100.14/24',
                                                   'first_mac': '52:54:00:10:02:06',
                                                   'mac_addr': '52:54:00:10:01:06',
                                                   'src_ip': '10.0.100.1',
                                                   'type': 'kvm'},
                                           'H-7': {'ansible_host': '10.250.0.107',
                                                   'ansible_password': 'password',
                                                   'ansible_user': 'ubuntu',
                                                   'dest_ip': '40.0.100.0/24',
                                                   'dp_ip': '10.0.100.15/24',
                                                   'first_mac': '52:54:00:10:02:07',
                                                   'mac_addr': '52:54:00:10:01:07',
                                                   'src_ip': '10.0.100.1',
                                                   'type': 'kvm'}},
                                 'vars': {'ansible_altpassword': 'YourPaSsWoRd',
                                          'ansible_connection': 'multi_passwd_ssh',
                                          'mgmt_subnet_mask_length': 24,
                                          'mgmt_subnet_v6_mask_length': 64}},
                      'vm_host': {'children': {'vm_host_1': {'hosts': {'STR-ACS-VSERV-01': {'ansible_host': '172.17.0.1',
                                                                                            'ansible_user': 'jenkins',
                                                                                            'vm_host_user': 'jenkins'}}}}}}}}INFO:root:Can not get Allure report URL. Please check logs

yaml       = 

test_sonic/test_sonic.py:294: AssertionError
---------- generated xml file: /data/NetAutoTestFW/tests/logs/tr.xml -----------
---------------------------- live log sessionfinish ----------------------------
23:35:50 __init__.pytest_terminal_summary         L0067 INFO   | Can not get Allure report URL. Please check logs
=========================== short test summary info ============================
FAILED test_sonic/test_sonic.py::test_scenario - AssertionError: Test failed ...
======================== 1 failed in 942.28s (0:15:42) =========================
⚠️  [WARN] Scenario failed on attempt 2/2 (exit code 1): test_sonic/bgp_policy/scenario_bgp_policy_med_attribute.yaml
❌ [ERROR] Scenario failed after 2 attempts: test_sonic/bgp_policy/scenario_bgp_policy_med_attribute.yaml
[INFO] Progress saved. Next run will resume from this scenario: test_sonic/bgp_policy/scenario_bgp_policy_med_attribute.yaml