From 973ed0f6c63151b956b9b4ae38b2f1aca9b652e5 Mon Sep 17 00:00:00 2001 From: Anant Kishor Sharma Date: Wed, 1 Jul 2026 21:46:25 +0530 Subject: [PATCH 1/2] [pc/test_po_cleanup] Skip memory_utilization for test_po_cleanup_after_reload test_po_cleanup_after_reload drives CPU to 100% and runs config_reload, which transiently spikes memory usage. On the low-memory sonic-vpp KVM VM this briefly trips the monit memory_usage alarm and fails the global memory_utilization teardown check, even though the test body itself passes (2 passed, 1 error at teardown). Add @pytest.mark.disable_memory_utilization to this reload/stress test, matching other reboot/reload tests. test_po_cleanup is unaffected. Signed-off-by: Anant Kishor Sharma --- tests/pc/test_po_cleanup.py | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/tests/pc/test_po_cleanup.py b/tests/pc/test_po_cleanup.py index 7cdde29dc8b..461786ba8d5 100644 --- a/tests/pc/test_po_cleanup.py +++ b/tests/pc/test_po_cleanup.py @@ -80,6 +80,11 @@ def test_po_cleanup(duthosts, enum_rand_one_per_hwsku_frontend_hostname, enum_as config_reload(duthost, safe_reload=True, wait_for_bgp=True) +# This test drives CPU to 100% and runs config_reload, which transiently spikes memory usage. +# On the low-memory sonic-vpp KVM VM that briefly trips the monit memory_usage alarm and fails +# the global memory_utilization teardown check, even though the test body itself passes. Skip +# that check for this reload/stress test (consistent with other reboot/reload/stress tests). +@pytest.mark.disable_memory_utilization def test_po_cleanup_after_reload(duthosts, enum_rand_one_per_hwsku_frontend_hostname, tbinfo): """ test port channel are cleaned up correctly after config reload, with system under stress. From c6d75f9af08d808669d26c05af563004618e1333 Mon Sep 17 00:00:00 2001 From: Anant Kishor Sharma Date: Wed, 1 Jul 2026 22:17:50 +0530 Subject: [PATCH 2/2] [pc/test_po_cleanup] Skip memory_utilization on vpp for test_po_cleanup_after_reload Signed-off-by: Anant Kishor Sharma --- .../tests_mark_conditions_sonic_vpp.yaml | 9 +++++++++ tests/pc/test_po_cleanup.py | 5 ----- 2 files changed, 9 insertions(+), 5 deletions(-) diff --git a/tests/common/plugins/conditional_mark/tests_mark_conditions_sonic_vpp.yaml b/tests/common/plugins/conditional_mark/tests_mark_conditions_sonic_vpp.yaml index 1c2aba8190c..0dd1edeeddd 100644 --- a/tests/common/plugins/conditional_mark/tests_mark_conditions_sonic_vpp.yaml +++ b/tests/common/plugins/conditional_mark/tests_mark_conditions_sonic_vpp.yaml @@ -490,6 +490,15 @@ pc/test_lag_member_forwarding.py::test_lag_member_forwarding_packets: conditions: - "asic_type in ['vpp']" +pc/test_po_cleanup.py::test_po_cleanup_after_reload: + disable_memory_utilization: + reason: > + config_reload with CPU stress transiently raises monit memory_usage past the + 10% increase threshold on the low-RAM sonic-vpp KVM VM; the test body passes. + conditions_logical_operator: or + conditions: + - "asic_type in ['vpp']" + ####################################### ##### PFCWD ##### ####################################### diff --git a/tests/pc/test_po_cleanup.py b/tests/pc/test_po_cleanup.py index 461786ba8d5..7cdde29dc8b 100644 --- a/tests/pc/test_po_cleanup.py +++ b/tests/pc/test_po_cleanup.py @@ -80,11 +80,6 @@ def test_po_cleanup(duthosts, enum_rand_one_per_hwsku_frontend_hostname, enum_as config_reload(duthost, safe_reload=True, wait_for_bgp=True) -# This test drives CPU to 100% and runs config_reload, which transiently spikes memory usage. -# On the low-memory sonic-vpp KVM VM that briefly trips the monit memory_usage alarm and fails -# the global memory_utilization teardown check, even though the test body itself passes. Skip -# that check for this reload/stress test (consistent with other reboot/reload/stress tests). -@pytest.mark.disable_memory_utilization def test_po_cleanup_after_reload(duthosts, enum_rand_one_per_hwsku_frontend_hostname, tbinfo): """ test port channel are cleaned up correctly after config reload, with system under stress.