Adding ansible readme for proposed folder structure#1
Merged
tombo315 merged 1 commit intosonic-net:masterfrom Mar 7, 2016
dplore:master
Merged
Adding ansible readme for proposed folder structure#1tombo315 merged 1 commit intosonic-net:masterfrom dplore:master
tombo315 merged 1 commit intosonic-net:masterfrom
dplore:master
Conversation
|
Looks good. Jives with Ansbile best practices. |
tombo315
pushed a commit
that referenced
this pull request
Mar 7, 2016
Adding ansible readme for proposed folder structure
oleksandrivantsiv
added a commit
to oleksandrivantsiv/sonic-mgmt
that referenced
this pull request
Feb 24, 2017
Add implementation of testcase sonic-net#1 Resolved route.
marian-pritsak
pushed a commit
that referenced
this pull request
Mar 14, 2017
lguohan
pushed a commit
that referenced
this pull request
Aug 3, 2017
SavchukRomanLv
referenced
this pull request
in SavchukRomanLv/sonic-mgmt
Jul 21, 2020
Improved NAT test cases.
1 task
3 tasks
4 tasks
judyjoseph
added a commit
to judyjoseph/sonic-mgmt
that referenced
this pull request
May 26, 2022
6 tasks
lolyu
referenced
this pull request
in lolyu/sonic-mgmt
Feb 8, 2024
From the ovs doc, if mod-flow is used without --strict, priority is not used in matching. This will cause problem for downstream set_drop when duplicate_nic_upstream is disabled. For example: When set_drop is applied to upstream_nic_flow(#1), mod-flow will match both flow #2 and flow sonic-net#3 as priority is not used in flow match. So let's enforce strict match for mod-flow. Signed-off-by: Longxiang Lyu <[email protected]>
yxieca
pushed a commit
that referenced
this pull request
Feb 12, 2024
From the ovs doc, if mod-flow is used without --strict, priority is not used in matching. This will cause problem for downstream set_drop when duplicate_nic_upstream is disabled. For example: When set_drop is applied to upstream_nic_flow(#1), mod-flow will match both flow #2 and flow #3 as priority is not used in flow match. So let's enforce strict match for mod-flow. Signed-off-by: Longxiang Lyu <[email protected]>
mssonicbld
referenced
this pull request
in mssonicbld/sonic-mgmt
Feb 12, 2024
From the ovs doc, if mod-flow is used without --strict, priority is not used in matching. This will cause problem for downstream set_drop when duplicate_nic_upstream is disabled. For example: When set_drop is applied to upstream_nic_flow(#1), mod-flow will match both flow #2 and flow sonic-net#3 as priority is not used in flow match. So let's enforce strict match for mod-flow. Signed-off-by: Longxiang Lyu <[email protected]>
mssonicbld
referenced
this pull request
in mssonicbld/sonic-mgmt
Feb 12, 2024
From the ovs doc, if mod-flow is used without --strict, priority is not used in matching. This will cause problem for downstream set_drop when duplicate_nic_upstream is disabled. For example: When set_drop is applied to upstream_nic_flow(#1), mod-flow will match both flow #2 and flow sonic-net#3 as priority is not used in flow match. So let's enforce strict match for mod-flow. Signed-off-by: Longxiang Lyu <[email protected]>
mssonicbld
pushed a commit
that referenced
this pull request
Feb 15, 2024
From the ovs doc, if mod-flow is used without --strict, priority is not used in matching. This will cause problem for downstream set_drop when duplicate_nic_upstream is disabled. For example: When set_drop is applied to upstream_nic_flow(#1), mod-flow will match both flow #2 and flow #3 as priority is not used in flow match. So let's enforce strict match for mod-flow. Signed-off-by: Longxiang Lyu <[email protected]>
mssonicbld
pushed a commit
that referenced
this pull request
Feb 15, 2024
From the ovs doc, if mod-flow is used without --strict, priority is not used in matching. This will cause problem for downstream set_drop when duplicate_nic_upstream is disabled. For example: When set_drop is applied to upstream_nic_flow(#1), mod-flow will match both flow #2 and flow #3 as priority is not used in flow match. So let's enforce strict match for mod-flow. Signed-off-by: Longxiang Lyu <[email protected]>
8 tasks
yejianquan
pushed a commit
that referenced
this pull request
May 14, 2024
…y cases (#12825) Description of PR This PR is to address the fixture setup sequence issue, and teardown out of sequence issue. In convert_and_restore_config_db_to_ipv6_only, it will do a "config reload -y" during fixture setup or teardown. For feature test cases where config is not saved into config_db.json, this reload needs to be done before feature fixture setup and after feature teardown, such as: tacacs_v6, setup_streaming_telemetry, or setup_ntp. According to https://docs.pytest.org/en/latest/reference/fixtures.html#reference-fixtures, it only considers the following when deciding the fixture orders: scope dependencies autouse We shouldn't use autouse in this test module. So only two options to let convert_and_restore_config_db_to_ipv6_only runs before other fixtures: define other fixtures in 'function' scope. define the feature fixture to request convert_and_restore_config_db_to_ipv6_only explicit. Using option #1 in this PR as the new 'function' scope fixture can be reused by other cases. Option #2 has good readability, but will limit the new fixture to be used by ipv6_only cases. Summary: Fixes #12705 Approach What is the motivation for this PR? Multiple errors were observed in mgmt_ipv6 are related to fixture setup/teardown sequence. How did you do it? Added two 'function' scope fixture: check_tacacs_v6_func and setup_streaming_telemetry_func. And modified 3 tests cases to use 'function' scope fixture. test_ro_user_ipv6_only test_rw_user_ipv6_only test_telemetry_output_ipv6_only co-authorized by: [email protected]
sdszhang
added a commit
to sdszhang/sonic-mgmt
that referenced
this pull request
May 14, 2024
…y cases (sonic-net#12825) Description of PR This PR is to address the fixture setup sequence issue, and teardown out of sequence issue. In convert_and_restore_config_db_to_ipv6_only, it will do a "config reload -y" during fixture setup or teardown. For feature test cases where config is not saved into config_db.json, this reload needs to be done before feature fixture setup and after feature teardown, such as: tacacs_v6, setup_streaming_telemetry, or setup_ntp. According to https://docs.pytest.org/en/latest/reference/fixtures.html#reference-fixtures, it only considers the following when deciding the fixture orders: scope dependencies autouse We shouldn't use autouse in this test module. So only two options to let convert_and_restore_config_db_to_ipv6_only runs before other fixtures: define other fixtures in 'function' scope. define the feature fixture to request convert_and_restore_config_db_to_ipv6_only explicit. Using option sonic-net#1 in this PR as the new 'function' scope fixture can be reused by other cases. Option sonic-net#2 has good readability, but will limit the new fixture to be used by ipv6_only cases. Summary: Fixes sonic-net#12705 Approach What is the motivation for this PR? Multiple errors were observed in mgmt_ipv6 are related to fixture setup/teardown sequence. How did you do it? Added two 'function' scope fixture: check_tacacs_v6_func and setup_streaming_telemetry_func. And modified 3 tests cases to use 'function' scope fixture. test_ro_user_ipv6_only test_rw_user_ipv6_only test_telemetry_output_ipv6_only co-authorized by: [email protected]
8 tasks
yifan-nexthop
referenced
this pull request
in nexthop-ai/sonic-mgmt
Jan 14, 2026
What is the motivation for this PR? The current telemetry framework has many serious problems: Hard to import, because it is outside of the tests folder No implementation, hard to try out Hard to use and extend, because the interface is too primitive No tests and can break easily How did you do it? This PR add a few things to improve the current telemetry framework: Add new design doc with example code provided in the doc. Implement both TS (timeseries) and DB (database) reporter, so we can try the feature easily. How did you verify/test it? Run all tests locally and passed. Any platform specific information? N/A. Fix TS reporters. Fix TSRepoter. Fix TS reporter. minor fix. Fix example. Reverse relationship of metrics and reporter to support more types of metrics in future. Remove bydesign not working test. Fix example. Update tests. Update TS reporter and DB repoter. Update minor things. Remove no required code. Revert unexpected change. Rename and update doc. * Get os version and job id (#1) Get os version and elastictest job id from correct place. * Revert OS version change. * Remove duplicated mock reporter fixture. --------- Co-authored-by: Yutong Zhang <[email protected]> Signed-off-by: YiFan Wang <[email protected]>
PriyanshTratiya
pushed a commit
to PriyanshTratiya/sonic-mgmt
that referenced
this pull request
Jan 21, 2026
What is the motivation for this PR? The current telemetry framework has many serious problems: Hard to import, because it is outside of the tests folder No implementation, hard to try out Hard to use and extend, because the interface is too primitive No tests and can break easily How did you do it? This PR add a few things to improve the current telemetry framework: Add new design doc with example code provided in the doc. Implement both TS (timeseries) and DB (database) reporter, so we can try the feature easily. How did you verify/test it? Run all tests locally and passed. Any platform specific information? N/A. Fix TS reporters. Fix TSRepoter. Fix TS reporter. minor fix. Fix example. Reverse relationship of metrics and reporter to support more types of metrics in future. Remove bydesign not working test. Fix example. Update tests. Update TS reporter and DB repoter. Update minor things. Remove no required code. Revert unexpected change. Rename and update doc. * Get os version and job id (sonic-net#1) Get os version and elastictest job id from correct place. * Revert OS version change. * Remove duplicated mock reporter fixture. --------- Co-authored-by: Yutong Zhang <[email protected]> Signed-off-by: Priyansh Tratiya <[email protected]>
gshemesh2
pushed a commit
to gshemesh2/sonic-mgmt
that referenced
this pull request
Jan 26, 2026
…in pfc_pause_lossless test (sonic-net#18105) Description of PR In tests/snappi_tests/pfc/test_pfc_pause_lossless_with_snappi.py, we have reboot testcases. We disable the PFCWD and Credit-WD in the testcase and reboot the the DUT depending upon type of reboot. However, on cold-reboot, the Credit-WD is getting reset back. This causes the lossless test flows on IXIA to continuously send traffic despite of the pause-storm. The run_traffic in traffic_generation.py is trying to determine if the test stops within a stipulated duration, which it does not and throws an assert that flows have not stopped within the given time duration and attempts. Summary: Fixes # (issue) sonic-net#18082 Type of change Bug fix Testbed and Framework(new/improvement) New Test case Skipped for non-supported platforms Test case improvement Back port request 202012 202205 202305 202311 202405 202411 Approach What is the motivation for this PR? The reboot_dut was called after the PFCWD and Credit-WD disable. The reboot caused the Credit-WD to reset back and hence test failed. How did you do it? Created a single fixture called reboot_duts_and_disable_wd to reboot the DUTs and disable Credit and PFC watch-dogs. This fixture is added in snappi_tests/files/helper.py. Modified the testcase - snappi_tests/pfc/test_pfc_pause_lossless_with_snappi.py to incorporate the above fixture. How did you verify/test it? T0/T1 setup verification: AzDevOps@sonic_mgmt_nokia_202411:/data/sonic-mgmt/tests$ date;python3 -m pytest --inventory ../ansible/ixia-sonic --host-pattern ixr-x3b-14 --testbed ixr-aaa-14-t2 --testbed_file ../ansible/testbed.csv --log-cli-level info --log-file-level info --kube_master unset --showlocals -ra --show-capture stdout --junit-xml=/tmp/p.xml --skip_sanity --log-file=/tmp/p.log --cache-clear --topology tgen snappi_tests/pfc/test_pfc_pause_lossless_with_snappi.py -k reboot Thu May 1 13:45:24 UTC 2025 -------------------------- curtailed output ----------------------- snappi_tests/pfc/test_pfc_pause_lossless_with_snappi.py::test_pfc_pause_single_lossless_prio_reboot[multidut_port_info0-cold-ixr-aaa-14|3] --------------------------------------------------------------------------------------------------- live log setup ---------------------------------------------------------------------------------------------------- 13:46:03 __init__.set_default L0053 INFO | Completeness level not set during test execution. Setting to default level: CompletenessLevel.basic 13:46:03 __init__.check_test_completeness L0151 INFO | Test has no defined levels. Continue without test completeness checks 13:46:03 __init__.loganalyzer L0067 INFO | Log analyzer is disabled 13:46:03 __init__.store_fixture_values L0020 INFO | store memory_utilization test_pfc_pause_single_lossless_prio_reboot[multidut_port_info0-cold-ixr-aaa-14|3] 13:46:03 __init__._fixture_generator_decorator L0081 INFO | -------------------- fixture ignore_route_check_for_cisco_8000 setup starts -------------------- 13:46:03 __init__._fixture_generator_decorator L0085 INFO | -------------------- fixture ignore_route_check_for_cisco_8000 setup ends -------------------- 13:46:03 __init__._fixture_generator_decorator L0081 INFO | -------------------- fixture multidut_port_info setup starts -------------------- 13:46:03 __init__._fixture_generator_decorator L0085 INFO | -------------------- fixture multidut_port_info setup ends -------------------- 13:46:03 __init__._fixture_generator_decorator L0081 INFO | -------------------- fixture number_of_tx_rx_ports setup starts -------------------- 13:46:03 __init__._fixture_generator_decorator L0085 INFO | -------------------- fixture number_of_tx_rx_ports setup ends -------------------- 13:46:03 __init__._fixture_generator_decorator L0081 INFO | -------------------- fixture setup_ports_and_dut setup starts -------------------- 13:46:03 helper.setup_ports_and_dut L0111 INFO | Running test for testbed subtype: single-dut-multi-asic-aaa 13:46:04 __init__._fixture_generator_decorator L0085 INFO | -------------------- fixture setup_ports_and_dut setup ends -------------------- 13:46:04 __init__._fixture_generator_decorator L0081 INFO | -------------------- fixture reboot_duts_and_disable_wd setup starts -------------------- 13:46:05 sonic.get_asic_name L1797 INFO | asic: unknown 13:46:05 helper.skip_warm_reboot L0045 INFO | Reboot type cold is supported on broadcom switches 13:46:05 sonic.get_asic_name L1797 INFO | asic: unknown 13:46:05 helper.skip_warm_reboot L0045 INFO | Reboot type cold is supported on broadcom switches 13:46:08 helper.save_config_and_reboot L0210 INFO | Issuing a cold reboot on the dut ixr-aaa-14 13:46:11 reboot.reboot L0271 INFO | Reboot ixr-aaa-14: wait[120], timeout[300] 13:46:11 reboot.reboot L0273 INFO | DUT ixr-aaa-14 create a file /dev/shm/test_reboot before rebooting 13:46:12 reboot.collect_console_log L0566 INFO | start: collect console log 13:46:12 dut_utils.creds_on_dut L0471 INFO | dut ixr-aaa-14 belongs to groups ['ixia-sonic', 'sonic', 'sonic_aaa', 'fanout'] 13:46:12 dut_utils.creds_on_dut L0496 INFO | skip empty var file /data/sonic-mgmt/tests/common/helpers/../../../ansible/group_vars/all/corefile_uploader.yml 13:46:12 transport._log L1873 INFO | Connected (version 2.0, client OpenSSH_9.2p1) 13:46:16 transport._log L1873 INFO | Auth banner: b'Debian GNU/Linux 12 \\n \\l\n\n' 13:46:16 transport._log L1873 INFO | Authentication (password) failed. 13:46:16 transport._log L1873 INFO | Connected (version 2.0, client OpenSSH_9.2p1) 13:46:16 transport._log L1873 INFO | Auth banner: b'Debian GNU/Linux 12 \\n \\l\n\n' 13:46:16 transport._log L1873 INFO | Authentication (password) successful! 13:46:17 reboot.try_create_dut_console L0559 WARNING| Fail to create dut console. Please check console config or if console works ro not. 'ManagementIp' 13:46:17 reboot.collect_console_log L0576 WARNING| dut console is not ready, we cannot get log by console 13:46:17 reboot.wait_for_shutdown L0164 INFO | waiting for ssh to drop on ixr-aaa-14 13:46:17 reboot.execute_reboot_command L0205 INFO | rebooting ixr-aaa-14 with command "reboot" 13:46:35 reboot.wait_for_startup L0185 INFO | waiting for ssh to startup on ixr-aaa-14 13:48:05 reboot.wait_for_startup L0197 INFO | ssh has started up on ixr-aaa-14 13:48:05 reboot.reboot L0300 INFO | waiting for switch ixr-aaa-14 to initialize 13:52:31 processes_utils.wait_critical_processes L0078 INFO | Wait until all critical processes are healthy in 600 sec 13:52:31 processes_utils._all_critical_processes_ L0045 INFO | Check critical processes status 13:52:40 reboot.reboot L0330 INFO | cold reboot finished on ixr-aaa-14 13:52:41 reboot.reboot L0333 INFO | DUT ixr-aaa-14 up since 2025-05-01 13:47:31.410000 13:52:41 helper.save_config_and_reboot L0214 INFO | Wait until the system is stable 13:52:47 sonic_asic.check_bgp_session_state L0714 INFO | bgp neighbors that match the state: ['3.3.3.2', '3333::3:2'] on namespace asic0 13:52:47 sonic_asic.check_bgp_session_state L0715 INFO | bgp neighbors to be checked on the state: [] on namespace asic0 13:52:48 sonic_asic.check_bgp_session_state L0714 INFO | bgp neighbors that match the state: ['3.3.3.1', '3333::3:1'] on namespace asic1 13:52:48 sonic_asic.check_bgp_session_state L0715 INFO | bgp neighbors to be checked on the state: [] on namespace asic1 13:52:48 parallel.on_terminate L0085 INFO | process save_config_and_reboot--<MultiAsicSonicHost ixr-aaa-14> terminated with exit code None 13:52:48 parallel.parallel_run L0221 INFO | Completed running processes for target "save_config_and_reboot" in 0:06:43.000484 seconds 13:52:54 __init__._fixture_generator_decorator L0085 INFO | -------------------- fixture reboot_duts_and_disable_wd setup ends -------------------- 13:52:54 __init__.pytest_runtest_setup L0034 INFO | collect memory before test test_pfc_pause_single_lossless_prio_reboot[multidut_port_info0-cold-ixr-aaa-14|3] 13:52:54 __init__.pytest_runtest_setup L0054 INFO | Before test: collected memory_values {'before_test': {}, 'after_test': {}} -------------------------- curtailed output ----------------------- 13:57:03 traffic_generation.run_traffic L0465 INFO | In-flight traffic statistics for flows: ['Test Flow Prio 3', 'Background Flow Prio 1', 'Background Flow Prio 4', 'Background Flow Prio 5', 'Background Flow Prio 6', 'Background Flow Prio 2', 'Background Flow Prio 0'] 13:57:03 traffic_generation.run_traffic L0466 INFO | In-flight TX frames: [70428, 63697318, 63697318, 63697318, 63697318, 63697318, 63697318] 13:57:03 traffic_generation.run_traffic L0467 INFO | In-flight RX frames: [0, 63697318, 63697318, 63697318, 63697318, 63697318, 63697318] 13:57:21 traffic_generation.run_traffic L0468 INFO | DUT polling complete 13:57:21 traffic_generation.run_traffic L0479 INFO | Checking if all flows have stopped. Attempt sonic-net#1 13:57:22 traffic_generation.run_traffic L0486 INFO | All test and background traffic flows stopped 13:57:24 traffic_generation.run_traffic L0514 INFO | Dumping per-flow statistics 13:57:25 traffic_generation.run_traffic L0516 INFO | Stopping transmit on all remaining flows 13:57:32 snappi_api.info L1132 INFO | Flows stop 6.258s PASSED -------------------------- curtailed output ----------------------- snappi_tests/pfc/test_pfc_pause_lossless_with_snappi.py::test_pfc_pause_multi_lossless_prio_reboot[multidut_port_info0-cold] --------------------------------------------------------------------------------------------------- live log setup ---------------------------------------------------------------------------------------------------- 14:17:56 __init__.set_default L0053 INFO | Completeness level not set during test execution. Setting to default level: CompletenessLevel.basic 14:17:56 __init__.check_test_completeness L0151 INFO | Test has no defined levels. Continue without test completeness checks 14:17:56 __init__.loganalyzer L0067 INFO | Log analyzer is disabled 14:17:56 __init__.store_fixture_values L0020 INFO | store memory_utilization test_pfc_pause_multi_lossless_prio_reboot[multidut_port_info0-cold] 14:17:56 __init__._fixture_generator_decorator L0081 INFO | -------------------- fixture ignore_route_check_for_cisco_8000 setup starts -------------------- 14:17:56 __init__._fixture_generator_decorator L0085 INFO | -------------------- fixture ignore_route_check_for_cisco_8000 setup ends -------------------- 14:17:56 __init__._fixture_generator_decorator L0081 INFO | -------------------- fixture multidut_port_info setup starts -------------------- 14:17:56 __init__._fixture_generator_decorator L0085 INFO | -------------------- fixture multidut_port_info setup ends -------------------- 14:17:56 __init__._fixture_generator_decorator L0081 INFO | -------------------- fixture number_of_tx_rx_ports setup starts -------------------- 14:17:56 __init__._fixture_generator_decorator L0085 INFO | -------------------- fixture number_of_tx_rx_ports setup ends -------------------- 14:17:56 __init__._fixture_generator_decorator L0081 INFO | -------------------- fixture setup_ports_and_dut setup starts -------------------- 14:17:56 helper.setup_ports_and_dut L0111 INFO | Running test for testbed subtype: single-dut-multi-asic-aaa 14:17:57 __init__._fixture_generator_decorator L0085 INFO | -------------------- fixture setup_ports_and_dut setup ends -------------------- 14:17:57 __init__._fixture_generator_decorator L0081 INFO | -------------------- fixture reboot_duts_and_disable_wd setup starts -------------------- 14:17:58 sonic.get_asic_name L1797 INFO | asic: unknown 14:17:58 helper.skip_warm_reboot L0045 INFO | Reboot type cold is supported on broadcom switches 14:17:58 sonic.get_asic_name L1797 INFO | asic: unknown 14:17:58 helper.skip_warm_reboot L0045 INFO | Reboot type cold is supported on broadcom switches 14:18:01 helper.save_config_and_reboot L0210 INFO | Issuing a cold reboot on the dut ixr-aaa-14 14:18:04 reboot.reboot L0271 INFO | Reboot ixr-aaa-14: wait[120], timeout[300] 14:18:04 reboot.reboot L0273 INFO | DUT ixr-aaa-14 create a file /dev/shm/test_reboot before rebooting 14:18:05 reboot.collect_console_log L0566 INFO | start: collect console log 14:18:05 dut_utils.creds_on_dut L0471 INFO | dut ixr-aaa-14 belongs to groups ['ixia-sonic', 'sonic', 'sonic_aaa', 'fanout'] 14:18:05 dut_utils.creds_on_dut L0496 INFO | skip empty var file /data/sonic-mgmt/tests/common/helpers/../../../ansible/group_vars/all/corefile_uploader.yml 14:18:05 transport._log L1873 INFO | Connected (version 2.0, client OpenSSH_9.2p1) 14:18:07 transport._log L1873 INFO | Auth banner: b'Debian GNU/Linux 12 \\n \\l\n\n' 14:18:07 transport._log L1873 INFO | Authentication (password) failed. 14:18:07 transport._log L1873 INFO | Connected (version 2.0, client OpenSSH_9.2p1) 14:18:07 transport._log L1873 INFO | Auth banner: b'Debian GNU/Linux 12 \\n \\l\n\n' 14:18:07 transport._log L1873 INFO | Authentication (password) successful! 14:18:08 reboot.try_create_dut_console L0559 WARNING| Fail to create dut console. Please check console config or if console works ro not. 'ManagementIp' 14:18:08 reboot.collect_console_log L0576 WARNING| dut console is not ready, we cannot get log by console 14:18:10 reboot.wait_for_shutdown L0164 INFO | waiting for ssh to drop on ixr-aaa-14 14:18:10 reboot.execute_reboot_command L0205 INFO | rebooting ixr-aaa-14 with command "reboot" 14:18:28 reboot.wait_for_startup L0185 INFO | waiting for ssh to startup on ixr-aaa-14 14:19:56 reboot.wait_for_startup L0197 INFO | ssh has started up on ixr-aaa-14 14:19:56 reboot.reboot L0300 INFO | waiting for switch ixr-aaa-14 to initialize 14:24:22 processes_utils.wait_critical_processes L0078 INFO | Wait until all critical processes are healthy in 600 sec 14:24:22 processes_utils._all_critical_processes_ L0045 INFO | Check critical processes status 14:24:30 reboot.reboot L0330 INFO | cold reboot finished on ixr-aaa-14 14:24:31 reboot.reboot L0333 INFO | DUT ixr-aaa-14 up since 2025-05-01 14:19:23.320000 14:24:31 helper.save_config_and_reboot L0214 INFO | Wait until the system is stable 14:24:37 sonic_asic.check_bgp_session_state L0714 INFO | bgp neighbors that match the state: ['3.3.3.2', '3333::3:2'] on namespace asic0 14:24:37 sonic_asic.check_bgp_session_state L0715 INFO | bgp neighbors to be checked on the state: [] on namespace asic0 14:24:38 sonic_asic.check_bgp_session_state L0714 INFO | bgp neighbors that match the state: ['3.3.3.1', '3333::3:1'] on namespace asic1 14:24:38 sonic_asic.check_bgp_session_state L0715 INFO | bgp neighbors to be checked on the state: [] on namespace asic1 14:24:38 parallel.on_terminate L0085 INFO | process save_config_and_reboot--<MultiAsicSonicHost ixr-aaa-14> terminated with exit code None 14:24:38 parallel.parallel_run L0221 INFO | Completed running processes for target "save_config_and_reboot" in 0:06:39.645613 seconds 14:24:44 __init__._fixture_generator_decorator L0085 INFO | -------------------- fixture reboot_duts_and_disable_wd setup ends -------------------- 14:24:44 __init__.pytest_runtest_setup L0034 INFO | collect memory before test test_pfc_pause_multi_lossless_prio_reboot[multidut_port_info0-cold] 14:24:44 __init__.pytest_runtest_setup L0054 INFO | Before test: collected memory_values {'before_test': {}, 'after_test': {}} -------------------------- curtailed output ----------------------- 14:28:16 traffic_generation.run_traffic L0465 INFO | In-flight traffic statistics for flows: ['Test Flow Prio 3', 'Test Flow Prio 4', 'Background Flow Prio 1', 'Background Flow Prio 5', 'Background Flow Prio 6', 'Background Flow Prio 2', 'Background Flow Prio 0'] 14:28:16 traffic_generation.run_traffic L0466 INFO | In-flight TX frames: [68215, 68215, 116379310, 116379310, 116379310, 116379310, 116379310] 14:28:16 traffic_generation.run_traffic L0467 INFO | In-flight RX frames: [0, 0, 116379310, 116379310, 116379310, 116379310, 116379310] 14:28:49 traffic_generation.run_traffic L0468 INFO | DUT polling complete 14:28:49 traffic_generation.run_traffic L0479 INFO | Checking if all flows have stopped. Attempt sonic-net#1 14:28:50 traffic_generation.run_traffic L0486 INFO | All test and background traffic flows stopped 14:28:52 traffic_generation.run_traffic L0514 INFO | Dumping per-flow statistics 14:28:53 traffic_generation.run_traffic L0516 INFO | Stopping transmit on all remaining flows 14:29:00 snappi_api.info L1132 INFO | Flows stop 6.248s PASSED T2 Verification: AzDevOps@7c3002ea4994:/data/tests$ date;python3 -m pytest --inventory ../ansible/ixia-sonic --host-pattern board73,board74 --testbed ixre-chassis17-t2 --testbed_file ../ansible/testbed.csv --show-capture=stdout --log-cli-level info --showlocals -ra --allow_recover --junit-xml=/tmp/pfc/p.xml --skip_sanity --log-file=/tmp/pfc/p.log snappi_tests/pfc/test_pfc_pause_lossless_with_snappi.py -k reboot --pdb Wed Apr 30 20:44:41 UTC 2025 --------------- curtailed output ---------------- snappi_tests/pfc/test_pfc_pause_lossless_with_snappi.py::test_pfc_pause_single_lossless_prio_reboot[multidut_port_info0-cold-board71|3] --------------------------------------------------------------------------------------------------- live log setup ---------------------------------------------------------------------------------------------------- 20:45:40 __init__.set_default L0053 INFO | Completeness level not set during test execution. Setting to default level: CompletenessLevel.basic 20:45:40 __init__.check_test_completeness L0151 INFO | Test has no defined levels. Continue without test completeness checks 20:45:40 __init__.loganalyzer L0067 INFO | Log analyzer is disabled 20:45:40 __init__._fixture_generator_decorator L0081 INFO | -------------------- fixture ignore_route_check_for_cisco_8000 setup starts -------------------- 20:45:40 __init__._fixture_generator_decorator L0085 INFO | -------------------- fixture ignore_route_check_for_cisco_8000 setup ends -------------------- 20:45:40 __init__._fixture_generator_decorator L0081 INFO | -------------------- fixture multidut_port_info setup starts -------------------- 20:45:40 __init__._fixture_generator_decorator L0085 INFO | -------------------- fixture multidut_port_info setup ends -------------------- 20:45:40 __init__._fixture_generator_decorator L0081 INFO | -------------------- fixture number_of_tx_rx_ports setup starts -------------------- 20:45:40 __init__._fixture_generator_decorator L0085 INFO | -------------------- fixture number_of_tx_rx_ports setup ends -------------------- 20:45:40 __init__._fixture_generator_decorator L0081 INFO | -------------------- fixture setup_ports_and_dut setup starts -------------------- 20:45:40 helper.setup_ports_and_dut L0115 INFO | Running test for testbed subtype: multi-dut-long-to-short-link 20:45:43 snappi_fixtures.__intf_config_multidut L0858 INFO | Configuring Dut: board73 with port Ethernet16 with IP 20.1.1.2/31 20:45:43 snappi_fixtures.__intf_config_multidut L0878 INFO | Adding ip:20.1.1.2 on port:Ethernet16 on DUT:board73 20:45:44 snappi_fixtures.__intf_config_multidut L0858 INFO | Configuring Dut: board74 with port Ethernet0 with IP 20.1.1.0/31 20:45:44 snappi_fixtures.__intf_config_multidut L0878 INFO | Adding ip:20.1.1.0 on port:Ethernet0 on DUT:board74 20:45:45 __init__._fixture_generator_decorator L0085 INFO | -------------------- fixture setup_ports_and_dut setup ends -------------------- 20:45:45 __init__._fixture_generator_decorator L0081 INFO | -------------------- fixture reboot_duts_and_disable_wd setup starts -------------------- 20:45:46 sonic.get_asic_name L1778 INFO | asic: unknown 20:45:46 helper.skip_warm_reboot L0049 INFO | Reboot type cold is supported on broadcom switches 20:45:46 sonic.get_asic_name L1778 INFO | asic: unknown 20:45:46 helper.skip_warm_reboot L0049 INFO | Reboot type cold is supported on broadcom switches 20:45:49 helper.save_config_and_reboot L0408 INFO | Issuing a cold reboot on the dut board74 20:45:49 helper.save_config_and_reboot L0408 INFO | Issuing a cold reboot on the dut board73 20:45:52 reboot.reboot L0269 INFO | Reboot board74: wait[900], timeout[600] 20:45:52 reboot.reboot L0271 INFO | DUT board74 create a file /dev/shm/test_reboot before rebooting 20:45:52 reboot.reboot L0269 INFO | Reboot board73: wait[900], timeout[600] 20:45:52 reboot.reboot L0271 INFO | DUT board73 create a file /dev/shm/test_reboot before rebooting 20:45:54 reboot.wait_for_shutdown L0162 INFO | waiting for ssh to drop on board74 20:45:54 reboot.execute_reboot_command L0202 INFO | rebooting board74 with command "reboot" 20:45:54 reboot.wait_for_shutdown L0162 INFO | waiting for ssh to drop on board73 20:45:54 reboot.execute_reboot_command L0202 INFO | rebooting board73 with command "reboot" 20:46:15 reboot.wait_for_startup L0183 INFO | waiting for ssh to startup on board74 20:46:16 reboot.wait_for_startup L0183 INFO | waiting for ssh to startup on board73 20:48:38 reboot.wait_for_startup L0194 INFO | ssh has started up on board73 20:48:38 reboot.reboot L0288 INFO | waiting for switch board73 to initialize 20:48:40 reboot.wait_for_startup L0194 INFO | ssh has started up on board74 20:48:40 reboot.reboot L0288 INFO | waiting for switch board74 to initialize 20:52:24 processes_utils.wait_critical_processes L0079 INFO | Wait until all critical processes are healthy in 600 sec 20:52:24 processes_utils._all_critical_processes_ L0045 INFO | Check critical processes status 20:52:25 processes_utils.wait_critical_processes L0079 INFO | Wait until all critical processes are healthy in 600 sec 20:52:25 processes_utils._all_critical_processes_ L0045 INFO | Check critical processes status 20:52:32 processes_utils.get_critical_processes_s L0035 INFO | The status of checking process in container 'lldp0' is: False 20:52:32 processes_utils.get_critical_processes_s L0037 INFO | The processes not running in container 'lldp0' are: '['lldp-syncd', 'lldpmgrd']' 20:52:32 processes_utils.get_critical_processes_s L0035 INFO | The status of checking process in container 'lldp0' is: False 20:52:32 processes_utils.get_critical_processes_s L0037 INFO | The processes not running in container 'lldp0' are: '['lldp-syncd', 'lldpmgrd']' 20:52:52 processes_utils._all_critical_processes_ L0045 INFO | Check critical processes status 20:52:52 processes_utils._all_critical_processes_ L0045 INFO | Check critical processes status 20:52:59 processes_utils.get_critical_processes_s L0035 INFO | The status of checking process in container 'lldp0' is: False 20:52:59 processes_utils.get_critical_processes_s L0037 INFO | The processes not running in container 'lldp0' are: '['lldp-syncd', 'lldpmgrd']' 20:53:00 processes_utils.get_critical_processes_s L0035 INFO | The status of checking process in container 'lldp0' is: False 20:53:00 processes_utils.get_critical_processes_s L0037 INFO | The processes not running in container 'lldp0' are: '['lldp-syncd', 'lldpmgrd']' 20:53:20 processes_utils._all_critical_processes_ L0045 INFO | Check critical processes status 20:53:20 processes_utils._all_critical_processes_ L0045 INFO | Check critical processes status 20:53:27 reboot.reboot L0318 INFO | cold reboot finished on board73 20:53:28 reboot.reboot L0318 INFO | cold reboot finished on board74 20:53:28 reboot.reboot L0321 INFO | DUT board73 up since 2025-04-30 20:47:22.580000 20:53:28 reboot.reboot L0321 INFO | DUT board74 up since 2025-04-30 20:47:19.270000 20:53:29 helper.save_config_and_reboot L0412 INFO | Wait until the system is stable 20:53:29 helper.save_config_and_reboot L0412 INFO | Wait until the system is stable 20:53:35 sonic_asic.check_bgp_session_state L0692 INFO | bgp neighbors that match the state: ['3.3.3.1', '3.3.3.2', '3.3.3.6', '3.3.3.8', '3.3.3.12', '3.3.3.14', '3.3.3.20', '3333::3:1', '3333::3:2', '3333::3:6', '3333::3:8', '3333::3:12', '3333::3:14', '3333::3:20'] on namespace asic0 20:53:35 sonic_asic.check_bgp_session_state L0693 INFO | bgp neighbors to be checked on the state: [] on namespace asic0 20:53:35 sonic_asic.check_bgp_session_state L0692 INFO | bgp neighbors that match the state: ['3.3.3.1', '3.3.3.2', '3.3.3.6', '3.3.3.8', '3.3.3.14', '3.3.3.18', '3.3.3.20', '3333::3:1', '3333::3:2', '3333::3:6', '3333::3:8', '3333::3:14', '3333::3:18', '3333::3:20'] on namespace asic0 20:53:35 sonic_asic.check_bgp_session_state L0693 INFO | bgp neighbors to be checked on the state: [] on namespace asic0 20:53:36 sonic_asic.check_bgp_session_state L0692 INFO | bgp neighbors that match the state: ['3.3.3.1', '3.3.3.2', '3.3.3.6', '3.3.3.8', '3.3.3.12', '3.3.3.14', '3.3.3.18', '3333::3:1', '3333::3:2', '3333::3:6', '3333::3:8', '3333::3:12', '3333::3:14', '3333::3:18'] on namespace asic1 20:53:36 sonic_asic.check_bgp_session_state L0693 INFO | bgp neighbors to be checked on the state: [] on namespace asic1 20:53:36 parallel.on_terminate L0085 INFO | process save_config_and_reboot--<MultiAsicSonicHost board74> terminated with exit code None 20:53:36 sonic_asic.check_bgp_session_state L0692 INFO | bgp neighbors that match the state: ['3.3.3.1', '3.3.3.2', '3.3.3.6', '3.3.3.8', '3.3.3.12', '3.3.3.18', '3.3.3.20', '3333::3:1', '3333::3:2', '3333::3:6', '3333::3:8', '3333::3:12', '3333::3:18', '3333::3:20'] on namespace asic1 20:53:36 sonic_asic.check_bgp_session_state L0693 INFO | bgp neighbors to be checked on the state: [] on namespace asic1 20:53:36 parallel.on_terminate L0085 INFO | process save_config_and_reboot--<MultiAsicSonicHost board73> terminated with exit code None 20:53:36 parallel.parallel_run L0221 INFO | Completed running processes for target "save_config_and_reboot" in 0:07:49.938416 seconds 20:53:50 __init__._fixture_generator_decorator L0085 INFO | -------------------- fixture reboot_duts_and_disable_wd setup ends -------------------- --------------- curtailed output ---------------- PASSED [ 8%] -------------------------------------------------------------------------------------------------- live log teardown -------------------------------------------------------------------------------------------------- 20:57:53 __init__._fixture_generator_decorator L0093 INFO | -------------------- fixture reboot_duts_and_disable_wd teardown starts -------------------- 20:58:06 config_reload.config_reload L0145 INFO | reloading config_db 21:02:39 processes_utils.wait_critical_processes L0079 INFO | Wait until all critical processes are healthy in 600 sec 21:02:39 processes_utils._all_critical_processes_ L0045 INFO | Check critical processes status 21:02:46 processes_utils.get_critical_processes_s L0035 INFO | The status of checking process in container 'lldp0' is: False 21:02:46 processes_utils.get_critical_processes_s L0037 INFO | The processes not running in container 'lldp0' are: '['lldp-syncd', 'lldpmgrd']' 21:03:06 processes_utils._all_critical_processes_ L0045 INFO | Check critical processes status 21:03:14 config_reload.config_reload L0145 INFO | reloading config_db 21:07:44 processes_utils.wait_critical_processes L0079 INFO | Wait until all critical processes are healthy in 600 sec 21:07:44 processes_utils._all_critical_processes_ L0045 INFO | Check critical processes status 21:07:52 processes_utils.get_critical_processes_s L0035 INFO | The status of checking process in container 'lldp0' is: False 21:07:52 processes_utils.get_critical_processes_s L0037 INFO | The processes not running in container 'lldp0' are: '['lldp-syncd', 'lldpmgrd']' 21:08:12 processes_utils._all_critical_processes_ L0045 INFO | Check critical processes status 21:08:19 __init__._fixture_generator_decorator L0102 INFO | -------------------- fixture reboot_duts_and_disable_wd teardown ends -------------------- 21:08:19 __init__._fixture_generator_decorator L0093 INFO | -------------------- fixture setup_ports_and_dut teardown starts -------------------- 21:08:22 snappi_fixtures.__intf_config_multidut L0858 INFO | Configuring Dut: board73 with port Ethernet16 with IP 20.1.1.2/31 21:08:22 snappi_fixtures.__intf_config_multidut L0880 INFO | Removing ip:20.1.1.2 on port:Ethernet16 on DUT:board73 21:08:23 snappi_fixtures.__intf_config_multidut L0858 INFO | Configuring Dut: board74 with port Ethernet0 with IP 20.1.1.0/31 21:08:23 snappi_fixtures.__intf_config_multidut L0880 INFO | Removing ip:20.1.1.0 on port:Ethernet0 on DUT:board74 21:08:24 __init__._fixture_generator_decorator L0102 INFO | -------------------- fixture setup_ports_and_dut teardown ends -------------------- 21:08:24 __init__._fixture_generator_decorator L0093 INFO | -------------------- fixture number_of_tx_rx_ports teardown starts -------------------- 21:08:24 __init__._fixture_generator_decorator L0102 INFO | -------------------- fixture number_of_tx_rx_ports teardown ends -------------------- 21:08:24 __init__._fixture_generator_decorator L0093 INFO | -------------------- fixture multidut_port_info teardown starts -------------------- 21:08:24 __init__._fixture_generator_decorator L0102 INFO | -------------------- fixture multidut_port_info teardown ends -------------------- 21:08:24 __init__._fixture_generator_decorator L0093 INFO | -------------------- fixture ignore_route_check_for_cisco_8000 teardown starts -------------------- 21:08:24 __init__._fixture_generator_decorator L0102 INFO | -------------------- fixture ignore_route_check_for_cisco_8000 teardown ends -------------------- --------------- curtailed output ---------------- ======================================================================= 8 passed, 16 skipped, 20 deselected, 71 warnings in 10116.17s (2:48:36) ======================================================================= INFO:root:Can not get Allure report URL. Please check logs co-authorized by: [email protected] Signed-off-by: Guy Shemesh <[email protected]>
gshemesh2
pushed a commit
to gshemesh2/sonic-mgmt
that referenced
this pull request
Jan 26, 2026
sonic-net#18886) Description of PR Summary: Fixes # (issue)sonic-net#13769 Type of change Bug fix Testbed and Framework(new/improvement) New Test case Skipped for non-supported platforms Test case improvement Back port request 202205 202305 202311 202405 202411 202505 Approach What is the motivation for this PR? To support infra changes in snappi tests introduced by this Pull Request - sonic-net#15069 How did you do it? We don't need the setup_ports_and_dut now and we can simply call the snappi_testbed_config in the test itself and iterate through the available ports. How did you verify/test it? Any platform specific information? Supported testbed topology if it's a new test case? Documentation OUTPUT snappi_tests/pfc/test_pfc_pause_lossy_with_snappi.py::test_pfc_pause_single_lossy_prio[multidut_port_info0-sonic-s6100-dut1|0-400.0-single_linecard_single_asic] ----------------------------------------------------------------------------------------------------------------------------------------- live log setup ------------------------------------------------------------------------------------------------------------------------------------------ 16:01:24 init.set_default L0053 INFO | Completeness level not set during test execution. Setting to default level: CompletenessLevel.basic 16:01:24 init.check_test_completeness L0151 INFO | Test has no defined levels. Continue without test completeness checks 16:01:24 conftest.enhance_inventory L0313 INFO | Inventory file: ['../ansible/snappi-sonic'] 16:01:27 ptfhost_utils.run_icmp_responder_session L0310 INFO | Skip running icmp_responder at session level, it is only for dualtor testbed with active-active mux ports. 16:01:27 init._sanity_check L0431 INFO | Skip sanity check according to command line argument 16:01:27 conftest.collect_before_test L2695 INFO | Dumping Disk and Memory Space information before test on sonic-s6100-dut1 16:01:28 conftest.collect_before_test L2699 INFO | Collecting core dumps before test on sonic-s6100-dut1 16:01:28 conftest.collect_before_test L2708 INFO | Collecting running config before test on sonic-s6100-dut1 16:01:30 conftest.temporarily_disable_route_check L2974 INFO | Skipping temporarily_disable_route_check fixture 16:01:30 conftest.generate_params_dut_hostname L1498 INFO | Using DUTs ['sonic-s6100-dut1'] in testbed 'vms-snappi-sonic' 16:01:30 conftest.set_rand_one_dut_hostname L0647 INFO | Randomly select dut sonic-s6100-dut1 for testing 16:01:30 init._fixture_generator_decorator L0081 INFO | -------------------- fixture enable_packet_aging_after_test setup starts -------------------- 16:01:30 init._fixture_generator_decorator L0085 INFO | -------------------- fixture enable_packet_aging_after_test setup ends -------------------- 16:01:30 init._fixture_generator_decorator L0081 INFO | -------------------- fixture rand_lossless_prio setup starts -------------------- 16:01:30 init._fixture_generator_decorator L0085 INFO | -------------------- fixture rand_lossless_prio setup ends -------------------- 16:01:30 init._fixture_generator_decorator L0081 INFO | -------------------- fixture rand_lossy_prio setup starts -------------------- 16:01:30 init._fixture_generator_decorator L0085 INFO | -------------------- fixture rand_lossy_prio setup ends -------------------- 16:01:30 init._fixture_generator_decorator L0081 INFO | -------------------- fixture start_pfcwd_after_test setup starts -------------------- 16:01:30 init._fixture_generator_decorator L0085 INFO | -------------------- fixture start_pfcwd_after_test setup ends -------------------- 16:01:30 init._fixture_generator_decorator L0081 INFO | -------------------- fixture disable_voq_watchdog setup starts -------------------- 16:01:30 init._fixture_generator_decorator L0085 INFO | -------------------- fixture disable_voq_watchdog setup ends -------------------- 16:01:30 init._fixture_generator_decorator L0081 INFO | -------------------- fixture number_of_tx_rx_ports setup starts -------------------- 16:01:30 init._fixture_generator_decorator L0085 INFO | -------------------- fixture number_of_tx_rx_ports setup ends -------------------- 16:01:30 init._fixture_func_decorator L0069 INFO | -------------------- fixture snappi_api_serv_ip setup starts -------------------- 16:01:30 init._fixture_func_decorator L0076 INFO | -------------------- fixture snappi_api_serv_ip setup ends -------------------- 16:01:30 init._fixture_func_decorator L0069 INFO | -------------------- fixture snappi_api_serv_port setup starts -------------------- 16:01:30 init._fixture_func_decorator L0076 INFO | -------------------- fixture snappi_api_serv_port setup ends -------------------- 16:01:30 init._fixture_generator_decorator L0081 INFO | -------------------- fixture snappi_api setup starts -------------------- 16:01:30 init._fixture_generator_decorator L0085 INFO | -------------------- fixture snappi_api setup ends -------------------- 16:01:31 conftest.rand_one_dut_front_end_hostname L0683 INFO | Randomly select dut sonic-s6100-dut1 for testing 16:01:31 init._fixture_func_decorator L0069 INFO | -------------------- fixture prio_dscp_map setup starts -------------------- 16:01:32 init._fixture_func_decorator L0076 INFO | -------------------- fixture prio_dscp_map setup ends -------------------- 16:01:32 init._fixture_func_decorator L0069 INFO | -------------------- fixture all_prio_list setup starts -------------------- 16:01:32 init._fixture_func_decorator L0076 INFO | -------------------- fixture all_prio_list setup ends -------------------- 16:01:32 init._fixture_func_decorator L0069 INFO | -------------------- fixture lossless_prio_list setup starts -------------------- 16:01:33 init._fixture_func_decorator L0076 INFO | -------------------- fixture lossless_prio_list setup ends -------------------- 16:01:33 init._fixture_func_decorator L0069 INFO | -------------------- fixture lossy_prio_list setup starts -------------------- 16:01:33 init._fixture_func_decorator L0076 INFO | -------------------- fixture lossy_prio_list setup ends -------------------- 16:01:33 init._fixture_func_decorator L0069 INFO | -------------------- fixture get_snappi_ports setup starts -------------------- 16:01:34 conftest.generate_port_lists L1590 INFO | Generate dut_port_map: {'sonic-s6100-dut1': ['sonic-s6100-dut1|Ethernet0', 'sonic-s6100-dut1|Ethernet8', 'sonic-s6100-dut1|Ethernet16', 'sonic-s6100-dut1|Ethernet24']} 16:01:34 conftest.generate_port_lists L1613 INFO | Generate port_list: ['sonic-s6100-dut1|Ethernet0', 'sonic-s6100-dut1|Ethernet8', 'sonic-s6100-dut1|Ethernet16', 'sonic-s6100-dut1|Ethernet24'] 16:01:34 init._fixture_func_decorator L0069 INFO | -------------------- fixture get_snappi_ports_single_dut setup starts -------------------- 16:01:34 init._fixture_func_decorator L0076 INFO | -------------------- fixture get_snappi_ports_single_dut setup ends -------------------- 16:01:34 init._fixture_func_decorator L0076 INFO | -------------------- fixture get_snappi_ports setup ends -------------------- 16:01:34 init._fixture_func_decorator L0069 INFO | -------------------- fixture snappi_port_selection setup starts -------------------- 16:01:34 init._fixture_func_decorator L0076 INFO | -------------------- fixture snappi_port_selection setup ends -------------------- 16:01:34 init.loganalyzer L0074 INFO | Log analyzer is disabled 16:01:34 init.memory_utilization L0125 INFO | Hostname: sonic-s6100-dut1, Hwsku: Accton-AS9716-32D, Platform: x86_64-accton_as9716_32d-r0 16:01:34 memory_utilization.register_command L0023 INFO | Registering command: name=monit, cmd=sudo monit status, memory_params={'memory_usage': {'memory_increase_threshold': {'type': 'value', 'value': 10}, 'memory_high_threshold': {'type': 'value', 'value': 70}}}, memory_check=<function parse_monit_status_output at 0x7f9baa8983a0> 16:01:34 memory_utilization.register_command L0023 INFO | Registering command: name=top, cmd=top -b -n 1, memory_params={'bgpd': {'memory_increase_threshold': {'type': 'value', 'value': 128}, 'memory_high_threshold': None}, 'zebra': {'memory_increase_threshold': {'type': 'value', 'value': 64}, 'memory_high_threshold': None}}, memory_check=<function parse_top_output at 0x7f9baa88cd30> 16:01:34 memory_utilization.register_command L0023 INFO | Registering command: name=free, cmd=free -m, memory_params={'used': {'memory_increase_threshold': {'type': 'percentage', 'value': '20%'}, 'memory_high_threshold': None}}, memory_check=<function parse_free_output at 0x7f9baa898310> 16:01:34 memory_utilization.register_command L0023 INFO | Registering command: name=docker, cmd=docker stats --no-stream, memory_params={'snmp': {'memory_increase_threshold': {'type': 'value', 'value': 2}, 'memory_high_threshold': {'type': 'value', 'value': 4}}, 'pmon': {'memory_increase_threshold': {'type': 'value', 'value': 2}, 'memory_high_threshold': {'type': 'value', 'value': 8}}, 'lldp': {'memory_increase_threshold': {'type': 'value', 'value': 2}, 'memory_high_threshold': {'type': 'value', 'value': 4}}, 'gnmi': {'memory_increase_threshold': {'type': 'value', 'value': 2}, 'memory_high_threshold': {'type': 'value', 'value': 6}}, 'radv': {'memory_increase_threshold': {'type': 'value', 'value': 2}, 'memory_high_threshold': {'type': 'value', 'value': 3}}, 'syncd': {'memory_increase_threshold': {'type': 'value', 'value': 5}, 'memory_high_threshold': {'type': 'value', 'value': 18}}, 'bgp': {'memory_increase_threshold': {'type': 'value', 'value': 4}, 'memory_high_threshold': {'type': 'value', 'value': 14}}, 'teamd': {'memory_increase_threshold': {'type': 'value', 'value': 2}, 'memory_high_threshold': {'type': 'value', 'value': 5}}, 'swss': {'memory_increase_threshold': {'type': 'value', 'value': 3}, 'memory_high_threshold': {'type': 'value', 'value': 8}}, 'database': {'memory_increase_threshold': {'type': 'value', 'value': 2}, 'memory_high_threshold': {'type': 'value', 'value': 6}}}, memory_check=<function parse_docker_stats_output at 0x7f9baa898430> 16:01:34 memory_utilization.register_command L0023 INFO | Registering command: name=frr_bgp, cmd=vtysh -c "show memory bgp", memory_params={'used': {'memory_increase_threshold': [{'type': 'percentage', 'value': '50%'}, {'type': 'value', 'value': 32}], 'memory_high_threshold': {'type': 'value', 'value': 128}}}, memory_check=<function parse_frr_memory_output at 0x7f9baa8984c0> 16:01:34 memory_utilization.register_command L0023 INFO | Registering command: name=frr_zebra, cmd=vtysh -c "show memory zebra", memory_params={'used': {'memory_increase_threshold': [{'type': 'percentage', 'value': '50%'}, {'type': 'value', 'value': 16}], 'memory_high_threshold': {'type': 'value', 'value': 128}}}, memory_check=<function parse_frr_memory_output at 0x7f9baa8984c0> 16:01:34 init._fixture_generator_decorator L0081 INFO | -------------------- fixture multidut_port_info setup starts -------------------- 16:01:34 init._fixture_generator_decorator L0085 INFO | -------------------- fixture multidut_port_info setup ends -------------------- 16:01:34 init._fixture_generator_decorator L0081 INFO | -------------------- fixture setup_ports_and_dut setup starts -------------------- 16:01:34 helper.setup_ports_and_dut L0152 INFO | Running test for testbed subtype: single-dut-single-asic 16:01:34 init._fixture_generator_decorator L0085 INFO | -------------------- fixture setup_ports_and_dut setup ends -------------------- 16:01:34 init._fixture_func_decorator L0069 INFO | -------------------- fixture tgen_port_info setup starts -------------------- 16:01:35 init._fixture_func_decorator L0076 INFO | -------------------- fixture tgen_port_info setup ends -------------------- 16:01:40 memory_utilization.execute_command L0039 WARNING| Command 'vtysh -c "show memory bgp"' returned no output 16:01:40 memory_utilization.parse_frr_memory_outp L0481 WARNING| Empty output for FRR memory command, returning empty values 16:01:41 memory_utilization.execute_command L0039 WARNING| Command 'vtysh -c "show memory zebra"' returned no output 16:01:41 memory_utilization.parse_frr_memory_outp L0481 WARNING| Empty output for FRR memory command, returning empty values 16:01:41 init.pytest_runtest_setup L0061 INFO | Before test: collected memory_values {'before_test': {'sonic-s6100-dut1': {'monit': {'memory_usage': 7.8}, 'top': {}, 'free': {'used': 1988}, 'docker': {'radv': '0.24', 'syncd': '3.76', 'teamd': '0.26', 'swss': '0.60', 'pmon': '0.76', 'database': '0.88', 'bgp': '0.03', 'lldp': '0.10'}, 'frr_bgp': {}, 'frr_zebra': {}}}, 'after_test': {'sonic-s6100-dut1': {}}} ------------------------------------------------------------------------------------------------------------------------------------------ live log call ------------------------------------------------------------------------------------------------------------------------------------------ 16:01:54 connection._warn L0336 WARNING| Verification of certificates is disabled 16:01:54 connection._info L0333 INFO | Determining the platform and rest_port using the 10.36.79.8 address... 16:01:54 connection._warn L0336 WARNING| Unable to connect to http://10.36.79.8:443. 16:01:55 connection._info L0333 INFO | Connection established to https://10.36.79.8:443 on linux 16:02:14 connection._info L0333 INFO | Using IxNetwork api server version 10.25.2406.6 16:02:14 connection._info L0333 INFO | User info IxNetwork/ixnetworkweb/admin-162-10063 16:02:16 snappi_api.info L1488 INFO | snappi-1.31.1 16:02:16 snappi_api.info L1488 INFO | snappi_ixnetwork-1.31.2 16:02:16 snappi_api.info L1488 INFO | ixnetwork_restpy-1.7.0 16:02:16 snappi_api.info L1488 INFO | Config validation 0.020s 16:02:19 snappi_api.info L1488 INFO | Ports configuration 1.715s 16:02:19 snappi_api.info L1488 INFO | Captures configuration 0.200s 16:02:22 snappi_api.info L1488 INFO | Add location hosts [10.36.79.8] 2.336s 16:02:24 snappi_api.info L1488 INFO | Location hosts ready [10.36.79.8] 2.482s 16:02:25 snappi_api.info L1488 INFO | Speed conversion is not require for (port.name, speed) : [('Port 0', 'aresOneOneByFourHundredGigNonFanOut'), ('Port 1', 'aresOneOneByFourHundredGigNonFanOut')] 16:02:25 snappi_api.info L1488 INFO | Aggregation mode speed change 0.412s 16:02:25 snappi_api.info L1488 INFO | Location preemption [10.36.79.8/3, 10.36.79.8/1] 0.143s 16:02:42 snappi_api.info L1488 INFO | Location connect [Port 0, Port 1] 16.540s 16:02:42 snappi_api.info L1488 INFO | Location state check [Port 0, Port 1] 0.363s 16:02:42 snappi_api.info L1488 INFO | Location configuration 23.254s 16:02:46 snappi_api.info L1488 INFO | Layer1 configuration 3.795s 16:02:46 snappi_api.info L1488 INFO | Lag Configuration 0.157s 16:02:47 snappi_api.info L1488 INFO | Convert device config : 0.325s 16:02:47 snappi_api.info L1488 INFO | Create IxNetwork device config : 0.000s 16:02:48 snappi_api.info L1488 INFO | Push IxNetwork device config : 0.963s 16:02:48 snappi_api.info L1488 INFO | Devices configuration 1.391s 16:02:56 snappi_api.info L1488 INFO | Flows configuration 8.034s 16:03:03 snappi_api.info L1488 INFO | Start interfaces 7.636s 16:03:04 snappi_api.info L1488 INFO | IxNet - The Traffic Item was modified. Please perform a Traffic Generate to update the associated traffic Flow Groups 16:03:04 traffic_generation.run_traffic L0433 INFO | Wait for Arp to Resolve ... 16:03:10 traffic_generation.run_traffic L0456 INFO | Starting transmit on all flows ... 16:03:14 snappi_api.info L1488 INFO | Flows generate/apply 3.528s 16:03:27 snappi_api.info L1488 INFO | Flows clear statistics 12.289s 16:03:27 snappi_api.info L1488 INFO | Captures start 0.000s 16:03:30 snappi_api.info L1488 INFO | Flows start 2.733s 16:03:30 traffic_generation.run_traffic L0472 INFO | Polling DUT for traffic statistics for 23 seconds ... 16:03:57 traffic_generation.run_traffic L0491 INFO | Polling TGEN for in-flight traffic statistics... 16:03:59 traffic_generation.run_traffic L0496 INFO | In-flight traffic statistics for flows: ['Test Flow Prio 0', 'Background Flow Prio 1', 'Background Flow Prio 3', 'Background Flow Prio 4', 'Background Flow Prio 5', 'Background Flow Prio 6', 'Background Flow Prio 2'] 16:03:59 traffic_generation.run_traffic L0497 INFO | In-flight TX frames: [409482758, 63697318, 63697318, 63697318, 63697318, 63697318, 63697318] 16:03:59 traffic_generation.run_traffic L0498 INFO | In-flight RX frames: [409482758, 63697318, 63697318, 63697318, 63697318, 63697318, 63697318] 16:04:16 traffic_generation.run_traffic L0499 INFO | DUT polling complete 16:04:16 traffic_generation.run_traffic L0510 INFO | Checking if all flows have stopped. Attempt sonic-net#1 16:04:18 traffic_generation.run_traffic L0517 INFO | All test and background traffic flows stopped 16:04:20 traffic_generation.run_traffic L0540 INFO | Dumping per-flow statistics 16:04:21 traffic_generation.run_traffic L0542 INFO | Stopping transmit on all remaining flows 16:04:26 snappi_api.info L1488 INFO | Flows stop 5.387s PASSED Signed-off-by: Guy Shemesh <[email protected]>
lakshmi-nexthop
pushed a commit
to lakshmi-nexthop/sonic-mgmt
that referenced
this pull request
Jan 28, 2026
What is the motivation for this PR? The current telemetry framework has many serious problems: Hard to import, because it is outside of the tests folder No implementation, hard to try out Hard to use and extend, because the interface is too primitive No tests and can break easily How did you do it? This PR add a few things to improve the current telemetry framework: Add new design doc with example code provided in the doc. Implement both TS (timeseries) and DB (database) reporter, so we can try the feature easily. How did you verify/test it? Run all tests locally and passed. Any platform specific information? N/A. Fix TS reporters. Fix TSRepoter. Fix TS reporter. minor fix. Fix example. Reverse relationship of metrics and reporter to support more types of metrics in future. Remove bydesign not working test. Fix example. Update tests. Update TS reporter and DB repoter. Update minor things. Remove no required code. Revert unexpected change. Rename and update doc. * Get os version and job id (sonic-net#1) Get os version and elastictest job id from correct place. * Revert OS version change. * Remove duplicated mock reporter fixture. --------- Co-authored-by: Yutong Zhang <[email protected]> Signed-off-by: Lakshmi Yarramaneni <[email protected]>
vkjammala-arista
added a commit
to vkjammala-arista/sonic-mgmt
that referenced
this pull request
Jan 30, 2026
…kets not received on collector interface Issue sonic-net#1: In some cases (like sflow config enabled for first time, device reboot), hsflowd daemon is taking little over 3 mins to be fully initialized and process collector config. During this window, hsflowd service won't send sflow packets ('CounterSample', 'FlowSample' etc) to collector interface and thus test can fail with i) "Packets are not received in active collector, collector\d+" and ii) "Expected Number of samples are not collected from Interface Ethernet\d+ in collector collector\d+ , Received \d+" hsflowd service is writing to "/etc/hsflowd.auto" once it's processed collector configuration. Thus waiting for collector info to be present in "/etc/hsflowd.auto" seems to be safe option before proceeding with sflow traffic verfication. Issue sonic-net#2: If the test expects flow samples/packets on the collector interface but they aren't seen for some reason, then we are hitting "KeyError: 'flow_port_count'". Due to counter samples seen on collector interface, "data['total_samples']" will not be zero but "data['total_flow_count']" will be 0 and lead to KeyError when tried to access "data['flow_port_count']". Fix is to have assert on "total_flow_count" and "total_counter_count" before calling corresponding sample analyze functions. Signed-off-by: Vinod <[email protected]>
12 tasks
abhishek-nexthop
referenced
this pull request
in nexthop-ai/sonic-mgmt
Feb 6, 2026
What is the motivation for this PR? The current telemetry framework has many serious problems: Hard to import, because it is outside of the tests folder No implementation, hard to try out Hard to use and extend, because the interface is too primitive No tests and can break easily How did you do it? This PR add a few things to improve the current telemetry framework: Add new design doc with example code provided in the doc. Implement both TS (timeseries) and DB (database) reporter, so we can try the feature easily. How did you verify/test it? Run all tests locally and passed. Any platform specific information? N/A. Fix TS reporters. Fix TSRepoter. Fix TS reporter. minor fix. Fix example. Reverse relationship of metrics and reporter to support more types of metrics in future. Remove bydesign not working test. Fix example. Update tests. Update TS reporter and DB repoter. Update minor things. Remove no required code. Revert unexpected change. Rename and update doc. * Get os version and job id (#1) Get os version and elastictest job id from correct place. * Revert OS version change. * Remove duplicated mock reporter fixture. --------- Co-authored-by: Yutong Zhang <[email protected]>
11 tasks
anilal-amd
pushed a commit
to anilal-amd/anilal-forked-sonic-mgmt
that referenced
this pull request
Feb 19, 2026
What is the motivation for this PR? The current telemetry framework has many serious problems: Hard to import, because it is outside of the tests folder No implementation, hard to try out Hard to use and extend, because the interface is too primitive No tests and can break easily How did you do it? This PR add a few things to improve the current telemetry framework: Add new design doc with example code provided in the doc. Implement both TS (timeseries) and DB (database) reporter, so we can try the feature easily. How did you verify/test it? Run all tests locally and passed. Any platform specific information? N/A. Fix TS reporters. Fix TSRepoter. Fix TS reporter. minor fix. Fix example. Reverse relationship of metrics and reporter to support more types of metrics in future. Remove bydesign not working test. Fix example. Update tests. Update TS reporter and DB repoter. Update minor things. Remove no required code. Revert unexpected change. Rename and update doc. * Get os version and job id (sonic-net#1) Get os version and elastictest job id from correct place. * Revert OS version change. * Remove duplicated mock reporter fixture. --------- Co-authored-by: Yutong Zhang <[email protected]> Signed-off-by: Zhuohui Tan <[email protected]>
12 tasks
yejianquan
pushed a commit
that referenced
this pull request
Feb 23, 2026
…nter and global_pause test-script (#22490) Description of PR Added support for tgen_port_info in: tests/snappi_tests/pfc/test_global_pause_with_snappi.py tests/snappi_tests/pfc/test_tx_drop_counter_with_snappi.py Summary: Fixes # (issue) Type of change Bug fix Testbed and Framework(new/improvement) New Test case Skipped for non-supported platforms Test case improvement Back port request 202205 202305 202311 202405 202411 202505 202511 Approach What is the motivation for this PR? The tgen_port_info was added as part of Snappi test infra improvement, which enabled users to select between static (from variables.override.yml) and dynamic (select 100 and 400Gbps ports) ports. This was NOT included in test_tx_drop_counter and test_global_pause test-scripts under snappi_tests/pfc section. How did you do it? Imported the tgen_port_info from snappi_fixtures.py and removed any reference to old setup_dut_port function for both test-scripts. How did you verify/test it? Verification on 202511 is present in pull-request #22380. Verification steps for master: azureuser@7e081020c2c7:/data/tests$ date;python3 -m pytest --inventory ../ansible/ixia-sonic --host-pattern ixre-egl-board73,ixre-egl-board74 --testbed ixre-chassis17-t2 --testbed_file ../ansible/testbed.csv --show-capture=stdout --log-cli-level info --showlocals -ra --allow_recover --junit-xml=/tmp/y.xml --skip_sanity --log-file=/tmp/y.log --topology multidut-tgen -cache-clear --disable_loganalyzer snappi_tests/pfc/test_global_pause_with_snappi.py --pdb Fri Feb 20 00:07:16 UTC 2026 ====================================================================================================================== test session starts ======================================================================================================================= platform linux -- Python 3.8.10, pytest-7.4.0, pluggy-1.5.0 ---- curtailed output ---- INFO snappi_ixnetwork.snappi_api:snappi_api.py:1419 Config validation 0.014s INFO snappi_ixnetwork.snappi_api:snappi_api.py:1419 Ports configuration 1.261s INFO snappi_ixnetwork.snappi_api:snappi_api.py:1419 Captures configuration 0.116s ---- curtailed output ---- INFO tests.common.snappi_tests.traffic_generation:traffic_generation.py:837 DUT polling complete INFO tests.common.snappi_tests.traffic_generation:traffic_generation.py:850 Checking if all flows have stopped. Attempt #1 INFO tests.common.snappi_tests.traffic_generation:traffic_generation.py:856 All test and background traffic flows stopped INFO tests.common.snappi_tests.traffic_generation:traffic_generation.py:894 Dumping per-flow statistics INFO tests.common.snappi_tests.traffic_generation:traffic_generation.py:899 Stopping transmit on all remaining flows INFO snappi_ixnetwork.snappi_api:snappi_api.py:1419 Flows stop 5.353s PASSED [ 50%] ---- curtailed output ---- INFO tests.common.plugins.memory_utilization:__init__.py:64 Before test: collected memory_values {'before_test': {}, 'after_test': {}} ------------------------------------------------------------------------------------------------------------------------- live log call -------------------------------------------------------------------------------------------------------------------------- INFO snappi_ixnetwork.snappi_api:snappi_api.py:1419 Config validation 0.014s INFO snappi_ixnetwork.snappi_api:snappi_api.py:1419 Ports configuration 1.059s INFO snappi_ixnetwork.snappi_api:snappi_api.py:1419 Captures configuration 0.110s ---- curtailed output ---- INFO tests.common.snappi_tests.traffic_generation:traffic_generation.py:837 DUT polling complete INFO tests.common.snappi_tests.traffic_generation:traffic_generation.py:850 Checking if all flows have stopped. Attempt #1 INFO tests.common.snappi_tests.traffic_generation:traffic_generation.py:856 All test and background traffic flows stopped INFO tests.common.snappi_tests.traffic_generation:traffic_generation.py:894 Dumping per-flow statistics INFO tests.common.snappi_tests.traffic_generation:traffic_generation.py:899 Stopping transmit on all remaining flows INFO snappi_ixnetwork.snappi_api:snappi_api.py:1419 Flows stop 5.514s PASSED [100%] ---- curtailed output ---- ----------------------------------------------------------------------------------------------------------------- generated xml file: /tmp/y.xml ----------------------------------------------------------------------------------------------------------------- --------------------------------------------------------------------------------------------------------------------- live log sessionfinish --------------------------------------------------------------------------------------------------------------------- INFO root:__init__.py:67 Can not get Allure report URL. Please check logs =========================================================================================================== 2 passed, 9 warnings in 789.04s (0:13:09) ============================================================================================================ INFO:root:Can not get Allure report URL. Please check logs azureuser@7e081020c2c7:/data/tests$ date;python3 -m pytest --inventory ../ansible/ixia-sonic --host-pattern ixre-egl-board73,ixre-egl-board74 --testbed ixre-chassis17-t2 --testbed_file ../ansible/testbed.csv --show-capture=stdout --log-cli-level info --showlocals -ra --allow_recover --junit-xml=/tmp/y.xml --skip_sanity --log-file=/tmp/y.log --topology multidut-tgen -cache-clear --disable_loganalyzer snappi_tests/pfc/test_tx_drop_counter_with_snappi.py --pdb Fri Feb 20 00:21:03 UTC 2026 ---- curtailed output ---- INFO ixnetwork_restpy.connection:connection.py:329 User info IxNetwork/tgen-ixia-03/admin-112-3670867 INFO snappi_ixnetwork.snappi_api:snappi_api.py:1419 snappi-1.27.1 INFO snappi_ixnetwork.snappi_api:snappi_api.py:1419 snappi_ixnetwork-1.27.2 INFO snappi_ixnetwork.snappi_api:snappi_api.py:1419 ixnetwork_restpy-1.6.1 INFO snappi_ixnetwork.snappi_api:snappi_api.py:1419 Config validation 0.000s INFO snappi_ixnetwork.snappi_api:snappi_api.py:1419 Ports configuration 0.213s INFO snappi_ixnetwork.snappi_api:snappi_api.py:1419 Captures configuration 0.122s INFO snappi_ixnetwork.snappi_api:snappi_api.py:1419 Aggregation mode speed change 0.000s INFO snappi_ixnetwork.snappi_api:snappi_api.py:1419 Location configuration 0.288s INFO snappi_ixnetwork.snappi_api:snappi_api.py:1419 Layer1 configuration 0.000s INFO snappi_ixnetwork.snappi_api:snappi_api.py:1419 Lag Configuration 0.061s INFO snappi_ixnetwork.snappi_api:snappi_api.py:1419 Convert device config : 0.155s INFO snappi_ixnetwork.snappi_api:snappi_api.py:1419 Create IxNetwork device config : 0.000s INFO snappi_ixnetwork.snappi_api:snappi_api.py:1419 Push IxNetwork device config : 0.093s INFO snappi_ixnetwork.snappi_api:snappi_api.py:1419 Devices configuration 0.299s INFO snappi_ixnetwork.snappi_api:snappi_api.py:1419 Flows configuration 0.120s INFO snappi_ixnetwork.snappi_api:snappi_api.py:1419 Start interfaces 0.155s INFO root:__init__.py:76 -------------------- fixture tgen_port_info setup ends -------------------- INFO root:__init__.py:81 -------------------- fixture disable_pfcwd setup starts -------------------- INFO root:__init__.py:85 -------------------- fixture disable_pfcwd setup ends -------------------- INFO root:conftest.py:3818 skip setup dualtor mux cables on non-dualtor testbed ---- curtailed output ---- INFO snappi_ixnetwork.snappi_api:snappi_api.py:1419 Config validation 0.012s INFO snappi_ixnetwork.snappi_api:snappi_api.py:1419 Ports configuration 1.265s INFO snappi_ixnetwork.snappi_api:snappi_api.py:1419 Captures configuration 0.112s ---- curtailed output ---- INFO tests.common.snappi_tests.traffic_generation:traffic_generation.py:837 DUT polling complete INFO tests.common.snappi_tests.traffic_generation:traffic_generation.py:850 Checking if all flows have stopped. Attempt #1 INFO tests.common.snappi_tests.traffic_generation:traffic_generation.py:856 All test and background traffic flows stopped INFO tests.common.snappi_tests.traffic_generation:traffic_generation.py:894 Dumping per-flow statistics INFO tests.common.snappi_tests.traffic_generation:traffic_generation.py:899 Stopping transmit on all remaining flows ---- curtailed output ---- INFO tests.common.snappi_tests.traffic_generation:traffic_generation.py:837 DUT polling complete INFO tests.common.snappi_tests.traffic_generation:traffic_generation.py:850 Checking if all flows have stopped. Attempt #1 INFO tests.common.snappi_tests.traffic_generation:traffic_generation.py:856 All test and background traffic flows stopped INFO tests.common.snappi_tests.traffic_generation:traffic_generation.py:894 Dumping per-flow statistics INFO tests.common.snappi_tests.traffic_generation:traffic_generation.py:899 Stopping transmit on all remaining flows INFO snappi_ixnetwork.snappi_api:snappi_api.py:1419 Link State operation 0.052s INFO tests.snappi_tests.pfc.files.helper:helper.py:452 Snappi port Port 0 is set to DOWN INFO tests.snappi_tests.pfc.files.helper:helper.py:457 Sleeping for 90 seconds INFO snappi_ixnetwork.snappi_api:snappi_api.py:1419 Link State operation 0.058s INFO tests.snappi_tests.pfc.files.helper:helper.py:469 Snappi port Port 0 is set to UP ---- curtailed output ---- INFO root:__init__.py:67 Can not get Allure report URL. Please check logs =========================================================================================================== 2 passed, 9 warnings in 906.71s (0:15:06) ============================================================================================================ INFO:root:Can not get Allure report URL. Please check logs Signed-off-by: amitpawa <[email protected]> * snappi: issue-22363 removed multidut-port-info import from pfc tx_drop_counter testcase Signed-off-by: amitpawa <[email protected]> --------- Signed-off-by: amitpawa <[email protected]>
yejianquan
pushed a commit
that referenced
this pull request
Feb 23, 2026
…ion (#22504) Description of PR The tgen_port_info infra function in common/snappi_tests/snappi_fixtures.py is used to select port (dynamically or statically) for the test. During static port selection, the variables.override.yml file is used to select Rx and Tx port for the test. However, after the test, there was no explicit test clean_up code. This PR addresses it. Summary: Fixes #20993 Type of change Bug fix Testbed and Framework(new/improvement) New Test case Skipped for non-supported platforms Test case improvement Back port request 202205 202305 202311 202405 202411 202505 202511 Approach What is the motivation for this PR? The tgen_port_info is used to select the Rx and Tx port for the test. In case of static port selection, the function returned snappi_dut_base_config(duthosts, snappi_ports, snappi_api, setup=True), and there was no explicit cleanup after the test. How did you do it? If the 'is_override' flag is true, the static port selection code is used to select Rx and Tx ports from variables.override.yml file. Instead of returning with function 'snappi_dut_base_config', 'yield' is called to ensure that clean-up is called at the end of the test. Once yield returns back to the test, then 'setup_dut_ports' is called with setup=False to ensure that clean-up happens after the test. How did you verify/test it? For verification of this changes on 202511 branch, please refer to PR #22441 Verification of the PR on master with multi-dut setup: azureuser@7e081020c2c7:/data/tests$ date;python3 -m pytest --inventory ../ansible/ixia-sonic --host-pattern ixre-egl-board73,ixre-egl-board74 --testbed ixre-chassis17-t2 --testbed_file ../ansible/testbed.csv --show-capture=stdout --log-cli-level info --showlocals -ra --allow_recover --junit-xml=/tmp/y.xml --skip_sanity --log-file=/tmp/y.log --topology multidut-tgen -cache-clear --disable_loganalyzer snappi_tests/pfc/test_pfc_pause_lossless_with_snappi.py -k test_pfc_pause_multi_lossless_prio --pdb Fri Feb 20 14:26:57 UTC 2026 ================================================================================================= test session starts ================================================================================================= platform linux -- Python 3.8.10, pytest-7.4.0, pluggy-1.5.0 ----------- curtailed output ---------- INFO tests.conftest:conftest.py:691 Randomly select dut ixre-egl-board73 for testing INFO root:__init__.py:81 -------------------- fixture enable_packet_aging_after_test setup starts -------------------- INFO root:__init__.py:85 -------------------- fixture enable_packet_aging_after_test setup ends -------------------- INFO root:__init__.py:81 -------------------- fixture rand_lossless_prio setup starts -------------------- INFO root:__init__.py:85 -------------------- fixture rand_lossless_prio setup ends -------------------- INFO root:__init__.py:81 -------------------- fixture rand_lossy_prio setup starts -------------------- INFO root:__init__.py:85 -------------------- fixture rand_lossy_prio setup ends -------------------- INFO root:__init__.py:81 -------------------- fixture start_pfcwd_after_test setup starts -------------------- INFO root:__init__.py:85 -------------------- fixture start_pfcwd_after_test setup ends -------------------- INFO root:__init__.py:81 -------------------- fixture disable_voq_watchdog setup starts -------------------- INFO root:__init__.py:85 -------------------- fixture disable_voq_watchdog setup ends -------------------- INFO root:__init__.py:81 -------------------- fixture number_of_tx_rx_ports setup starts -------------------- INFO root:__init__.py:85 -------------------- fixture number_of_tx_rx_ports setup ends -------------------- INFO root:__init__.py:69 -------------------- fixture snappi_api_serv_ip setup starts -------------------- INFO root:__init__.py:76 -------------------- fixture snappi_api_serv_ip setup ends -------------------- INFO root:__init__.py:69 -------------------- fixture snappi_api_serv_port setup starts -------------------- INFO root:__init__.py:76 -------------------- fixture snappi_api_serv_port setup ends -------------------- INFO root:__init__.py:81 -------------------- fixture snappi_api setup starts -------------------- INFO root:__init__.py:85 -------------------- fixture snappi_api setup ends -------------------- INFO tests.conftest:conftest.py:727 Randomly select dut ixre-egl-board74 for testing INFO root:__init__.py:69 -------------------- fixture prio_dscp_map setup starts -------------------- INFO root:__init__.py:76 -------------------- fixture prio_dscp_map setup ends -------------------- INFO root:__init__.py:69 -------------------- fixture all_prio_list setup starts -------------------- INFO root:__init__.py:76 -------------------- fixture all_prio_list setup ends -------------------- INFO root:__init__.py:69 -------------------- fixture lossless_prio_list setup starts -------------------- INFO root:__init__.py:76 -------------------- fixture lossless_prio_list setup ends -------------------- INFO root:__init__.py:69 -------------------- fixture lossy_prio_list setup starts -------------------- INFO root:__init__.py:76 -------------------- fixture lossy_prio_list setup ends -------------------- INFO root:__init__.py:69 -------------------- fixture get_snappi_ports setup starts -------------------- INFO root:__init__.py:69 -------------------- fixture get_snappi_ports_multi_dut setup starts -------------------- INFO root:__init__.py:76 -------------------- fixture get_snappi_ports_multi_dut setup ends -------------------- INFO root:__init__.py:76 -------------------- fixture get_snappi_ports setup ends -------------------- INFO root:__init__.py:69 -------------------- fixture snappi_port_selection setup starts -------------------- INFO root:__init__.py:76 -------------------- fixture snappi_port_selection setup ends -------------------- INFO root:__init__.py:77 Log analyzer is disabled INFO root:__init__.py:81 -------------------- fixture disable_pfcwd setup starts -------------------- INFO root:__init__.py:85 -------------------- fixture disable_pfcwd setup ends -------------------- INFO root:__init__.py:81 -------------------- fixture tgen_port_info setup starts -------------------- ----------- curtailed output ---------- INFO snappi_ixnetwork.snappi_api:snappi_api.py:1419 Start interfaces 0.164s INFO tests.common.snappi_tests.snappi_fixtures:snappi_fixtures.py:906 Found relevant portchannel interfaces INFO root:__init__.py:85 -------------------- fixture tgen_port_info setup ends -------------------- INFO root:conftest.py:3819 skip setup dualtor mux cables on non-dualtor testbed INFO tests.common.plugins.memory_utilization:__init__.py:64 Before test: collected memory_values {'before_test': {}, 'after_test': {}} ----------- curtailed output ---------- INFO tests.common.snappi_tests.traffic_generation:traffic_generation.py:784 Polling DUT for traffic statistics for 23 seconds ... INFO tests.common.snappi_tests.traffic_generation:traffic_generation.py:803 Polling TGEN for in-flight traffic statistics... INFO tests.common.snappi_tests.traffic_generation:traffic_generation.py:824 In-flight traffic statistics for flows: ['Test Flow Prio 3', 'Test Flow Prio 4', 'Background Flow Prio 1', 'Background Flow Prio 5', 'Background Flow Prio 6', 'Background Flow Prio 2', 'Background Flow Prio 0'] INFO tests.common.snappi_tests.traffic_generation:traffic_generation.py:825 In-flight TX frames: [68216, 68215, 81896551, 81896551, 81896551, 81896551, 81896551] INFO tests.common.snappi_tests.traffic_generation:traffic_generation.py:826 In-flight RX frames: [0, 0, 81896551, 81896551, 81896551, 81896551, 81896551] INFO tests.common.snappi_tests.traffic_generation:traffic_generation.py:832 In-flight traffic statistics for flows: ----------- curtailed output ---------- INFO tests.common.snappi_tests.traffic_generation:traffic_generation.py:837 DUT polling complete INFO tests.common.snappi_tests.traffic_generation:traffic_generation.py:850 Checking if all flows have stopped. Attempt #1 INFO tests.common.snappi_tests.traffic_generation:traffic_generation.py:856 All test and background traffic flows stopped INFO tests.common.snappi_tests.traffic_generation:traffic_generation.py:894 Dumping per-flow statistics INFO tests.common.snappi_tests.traffic_generation:traffic_generation.py:899 Stopping transmit on all remaining flows INFO snappi_ixnetwork.snappi_api:snappi_api.py:1419 Flows stop 6.608s PASSED [ 50%] ----------- curtailed output ---------- INFO root:__init__.py:81 -------------------- fixture disable_pfcwd setup starts -------------------- INFO root:__init__.py:85 -------------------- fixture disable_pfcwd setup ends -------------------- INFO root:__init__.py:81 -------------------- fixture tgen_port_info setup starts -------------------- INFO tests.common.snappi_tests.snappi_fixtures:snappi_fixtures.py:906 Found relevant portchannel interfaces INFO root:__init__.py:85 -------------------- fixture tgen_port_info setup ends -------------------- INFO root:conftest.py:3819 skip setup dualtor mux cables on non-dualtor testbed ----------- curtailed output ---------- INFO tests.common.snappi_tests.traffic_generation:traffic_generation.py:784 Polling DUT for traffic statistics for 27 seconds ... INFO tests.common.snappi_tests.traffic_generation:traffic_generation.py:803 Polling TGEN for in-flight traffic statistics... INFO tests.common.snappi_tests.traffic_generation:traffic_generation.py:824 In-flight traffic statistics for flows: ['Test Flow Prio 3', 'Test Flow Prio 4', 'Background Flow Prio 1', 'Background Flow Prio 5', 'Background Flow Prio 6', 'Background Flow Prio 2', 'Background Flow Prio 0'] INFO tests.common.snappi_tests.traffic_generation:traffic_generation.py:825 In-flight TX frames: [68221, 68222, 99137931, 99137931, 99137931, 99137931, 99137931] INFO tests.common.snappi_tests.traffic_generation:traffic_generation.py:826 In-flight RX frames: [0, 0, 99137931, 99137931, 99137931, 99137931, 99137931] INFO tests.common.snappi_tests.traffic_generation:traffic_generation.py:832 In-flight traffic statistics for flows: ----------- curtailed output ---------- INFO tests.conftest:conftest.py:3097 Dumping Disk and Memory Space information after test on ixre-egl-board73 INFO tests.conftest:conftest.py:3097 Dumping Disk and Memory Space information after test on ixre-egl-board74 INFO tests.conftest:conftest.py:3101 Collecting core dumps after test on ixre-egl-board74 INFO tests.conftest:conftest.py:3101 Collecting core dumps after test on ixre-egl-board73 INFO tests.conftest:conftest.py:3112 Collecting running config after test on ixre-egl-board74 INFO tests.conftest:conftest.py:3112 Collecting running config after test on ixre-egl-board73 INFO tests.conftest:conftest.py:3259 Core dump and config check passed for test_pfc_pause_lossless_with_snappi.py ----------- curtailed output ---------- ----------------------------------------------------------------------------------------------- live log sessionfinish ------------------------------------------------------------------------------------------------ INFO root:__init__.py:67 Can not get Allure report URL. Please check logs ============================================================================== 2 passed, 14 deselected, 10 warnings in 808.66s (0:13:28) ============================================================================== INFO:root:Can not get Allure report URL. Please check logs Signed-off-by: amitpawa <[email protected]>
aronovic
pushed a commit
to aronovic/sonic-mgmt
that referenced
this pull request
Mar 3, 2026
…nter and global_pause test-script (sonic-net#22490) Description of PR Added support for tgen_port_info in: tests/snappi_tests/pfc/test_global_pause_with_snappi.py tests/snappi_tests/pfc/test_tx_drop_counter_with_snappi.py Summary: Fixes # (issue) Type of change Bug fix Testbed and Framework(new/improvement) New Test case Skipped for non-supported platforms Test case improvement Back port request 202205 202305 202311 202405 202411 202505 202511 Approach What is the motivation for this PR? The tgen_port_info was added as part of Snappi test infra improvement, which enabled users to select between static (from variables.override.yml) and dynamic (select 100 and 400Gbps ports) ports. This was NOT included in test_tx_drop_counter and test_global_pause test-scripts under snappi_tests/pfc section. How did you do it? Imported the tgen_port_info from snappi_fixtures.py and removed any reference to old setup_dut_port function for both test-scripts. How did you verify/test it? Verification on 202511 is present in pull-request sonic-net#22380. Verification steps for master: azureuser@7e081020c2c7:/data/tests$ date;python3 -m pytest --inventory ../ansible/ixia-sonic --host-pattern ixre-egl-board73,ixre-egl-board74 --testbed ixre-chassis17-t2 --testbed_file ../ansible/testbed.csv --show-capture=stdout --log-cli-level info --showlocals -ra --allow_recover --junit-xml=/tmp/y.xml --skip_sanity --log-file=/tmp/y.log --topology multidut-tgen -cache-clear --disable_loganalyzer snappi_tests/pfc/test_global_pause_with_snappi.py --pdb Fri Feb 20 00:07:16 UTC 2026 ====================================================================================================================== test session starts ======================================================================================================================= platform linux -- Python 3.8.10, pytest-7.4.0, pluggy-1.5.0 ---- curtailed output ---- INFO snappi_ixnetwork.snappi_api:snappi_api.py:1419 Config validation 0.014s INFO snappi_ixnetwork.snappi_api:snappi_api.py:1419 Ports configuration 1.261s INFO snappi_ixnetwork.snappi_api:snappi_api.py:1419 Captures configuration 0.116s ---- curtailed output ---- INFO tests.common.snappi_tests.traffic_generation:traffic_generation.py:837 DUT polling complete INFO tests.common.snappi_tests.traffic_generation:traffic_generation.py:850 Checking if all flows have stopped. Attempt sonic-net#1 INFO tests.common.snappi_tests.traffic_generation:traffic_generation.py:856 All test and background traffic flows stopped INFO tests.common.snappi_tests.traffic_generation:traffic_generation.py:894 Dumping per-flow statistics INFO tests.common.snappi_tests.traffic_generation:traffic_generation.py:899 Stopping transmit on all remaining flows INFO snappi_ixnetwork.snappi_api:snappi_api.py:1419 Flows stop 5.353s PASSED [ 50%] ---- curtailed output ---- INFO tests.common.plugins.memory_utilization:__init__.py:64 Before test: collected memory_values {'before_test': {}, 'after_test': {}} ------------------------------------------------------------------------------------------------------------------------- live log call -------------------------------------------------------------------------------------------------------------------------- INFO snappi_ixnetwork.snappi_api:snappi_api.py:1419 Config validation 0.014s INFO snappi_ixnetwork.snappi_api:snappi_api.py:1419 Ports configuration 1.059s INFO snappi_ixnetwork.snappi_api:snappi_api.py:1419 Captures configuration 0.110s ---- curtailed output ---- INFO tests.common.snappi_tests.traffic_generation:traffic_generation.py:837 DUT polling complete INFO tests.common.snappi_tests.traffic_generation:traffic_generation.py:850 Checking if all flows have stopped. Attempt sonic-net#1 INFO tests.common.snappi_tests.traffic_generation:traffic_generation.py:856 All test and background traffic flows stopped INFO tests.common.snappi_tests.traffic_generation:traffic_generation.py:894 Dumping per-flow statistics INFO tests.common.snappi_tests.traffic_generation:traffic_generation.py:899 Stopping transmit on all remaining flows INFO snappi_ixnetwork.snappi_api:snappi_api.py:1419 Flows stop 5.514s PASSED [100%] ---- curtailed output ---- ----------------------------------------------------------------------------------------------------------------- generated xml file: /tmp/y.xml ----------------------------------------------------------------------------------------------------------------- --------------------------------------------------------------------------------------------------------------------- live log sessionfinish --------------------------------------------------------------------------------------------------------------------- INFO root:__init__.py:67 Can not get Allure report URL. Please check logs =========================================================================================================== 2 passed, 9 warnings in 789.04s (0:13:09) ============================================================================================================ INFO:root:Can not get Allure report URL. Please check logs azureuser@7e081020c2c7:/data/tests$ date;python3 -m pytest --inventory ../ansible/ixia-sonic --host-pattern ixre-egl-board73,ixre-egl-board74 --testbed ixre-chassis17-t2 --testbed_file ../ansible/testbed.csv --show-capture=stdout --log-cli-level info --showlocals -ra --allow_recover --junit-xml=/tmp/y.xml --skip_sanity --log-file=/tmp/y.log --topology multidut-tgen -cache-clear --disable_loganalyzer snappi_tests/pfc/test_tx_drop_counter_with_snappi.py --pdb Fri Feb 20 00:21:03 UTC 2026 ---- curtailed output ---- INFO ixnetwork_restpy.connection:connection.py:329 User info IxNetwork/tgen-ixia-03/admin-112-3670867 INFO snappi_ixnetwork.snappi_api:snappi_api.py:1419 snappi-1.27.1 INFO snappi_ixnetwork.snappi_api:snappi_api.py:1419 snappi_ixnetwork-1.27.2 INFO snappi_ixnetwork.snappi_api:snappi_api.py:1419 ixnetwork_restpy-1.6.1 INFO snappi_ixnetwork.snappi_api:snappi_api.py:1419 Config validation 0.000s INFO snappi_ixnetwork.snappi_api:snappi_api.py:1419 Ports configuration 0.213s INFO snappi_ixnetwork.snappi_api:snappi_api.py:1419 Captures configuration 0.122s INFO snappi_ixnetwork.snappi_api:snappi_api.py:1419 Aggregation mode speed change 0.000s INFO snappi_ixnetwork.snappi_api:snappi_api.py:1419 Location configuration 0.288s INFO snappi_ixnetwork.snappi_api:snappi_api.py:1419 Layer1 configuration 0.000s INFO snappi_ixnetwork.snappi_api:snappi_api.py:1419 Lag Configuration 0.061s INFO snappi_ixnetwork.snappi_api:snappi_api.py:1419 Convert device config : 0.155s INFO snappi_ixnetwork.snappi_api:snappi_api.py:1419 Create IxNetwork device config : 0.000s INFO snappi_ixnetwork.snappi_api:snappi_api.py:1419 Push IxNetwork device config : 0.093s INFO snappi_ixnetwork.snappi_api:snappi_api.py:1419 Devices configuration 0.299s INFO snappi_ixnetwork.snappi_api:snappi_api.py:1419 Flows configuration 0.120s INFO snappi_ixnetwork.snappi_api:snappi_api.py:1419 Start interfaces 0.155s INFO root:__init__.py:76 -------------------- fixture tgen_port_info setup ends -------------------- INFO root:__init__.py:81 -------------------- fixture disable_pfcwd setup starts -------------------- INFO root:__init__.py:85 -------------------- fixture disable_pfcwd setup ends -------------------- INFO root:conftest.py:3818 skip setup dualtor mux cables on non-dualtor testbed ---- curtailed output ---- INFO snappi_ixnetwork.snappi_api:snappi_api.py:1419 Config validation 0.012s INFO snappi_ixnetwork.snappi_api:snappi_api.py:1419 Ports configuration 1.265s INFO snappi_ixnetwork.snappi_api:snappi_api.py:1419 Captures configuration 0.112s ---- curtailed output ---- INFO tests.common.snappi_tests.traffic_generation:traffic_generation.py:837 DUT polling complete INFO tests.common.snappi_tests.traffic_generation:traffic_generation.py:850 Checking if all flows have stopped. Attempt sonic-net#1 INFO tests.common.snappi_tests.traffic_generation:traffic_generation.py:856 All test and background traffic flows stopped INFO tests.common.snappi_tests.traffic_generation:traffic_generation.py:894 Dumping per-flow statistics INFO tests.common.snappi_tests.traffic_generation:traffic_generation.py:899 Stopping transmit on all remaining flows ---- curtailed output ---- INFO tests.common.snappi_tests.traffic_generation:traffic_generation.py:837 DUT polling complete INFO tests.common.snappi_tests.traffic_generation:traffic_generation.py:850 Checking if all flows have stopped. Attempt sonic-net#1 INFO tests.common.snappi_tests.traffic_generation:traffic_generation.py:856 All test and background traffic flows stopped INFO tests.common.snappi_tests.traffic_generation:traffic_generation.py:894 Dumping per-flow statistics INFO tests.common.snappi_tests.traffic_generation:traffic_generation.py:899 Stopping transmit on all remaining flows INFO snappi_ixnetwork.snappi_api:snappi_api.py:1419 Link State operation 0.052s INFO tests.snappi_tests.pfc.files.helper:helper.py:452 Snappi port Port 0 is set to DOWN INFO tests.snappi_tests.pfc.files.helper:helper.py:457 Sleeping for 90 seconds INFO snappi_ixnetwork.snappi_api:snappi_api.py:1419 Link State operation 0.058s INFO tests.snappi_tests.pfc.files.helper:helper.py:469 Snappi port Port 0 is set to UP ---- curtailed output ---- INFO root:__init__.py:67 Can not get Allure report URL. Please check logs =========================================================================================================== 2 passed, 9 warnings in 906.71s (0:15:06) ============================================================================================================ INFO:root:Can not get Allure report URL. Please check logs Signed-off-by: amitpawa <[email protected]> * snappi: issue-22363 removed multidut-port-info import from pfc tx_drop_counter testcase Signed-off-by: amitpawa <[email protected]> --------- Signed-off-by: amitpawa <[email protected]> Signed-off-by: Mihut Aronovici <[email protected]>
aronovic
pushed a commit
to aronovic/sonic-mgmt
that referenced
this pull request
Mar 3, 2026
…ion (sonic-net#22504) Description of PR The tgen_port_info infra function in common/snappi_tests/snappi_fixtures.py is used to select port (dynamically or statically) for the test. During static port selection, the variables.override.yml file is used to select Rx and Tx port for the test. However, after the test, there was no explicit test clean_up code. This PR addresses it. Summary: Fixes sonic-net#20993 Type of change Bug fix Testbed and Framework(new/improvement) New Test case Skipped for non-supported platforms Test case improvement Back port request 202205 202305 202311 202405 202411 202505 202511 Approach What is the motivation for this PR? The tgen_port_info is used to select the Rx and Tx port for the test. In case of static port selection, the function returned snappi_dut_base_config(duthosts, snappi_ports, snappi_api, setup=True), and there was no explicit cleanup after the test. How did you do it? If the 'is_override' flag is true, the static port selection code is used to select Rx and Tx ports from variables.override.yml file. Instead of returning with function 'snappi_dut_base_config', 'yield' is called to ensure that clean-up is called at the end of the test. Once yield returns back to the test, then 'setup_dut_ports' is called with setup=False to ensure that clean-up happens after the test. How did you verify/test it? For verification of this changes on 202511 branch, please refer to PR sonic-net#22441 Verification of the PR on master with multi-dut setup: azureuser@7e081020c2c7:/data/tests$ date;python3 -m pytest --inventory ../ansible/ixia-sonic --host-pattern ixre-egl-board73,ixre-egl-board74 --testbed ixre-chassis17-t2 --testbed_file ../ansible/testbed.csv --show-capture=stdout --log-cli-level info --showlocals -ra --allow_recover --junit-xml=/tmp/y.xml --skip_sanity --log-file=/tmp/y.log --topology multidut-tgen -cache-clear --disable_loganalyzer snappi_tests/pfc/test_pfc_pause_lossless_with_snappi.py -k test_pfc_pause_multi_lossless_prio --pdb Fri Feb 20 14:26:57 UTC 2026 ================================================================================================= test session starts ================================================================================================= platform linux -- Python 3.8.10, pytest-7.4.0, pluggy-1.5.0 ----------- curtailed output ---------- INFO tests.conftest:conftest.py:691 Randomly select dut ixre-egl-board73 for testing INFO root:__init__.py:81 -------------------- fixture enable_packet_aging_after_test setup starts -------------------- INFO root:__init__.py:85 -------------------- fixture enable_packet_aging_after_test setup ends -------------------- INFO root:__init__.py:81 -------------------- fixture rand_lossless_prio setup starts -------------------- INFO root:__init__.py:85 -------------------- fixture rand_lossless_prio setup ends -------------------- INFO root:__init__.py:81 -------------------- fixture rand_lossy_prio setup starts -------------------- INFO root:__init__.py:85 -------------------- fixture rand_lossy_prio setup ends -------------------- INFO root:__init__.py:81 -------------------- fixture start_pfcwd_after_test setup starts -------------------- INFO root:__init__.py:85 -------------------- fixture start_pfcwd_after_test setup ends -------------------- INFO root:__init__.py:81 -------------------- fixture disable_voq_watchdog setup starts -------------------- INFO root:__init__.py:85 -------------------- fixture disable_voq_watchdog setup ends -------------------- INFO root:__init__.py:81 -------------------- fixture number_of_tx_rx_ports setup starts -------------------- INFO root:__init__.py:85 -------------------- fixture number_of_tx_rx_ports setup ends -------------------- INFO root:__init__.py:69 -------------------- fixture snappi_api_serv_ip setup starts -------------------- INFO root:__init__.py:76 -------------------- fixture snappi_api_serv_ip setup ends -------------------- INFO root:__init__.py:69 -------------------- fixture snappi_api_serv_port setup starts -------------------- INFO root:__init__.py:76 -------------------- fixture snappi_api_serv_port setup ends -------------------- INFO root:__init__.py:81 -------------------- fixture snappi_api setup starts -------------------- INFO root:__init__.py:85 -------------------- fixture snappi_api setup ends -------------------- INFO tests.conftest:conftest.py:727 Randomly select dut ixre-egl-board74 for testing INFO root:__init__.py:69 -------------------- fixture prio_dscp_map setup starts -------------------- INFO root:__init__.py:76 -------------------- fixture prio_dscp_map setup ends -------------------- INFO root:__init__.py:69 -------------------- fixture all_prio_list setup starts -------------------- INFO root:__init__.py:76 -------------------- fixture all_prio_list setup ends -------------------- INFO root:__init__.py:69 -------------------- fixture lossless_prio_list setup starts -------------------- INFO root:__init__.py:76 -------------------- fixture lossless_prio_list setup ends -------------------- INFO root:__init__.py:69 -------------------- fixture lossy_prio_list setup starts -------------------- INFO root:__init__.py:76 -------------------- fixture lossy_prio_list setup ends -------------------- INFO root:__init__.py:69 -------------------- fixture get_snappi_ports setup starts -------------------- INFO root:__init__.py:69 -------------------- fixture get_snappi_ports_multi_dut setup starts -------------------- INFO root:__init__.py:76 -------------------- fixture get_snappi_ports_multi_dut setup ends -------------------- INFO root:__init__.py:76 -------------------- fixture get_snappi_ports setup ends -------------------- INFO root:__init__.py:69 -------------------- fixture snappi_port_selection setup starts -------------------- INFO root:__init__.py:76 -------------------- fixture snappi_port_selection setup ends -------------------- INFO root:__init__.py:77 Log analyzer is disabled INFO root:__init__.py:81 -------------------- fixture disable_pfcwd setup starts -------------------- INFO root:__init__.py:85 -------------------- fixture disable_pfcwd setup ends -------------------- INFO root:__init__.py:81 -------------------- fixture tgen_port_info setup starts -------------------- ----------- curtailed output ---------- INFO snappi_ixnetwork.snappi_api:snappi_api.py:1419 Start interfaces 0.164s INFO tests.common.snappi_tests.snappi_fixtures:snappi_fixtures.py:906 Found relevant portchannel interfaces INFO root:__init__.py:85 -------------------- fixture tgen_port_info setup ends -------------------- INFO root:conftest.py:3819 skip setup dualtor mux cables on non-dualtor testbed INFO tests.common.plugins.memory_utilization:__init__.py:64 Before test: collected memory_values {'before_test': {}, 'after_test': {}} ----------- curtailed output ---------- INFO tests.common.snappi_tests.traffic_generation:traffic_generation.py:784 Polling DUT for traffic statistics for 23 seconds ... INFO tests.common.snappi_tests.traffic_generation:traffic_generation.py:803 Polling TGEN for in-flight traffic statistics... INFO tests.common.snappi_tests.traffic_generation:traffic_generation.py:824 In-flight traffic statistics for flows: ['Test Flow Prio 3', 'Test Flow Prio 4', 'Background Flow Prio 1', 'Background Flow Prio 5', 'Background Flow Prio 6', 'Background Flow Prio 2', 'Background Flow Prio 0'] INFO tests.common.snappi_tests.traffic_generation:traffic_generation.py:825 In-flight TX frames: [68216, 68215, 81896551, 81896551, 81896551, 81896551, 81896551] INFO tests.common.snappi_tests.traffic_generation:traffic_generation.py:826 In-flight RX frames: [0, 0, 81896551, 81896551, 81896551, 81896551, 81896551] INFO tests.common.snappi_tests.traffic_generation:traffic_generation.py:832 In-flight traffic statistics for flows: ----------- curtailed output ---------- INFO tests.common.snappi_tests.traffic_generation:traffic_generation.py:837 DUT polling complete INFO tests.common.snappi_tests.traffic_generation:traffic_generation.py:850 Checking if all flows have stopped. Attempt sonic-net#1 INFO tests.common.snappi_tests.traffic_generation:traffic_generation.py:856 All test and background traffic flows stopped INFO tests.common.snappi_tests.traffic_generation:traffic_generation.py:894 Dumping per-flow statistics INFO tests.common.snappi_tests.traffic_generation:traffic_generation.py:899 Stopping transmit on all remaining flows INFO snappi_ixnetwork.snappi_api:snappi_api.py:1419 Flows stop 6.608s PASSED [ 50%] ----------- curtailed output ---------- INFO root:__init__.py:81 -------------------- fixture disable_pfcwd setup starts -------------------- INFO root:__init__.py:85 -------------------- fixture disable_pfcwd setup ends -------------------- INFO root:__init__.py:81 -------------------- fixture tgen_port_info setup starts -------------------- INFO tests.common.snappi_tests.snappi_fixtures:snappi_fixtures.py:906 Found relevant portchannel interfaces INFO root:__init__.py:85 -------------------- fixture tgen_port_info setup ends -------------------- INFO root:conftest.py:3819 skip setup dualtor mux cables on non-dualtor testbed ----------- curtailed output ---------- INFO tests.common.snappi_tests.traffic_generation:traffic_generation.py:784 Polling DUT for traffic statistics for 27 seconds ... INFO tests.common.snappi_tests.traffic_generation:traffic_generation.py:803 Polling TGEN for in-flight traffic statistics... INFO tests.common.snappi_tests.traffic_generation:traffic_generation.py:824 In-flight traffic statistics for flows: ['Test Flow Prio 3', 'Test Flow Prio 4', 'Background Flow Prio 1', 'Background Flow Prio 5', 'Background Flow Prio 6', 'Background Flow Prio 2', 'Background Flow Prio 0'] INFO tests.common.snappi_tests.traffic_generation:traffic_generation.py:825 In-flight TX frames: [68221, 68222, 99137931, 99137931, 99137931, 99137931, 99137931] INFO tests.common.snappi_tests.traffic_generation:traffic_generation.py:826 In-flight RX frames: [0, 0, 99137931, 99137931, 99137931, 99137931, 99137931] INFO tests.common.snappi_tests.traffic_generation:traffic_generation.py:832 In-flight traffic statistics for flows: ----------- curtailed output ---------- INFO tests.conftest:conftest.py:3097 Dumping Disk and Memory Space information after test on ixre-egl-board73 INFO tests.conftest:conftest.py:3097 Dumping Disk and Memory Space information after test on ixre-egl-board74 INFO tests.conftest:conftest.py:3101 Collecting core dumps after test on ixre-egl-board74 INFO tests.conftest:conftest.py:3101 Collecting core dumps after test on ixre-egl-board73 INFO tests.conftest:conftest.py:3112 Collecting running config after test on ixre-egl-board74 INFO tests.conftest:conftest.py:3112 Collecting running config after test on ixre-egl-board73 INFO tests.conftest:conftest.py:3259 Core dump and config check passed for test_pfc_pause_lossless_with_snappi.py ----------- curtailed output ---------- ----------------------------------------------------------------------------------------------- live log sessionfinish ------------------------------------------------------------------------------------------------ INFO root:__init__.py:67 Can not get Allure report URL. Please check logs ============================================================================== 2 passed, 14 deselected, 10 warnings in 808.66s (0:13:28) ============================================================================== INFO:root:Can not get Allure report URL. Please check logs Signed-off-by: amitpawa <[email protected]> Signed-off-by: Mihut Aronovici <[email protected]>
kazinator-arista
pushed a commit
to kazinator-arista/sonic-mgmt
that referenced
this pull request
Mar 4, 2026
…ebian (sonic-net#6114) Sonic devices advertise meaningful system description along with Debian package information. before the fix: ------------- admin@sonic:~$ show lldp neighbors ------------------------------------------------------------------------------- LLDP neighbors: ------------------------------------------------------------------------------- Interface: Ethernet0, via: LLDP, RID: 3, Time: 0 day, 16:36:30 SysName: sonic SysDescr: Debian GNU/Linux 9 (stretch) Linux 4.9.0-11-2-amd64 sonic-net#1 SMP Debian 4.9.189-3+deb9u2 (2019-11-11) x86_64 ------------------------------------------------------------------------------- After the fix: root@sonic:~# show lldp neighbors Ethernet16 ------------------------------------------------------------------------------- LLDP neighbors: ------------------------------------------------------------------------------- Interface: Ethernet16, via: LLDP, RID: 10, Time: 0 day, 00:01:00 SysName: sonic SysDescr: SONiC Software Version: SONiC.sonic_upstream_1.0_daily_201130_1501_62-dirty-20201130.203529 - HwSku: Accton-AS7816-64X - Distribution: Debian 10.6 - Kernel: 4.19.0-9-2-amd64 ------------------------------------------------------------------------------- Signed-off-by: sudhanshukumar22 <[email protected]>
kazinator-arista
pushed a commit
to kazinator-arista/sonic-mgmt
that referenced
this pull request
Mar 4, 2026
Submodule update for sonic-linkmgrd Incorporates: c11a576 (2021-11-22 09:38:46) [ci]: show code coverage in azure pipeline (sonic-net#4) 4ceb01d (2021-11-18 20:24:20) Fix MUX toggling issue (sonic-net#1) d640527 (2021-11-12 22:31:44) [ci]: fix artifact download b9f247d (2021-11-12 22:31:44) [ci]: use native arm64/armhf build 3059122 (2021-09-27 11:32:23) [linkgrd] Add Missing Apache License Header signed-off-by: Jing Zhang [email protected]
kazinator-arista
pushed a commit
to kazinator-arista/sonic-mgmt
that referenced
this pull request
Mar 4, 2026
…net#10291) (sonic-net#10768) Fix issue: Non compliant leaf list in config_db schema: sonic-net/sonic-buildimage#9801 The basic flow of DPB is like: 1. Transfer config db json value to YANG json value, name it “yangIn” 2. Validate “yangIn” by libyang 3. Generate a YANG json value to represent the target configuration, name it “yangTarget” 4. Do diff between “yangIn” and “yangTarget” 5. Apply the diff to CONFIG DB json and save it back to DB The fix: • For step sonic-net#1, If value of a leaf-list field string type, transfer it to a list by splitting it with “,” the purpose here is to make step#2 happy. We also need to save <table_name>.<key>.<field_name> to a set named “leaf_list_with_string_value_set”. • For step#5, loop “leaf_list_with_string_value_set” and change those fields back to a string. 1. Manual test 2. Changed sample config DB and unit test passed Conflicts: src/sonic-yang-mgmt/sonic_yang_ext.py
kazinator-arista
pushed a commit
to kazinator-arista/sonic-mgmt
that referenced
this pull request
Mar 4, 2026
…kernel 6.1 and bookworm (sonic-net#16954) * sonic-platform-modules-cel: broadcom: adapt for kernel 6.1 and bookworm The i2c_driver->remove API declaration has been updated to return void instead of int, as part of cleanup patches in 6.1. More details can be referred from here: [1]. Update the remove API definition in the modules accordingly and cleanup variables that go unused from the remove API. Update python build commands for bookworm. The packaging based on calling setup.py is deprecated and using build module/pip utility is the recommended method for python packaging/installation. Further details can be referred to from here: [2], [3]. The build module is picky about the package information file, which needs to be either setup.py or pyproject.toml. Additionally, fix formatting inconsistencies in debian/changelog reported by `dh_installchangelogs` during the build. Tested the changes by compiling the changes as below: make sonic-slave-bash NOBUSTER=1 NOBULLSEYE=1 sudo dpkg -i target/debs/bookworm/linux-headers-6.1.0-11-2-*.deb cd platform/broadcom/sonic-platform-modules-cel KVERSION=6.1.0-11-2-amd64 dpkg-buildpackage Also verified the python scripts under the sonic-platform-modules-cel with pyflakes to ensure no new errors are flagged (with exception of unused modules). References: [1] - torvalds/linux@ed5c2f5f [2] - https://blog.ganssle.io/articles/2021/10/setup-py-deprecated.htm [3] - 0b20a4863 (Update Python build commands for Bookworm, 2023-09-07) Signed-off-by: Ramasamy Chandramouli <[email protected]> * platform/pddf: i2c: adapt for kernel 6.1 and bookworm * Fixup i2c_driver->remove API due to changes in the function prototype (ref: [1]). * Cleanup `MODULE_SUPPORTED_DEVICE` macros that were cleaned up in the upstream (ref: [2]). * Sanitize python packaging and installation using the `build` module instead of calling the setup.py directly (ref: [3]. [4]). Tested the changes by compiling pddf module as below: make sonic-slave-bash NOBUSTER=1 NOBULLSEYE=1 sudo dpkg -i target/debs/bookworm/linux-headers-6.1.0-11-2-*.deb cd platform/pddf/i2c KVERSION=6.1.0-11-2-amd64 dpkg-buildpackage References: [1] - torvalds/linux@ed5c2f5f [2] - torvalds/linux@6417f031 [2] - https://blog.ganssle.io/articles/2021/10/setup-py-deprecated.htm [3] - 0b20a4863 (Update Python build commands for Bookworm, 2023-09-07) Signed-off-by: Ramasamy Chandramouli <[email protected]> * platform/broadcom: include platform-modules-cel in builds With pddf modules patched for 6.1, platform-modules-cel can be compiled and included in the final image. Testing by building sonic-broadcom.bin/sonic-broadcom-dnx.bin. Signed-off-by: Ramasamy Chandramouli <[email protected]> * pddf/i2c: revert correct rootdir for pip install The pip install directory has been set to test-pkg1/ for testing the build and incorrectly retained as is. Revert this to the correct path $(PACKAGE_PRE_NAME). Signed-off-by: Ramasamy Chandramouli <[email protected]> * platform/broadcom: include pddf/modules-cel in the base package Without this change, the modules were built but not packaged in the final .bin. The final sonic-broadcom.bin has been tested for bootup on Celestica's Silverstone platform. admin@sonic:~$ uname -a Linux sonic 6.1.0-11-2-amd64 sonic-net#1 SMP PREEMPT_DYNAMIC Debian 6.1.38-4 (2023-08-08) x86_64 GNU/Linux admin@sonic:~$ show platform summary Platform: x86_64-cel_silverstone-r0 HwSKU: Silverstone ASIC: broadcom ASIC Count: 1 Serial Number: R4009B2F062504LK200024 Model Number: N/A Hardware Revision: N/A admin@sonic:~$ show version | head SONiC Software Version: SONiC.g0aad6c67c-rachandr SONiC OS Version: 12 Distribution: Debian 12.2 Kernel: 6.1.0-11-2-amd64 Build commit: 0aad6c67c Build date: Thu Oct 26 07:13:47 UTC 2023 Built by: rachandr@AZUHPS14 Platform: x86_64-cel_silverstone-r0 Signed-off-by: Ramasamy Chandramouli <[email protected]> --------- Signed-off-by: Ramasamy Chandramouli <[email protected]>
kazinator-arista
pushed a commit
to kazinator-arista/sonic-mgmt
that referenced
this pull request
Mar 4, 2026
The `imklog` plugin of rsyslog collects the kernel logs from `/dev/kmsg` and enqueues it to the syslog. With `CONFIG_PRINTK_TIME` the kernel messages are by default prefixed with the elapsed time since boot. The `imklog` plugin parsing these messages have a few options such as to keep the timestamps as such or to interpret and adjust the syslog's reported time accordingly. The rsylog release `8.2312.0` has fixes in interpreting these timestamps, leading to the change in behavior observed in #24386. https://salsa.debian.org/debian/rsyslog/-/blob/debian/8.2504.0-1/ChangeLog?ref_type=tags#L619 To restore the earlier behavior or retaining the kernel reported elapsed time, disable `KlogParseKernelTimestamp` as this leads to removal of timestamp from kernel messages and enable `KlogKeepKernelTimestamp` explicitly. The later is required as the default is now to discard the kernel timestamp. With this change, the logs retain the kernel timestamp: root@sonic:~# cat /var/log/syslog | grep "sonic.*kernel:" | head -n 3 2025 Nov 4 05:15:14.918946 sonic NOTICE kernel: [ 0.000000] Linux version 6.12.41+deb13-sonic-amd64 ([email protected]) (x86_64-linux-gnu-gcc-14 (Debian 14.2.0-19) 14.2.0, GNU ld (GNU Binutils for Debian) 2.44) sonic-net#1 SMP PREEMPT_DYNAMIC Debian 6.12.41-1 (2025-08-12) 2025 Nov 4 05:15:14.919533 sonic INFO kernel: [ 0.000000] Command line: BOOT_IMAGE=/image-trixie.0-dirty-20251102.122837/boot/vmlinuz-6.12.41+deb13-sonic-amd64 root=UUID=ac0b6826-f8a3-461f-a8ff-701df60d90b6 rw console=tty0 console=ttyS0,115200n8 quiet processor.max_cstate=1 intel_idle.max_cstate=0 net.ifnames=0 biosdevname=0 loop=image-trixie.0-dirty-20251102.122837/fs.squashfs loopfstype=squashfs apparmor=1 security=apparmor varlog_size=4096 usbcore.autosuspend=-1 intel_iommu=off modprobe.blacklist=gpio_ich,i2c-ismt,i2c_ismt,i2c-i801,i2c_i801 crashkernel=0M-2G:256M,2G-4G:320M,4G-8G:384M,8G-:448M acpi_no_watchdog 2025 Nov 4 05:15:14.919536 sonic INFO kernel: [ 0.000000] BIOS-provided physical RAM map: root@sonic:~# cat /var/log/syslog | grep "sonic.*kernel:" | tail -n 3 2025 Nov 4 05:17:26.831607 sonic WARNING kernel: [ 143.527486] PDDF_LED set_status_led: Set [FANTRAY_LED;1] color[green] 2025 Nov 4 05:17:26.912442 sonic WARNING kernel: [ 143.607086] PDDF_LED set_status_led: Set [FANTRAY_LED;2] color[green] 2025 Nov 4 05:20:32.499634 sonic WARNING kernel: [ 329.195319] PDDF_LED set_status_led: Set [SYS_LED;0] color[amber] root@sonic:~# Signed-off-by: Ramasamy Chandramouli <[email protected]> Co-authored-by: Ramasamy Chandramouli <[email protected]>
kazinator-arista
pushed a commit
to kazinator-arista/sonic-mgmt
that referenced
this pull request
Mar 4, 2026
…et#21405) <!-- Please make sure you've read and understood our contributing guidelines: https://github.com/Azure/SONiC/blob/gh-pages/CONTRIBUTING.md failure_prs.log skip_prs.log Make sure all your commits include a signature generated with `git commit -s` ** If this is a bug fix, make sure your description includes "fixes #xxxx", or "closes #xxxx" or "resolves #xxxx" Please provide the following information: --> #### Why I did it Adding the below fix from FRR FRRouting/frr#17297 This is to fix the following crash which is a statistical issue ``` [Thread debugging using libthread_db enabled] Using host libthread_db library "/lib/x86_64-linux-gnu/libthread_db.so.1". Core was generated by `/usr/lib/frr/zebra -A 127.0.0.1 -s 90000000 -M dplane_fpm_nl -M snmp'. Program terminated with signal SIGABRT, Aborted. #0 0x00007fccd7351e2c in ?? () from /lib/x86_64-linux-gnu/libc.so.6 [Current thread is 1 (Thread 0x7fccd6faf7c0 (LWP 36))] (gdb) bt #0 0x00007fccd7351e2c in ?? () from /lib/x86_64-linux-gnu/libc.so.6 sonic-net#1 0x00007fccd7302fb2 in raise () from /lib/x86_64-linux-gnu/libc.so.6 sonic-net#2 0x00007fccd72ed472 in abort () from /lib/x86_64-linux-gnu/libc.so.6 sonic-net#3 0x00007fccd75bb3a9 in _zlog_assert_failed (xref=xref@entry=0x7fccd7652380 <_xref.16>, extra=extra@entry=0x0) at ../lib/zlog.c:678 sonic-net#4 0x00007fccd759b2fe in route_node_delete (node=<optimized out>) at ../lib/table.c:352 sonic-net#5 0x00007fccd759b445 in route_unlock_node (node=0x0) at ../lib/table.h:258 sonic-net#6 route_next (node=<optimized out>) at ../lib/table.c:436 sonic-net#7 route_next (node=node@entry=0x56029d89e560) at ../lib/table.c:410 sonic-net#8 0x000056029b6b6b7a in if_lookup_by_name_per_ns (ns=ns@entry=0x56029d873d90, ifname=ifname@entry=0x7fccc0029340 "PortChannel1020") at ../zebra/interface.c:312 sonic-net#9 0x000056029b6b8b36 in zebra_if_dplane_ifp_handling (ctx=0x7fccc0029310) at ../zebra/interface.c:1867 sonic-net#10 zebra_if_dplane_result (ctx=0x7fccc0029310) at ../zebra/interface.c:2221 sonic-net#11 0x000056029b7137a9 in rib_process_dplane_results (thread=<optimized out>) at ../zebra/zebra_rib.c:4810 sonic-net#12 0x00007fccd75a0e0d in thread_call (thread=thread@entry=0x7ffe8e553cc0) at ../lib/thread.c:1990 sonic-net#13 0x00007fccd7559368 in frr_run (master=0x56029d65a040) at ../lib/libfrr.c:1198 sonic-net#14 0x000056029b6ac317 in main (argc=9, argv=0x7ffe8e5540d8) at ../zebra/main.c:478 ``` ##### Work item tracking - Microsoft ADO **(number only)**: #### How I did it Added patch. #### How to verify it Running BGP tests. <!-- If PR needs to be backported, then the PR must be tested against the base branch and the earliest backport release branch and provide tested image version on these two branches. For example, if the PR is requested for master, 202211 and 202012, then the requester needs to provide test results on master and 202012. --> #### Which release branch to backport (provide reason below if selected) <!-- - Note we only backport fixes to a release branch, *not* features! - Please also provide a reason for the backporting below. - e.g. - [x] 202006 --> - [ ] 201811 - [ ] 201911 - [ ] 202006 - [ ] 202012 - [ ] 202106 - [ ] 202111 - [ ] 202205 - [ ] 202211 - [ ] 202305 #### Tested branch (Please provide the tested image version) <!-- - Please provide tested image version - e.g. - [x] 20201231.100 --> - [ ] <!-- image version 1 --> - [ ] <!-- image version 2 --> #### Description for the changelog <!-- Write a short (one line) summary that describes the changes in this pull request for inclusion in the changelog: --> <!-- Ensure to add label/tag for the feature raised. example - PR#2174 under sonic-utilities repo. where, Generic Config and Update feature has been labelled as GCU. --> #### Link to config_db schema for YANG module changes <!-- Provide a link to config_db schema for the table for which YANG model is defined Link should point to correct section on https://github.com/Azure/sonic-buildimage/blob/master/src/sonic-yang-models/doc/Configuration.md --> #### A picture of a cute animal (not mandatory but encouraged)
kazinator-arista
pushed a commit
to kazinator-arista/sonic-mgmt
that referenced
this pull request
Mar 4, 2026
…bors over iBGP Session (sonic-net#16705) What I did: Enable Sending BGP Community over internal neighbors over iBGP Session Microsoft ADO: 25268695 Why I did: Without this change BGP community send by e-BGP Peers are not carry-forward to other e-BGP peers. str2-xxxx-lc1-2# show bgp ipv6 20c0:a801::/64 BGP routing table entry for 20c0:a801::/64, version 52141 Paths: (1 available, best sonic-net#1, table default) Not advertised to any peer 65000 65500 2603:10e2:400::6 from 2603:10e2:400::6 (3.3.3.6) Origin IGP, localpref 100, valid, internal, best (First path received) Last update: Tue Sep 26 16:08:26 2023 str2-xxxx-lc1-2# show ip bgp 192.168.35.128/25 BGP routing table entry for 192.168.35.128/25, version 52688 Paths: (1 available, best sonic-net#1, table default) Not advertised to any peer 65000 65502 3.3.3.6 from 3.3.3.6 (3.3.3.6) Origin IGP, localpref 100, valid, internal, best (First path received) Last update: Tue Sep 26 15:45:51 2023 After the change str2-xxxx-lc2-2(config)# router bgp 65100 str2-xxxx-lc2-2(config-router)# address-family ipv4 str2-xxxx-lc2-2(config-router-af)# neighbor INTERNAL_PEER_V4 send-community str2-xxxx-lc2-2(config-router-af)# exit str2-xxxx-lc2-2(config-router)# address-family ipv6 str2-xxxx-lc2-2(config-router-af)# neighbor INTERNAL_PEER_V6 send-community str2-xxxx-lc1-2# show bgp ipv6 20c0:a801::/64 BGP routing table entry for 20c0:a801::/64, version 52400 Paths: (1 available, best sonic-net#1, table default) Not advertised to any peer 65000 65500 2603:10e2:400::6 from 2603:10e2:400::6 (3.3.3.6) Origin IGP, localpref 100, valid, internal, best (First path received) **Community: 1111:1111** Last update: Tue Sep 26 16:10:19 2023 str2-xxxx-lc1-2# show ip bgp 192.168.35.128/25 BGP routing table entry for 192.168.35.128/25, version 52947 Paths: (1 available, best sonic-net#1, table default) Not advertised to any peer 65000 65502 3.3.3.6 from 3.3.3.6 (3.3.3.6) Origin IGP, localpref 100, valid, internal, best (First path received) **Community: 1111:1111** Last update: Tue Sep 26 16:10:09 2023 Signed-off-by: Abhishek Dosi <[email protected]>
kazinator-arista
pushed a commit
to kazinator-arista/sonic-mgmt
that referenced
this pull request
Mar 4, 2026
…bors over iBGP Session (sonic-net#16705) What I did: Enable Sending BGP Community over internal neighbors over iBGP Session Microsoft ADO: 25268695 Why I did: Without this change BGP community send by e-BGP Peers are not carry-forward to other e-BGP peers. str2-xxxx-lc1-2# show bgp ipv6 20c0:a801::/64 BGP routing table entry for 20c0:a801::/64, version 52141 Paths: (1 available, best sonic-net#1, table default) Not advertised to any peer 65000 65500 2603:10e2:400::6 from 2603:10e2:400::6 (3.3.3.6) Origin IGP, localpref 100, valid, internal, best (First path received) Last update: Tue Sep 26 16:08:26 2023 str2-xxxx-lc1-2# show ip bgp 192.168.35.128/25 BGP routing table entry for 192.168.35.128/25, version 52688 Paths: (1 available, best sonic-net#1, table default) Not advertised to any peer 65000 65502 3.3.3.6 from 3.3.3.6 (3.3.3.6) Origin IGP, localpref 100, valid, internal, best (First path received) Last update: Tue Sep 26 15:45:51 2023 After the change str2-xxxx-lc2-2(config)# router bgp 65100 str2-xxxx-lc2-2(config-router)# address-family ipv4 str2-xxxx-lc2-2(config-router-af)# neighbor INTERNAL_PEER_V4 send-community str2-xxxx-lc2-2(config-router-af)# exit str2-xxxx-lc2-2(config-router)# address-family ipv6 str2-xxxx-lc2-2(config-router-af)# neighbor INTERNAL_PEER_V6 send-community str2-xxxx-lc1-2# show bgp ipv6 20c0:a801::/64 BGP routing table entry for 20c0:a801::/64, version 52400 Paths: (1 available, best sonic-net#1, table default) Not advertised to any peer 65000 65500 2603:10e2:400::6 from 2603:10e2:400::6 (3.3.3.6) Origin IGP, localpref 100, valid, internal, best (First path received) **Community: 1111:1111** Last update: Tue Sep 26 16:10:19 2023 str2-xxxx-lc1-2# show ip bgp 192.168.35.128/25 BGP routing table entry for 192.168.35.128/25, version 52947 Paths: (1 available, best sonic-net#1, table default) Not advertised to any peer 65000 65502 3.3.3.6 from 3.3.3.6 (3.3.3.6) Origin IGP, localpref 100, valid, internal, best (First path received) **Community: 1111:1111** Last update: Tue Sep 26 16:10:09 2023 Signed-off-by: Abhishek Dosi <[email protected]>
kazinator-arista
pushed a commit
to kazinator-arista/sonic-mgmt
that referenced
this pull request
Mar 4, 2026
#### Why I did it
Dropping control character (message sent when XSUB connects to XPUB as part of ZMQ Proxy setup to notify that subscription has been made) in do capture has been flaky since control character is not guaranteed to be the first message sent if there are events (like event-down-ctr) being published to XSUB.
Scenarios
1) Control character is sent and is first message when starting capture service
`eventd#eventd#eventd: :- heartbeat_ctrl: Set heartbeat_ctrl pause=1`
`eventd#eventd#eventd: :- do_capture: Received subscription message when XSUB connects to XPUB`
2) Events like event-down ctr is sent before control character
`eventd#eventd#eventd: :- run: Dropping Message: 22 serialization::archive 18 17 sonic-events-host`
`eventd#eventd#eventd: :- run: Dropping Message: 22 serialization::archive 18 0 0 4 0 0 0 1 d 103 {"sonic-events-host:event-stopped-ctr":{"ctr_name":"EVENTD","timestamp":"2024-08-27T00:02:51.407518Z"}} 1 r 36 3357542f-bae1-458f-a804-660e620d21f5 1 s 1 9 1 t 19 1724716971407591080`
`heartbeat_ctrl: Set heartbeat_ctrl pause=1`
`do_capture: Received subscription message when XSUB connects to XPUB`
3) Control character is not sent at all
`eventd#eventd#eventd: :- heartbeat_ctrl: Set heartbeat_ctrl pause=1`
4) Control character is delayed and not caught when starting capture service, but is then caught after causing deserialize error.
`do_capture: Receiving event from source: 22 serialization::archive 18 17 sonic-events-host, will read second part of event`
`deserialize: deserialize Failed: input stream errorstr[0:64]:(sonic-net#1) data type: std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >&`
`zmq_read_part: Failed to deserialize part rc=-2`
`zmq_read_part: last:errno=11`
`zmq_message_read: Failure to read part1 rc=-2`
`zmq_message_read: last:errno=11`
We can cover these scenarios by just dropping the control character inside zmq_message_read as part of events_common in swsscommon (different PR). In this PR we will remove such handling logic and make sure that empty events that will be sent by control character are ignored.
##### Work item tracking
- Microsoft ADO **(number only)**:28728116
#### How I did it
Remove logic for handling control character
#### How to verify it
UT and sonic-mgmt test cases.
12 tasks
This was referenced Mar 15, 2026
9 tasks
12 tasks
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
For your consideration. I made separate roles for the different hardware platforms.
We currently have plans for a separate integration test repository, noted in the readme.