Skip to content
Closed
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
167 commits
Select commit Hold shift + click to select a range
5e48416
[lldp] Replace fixed sleep with BGP convergence wait in test_lldp_ent…
lipxu Jun 11, 2026
cfc954b
[passw_hardening] Snapshot/restore policies in teardown to avoid spur…
lipxu Jun 11, 2026
15e6d3c
[lldp] Fix NameError by adding missing import time in test_lldp_syncd…
lipxu Jun 11, 2026
7f2da51
Wait for bgp in config reload operation for suppress fib test (#24918)
echuawu Jun 11, 2026
41e3533
[conditional_mark] Fix test_console_availability skip rule to OR cond…
lizhijianrd Jun 11, 2026
ed4e2d0
platform_tests/test_intf_fec.py - Add platform check for "n/a" FEC_ER…
justin-wong-ce Jun 11, 2026
19ca4b4
Fix Ansible boolean conditionals for 2.19+ compatibility (#24937)
pdam-arista Jun 11, 2026
3bfcb3e
[Smartswitch] Call common reboot function in test_cold_reboot_switch …
congh-nvidia Jun 11, 2026
a09e94e
Update skip hwsku list for test_pfcwd_interval.py (#24916)
echuawu Jun 11, 2026
669d6c5
Add enable_monit_refresh for all test cases in test_monitor_config.py…
zypgithub Jun 11, 2026
7034974
Enable monit refresh for the test case test_lo_interface_tc2_vrf_chan…
zypgithub Jun 11, 2026
eb4c7f4
Add t1-isolated-d32u1s2 into lossy topology list (#24910)
echuawu Jun 11, 2026
02d3e53
[Mellanox] Update qos case for SPC6 (#23470)
JibinBao Jun 11, 2026
c019bb8
[test] Fix FEC predicted FLR validation to accept nan% accuracy (#25285)
Sourabh-Kumar7 Jun 11, 2026
e1ba856
Check DB for neighbors. (#25183)
dypet Jun 11, 2026
211d3ae
Fix DSCP mapping test failures: loganalyzer, and memory monitor (#24067)
gupurush Jun 11, 2026
995861e
Update stress acl test to support topology t1-isolated-d32u1s2 (#25008)
echuawu Jun 11, 2026
e894ad5
Update lossy topology conditional markers (#25006)
r12f Jun 11, 2026
39875c8
Skip the warm reboot test in test_static_route on dualtor setup (#23612)
echuawu Jun 11, 2026
5643ab4
[multi_passwd_ssh] Retry remaining passwords when SSH stderr is censo…
wangxin Jun 11, 2026
62d8b97
Fix test_crm_neighbor for broadcom-dnx VOQ platforms (#24489)
yatishkoul Jun 11, 2026
b1cc06e
test_monitor_config: skip policer for Nokia TH6 in is_policer_support…
bingwang-ms Jun 11, 2026
b20c0b6
[HA] [smartswitch] add the HA reapairing test (#24444)
aronovic Jun 11, 2026
d726580
[csonic] Fix neighbor-type routing and harden bring-up
BYGX-wcr Jun 4, 2026
fcc81bb
[csonic] Add run_command/run_command_list to CsonicHost
BYGX-wcr Jun 4, 2026
9b2b2f2
[csonic] Role-aware config template, host fetch, neighbor-type gating
BYGX-wcr Jun 4, 2026
06d4967
[csonic][doc] Document host 'team' kernel module requirement for LACP
BYGX-wcr Jun 5, 2026
e74a64f
[csonic][doc] Add out-of-tree team-module build + Secure Boot signing…
BYGX-wcr Jun 5, 2026
f20c5c2
[docs][csonic] Document automatic bonding 802.3ad PortChannel fallback
BYGX-wcr Jun 6, 2026
63c7793
[csonic] Support multi-link (LAG) neighbors on T1-LAG/T2
BYGX-wcr Jun 8, 2026
edf59d7
[csonic] Add unit tests for configdb-csonic.j2 rendering
BYGX-wcr Jun 10, 2026
8869264
Add traffic test for dash-ha launch with no peer (#25299)
BYGX-wcr Jun 11, 2026
eb340f0
Fix golden config losing BGP confederation on multi-ASIC T2 devices (…
LinJin23 Jun 11, 2026
cd4f4f2
[TH6] Skip copp UDLD for Nokia TH6 fanout (#25315)
sanjair-git Jun 11, 2026
dd8c726
test: fix syslog assertions in test_prefix_list_suppress for multi-AS…
deepak-singhal0408 Jun 12, 2026
72271fb
Move vxlan sport to func scope. (#24989)
dypet Jun 12, 2026
5c8a00b
Ensure Router Advertisements are disabled on renumber_topo as well as…
mdhoff-ms Jun 12, 2026
df9f48c
[packet_trimming]: fix silent buffer fill failure when only remaining…
weiguo-nvidia Jun 12, 2026
f72b887
[vm_set]: Fix remove-topo bringing down host NIC when PTF container i…
yejianquan Jun 12, 2026
5012d39
[memory_checker] bump test_memory_checker_recover recover timeout to …
augusdn Jun 12, 2026
a710f71
test_po_update.py - cannot remove the last IP entry of interface Port…
KarthikH1993 Jun 12, 2026
fd25474
Ignoring `Invalid VRF name` errors in VxLAN tests (#25313)
mramezani95 Jun 12, 2026
f737d88
Fixing PMON status test failures (#25012)
caleb-nexthop Jun 12, 2026
76a25e1
hash test failure on T2 maxtopo: Relax hash distribution check for IP…
venu-nexthop Jun 12, 2026
b6181f6
[dash]: Add apply_dash_configs helper to enforce DASH table write ord…
theasianpianist Jun 12, 2026
93de470
Add new testcases for Redfish (BMC) (#23678)
shreyansh-nexthop Jun 12, 2026
bbcce0a
[TH6-128] Increase post-check timeout for TH6-128 after autorestart t…
sanjair-git Jun 12, 2026
c06ee68
[bgp] Fix v6 'clear bgp ipv6 ... soft out' vtysh syntax in update tim…
yxieca Jun 12, 2026
1101ce3
Add snappi test plan for srv6 data plane performance test (#19453)
BYGX-wcr Jun 12, 2026
911f48b
Add a test to verify pfcwd action when storm happens during running t…
indrashis-nexthop Jun 12, 2026
41ff6a8
[GIT_PR20544][Qos]Update conditionalmark to platform specific for Dsc…
ansrajpu-git Jun 12, 2026
815e6eb
GH packet type enhancement test plan (#21248)
AnandhiDhanabalan Jun 12, 2026
2766002
[BMC] Skip unsupported platform tests on BMC (#25023)
weiguo-nvidia Jun 12, 2026
ccc6e5e
Use config reload -y -f in ansible/testbed_set_l2_mode.yml to apply n…
zypgithub Jun 12, 2026
389c0df
Fix BGP scale test reliability: route validation, pipeline drain, and…
rejithomas-arista Jun 12, 2026
facb503
Fix test_fib: test_ecmp_group_member_flap port filter issue (#25002)
venu-nexthop Jun 12, 2026
6b2f552
[utilities] Update DoW selection to shuffle and seed (#25309)
thisptr-sh Jun 12, 2026
d5a9e6f
[transceiver][attribute_parser] Rename CDB_FW_UPGRADE_ATTRIBUTES_KEY …
mihirpat1 Jun 12, 2026
414e89e
[topo] Rework t0-isolated-d32u32s2-mix layout (3-port group) and regi…
netobani Jun 12, 2026
ff59c00
Addition of prober_typer knob of MUX_CABLE as part of golden config (…
harjotsinghpawra Jun 13, 2026
a8d2325
Fix BGP GR KeyError on missing failed result key (#25306)
pdam-arista Jun 14, 2026
70b9aff
conditional_mark: skip policer tests on Nokia IXR7220-H6-128 (#25105)
bingwang-ms Jun 14, 2026
64e9d89
Update python interpreter discovery behavior for ansible (#25256)
opcoder0 Jun 15, 2026
29cbd70
Add ignore_expected_loganalyzer_exceptions fixture to test_lldp_entry…
sakshamkhurana21 Jun 15, 2026
f5b3493
Fix test_vrf1_neigh_after_restore (#22389)
RishiRewadkarCisco Jun 15, 2026
b4482b7
[sflow] testDelAgent: wait for hsflowd to rewrite hsflowd.auto after …
sakshamkhurana21 Jun 15, 2026
51a80fa
Fix flaky test_bgp_bbr by extending check_tor1/check_dut timeouts and…
sakshamkhurana21 Jun 15, 2026
63a8217
[devices/sonic] retry transient docker exec OCI runc-setns race in cr…
sakshamkhurana21 Jun 15, 2026
d774e25
Wait for vtysh readiness before issuing show ip bgp queries to avoid …
sakshamkhurana21 Jun 15, 2026
9725226
[conftest]: Honor skip_check_dut_health marker in yang_validation_che…
sakshamkhurana21 Jun 15, 2026
478c698
[bgp]: Retry empty BGP summary read in test_bgp_update_replication (#…
sakshamkhurana21 Jun 15, 2026
9f2d733
[console] Fix SSH connection for paramiko 5.x by re-enabling legacy K…
yatishkoul Jun 15, 2026
761bb31
[dhcp_relay]: Add test to verify DHCP broadcasts are not flooded to V…
prabhataravind Jun 15, 2026
c091e48
[smartswitch]: Add advertise_prefix to VNET in HA golden config and v…
zjswhhh Jun 15, 2026
021ed5c
[database]: Add test to verify STATE_DB table cleanup on swss cold re…
prabhataravind Jun 15, 2026
ca8d835
[ansible/vm_set]: Bootstrap uv and venv in renumber-topo flow (#25369)
lolyu Jun 16, 2026
5eb0553
Update qos params for topo-lt2-p32o64 (#25203)
rgarofano-arista Jun 16, 2026
56814f8
Update qos params for topo-ft2-64 (#25250)
rgarofano-arista Jun 16, 2026
1b3b173
chore: enable vrf converged topo (#24963)
auspham Jun 16, 2026
29277e5
[hft] Parse Msg/s without rate validation (#25355)
Pterosaur Jun 16, 2026
7fdc238
[platform_tests] Add test_sai_ocp_version: verify BRCM SAI / OCP SAI …
lipxu Jun 16, 2026
d0fea0d
Avoid static MAC collision with dynamic MACs in FDB tests (#21506)
KarthikH1993 Jun 16, 2026
8c3259f
chore: add all include jobs for pr test (#25255)
auspham Jun 16, 2026
0589e67
Extend the auto assign reviewers workflow to detect conditional mark …
opcoder0 Jun 16, 2026
aa37f9b
[route/test_duplicate_route]: Skip unsupported IP family instead of e…
mike-dubrovsky Jun 16, 2026
5d6618a
Add a topo check for ipv4 pass all OVS rule. (#25341)
dypet Jun 16, 2026
b85c705
[sanity_check] Skip pseudo filesystems in disk_usage pretest check (#…
wsycqyz Jun 16, 2026
6ad53fb
Modify GCU ACL skip conditions in tests_mark_conditions.yaml (#25191)
jongorel Jun 16, 2026
b3570ab
Skip test_nvgre_hash for Cisco 8122 Platform (#20955)
rjojupom-cisco Jun 16, 2026
781bd98
Fix the NTP polling step in deploy-mg playbook
congh-nvidia Jun 16, 2026
38ed04e
Fix test_srv6_vlan_forwarding when no ipv6 mgmt for ptf docker
ytzur1 Jun 16, 2026
30a10d7
Adding confed configuration to topo_t2_single_node_max_64p.yml
yatishkoul Jun 16, 2026
8ae4768
tests/bgp: Add mgmtd set-src regression coverage
Bojun-Feng Jun 16, 2026
c5a091f
[ACL] Fix missing upstream ports in ACL table for topologies with a m…
ccroy-arista Jun 16, 2026
2aca4b1
[Probe] Add xfail for HeadroomPool probe test on SPC1 and SPC3
XuChen-MSFT Jun 16, 2026
6f2e5e4
[ha][yang]: Avoid writing test GNMI certs to CONFIG_DB (#25403)
zjswhhh Jun 17, 2026
a99d123
[ha]: Update FNIC planned shutdown flow checks (#25402)
zjswhhh Jun 17, 2026
4a4a0af
Ignore error when stopping portchannels services on PTF in renumber_t…
bingwang-ms Jun 17, 2026
2ea0202
Skipping `test_vxlan_decap_ttl.py` on dualtor topologies (#25202)
mramezani95 Jun 17, 2026
ff8a1eb
[vpp] Enable `test_decap` on vpp platform (#25365)
lolyu Jun 17, 2026
ff3e7da
Adding tests for WRED/ECN counters (#24277)
mramezani95 Jun 17, 2026
873899c
[ansible] Fix conn_graph_facts 'No module named module_utils' under a…
xwjiang-ms Jun 17, 2026
dd86edc
Increase test_gnoi_system_reboot_warm wait for critical processes tim…
rgarofano-arista Jun 17, 2026
46e3f35
[snappi] Add SRv6 max throughput minimum packet size test (#24420)
developfast Jun 17, 2026
744345c
Add additional SRv6 Arista SKU test skips (#19896)
dayouliu1 Jun 17, 2026
ea2d57f
Fix fw_pkg fixture to always parametrize fw_pkg_name (#24950)
pdam-arista Jun 17, 2026
ba310c0
[autorestart]: Add per-container watchdog to prevent phantom "no xml …
augusdn Jun 17, 2026
169d2f2
[test] Fix missing fixture imports in test_upgrade_gnoi.py (#25282)
v-cshekar Jun 17, 2026
84c81de
Support env overrides for KVM testbed credentials and image paths (#2…
securely1g Jun 18, 2026
43a6694
[snappi/pfc]: Dynamically compute the total drop expectation in m2o t…
ediwibowo-msft Jun 18, 2026
181bdfd
[lldp]: Enable test_lldp_syncd.py on sonic-vpp t1-lag (#25358)
lunyue-ms Jun 18, 2026
c0e6d92
[test_pretest] Fix saithrift switch_sai_thrift import on Trixie (py3.…
lipxu Jun 18, 2026
1f6dc0c
Provide IP version to fix v6 test case for test_pfcwd_no_traffic (#25…
rbpittman Jun 18, 2026
01484ae
[smartswitch]: disable loganalyzer for test_dpu_status_post_switch_re…
vvolam Jun 18, 2026
456c55b
[smartswitch]: Harden DPU startup/shutdown retries (#25411)
vvolam Jun 18, 2026
dc79b5e
Scrub references to private internal repo from upstream (#25178)
wrideout-arista Jun 18, 2026
bc86b67
[ha]: Apply DASH configs in dependency order (#25363)
zjswhhh Jun 18, 2026
72e855d
[ha]: Xfail Cisco 8102 SmartSwitch HA tests (#25440)
zjswhhh Jun 18, 2026
33a1075
Handle pytest.fail.Exception in wait_until (#24902)
wrideout-arista Jun 18, 2026
e484a0d
HA privatelink support when running snappi_tests (#23656)
albertovillarreal-keys Jun 18, 2026
ddeb2aa
fix test_lag_2 for conv topo (#24822)
rawal01 Jun 18, 2026
f7b5dbf
test_bgp_bbr_default_state test - Repair for T1 topology (#25362)
sresri2 Jun 18, 2026
281a7dd
Fix the names of the qos-capable topologies to prevent skipping tests…
peterbailey-arista Jun 18, 2026
205b4d8
Fix loganalyzer to ignore port attr errors with any exit code (#25458)
deerao02 Jun 18, 2026
6799f28
Auto-derive nbrhosts neighbor_type from testbed vm_type (fix cSONiC n…
securely1g Jun 18, 2026
aaca037
[pfcwd] Workaround: exclude duplicate-neighbor VLAN ports from PFCWD …
lipxu Jun 19, 2026
51db53e
test_continous_pfc: add polling and retry for counter check (#25316)
bingwang-ms Jun 19, 2026
ef1141d
Update the show platform leak command keyword (#24409)
judyjoseph Jun 19, 2026
8929f72
DPU driven HA - Set disabled to true when setting state to dead. (#25…
dypet Jun 19, 2026
3f95a3b
[macsec]: Add functionality/tests for per interface macsec (#23894)
liamkearney-msft Jun 19, 2026
9819a57
[pfc_storm] Add Nokia IXR7220 (Tomahawk6) support for PFC storm (#25469)
bingwang-ms Jun 19, 2026
3f7aec9
[TH6-128] Increase watchdog too_big_timeout value for Nokia-IXR7220-H…
sanjair-git Jun 19, 2026
42626f2
[TH6] [Nokia-IXR7220-H6] fan_speed tests fix for supported_speeds in …
sanjair-git Jun 19, 2026
cb08006
[common/devices] Fix KeyError: 'failed' on ansible-core >=2.21 module…
xwjiang-ms Jun 19, 2026
5148752
[vpp] Add `test_decap` to pr test list (#25452)
lolyu Jun 19, 2026
d209d43
[TH6-128] Increase announce routes networks for lt2-o256-u32d224 topo…
sanjair-git Jun 19, 2026
07ba971
[dualtor][vpp] Fix dualtor vpp vtestbeds (#25451)
lolyu Jun 19, 2026
5b51f1a
Use ocs cross-connect CLI in Python module for L1 deploy instead of p…
ediwibowo-msft Jun 19, 2026
a84ecf5
[ci] Wire PTF image tag through impacted-area PR tests (#25487)
yijingyan2 Jun 19, 2026
b8d151e
[TH6] Count only fans' name element under chassis->fans in platform.j…
sanjair-git Jun 19, 2026
181cb26
[tgen] Add dRH tgen route convergence topology and fix TSB for RH top…
deepak-singhal0408 Jun 19, 2026
6139aaf
Fix test_ha_dpu_process_crash.py for NPU-driven HA (#25492)
BYGX-wcr Jun 19, 2026
3ae22ef
Fix test_ha_npu_reboot.py for NPU-driven HA (#25496)
BYGX-wcr Jun 19, 2026
569e997
Ensure non-confed DUT ASN is maintained for vtysh commands (#25221)
Javier-Tan Jun 20, 2026
9bceb35
Improve VOQ and BGP tests: config_reload override, vtysh option and s…
yatishkoul Jun 20, 2026
000f15f
Handle CsonicHost in BGP neighbor route learning test (#25471)
securely1g Jun 21, 2026
0a76970
Fix AnsibleHostBase._run: normalize 'failed' key for ansible-core >= …
xwjiang-ms Jun 22, 2026
9347fa2
[ci] add parameters MGMT_BRANCH and KVM_IMAGE_BRANCH to pr test templ…
yijingyan2 Jun 22, 2026
37466f5
[pc] Pass ignore_loganalyzer to config_reload in test_retry_count tea…
sakshamkhurana21 Jun 22, 2026
0225873
[smartswitch]: move ensure_all_dpus_ready to platform_tests conftest …
vvolam Jun 22, 2026
d8aba99
Add test_ha_link_down in test_ha_link_failure.py (#25497)
BYGX-wcr Jun 22, 2026
ac87232
Fix test_ha_npu_process_crash for NPU-driven HA (#25503)
BYGX-wcr Jun 22, 2026
7c25f78
Fix test_ha_bgp_down.py (#25505)
BYGX-wcr Jun 22, 2026
69e8f75
[ha]: Parallelize DPU config reload cleanup (#25468)
zjswhhh Jun 22, 2026
c93b8c4
[test] Fix vtysh hang after BGP restart in test_prefix_list_suppress …
deepak-singhal0408 Jun 22, 2026
474609b
[vxlan][dualtor] Fix test_vxlan_decap_ttl on dualtor/t0 (#25555)
lolyu Jun 23, 2026
8e9edf3
[vxlan][dualtor][t0] Fix test_vnet_decap on dualtor/t0 (#25529)
lolyu Jun 23, 2026
3e44432
[Smartswitch] Changed PL SIP values as per requirement (#23765)
gpunathilell Jun 23, 2026
c592519
test: xfail BGP prefix GCU across 202605 platforms (#25550)
StormLiangMS Jun 23, 2026
61b15dc
bgp test changes for support bgp confed based topologies (#24416)
arlakshm Jun 23, 2026
a368db0
Adjust Broadcom ECN kmax threshold with 500-cell distance from kmin (…
ediwibowo-msft Jun 23, 2026
09aa331
skip telemetry_srv6 on spc1-3 (#25210)
wenjwang-nv Jun 23, 2026
913c817
[conditional_mark]: Skip test_show_platform_fan on BMC (#25174)
weiguo-nvidia Jun 23, 2026
0245945
[Mellanox] Skip test cases test_vxlan_decap_ttl for IPv6, because IPv…
zypgithub Jun 23, 2026
d86f9e1
Added test cases for Vendor utility docker validation (#24261)
anamehra Jun 23, 2026
f564dc7
Parameterize gNMI CONFIG DB tests with different VRFs (#20456)
spandan-nexthop Jun 23, 2026
2c6249c
[platform_tests] Skip PSU on/off test when all PSUs share one PDU out…
thisptr-sh Jun 23, 2026
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 2 additions & 0 deletions .azure-pipelines/pr_test_scripts.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -678,6 +678,7 @@ t1-lag-vpp:
- bgp/test_traffic_shift_sup.py
- crm/test_crm.py
- crm/test_crm_available.py
- decap/test_decap.py
- dns/static_dns/test_static_dns.py
- dns/test_dns_resolv_conf.py
- drop_packets/test_drop_counters.py
Expand All @@ -691,6 +692,7 @@ t1-lag-vpp:
- ipfwd/test_mtu.py
- ipfwd/test_dip_sip.py
- lldp/test_lldp.py
- lldp/test_lldp_syncd.py
- log_fidelity/test_bgp_shutdown.py
- pc/test_po_voq.py
- pc/test_lag_member.py
Expand Down
59 changes: 40 additions & 19 deletions .azure-pipelines/pr_test_template.yml
Original file line number Diff line number Diff line change
Expand Up @@ -33,6 +33,10 @@ parameters:
type: string
default: ""

- name: PTF_IMAGE_TAG
type: string
default: ""

- name: PTF_MODIFIED
type: string
default: "False"
Expand Down Expand Up @@ -63,13 +67,21 @@ parameters:
type: object
default: {}

- name: MGMT_BRANCH
type: string
default: $(BUILD_BRANCH)

- name: KVM_IMAGE_BRANCH
type: string
default: $(BUILD_BRANCH)

- name: KVM_BUILD_ID
type: string
default: ""

- name: INCLUDE_JOBS
type: string
default: "t0_job,t1_job,t2_job,t0_2vlans_job,t0_sonic_job,dpu_job,t1_multi_asic_job,t1_lag_vpp_job"
default: "all"

jobs:
- job: get_impacted_area
Expand Down Expand Up @@ -127,15 +139,16 @@ jobs:
TEST_PLAN_NUM: ${{ parameters.TEST_PLAN_NUM }}
MAX_RUN_TEST_MINUTES: ${{ parameters.MAX_RUN_TEST_MINUTES }}
MGMT_COMMIT_HASH: ${{ parameters.MGMT_COMMIT_HASH }}
PTF_IMAGE_TAG: ${{ parameters.PTF_IMAGE_TAG }}
PTF_MODIFIED: ${{ parameters.PTF_MODIFIED }}
EXPECTED_RESULT: ${{ parameters.EXPECTED_RESULT }}
TOPOLOGY: t0
SCRIPTS: $(SCRIPTS)
MIN_WORKER: $(INSTANCE_NUMBER)
MAX_WORKER: $(INSTANCE_NUMBER)
KVM_IMAGE_BRANCH: $(BUILD_BRANCH)
KVM_IMAGE_BRANCH: ${{ parameters.KVM_IMAGE_BRANCH }}
KVM_BUILD_ID: ${{ parameters.KVM_BUILD_ID }}
MGMT_BRANCH: $(BUILD_BRANCH)
MGMT_BRANCH: ${{ parameters.MGMT_BRANCH }}
COMMON_EXTRA_PARAMS: "--disable_sai_validation "
${{ each param in parameters.OVERRIDE_PARAMS }}:
${{ param.key }}: ${{ param.value }}
Expand Down Expand Up @@ -170,16 +183,17 @@ jobs:
TEST_PLAN_NUM: ${{ parameters.TEST_PLAN_NUM }}
MAX_RUN_TEST_MINUTES: ${{ parameters.MAX_RUN_TEST_MINUTES }}
MGMT_COMMIT_HASH: ${{ parameters.MGMT_COMMIT_HASH }}
PTF_IMAGE_TAG: ${{ parameters.PTF_IMAGE_TAG }}
PTF_MODIFIED: ${{ parameters.PTF_MODIFIED }}
EXPECTED_RESULT: ${{ parameters.EXPECTED_RESULT }}
TOPOLOGY: t0
SCRIPTS: $(SCRIPTS)
MIN_WORKER: $(INSTANCE_NUMBER)
MAX_WORKER: $(INSTANCE_NUMBER)
DEPLOY_MG_EXTRA_PARAMS: "-e vlan_config=two_vlan_a"
KVM_IMAGE_BRANCH: $(BUILD_BRANCH)
KVM_IMAGE_BRANCH: ${{ parameters.KVM_IMAGE_BRANCH }}
KVM_BUILD_ID: ${{ parameters.KVM_BUILD_ID }}
MGMT_BRANCH: $(BUILD_BRANCH)
MGMT_BRANCH: ${{ parameters.MGMT_BRANCH }}
COMMON_EXTRA_PARAMS: "--disable_sai_validation "
${{ each param in parameters.OVERRIDE_PARAMS }}:
${{ param.key }}: ${{ param.value }}
Expand Down Expand Up @@ -214,15 +228,16 @@ jobs:
TEST_PLAN_NUM: ${{ parameters.TEST_PLAN_NUM }}
MAX_RUN_TEST_MINUTES: ${{ parameters.MAX_RUN_TEST_MINUTES }}
MGMT_COMMIT_HASH: ${{ parameters.MGMT_COMMIT_HASH }}
PTF_IMAGE_TAG: ${{ parameters.PTF_IMAGE_TAG }}
PTF_MODIFIED: ${{ parameters.PTF_MODIFIED }}
EXPECTED_RESULT: ${{ parameters.EXPECTED_RESULT }}
TOPOLOGY: t1-lag
SCRIPTS: $(SCRIPTS)
MIN_WORKER: $(INSTANCE_NUMBER)
MAX_WORKER: $(INSTANCE_NUMBER)
KVM_IMAGE_BRANCH: $(BUILD_BRANCH)
KVM_IMAGE_BRANCH: ${{ parameters.KVM_IMAGE_BRANCH }}
KVM_BUILD_ID: ${{ parameters.KVM_BUILD_ID }}
MGMT_BRANCH: $(BUILD_BRANCH)
MGMT_BRANCH: ${{ parameters.MGMT_BRANCH }}
COMMON_EXTRA_PARAMS: "--disable_sai_validation "
${{ each param in parameters.OVERRIDE_PARAMS }}:
${{ param.key }}: ${{ param.value }}
Expand Down Expand Up @@ -257,16 +272,17 @@ jobs:
TEST_PLAN_NUM: ${{ parameters.TEST_PLAN_NUM }}
MAX_RUN_TEST_MINUTES: ${{ parameters.MAX_RUN_TEST_MINUTES }}
MGMT_COMMIT_HASH: ${{ parameters.MGMT_COMMIT_HASH }}
PTF_IMAGE_TAG: ${{ parameters.PTF_IMAGE_TAG }}
PTF_MODIFIED: ${{ parameters.PTF_MODIFIED }}
EXPECTED_RESULT: ${{ parameters.EXPECTED_RESULT }}
TOPOLOGY: dualtor
SCRIPTS: $(SCRIPTS)
MIN_WORKER: $(INSTANCE_NUMBER)
MAX_WORKER: $(INSTANCE_NUMBER)
COMMON_EXTRA_PARAMS: "--disable_loganalyzer --disable_sai_validation "
KVM_IMAGE_BRANCH: $(BUILD_BRANCH)
KVM_IMAGE_BRANCH: ${{ parameters.KVM_IMAGE_BRANCH }}
KVM_BUILD_ID: ${{ parameters.KVM_BUILD_ID }}
MGMT_BRANCH: $(BUILD_BRANCH)
MGMT_BRANCH: ${{ parameters.MGMT_BRANCH }}
${{ each param in parameters.OVERRIDE_PARAMS }}:
${{ param.key }}: ${{ param.value }}

Expand Down Expand Up @@ -300,17 +316,18 @@ jobs:
TEST_PLAN_NUM: ${{ parameters.TEST_PLAN_NUM }}
MAX_RUN_TEST_MINUTES: ${{ parameters.MAX_RUN_TEST_MINUTES }}
MGMT_COMMIT_HASH: ${{ parameters.MGMT_COMMIT_HASH }}
PTF_IMAGE_TAG: ${{ parameters.PTF_IMAGE_TAG }}
PTF_MODIFIED: ${{ parameters.PTF_MODIFIED }}
EXPECTED_RESULT: ${{ parameters.EXPECTED_RESULT }}
TOPOLOGY: t0-64-32
SCRIPTS: $(SCRIPTS)
MIN_WORKER: $(INSTANCE_NUMBER)
MAX_WORKER: $(INSTANCE_NUMBER)
KVM_IMAGE_BRANCH: $(BUILD_BRANCH)
KVM_IMAGE_BRANCH: ${{ parameters.KVM_IMAGE_BRANCH }}
KVM_BUILD_ID: ${{ parameters.KVM_BUILD_ID }}
COMMON_EXTRA_PARAMS: "--neighbor_type=sonic --disable_sai_validation "
VM_TYPE: vsonic
MGMT_BRANCH: $(BUILD_BRANCH)
MGMT_BRANCH: ${{ parameters.MGMT_BRANCH }}
SPECIFIC_PARAM: '[
{"name": "bgp/test_bgp_fact.py", "param": "--neighbor_type=sonic --enable_macsec --macsec_profile=128_SCI,256_XPN_SCI"},
{"name": "macsec", "param": "--neighbor_type=sonic --enable_macsec --macsec_profile=128_SCI,256_XPN_SCI"}
Expand Down Expand Up @@ -348,15 +365,16 @@ jobs:
TEST_PLAN_NUM: ${{ parameters.TEST_PLAN_NUM }}
MAX_RUN_TEST_MINUTES: ${{ parameters.MAX_RUN_TEST_MINUTES }}
MGMT_COMMIT_HASH: ${{ parameters.MGMT_COMMIT_HASH }}
PTF_IMAGE_TAG: ${{ parameters.PTF_IMAGE_TAG }}
PTF_MODIFIED: ${{ parameters.PTF_MODIFIED }}
EXPECTED_RESULT: ${{ parameters.EXPECTED_RESULT }}
TOPOLOGY: dpu
SCRIPTS: $(SCRIPTS)
MIN_WORKER: $(INSTANCE_NUMBER)
MAX_WORKER: $(INSTANCE_NUMBER)
KVM_IMAGE_BRANCH: $(BUILD_BRANCH)
KVM_IMAGE_BRANCH: ${{ parameters.KVM_IMAGE_BRANCH }}
KVM_BUILD_ID: ${{ parameters.KVM_BUILD_ID }}
MGMT_BRANCH: $(BUILD_BRANCH)
MGMT_BRANCH: ${{ parameters.MGMT_BRANCH }}
COMMON_EXTRA_PARAMS: "--disable_sai_validation "
SPECIFIC_PARAM: '[
{"name": "dash/test_dash_vnet.py", "param": "--skip_dataplane_checking"}
Expand Down Expand Up @@ -395,16 +413,17 @@ jobs:
TEST_PLAN_NUM: ${{ parameters.TEST_PLAN_NUM }}
MAX_RUN_TEST_MINUTES: ${{ parameters.MAX_RUN_TEST_MINUTES }}
MGMT_COMMIT_HASH: ${{ parameters.MGMT_COMMIT_HASH }}
PTF_IMAGE_TAG: ${{ parameters.PTF_IMAGE_TAG }}
PTF_MODIFIED: ${{ parameters.PTF_MODIFIED }}
EXPECTED_RESULT: ${{ parameters.EXPECTED_RESULT }}
TOPOLOGY: t1-8-lag
SCRIPTS: $(SCRIPTS)
MIN_WORKER: $(INSTANCE_NUMBER)
MAX_WORKER: $(INSTANCE_NUMBER)
NUM_ASIC: 4
KVM_IMAGE_BRANCH: $(BUILD_BRANCH)
KVM_IMAGE_BRANCH: ${{ parameters.KVM_IMAGE_BRANCH }}
KVM_BUILD_ID: ${{ parameters.KVM_BUILD_ID }}
MGMT_BRANCH: $(BUILD_BRANCH)
MGMT_BRANCH: ${{ parameters.MGMT_BRANCH }}
COMMON_EXTRA_PARAMS: "--disable_sai_validation "
${{ each param in parameters.OVERRIDE_PARAMS }}:
${{ param.key }}: ${{ param.value }}
Expand Down Expand Up @@ -440,15 +459,16 @@ jobs:
TEST_PLAN_NUM: ${{ parameters.TEST_PLAN_NUM }}
MAX_RUN_TEST_MINUTES: ${{ parameters.MAX_RUN_TEST_MINUTES }}
MGMT_COMMIT_HASH: ${{ parameters.MGMT_COMMIT_HASH }}
PTF_IMAGE_TAG: ${{ parameters.PTF_IMAGE_TAG }}
PTF_MODIFIED: ${{ parameters.PTF_MODIFIED }}
EXPECTED_RESULT: ${{ parameters.EXPECTED_RESULT }}
TOPOLOGY: t2
SCRIPTS: $(SCRIPTS)
MIN_WORKER: $(INSTANCE_NUMBER)
MAX_WORKER: $(INSTANCE_NUMBER)
KVM_IMAGE_BRANCH: $(BUILD_BRANCH)
KVM_IMAGE_BRANCH: ${{ parameters.KVM_IMAGE_BRANCH }}
KVM_BUILD_ID: ${{ parameters.KVM_BUILD_ID }}
MGMT_BRANCH: $(BUILD_BRANCH)
MGMT_BRANCH: ${{ parameters.MGMT_BRANCH }}
COMMON_EXTRA_PARAMS: "--disable_sai_validation "
${{ each param in parameters.OVERRIDE_PARAMS }}:
${{ param.key }}: ${{ param.value }}
Expand Down Expand Up @@ -483,15 +503,16 @@ jobs:
TEST_PLAN_NUM: ${{ parameters.TEST_PLAN_NUM }}
MAX_RUN_TEST_MINUTES: ${{ parameters.MAX_RUN_TEST_MINUTES }}
MGMT_COMMIT_HASH: ${{ parameters.MGMT_COMMIT_HASH }}
PTF_IMAGE_TAG: ${{ parameters.PTF_IMAGE_TAG }}
PTF_MODIFIED: ${{ parameters.PTF_MODIFIED }}
EXPECTED_RESULT: ${{ parameters.EXPECTED_RESULT }}
TOPOLOGY: t1-lag-vpp
SCRIPTS: $(SCRIPTS)
MIN_WORKER: $(INSTANCE_NUMBER)
MAX_WORKER: $(INSTANCE_NUMBER)
KVM_IMAGE_BRANCH: $(BUILD_BRANCH)
KVM_IMAGE_BRANCH: ${{ parameters.KVM_IMAGE_BRANCH }}
KVM_BUILD_ID: ${{ parameters.KVM_BUILD_ID }}
MGMT_BRANCH: $(BUILD_BRANCH)
MGMT_BRANCH: ${{ parameters.MGMT_BRANCH }}
ASIC_TYPE: "vpp"
KVM_IMAGE_BUILD_PIPELINE_ID: "2818"
COMMON_EXTRA_PARAMS: "--disable_sai_validation --disable_loganalyzer"
Expand Down
99 changes: 96 additions & 3 deletions .github/.code-reviewers/auto-assign.py
Original file line number Diff line number Diff line change
@@ -1,6 +1,7 @@
from collections import Counter, deque
import fnmatch
import os
from shutil import unregister_unpack_format
import re
import yaml

from github import Auth, Github
Expand All @@ -14,6 +15,95 @@
INCLUDE_CONTRIBUTORS_TIES = os.environ.get(
"INCLUDE_CONTRIBUTORS_TIES", "False"
).strip().lower() not in ("", "false", "f", "0", "no", "n", "off", "disabled")
SKIP_EXPIRY_CONFIG_PATH = os.environ.get(
"SKIP_EXPIRY_CONFIG_PATH", ".github/SKIP_EXPIRY_CONFIG.yaml"
)

CONDITIONAL_MARK_GLOB_PATTERNS = (
"tests/common/plugins/conditional_mark/tests_mark_conditions*.yaml",
"tests/common/plugins/conditional_mark/tests_mark_conditions*.yml",
)
RELEASE_BRANCH_PATTERN = re.compile(r"^202\d{3}$")
CONDITIONAL_MARK_NOTE_MARKER = "<!-- skip-expiry-conditional-mark-review-note -->"


def is_master_or_release_branch(branch_name: str) -> bool:
return branch_name in {"master", "main"} or bool(
RELEASE_BRANCH_PATTERN.fullmatch(branch_name)
)


def load_skip_expiry_maintainers(config_path: str) -> list[str]:
with open(config_path, "r", encoding="utf-8") as config_file:
config = yaml.safe_load(config_file) or {}

maintainers = config.get("maintainers", [])
if not isinstance(maintainers, list):
return []

return [
str(maintainer).strip().lstrip("@")
for maintainer in maintainers
if str(maintainer).strip()
]


def matches_conditional_mark_file(filename: str) -> bool:
return any(
fnmatch.fnmatch(filename, file_pattern)
for file_pattern in CONDITIONAL_MARK_GLOB_PATTERNS
)


def tag_skip_maintainers_if_change_to_conditional_mark(
pull_request, changed_files: list[str]
) -> None:
if not is_master_or_release_branch(pull_request.base.ref):
base_branch = pull_request.base.ref
print(
f"Skipping conditional-mark maintainer note: base branch '{base_branch}' "
"is not master/main/release"
)
return

has_conditional_mark_changes = any(
matches_conditional_mark_file(changed_file) for changed_file in changed_files
)
if not has_conditional_mark_changes:
print(
"Skipping conditional-mark maintainer note: "
"no conditional-mark files were changed"
)
return

try:
maintainers = load_skip_expiry_maintainers(SKIP_EXPIRY_CONFIG_PATH)
except Exception as error:
print(f"Failed to load skip-expiry maintainers from '{SKIP_EXPIRY_CONFIG_PATH}': {error}")
return

if not maintainers:
print("Skipping conditional-mark maintainer note: no maintainers found")
return

existing_comments = pull_request.get_issue_comments()
for comment in existing_comments:
if CONDITIONAL_MARK_NOTE_MARKER in comment.body:
print("Conditional-mark maintainer note already exists, skipping new comment")
return

maintainers_mentions = " ".join(f"@{maintainer}" for maintainer in maintainers)
note = (
f"{CONDITIONAL_MARK_NOTE_MARKER}\n"
f"{maintainers_mentions} A user wants to merge changes to "
f"the conditional mark files into `{pull_request.base.ref}`. "
"Please review."
)
pull_request.create_issue_comment(note)
print(
f"Posted conditional-mark maintainer note for PR #{pull_request.number} to: {maintainers}"
)


# using an access token
auth = Auth.Token(GITHUB_TOKEN)
Expand All @@ -38,11 +128,12 @@
# Until the sufficient number of reviewers are found
updated_folders = []
reviewer_candidates = Counter[str, int]()
changed_files = [changed_file.filename for changed_file in pr.get_files()]

# First bring each changed path to where any reviwer exists
for changed_file in pr.get_files():
for changed_file in changed_files:
# remove the filename, add "/" to the front
changed_path = os.path.join(os.sep, os.path.dirname(changed_file.filename))
changed_path = os.path.join(os.sep, os.path.dirname(changed_file))
print(f"Processing changed path {changed_path}")
while changed_path not in reviewer_index:
if changed_path in seen_folders:
Expand Down Expand Up @@ -114,3 +205,5 @@
else:
print("No reviewers found for this PR!")


tag_skip_maintainers_if_change_to_conditional_mark(pr, changed_files)
4 changes: 2 additions & 2 deletions .github/workflows/assignReviewers.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -26,9 +26,9 @@ jobs:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
PR_NUMBER: ${{ github.event.pull_request.number }}
REVIEWER_INDEX: .github/.code-reviewers/pr_reviewer-by-files.yml
SKIP_EXPIRY_CONFIG_PATH: .github/SKIP_EXPIRY_CONFIG.yaml
NEEDED_REVIEWER_COUNT: 3
INCLUDE_CONTRIBUTORS_TIES: True

- name: Cleanup the checked out repo
run: git clean -fdx

2 changes: 1 addition & 1 deletion ansible/TestbedProcessing.py
Original file line number Diff line number Diff line change
Expand Up @@ -167,7 +167,7 @@ def makeMain(data, outfile):
}
}
with open(outfile, "w") as toWrite:
toWrite.write("supported_vm_types: [ 'veos', 'ceos', 'vsonic' ]\n"),
toWrite.write("supported_vm_types: [ 'veos', 'ceos', 'vsonic', 'csonic' ]\n"),
yaml.dump(dictData, stream=toWrite, default_flow_style=False)
toWrite.write("# proxy\n")
yaml.dump(proxy, stream=toWrite, default_flow_style=False)
Expand Down
4 changes: 3 additions & 1 deletion ansible/ansible.cfg
Original file line number Diff line number Diff line change
Expand Up @@ -26,7 +26,9 @@ transport = smart
module_lang = C
max_diff_size = 512000

interpreter_python = auto_legacy_silent
# auto_legacy_silent is deprecated; use auto instead
# https://docs.ansible.com/projects/ansible/latest/reference_appendices/interpreter_discovery.html
interpreter_python = auto

# plays will gather facts by default, which contain information about
# the remote system.
Expand Down
Loading
Loading