Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
6201 commits
Select commit Hold shift + click to select a range
bcb0211
[action] [PR:20684] Skip acl/test_acl.py::TestAclWithReboot tests on …
mssonicbld Oct 23, 2025
9b7d41d
[action] [PR:20766] Fix testbed_vm_info.py for ansible >= 2.14 (#780)
mssonicbld Oct 23, 2025
2fdbb56
[action] [PR:20065] Add packet trimming counter testcase (#781)
mssonicbld Oct 23, 2025
9180945
[action] [PR:20635] Fix UnboundLocalError in lldp test (#782)
mssonicbld Oct 23, 2025
d1e8636
Merge remote-tracking branch 'source/202412' into internal-202412
Oct 24, 2025
5a57977
add an option to run test test_check_sfputil_reset for 64 interfaces …
illia-kotvitskyi Oct 24, 2025
fe1191e
Manual Cherry-Pick PR: Set xfail to tests on IPv6 only topo by create…
AntonHryshchuk Oct 24, 2025
49c5127
Manually cherry pick PR to 202412: Remove mgmt. gateway in ceos confi…
w1nda Oct 24, 2025
a13b3e8
Manual cherry-pick of #20091 - 'Xfail test_lldp_neighbor_post_orchage…
AntonHryshchuk Oct 24, 2025
8cdd74d
Merge remote-tracking branch 'source/202412' into internal-202412
Oct 25, 2025
13f0276
Fix devutils and snmp pdu for docker-sonic-mgmt upgrade (#20846)
wangxin Sep 29, 2025
1dff39a
[action] [PR:21025] enable ipv6-only topo for test_vlan.py (#791)
mssonicbld Oct 28, 2025
946a3f6
Merge remote-tracking branch 'source/202412' into internal-202412
Oct 28, 2025
d173218
[action] [PR:21072] Fix ipfwd assert assumption for TH5 (#792)
mssonicbld Oct 28, 2025
c0db296
[action] [PR:21053] [drop_packets] Exclude PT0 interfaces from rif_me…
mssonicbld Oct 28, 2025
7de1db3
[action] [PR:20732] [IPv6 only topo] skip test_show_ip_route_v4 on IP…
mssonicbld Oct 28, 2025
fccda05
adjust dip sip to ipv6 only
ytzur1 Sep 16, 2025
5a7eb08
adjust test_dip_sip.py to ipv6 only topology (#707)
yanmo96 Oct 28, 2025
cef7cfa
Merge remote-tracking branch 'source/202412' into internal-202412
Oct 29, 2025
d5513a0
[action] [PR:21129] [Packet-trimming] Fix buffer profile name retriev…
mssonicbld Oct 30, 2025
943ef1b
Merge remote-tracking branch 'source/202412' into internal-202412
Oct 31, 2025
87a58f4
Remove unused parameters in remove_topo (#790)
AntonHryshchuk Nov 3, 2025
aed88f6
Merge remote-tracking branch 'source/202412' into internal-202412
Nov 3, 2025
e439373
[action] [PR:21109] [everflow][sn5640]: Add Mellanox ASIC skip condit…
mssonicbld Nov 4, 2025
e693859
Merge remote-tracking branch 'source/202412' into internal-202412
Nov 5, 2025
96441d7
[202412] Fix devutils and snmp pdu for docker-sonic-mgmt upgrade (#20…
wangxin Nov 5, 2025
708a04b
Fix filter not found issue for ansible >= 2.14 (#20771)
wangxin Sep 24, 2025
8d90e7f
Merge remote-tracking branch 'source/202412' into internal-202412
Nov 6, 2025
8c6d384
[action] [PR:20956] Fix bgp_bbr and fib::nvgre_hash related condition…
mssonicbld Nov 6, 2025
e7b5d5d
[action] [PR:21046] remove unused stop_xcvrd fixture (#817)
mssonicbld Nov 6, 2025
d1c8367
Optimize check_interface_status function. (#21055)
OriTrabelsi Nov 4, 2025
63771e1
Optimize check_interface_status function. (#21055) (#820)
Janetxxx Nov 7, 2025
62ffb30
Merge remote-tracking branch 'source/202412' into internal-202412
Nov 7, 2025
5edbaf5
[action] [PR:21055] Optimize check_interface_status function. (#819)
mssonicbld Nov 7, 2025
fe51a3d
[SN5640][xfail] xfail test cases in SN5640 full topo (#21106)
Janetxxx Nov 7, 2025
6964615
Merge branch '202412' of https://github.com/Azure/sonic-mgmt.msft int…
Janetxxx Nov 7, 2025
3e84ebd
[ansible]: Set sysctl args and ptf memory for full topology (#21097) …
Pterosaur Nov 7, 2025
da8b9ab
Merge remote-tracking branch 'source/202412' into internal-202412
Nov 8, 2025
0c3b167
[action] [PR:20453] Added xfail due to issue #20452 to tacacs accoun…
mssonicbld Nov 9, 2025
b2ad331
[action] [PR:20848] Skip test_decap on IPv6 only topo (#826)
mssonicbld Nov 9, 2025
0ca60c4
[action] [PR:20188] Skipped Orchagent heartbeat test on 202412 (#824)
mssonicbld Nov 9, 2025
2ed33ba
[action] [PR:21099] Fix ansible_hosts for docker-sonic-mgmt based on …
mssonicbld Nov 9, 2025
353be1c
[action] [PR:20964] Fix test_arp_extended.py::test_proxy_arp failure …
mssonicbld Nov 9, 2025
c89cc4f
[action] [PR:21077] Verify if the queue is blocked successfully in tr…
mssonicbld Nov 9, 2025
4ec99ad
[action] [PR:20658] Adding a step to test_xcvr_info_in_db that verify…
mssonicbld Nov 9, 2025
cf4fd70
Merge remote-tracking branch 'source/202412' into internal-202412
Nov 10, 2025
6a571dd
[action] [PR:21018] Added ipv6-only support to vlan_ping (#831)
mssonicbld Nov 10, 2025
b99f6fd
Merge remote-tracking branch 'source/202412' into internal-202412
Nov 11, 2025
2101bd2
[action] [PR:19678] Removing test_sfputil.py to prevent error in nigh…
mssonicbld Nov 11, 2025
5e3471b
enable ipv6-only for test_host_vlan (#21027)
yanmo96 Oct 29, 2025
47bc0e5
enable ipv6-only for test_host_vlan (#21027) (#857)
yanmo96 Nov 11, 2025
1595de5
Merge remote-tracking branch 'source/202412' into internal-202412
Nov 12, 2025
dcd8c2a
Merged PR 17049: [Auto Created by PR 17016] Sync connection graph fac…
Nov 12, 2025
afb556f
Cherry-pick fix for test_reload_configuration_checks and relocate pla…
yutongzhang-microsoft Nov 12, 2025
95b3f80
[202412] Fix filter not found issue for ansible >= 2.14 (#20771) (#808)
wangxin Nov 13, 2025
98020d1
Merge remote-tracking branch 'source/202412' into internal-202412
Nov 13, 2025
7e2bd98
[action] [PR:21033] Disable loganalyzer on test_lldp temporarily (#868)
mssonicbld Nov 14, 2025
948d019
Merge remote-tracking branch 'source/202412' into internal-202412
Nov 15, 2025
59be93f
[202412] Compatibility fixes for docker-sonic-mgmt based on Ubuntu 24…
wangxin Nov 16, 2025
8d8f01a
Change Jinja logic indentation in t0 and t1 topologies for readabilit…
wrideout-arista Nov 16, 2025
b44d8a5
[action] [PR:20985] Extend SNMP container cleanup check time allowanc…
mssonicbld Nov 16, 2025
0709ae0
adjust test_techsupport.py to support IPv6 (#800)
ytzur1 Nov 16, 2025
9db5fd1
Add a check if the SW control feature is enabled before running the S…
illia-kotvitskyi Nov 16, 2025
2e73bb5
Manual cherry-pick PR: [QoS] dynamic skip of buffer tests for lossy o…
AntonHryshchuk Nov 16, 2025
feb0ce2
Merge remote-tracking branch 'source/202412' into internal-202412
Nov 17, 2025
8828f57
[action] [PR:21339] update routes number for isolated 'full' topo (#…
mssonicbld Nov 19, 2025
12f954d
Merge remote-tracking branch 'source/202412' into internal-202412
Nov 20, 2025
58ffa23
Merged PR 17223: [Auto Created by PR 17218] Sync connection graph fac…
Nov 20, 2025
56d71fb
[action] [PR:17399] test_bgp_ session.py fails when DUT is running FR…
mssonicbld Nov 20, 2025
19bde51
Merge remote-tracking branch 'source/202412' into internal-202412
Nov 21, 2025
59f294b
Fix get_lag_facts for v6 topo only (#804)
ytzur1 Nov 21, 2025
7212cd2
Merged PR 17249: [Auto Created by PR 17244] Sync connection graph fac…
Nov 21, 2025
c28411b
Merge remote-tracking branch 'source/202412' into internal-202412
Nov 22, 2025
320c3b6
Merged PR 17268: [Auto Created by PR 17263] Sync connection graph fac…
Nov 22, 2025
9192591
Merged PR 17318: [Auto Created by PR 17313] Sync connection graph fac…
Nov 24, 2025
bc8b8ad
[action] [PR:20491] Use the "tor" role for pt0 peers in t0-isolated t…
mssonicbld Nov 24, 2025
562e760
Merge remote-tracking branch 'source/202412' into internal-202412
Nov 25, 2025
b4c8fa8
Merged PR 17338: [Auto Created by PR 17332] Sync connection graph fac…
Nov 26, 2025
be9ecfb
Merged PR 17347: [Auto Created by PR 17335] Sync connection graph fac…
Nov 26, 2025
2f49e35
Merged PR 17363: [Auto Created by PR 17358] Sync connection graph fac…
Nov 26, 2025
aebfbc2
Merged PR 17374: [Auto Created by PR 17368] Sync connection graph fac…
Nov 26, 2025
cc5f1ab
[action] [PR:18348] argparse conflicting option string (#889)
mssonicbld Nov 26, 2025
b2fbda6
Merge remote-tracking branch 'source/202412' into internal-202412
Nov 27, 2025
7c01930
[action] [PR:21357] skip bgp bbr for isolated topo (#890)
mssonicbld Nov 27, 2025
8f39793
Merged PR 17433: [Auto Created by PR 17428] Sync connection graph fac…
Nov 27, 2025
e2cf885
[tests]: Add tests for high frequency telemetry (#20379) (#893)
Pterosaur Nov 27, 2025
71a9a36
Merged PR 17443: [Auto Created by PR 17438] Sync connection graph fac…
Nov 27, 2025
9d80069
Merge remote-tracking branch 'source/202412' into internal-202412
Nov 28, 2025
22d3ba5
[hft]: Fix conditional mark in high frequency telemetry test (#894)
Pterosaur Nov 28, 2025
056f06b
Merge remote-tracking branch 'source/202412' into internal-202412
Nov 29, 2025
09b1fae
Merged PR 17506: [Auto Created by PR 17501] Sync connection graph fac…
Dec 1, 2025
f5f4944
Added V6 Test Rules
AndoniSanguesa Dec 1, 2025
fd92c99
Create test_rules_ip_type_v6.json
AndoniSanguesa Dec 1, 2025
e206089
Created Methods for Loading IP_TYPE rules and Updating Packet Validation
AndoniSanguesa Dec 1, 2025
696ce95
Adds support for Egress testing and ICMP code/type and IP_TYPE mathcing
AndoniSanguesa Dec 1, 2025
0cf14fb
Add acl_ip_version method to test class
AndoniSanguesa Dec 1, 2025
9de5d6a
added dependency
AndoniSanguesa Dec 1, 2025
ee657ec
removed unused dep
AndoniSanguesa Dec 1, 2025
e49e5c9
[action] [PR:21435] Send more verification packets in packet trimming…
mssonicbld Dec 2, 2025
6c56b56
added pre-commit hook locally
AndoniSanguesa Dec 2, 2025
375a517
Merge remote-tracking branch 'source/202412' into internal-202412
Dec 2, 2025
ea44da8
Merged PR 17539: [Auto Created by PR 17529] Sync connection graph fac…
Dec 2, 2025
9903022
[action] [PR:20433] Fixed COPP trap neighbor miss test to skip t1 (#902)
mssonicbld Dec 2, 2025
11f5ff1
Add platform to xfail condition in SN5640 T0 full topo (#21478)
Janetxxx Nov 29, 2025
87b1ded
fix conflicts
Janetxxx Dec 3, 2025
70b4eb9
[action] [PR:21439] Fix GCU packet trimming tests for TH5 (#904)
mssonicbld Dec 3, 2025
cadf090
[action] [PR:21318] Support multi-chip in packet trimming tests with …
mssonicbld Dec 3, 2025
782e35f
Merge remote-tracking branch 'source/202412' into internal-202412
Dec 3, 2025
632371a
Fallback 202412 to use legacy docker-sonic-mgmt
wangxin Dec 3, 2025
dcfa444
Fallback 202412 to use legacy docker-sonic-mgmt (#910)
wangxin Dec 3, 2025
691e61a
Merged PR 17553: [Auto Created by PR 17548] Sync connection graph fac…
Dec 3, 2025
480c666
Merge remote-tracking branch 'source/202412' into internal-202412
Dec 4, 2025
5bb0a28
Merged PR 17570: [Auto Created by PR 17564] Sync connection graph fac…
Dec 4, 2025
3350074
[Everflow] Add Support for Egress V6 Testing (#896)
bingwang-ms Dec 4, 2025
3e65851
Merge remote-tracking branch 'source/202412' into internal-202412
Dec 5, 2025
ae5c53e
Ignore syncd log when switching global packet trimming mode on TH5 (#…
rick-arista Dec 6, 2025
9fb625a
Merge remote-tracking branch 'source/202412' into internal-202412
Dec 6, 2025
6b48816
Merged PR 17633: [Auto Created by PR 17479] Sync connection graph fac…
Dec 8, 2025
b999517
fib/test_fib.py: Use IPv6 addresses in outer header for IPinIPHashTes…
wrideout-arista Dec 11, 2025
0853036
Merge remote-tracking branch 'source/202412' into internal-202412
Dec 12, 2025
4bb91df
Merged PR 17716: [Auto Created by PR 17710] Sync connection graph fac…
Dec 15, 2025
1ce577f
Merged PR 17741: [Auto Created by PR 17707] Sync connection graph fac…
Dec 15, 2025
b1d76a5
[action] [PR:21697] [tests_mark_conditions]: Fix ipinip test skip (#933)
mssonicbld Dec 16, 2025
1e4d7ac
Merge remote-tracking branch 'source/202412' into internal-202412
Dec 17, 2025
36f2054
[action] [PR:21155] Support running acl tests without any IPv4 manage…
mssonicbld Dec 18, 2025
f40246e
fix: Add capability check and skip unsupported cases
deerao02 Dec 18, 2025
673ae53
fix: Add capability check and skip unsupported cases (#940)
bingwang-ms Dec 18, 2025
7d8f35d
Merge remote-tracking branch 'source/202412' into internal-202412
Dec 19, 2025
5535506
Merged PR 17818: [Auto Created by PR 17813] Sync connection graph fac…
Dec 21, 2025
9d5bf68
Merged PR 17864: [Auto Created by PR 17858] Sync connection graph fac…
Dec 22, 2025
bbb5454
Merged PR 17882: [Auto Created by PR 17875] Sync connection graph fac…
Dec 22, 2025
6fa230e
Merged PR 17904: [Auto Created by PR 17898] Sync connection graph fac…
Dec 23, 2025
000172a
Manual cherry-pick PR:Handle v6 only for mtu test#20824 (#920)
OriTrabelsi Dec 27, 2025
cdca7e1
[action] [PR:21589] Fix headroom tests for Arista TH5 devices (#943)
mssonicbld Dec 27, 2025
62c1a31
Merge remote-tracking branch 'source/202412' into internal-202412
Dec 28, 2025
c327ba0
[action] [PR:21617] Enhance PTF function at scale testbed (#945)
mssonicbld Jan 4, 2026
3ddcc20
Merged PR 18171: [Auto Created by PR 18165] Sync connection graph fac…
Jan 4, 2026
fea4da4
Merge remote-tracking branch 'source/202412' into internal-202412
Jan 5, 2026
5d8f908
Merged PR 18242: [Auto Created by PR 17966] Sync connection graph fac…
Jan 6, 2026
5d408a9
[action] [PR:21810] GARP for ptf mgmt after creating container (#946)
mssonicbld Jan 6, 2026
27e366a
fix: Remove macsec from 202412 branch
deerao02 Jan 7, 2026
58faebc
fix: Remove macsec from 202412 branch (#947)
bingwang-ms Jan 7, 2026
b353c14
Merge remote-tracking branch 'source/202412' into internal-202412
Jan 7, 2026
7ba62a4
[action] [PR:21335] Refactoring/high bgp phase 2 (#949)
mssonicbld Jan 8, 2026
43a72f4
Merge remote-tracking branch 'source/202412' into internal-202412
Jan 9, 2026
e2d4a29
Added new topologies to testcases.yml file (#866)
AharonMalkin Jan 9, 2026
8eef693
Merge remote-tracking branch 'source/202412' into internal-202412
Jan 10, 2026
8b2d137
[action] [PR:20680] adjust test_techsupport.py to support IPv6 (#950)
mssonicbld Jan 10, 2026
56ea59f
Merge remote-tracking branch 'source/202412' into internal-202412
Jan 11, 2026
6c791f3
[action] [PR:21878] [SN5640][xfail] xfail srv6 dataplane test cases i…
mssonicbld Jan 12, 2026
7fba76b
Merged PR 18350: [Auto Created by PR 18344] Sync connection graph fac…
Jan 13, 2026
d046468
Merge remote-tracking branch 'source/202412' into internal-202412
Jan 13, 2026
4906e66
Merged PR 18494: [Auto Created by PR 18488] Sync connection graph fac…
Jan 19, 2026
a30b6ac
Update qos sai cases for ipv6 only topo (#20798) (#879)
JibinBao Jan 21, 2026
6098115
Merge remote-tracking branch 'source/202412' into internal-202412
Jan 21, 2026
3c43d74
[action] [PR:21453] Fix test_bgp_gr_helper.py for v6 topo (#965)
mssonicbld Jan 21, 2026
fd6e77e
[action] [PR:21434] Change src_port to fix PortChannel hashing on th5…
mssonicbld Jan 21, 2026
f7655c8
[action] [PR:21455] Fix test_bgp_router_id.py for v6 topo (#962)
mssonicbld Jan 21, 2026
874a0c8
[action] [PR:21451] Fix memory comparison in test_bgp_session_flap.py…
mssonicbld Jan 21, 2026
eacc912
[action] [PR:21811] disable RA routes for IPv6 in PTF container (#968)
mssonicbld Jan 21, 2026
04b18fe
[action] [PR:21595] Add skip to test_everflow_ipv6::TestEgressEverflo…
mssonicbld Jan 21, 2026
3e10ed4
[action] [PR:21570] [Scale] Add wait until logic after restart ptfada…
mssonicbld Jan 21, 2026
7fb0624
Merge remote-tracking branch 'source/202412' into internal-202412
Jan 22, 2026
383d288
Merged PR 18613: [Auto Created by PR 18608] Sync connection graph fac…
Jan 22, 2026
4828795
added missing import of is_ipv6_only_topology
yanmo96 Jan 23, 2026
24b3dc7
Manual cherry-pick of PR: Adjusting test_stress_arp is it can handle …
gshemesh2 Jan 23, 2026
e8edcae
Manual cherry-pick PR: Adjust test_bgpmon.py to handle running over i…
gshemesh2 Jan 23, 2026
fda4ac2
Enhance PTF function at scale testbed (#913)
echuawu Jan 23, 2026
1fe73bc
[202412] Fix setup_interfaces fixture and related bgp tests for v6 to…
markx-arista Jan 23, 2026
2bb2a53
[action] [PR:21939] Fix/nonlinear high nexthop dataplane downtime (#975)
mssonicbld Jan 23, 2026
51b0525
[action] [PR:21523] Feature/route programming data (#974)
mssonicbld Jan 23, 2026
e0a408c
[202412] Fix fib/test_fib.py test_vxlan_hash [ipv6-*] (#971)
markx-arista Jan 29, 2026
0ff3ecc
[action] [PR:21717] [BGP][test_bgp_session.py::test_bgp_session_inter…
mssonicbld Jan 29, 2026
c731442
[action] [PR:21647] Remove test_route_flow_counter.py xfail for v6 to…
mssonicbld Jan 29, 2026
de89a46
[action] [PR:21143] configlet/test_add_rack.py Add comparison ignore …
mssonicbld Jan 29, 2026
7eab3e7
[202412] Fix/nonlinear dataplane downtime (#982)
thisptr-sh Jan 29, 2026
02cadbb
[action] [PR:21771] Fix test_bgp_bounce.py for v6 topos (#984)
mssonicbld Jan 30, 2026
e762451
[action] [PR:21762] Fix test_disk_exhaustion.py for v6 topos (#983)
mssonicbld Jan 30, 2026
b6c58d4
[action] [PR:21772] Fix test_bgp_suppress_fib.py for v6 topos (#985)
mssonicbld Jan 30, 2026
f748506
Merged PR 18783: [Auto Created] Sync connection graph facts from inte…
Feb 3, 2026
46503f1
[202412] Fix test_acl.py [ipv6-ingress-uplink->downlink-*] cases for …
markx-arista Feb 5, 2026
c4c429c
[action] [PR:21843] Fix test_bgp_suppress_fib.py flakiness on scale t…
mssonicbld Feb 8, 2026
d849917
Merge remote-tracking branch 'azure/202412' into internal-202412
r12f Feb 9, 2026
a115694
[hft]: Remove default golden config of high frequency telemetry (#216…
Pterosaur Feb 9, 2026
86eeccb
Merged PR 18925: [202412] Merge Azure:202412 to internal-202412
r12f Feb 10, 2026
a5d6c1f
Merge remote-tracking branch 'source/202412' into internal-202412
Feb 10, 2026
9600e7f
[202412] Add meter_type packets when creating blocking scheduler (#980)
rgarofano-arista Feb 11, 2026
517403a
Xfail some tests on scale topo (#929)
JibinBao Feb 11, 2026
41aea60
[action] [PR:21759] Remove xfail conditions for test_everflow_per_int…
mssonicbld Feb 11, 2026
b8403a8
Merge remote-tracking branch 'source/202412' into internal-202412
Feb 12, 2026
5c2c778
[action] [PR:17587] Update the network containers from Jessie to Book…
mssonicbld Feb 12, 2026
b8cc065
[action] [PR:22265] Extend cacl/test_cacl_function.py test state dura…
mssonicbld Feb 12, 2026
b6e81df
[action] [PR:22219] Split trimming counters into two tests and skip n…
mssonicbld Feb 12, 2026
b4c67b2
Fix import for bgp tests (#976)
yanmo96 Feb 13, 2026
1ce402b
Merge remote-tracking branch 'source/202412' into internal-202412
Feb 13, 2026
345a74e
[action] [PR:21865] [hft]: Add hft test cases for Queue,IPG and Buffe…
mssonicbld Feb 13, 2026
5f95992
[action] [PR:22264] Add cleanup to dns/static_dns_test_static_dns.py …
mssonicbld Feb 13, 2026
567b069
Merge remote-tracking branch 'source/202412' into internal-202412
Feb 14, 2026
3ddbb36
skip copp UDLD for TH5 SONiC fanout host (#1010)
sdszhang Feb 16, 2026
82fa9ea
[COPP] Improve RX PPS Calcuation for COPP Tests (#1009)
ccroy-arista Feb 16, 2026
b74ffd8
[202412] Fix test_decap.py for v6 topos (#972)
markx-arista Feb 16, 2026
b43001c
Merge remote-tracking branch 'source/202412' into internal-202412
Feb 17, 2026
c31769a
[action] [PR:21698] skip allow_list for isolated topo. (#1026)
mssonicbld Feb 18, 2026
50c831c
[action] [PR:22259] Change dummy ip for fill packets to eliminate fal…
mssonicbld Feb 18, 2026
8c56cfc
Merge remote-tracking branch 'source/202412' into internal-202412
Feb 19, 2026
fc0af7c
[action] [PR:21448] Fix ACL rule creation in packet trimming tests (B…
mssonicbld Feb 19, 2026
6ba4834
Merge remote-tracking branch 'source/202412' into internal-202412
Feb 20, 2026
b7edd9a
enable ipv6 topo for test_default_route replace https://github.com/so…
yanmo96 Feb 10, 2026
0927fc2
enable ipv6 topo for test_default_route replace https://github.com/so…
yanmo96 Feb 20, 2026
fc8b784
[action] [PR:22073] Fix the nnpy installation failure for test_copp (…
mssonicbld Feb 21, 2026
90f0338
Merge remote-tracking branch 'source/202412' into internal-202412
Feb 21, 2026
b49c011
[202412][PR:22322] Add trimmed packet size margin (#1033)
r12f Feb 22, 2026
aaf25c6
Merge remote-tracking branch 'source/202412' into internal-202412
Feb 22, 2026
372d815
[202412][PR #21956]disable ipv6 for broadcom SONiC fanout devices. (#…
sdszhang Feb 24, 2026
e8ab15a
Merge remote-tracking branch 'source/202412' into internal-202412
Feb 24, 2026
96cd595
Fixing test errors in `test_ecn_config_update.py` (#1024)
mramezani95 Feb 24, 2026
d28f241
Skip pfc storm event based on hwsku (#989)
rgarofano-arista Feb 25, 2026
bfa93b7
Merge remote-tracking branch 'source/202412' into internal-202412
Feb 25, 2026
cd5c58e
Merged PR 19334: [Auto Created by PR 19230] Sync connection graph fac…
Feb 27, 2026
b4ee44c
Merged PR 19371: [Auto Created by PR 19268] Sync connection graph fac…
Mar 3, 2026
6a97aeb
Don't wait for ACL rules with Broadcom ASICs (#1038)
fraserg-arista Mar 4, 2026
06706af
Merge remote-tracking branch 'source/202412' into internal-202412
Mar 4, 2026
e5bb9c5
[202412][PR: 22679] add authtype for consoleserver (#1053)
sdszhang Mar 9, 2026
8b311db
merge azure/202412
sdszhang Mar 9, 2026
375727b
Merged PR 19510: [Auto Created by PR 19480] Sync connection graph fac…
Mar 9, 2026
4808df3
Merged PR 19517: Merge remote-tracking branch 'source/202412' into in…
sdszhang Mar 9, 2026
fe1b371
Enable test_static_route for ipv6 only topo (#21765)
yanmo96 Feb 10, 2026
1e35302
Enable test_po_update with ipv6-only topo (#21910)
yanmo96 Feb 10, 2026
1fa4ca4
[action] [PR:21910] Enable test_po_update with ipv6-only topo (#1066)
mssonicbld Mar 12, 2026
0cbdf37
[action] [PR:21978] inclusion of Route Programming sairedis events in…
mssonicbld Mar 12, 2026
33d5997
[action] [PR:21449] Remove test_radv_ipv6_ra.py xfail for v6 topos (#…
mssonicbld Mar 12, 2026
8fb86a9
[action] [PR:16532] [default-route-bgp-flap]: [T2] Fix and handle AZN…
mssonicbld Mar 12, 2026
49b74ba
[action] [PR:22549] [bgp scale] : Use a cyclic ICMP type within a saf…
mssonicbld Mar 12, 2026
7a4be48
[action] [PR:21979] Keep One Port Up in BGP Scale Test to Preserve PT…
mssonicbld Mar 12, 2026
42ed121
Merge pull request 19623 from auto_sync_conn_graph/internal-202412/19…
Mar 12, 2026
89d3ca6
Merge pull request 19648 from auto_sync_conn_graph/internal-202412/19…
Mar 12, 2026
187280a
[Otel] Enable OTEL feature when OTEL image exists (#22341)
Janetxxx Mar 12, 2026
515fd7a
[202412][PR:21910] Enable test_po_update with ipv6-only topo (#1058)
yanmo96 Mar 12, 2026
1a202cf
Merge remote-tracking branch 'source/202412' into internal-202412
Mar 13, 2026
e4b15a6
[action] [PR:22831] xfail decap related cases for 202412 (#1069)
mssonicbld Mar 13, 2026
288f29b
Merge remote-tracking branch 'source/202412' into internal-202412
Mar 13, 2026
ec71ec7
[Otel] Fix argument mismatch in overwrite_feature_golden_config_db_si…
sdszhang Mar 13, 2026
5b2ca51
Merge remote-tracking branch 'source/202412' into internal-202412
Mar 14, 2026
07e0d82
[202412][PR:21765] Enable test_static_route for ipv6 only topo (#1055)
yanmo96 Mar 16, 2026
7ce05e0
Merged PR 19700: [202412] fix sync error for console_user
sdszhang Mar 16, 2026
5bfa0a6
Merge remote-tracking branch 'source/202412' into internal-202412
Mar 17, 2026
bc47aeb
Merged PR 19873: [Auto Created by PR 19846] Sync connection graph fac…
Mar 19, 2026
87393b6
Merged PR 20062: [Auto Created by PR 20056] Sync connection graph fac…
Mar 24, 2026
fc49650
Merged PR 20100: [Auto Created by PR 20072] Sync connection graph fac…
Mar 25, 2026
cee8590
[packet_trimming]: skip symmetric srv6 on isolated topo for 202412
sdszhang Apr 15, 2026
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
The table of contents is too big for display.
Diff view
Diff view
  •  
  •  
  •  
4 changes: 4 additions & 0 deletions .azure-pipelines/agent-manager/Makefile
Original file line number Diff line number Diff line change
@@ -0,0 +1,4 @@
all: test

test:
python -m unittest discover -s . -p test_agentmanager.py -v
194 changes: 194 additions & 0 deletions .azure-pipelines/agent-manager/agent-manager.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,194 @@
# Agent Manager

The Agent Manager serves as a solution for overseeing Azure Pipeline agents utilized in SONiC's nightly tests. It operates through a specialized sonic-mgmt Docker image, which comes pre-installed and pre-configured with the Azure Pipeline agent package. This enables containers derived from this image to communicate with the Azure Pipeline platform and function as agents within agent pools, which are integral to our nightly testing process.

The creation of this tool was motivated by several factors:

* In the StarLab environment, agents operate on servers 15 and 19, with the Docker containers being orchestrated by a Kubernetes Master hosted on trusty9, an older Azure VM. Given that Kubernetes services are somewhat cumbersome for such straightforward tasks and trusty9's impending deprecation due to Azure's security policies, a more streamlined approach to managing StarLab agents was necessary.
* In both the SVC and BJW labs, agent management has been a manual process. To enhance efficiency and oversight in these labs, a more sophisticated management solution was required.

The table below shows the self managed hosts for the various labs:

| Nightly Pool Name | Lab Name | Server List |
| ----------------- | -------- | --------------------- |
| nightly | str | str-acs-serv-15 |
| nightly | str3 | str-acs-serv-65 |
| nightly-svc | svc | svcstr-server-2 |
| nightly-bjw | bjw | bjw-ca-serv-5 |
| nightly-tk5 | tk5 | strtk5-serv-02 |

## How it works

The Agent Manager is a Python script that operates as a systemd service on self-managed hosts. At the heart of the Agent Manager are several key components:

* The agent-manager.py script, which functions as a service located at .azure-pipelines/agent-manager/agent-manager.py.
* The agent-manager.conf configuration file, found at .azure-pipelines/agent-manager/agent-manager.conf.

By default, the agent-manager.py script anticipates the configuration to be present at /etc/agent-manager.conf. However, an alternative configuration file location can be specified using the -f or --conf command-line arguments.

The Agent Manager's process involves routine checks on the status and health of all Azure agents within the Docker containers. Should any agents be deemed unhealthy, require updates due to an outdated Personal Access Token, or if the number of agents deviates from the configured threshold, the Agent Manager takes action. It will either remove or initiate the necessary number of containers housing the Azure agents. For an in-depth understanding of the operational logic, please refer to the Execution Logic section below.

### Configuration

The configuration file must be `yaml` format. Sample configuration file looks like below:
```
image:
name: dockeragent
tag: v1.1.0
azp:
url: "https://dev.azure.com/<your-organization>"
pool: "your-pool-name"
token: "fake-token"
proxy:
http: "http://100.127.20.21:8080"
https: "http://100.127.20.21:8080"
agent:
count: 10
name: azp-agent
```

* `image`
* Purpose: For specifying the docker image
* Required: no
* Keys:
* `name`
* Purpose: Specifying docker image name
* Required: no
* Default value: `dockeragent`
* Example: `dockeragent`
* `tag`:
* Purpose: Specifying docker image tag
* Required: no
* Default value: `latest`
* Example: `v1.1.0`
* `azp`
* Purpose: Configure parameters for talking with Azure Pipeline platform
* Required: yes
* Keys:
* `url`
* Purpose: Azure DevOps organization URL
* Required: yes
* Example: `https://dev.azure.com/mssonic`
* `pool`
* Purpose: Azure Pipeline agent pool name
* Required: yes
* Example: `nightly`
* `token`
* Purpose: Token for talking with Azure Pipeline platform
* Required: yes
* `proxy`
* Purpose: For configuring http proxy if required
* Required: no
* Keys:
* `http`
* Purpose: For configuring `http_proxy`
* Required: no
* `https`
* Purpose: For configuring `https_proxy`
* Required: no
* `agent`
* Purpose: For configuring agent name pattern and expected number of agents
* Required: no
* Keys:
* `count`
* Purpose: For configuring expected number of agents to start
* Required: no
* Default: 10
* `name`
* Purpose: For configuring agent name. All agents will have the configured name plus `-<uuid>`.
* Required: no
* Default: azp-agent

### Execution logic

The execution starts by agent manager loading the configuration file. The execution logic of the Agent Manager operates on a continuous loop, executing every minute with the following sequence:

1. It verifies the existence of a Personal Access Token (PAT) file.
2. Should a new token be detected, the Agent Manager updates the configuration file with this fresh token.
3. Post token update, the token file is eliminated.
4. The system proceeds to restart all agents—specifically, the Docker containers with Azure agents—that are not engaged in running a nightly job.
5. It identifies and removes any unhealthy containers, replacing them with new agents.
6. Finally, it adjusts the number of active Azure agents to align with the count specified in the configuration file under agent.count, either by pruning excess containers or initiating new ones as needed.

This structured logic ensures the Agent Manager maintains optimal performance and agent health, adhering to the specified configurations.

### How the Personal Access Token (PAT) refresh works

The Personal Access Token (PAT) refresh mechanism is an enhancement to the Agent Manager, designed to ensure continuous operation of agents. The PAT is programmed to expire every 7 days, necessitating a refresh at this interval to maintain agent functionality. The updated PAT is conveyed to the Agent Manager service through a temporary file, following these steps:

* A pipeline job is configured to execute nightly, as defined in `.azure-pipelines/testbed/update-pat-on-agent.yml`
* This pipeline has access to a confidential PAT.
* The PAT is transferred from the agent to the Agent Manager via an Ansible playbook titled `ansible/pat_refresh.yml`.
* The Ansible job ensures the PAT is accessible to the Agent Manager on the host system.
* The `pat_refresh.yml` playbook is tasked with running the job on specified inventories within the group `self_hosted_azure_agents`. The PAT is exclusively copied to the hosts listed. Should there be any changes to the agents—be it additions, removals, or decommissions—the inventory files and playbook must be updated to reflect these changes.

This systematic approach ensures that the Agent Manager remains up-to-date with valid PATs, thereby facilitating uninterrupted agent operations.

### Logging
This tool logs to `/tmp/agent-manager.log`. Log rotation is enabled.

## Unit Testing

The `test_agentmanager.py` script employs pyfakefs to simulate a virtual filesystem and utilizes unittest.mock to mimic interactions with the Docker layer. This setup is used to validate various aspects of the Agent Manager's functionality.

This approach ensures that the Agent Manager is thoroughly tested in a controlled environment, verifying its performance and reliability. To run the unit tests run `make test` in the `agent-manager` directory.

## Deploy

1. Create a service file to `/lib/systemd/system/agent-manager.service` with content like below:
```
[Unit]
Description=Agent Manager
After=docker.service

[Service]
ExecStart=/usr/bin/python /usr/bin/agent-manager.py
ExecReload=kill -HUP $MAINPID

[Install]
WantedBy=multi-user.target
```

2. Prepare the configuration file `/etc/agent-manager.conf` with content like below:
```
image:
name: dockeragent
tag: v1.1.0
azp:
url: "https://dev.azure.com/<your-organization>"
pool: "your-pool-name"
token: "fake-token"
proxy:
http: "http://100.127.20.21:8080"
https: "http://100.127.20.21:8080"
agent:
count: 10
name: azp-agent
```

3. Download file `agent-manager.py` and put it at `/usr/bin/agent-manager.py`.

4. Ensure that required python packages are installed:
```
sudo pip install docker
sudo pip install PyYAML
```

5. Start the service:
```
sudo systemctl start agent-manager
```

6. Enable the service to ensure that it starts after system reboot.
```
sudo systemctl enable agent-manager
```

## Rolling upgrade

When the docker image for nightly test is updated and we need to upgrade the agents, we can do rolling upgrade.

1. Build new docker image.
2. Load the docker image to host server running agents. Give the new image a new tag.
3. Update `image.tag` in `/etc/agent-manager.conf`.
4. Reload the agent-manager: `sudo systemctl reload agent-manager`. The agent-manager will reload the new configuration. The agent-manager will then update the agents when they are not busy.
Loading