Nvidia bmc skeleton#1
Open
william8545 wants to merge 93 commits into
Open
Conversation
…nic-net#26810) * 1. Added Changefor MMU config for dRH roles and update Nexthop platforms 2. Remove lowerspine as subtype Signed-off-by: Abhishek Dosi <abdosi@microsoft.com> * Add buffer config tests for FRH and URH device types - Add FRH test with Arista-7060X6-64PE-B-O128 platform - Add URH test with Nexthop NH-5010-F-O64 platform - Add cable length mappings for lowerregionalhub and fabricspinerouter - Update cable lengths: lrh-urh=50m, urh-rwa=50m, frh-lrh=5m Signed-off-by: Abhishek Dosi <abdosi@microsoft.com> Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com> * Add LRH buffer test and update URH test with RWA neighbors - Add LRH test with NH-5010-F-O64: 32 FRH neighbors (5m) + 31 URH neighbors (50m) - Update URH test: 42 LRH neighbors (50m) + 21 RWA neighbors (50m) --------- Signed-off-by: Abhishek Dosi <abdosi@microsoft.com> Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
* Update DNX SAI version to 14.1.0.1.0.0.21.0 --------- Signed-off-by: Tejaswini Chadaga <tchadaga@microsoft.com>
…er (sonic-net#25526) What: Added Dynamic Port Breakout (DPB) support and enabled sff_manager for Nokia-IXR7220D4 platform. Also fixed operational status LED. Why: Nokia-IXR7220D4 needed DPB capability and sff_manager for transceiver management. How: Platform-specific configuration changes for DPB and sff_manager enablement, plus LED status fix. Testing: All required CI builds and KVM tests passed. OPTIONAL kvmtest-t1-lag-vpp failure only. Backport requested for 202511. Signed-off-by: govi-nokia <govindaraj.haridass@nokia.com>
…ly (sonic-net#26787) #### Why I did it src/sonic-ztp ``` * 036c8ea - (HEAD -> master, origin/master, origin/HEAD) ztp: harden curl command construction in Downloader and DHCP hook (sonic-net#75) (4 days ago) [xq9mend] * c84b50a - Use `shutil.move` instead of `os.rename` to move `config_db.json` on place (sonic-net#66) (6 days ago) [Vladimir Solomatin] ``` #### How I did it #### How to verify it #### Description for the changelog
[master] Upgrade SONiC package Versions
…cally (sonic-net#26914) #### Why I did it platform/vpp ``` * 4b1268d - (HEAD -> master, origin/master, origin/HEAD) Support test_drop_counters.py in Sonic-VPP (sonic-net#219) (5 days ago) [AkeelAli] * 3de7f93 - Increase vpp dpdk tx buffer to handle burst (sonic-net#220) (7 days ago) [yue-fred-gao] ``` #### How I did it #### How to verify it #### Description for the changelog
…atically (sonic-net#26858) #### Why I did it src/sonic-utilities ``` * bfca1240 - (HEAD -> master, origin/master, origin/HEAD) fwutil: validate tar member paths before extraction (sonic-net#4446) (4 hours ago) [xq9mend] * c0ab6fd1 - preserve mux neighbor_mode and prober_type (sonic-net#4414) (9 hours ago) [manamand2020] * 18718c66 - Nokia-armhf config-reload with swss and sync restart (sonic-net#4174) (25 hours ago) [Yan Markman] * 8af54be0 - Add summary option to CLI "show queue wredcounters" (sonic-net#4181) (3 days ago) [Zhixin Zhu] * 1676a6ea - Add multi-asic support for mirror_session commands (sonic-net#4386) (5 days ago) [william8545] * 288c6d52 - Add stop-time option to App Extension, to stop container after wanted number of seconds (sonic-net#4388) (5 days ago) [Noa Or] ``` #### How I did it #### How to verify it #### Description for the changelog
…D automatically (sonic-net#26916) #### Why I did it src/sonic-platform-daemons ``` * 3bb3540 - (HEAD -> master, origin/master, origin/HEAD) [LEDD] Subscribe to PORT_TABLE in APPL_DB for port oper status (sonic-net#798) (6 hours ago) [Prince George] ``` #### How I did it #### How to verify it #### Description for the changelog
…t#26140) Updated 1.95.0-SS-19 release tag for Pensando-elba platform
[DPU] Add YANG model support for HA Set Counters
Signed-off-by: Lotus Fenn <lotus@nexthop.ai>
…vrd (sonic-net#26170) What: Added support for specifying dom_update_interval in pmon_daemon_control.json, which is passed to xcvrd at launch. Why: DOM polling interval needs to be per-platform configurable (sonic-platform-daemons#774). Different platforms may require different polling frequencies. How: Read dom_update_interval from pmon_daemon_control.json and pass it as a command line argument to xcvrd when launched. Testing: All CI builds and KVM tests passed. Depends on sonic-platform-daemons#775 (already merged). Signed-off-by: aditya-nexthop <aditya@nexthop.ai>
What: Removed default enabling of auto negotiation in Arista hwsku port_config files. Why: Auto negotiation should be disabled by default on Arista platforms. Moby devices (7060X6-16PE-384C) and Arista-720DT-48S are excluded as they require autoneg for certain port types. How: Removed autoneg entries from hwsku configurations, excluding devices that need it (Moby 7060X6-16PE-384C and 720DT-48S with RJ45 BASE-T ports). Testing: All CI builds and KVM tests passed. Signed-off-by: Dakota Crozier <dakotac@arista.com>
…ic-net#26567) Description What I did Add bounds validation for peer-supplied num_of_entry / num_of_vlan_id fields in iccpd mLACP TLV receive handlers to prevent out-of-bounds heap reads. Why I did it The MAC, ARP, NDISC, and PortChannel TLV handlers (mlacp_sync_recv_macInfo, mlacp_sync_recv_arpInfo, mlacp_sync_recv_ndiscInfo, mlacp_sync_recv_portChanInfo) trust the peer-supplied count field without checking it against the actual message length (msg->len). A peer that sends a TLV with a large num_of_entry but a short body causes the handler to iterate past the heap-allocated msg->buf, resulting in: Out-of-bounds heap read — reading up to ~1.9 MB past the allocation (count up to 65535) iccpd crash (SIGSEGV) — DoS of the MCLAG control plane, risking split-brain Heap data leakage — stale heap bytes logged via ICCPD_LOG_INFO and potentially programmed into FDB/ARP entries How I did it Added validation in each mlacp_sync_recv_*() function to check that msg->len >= sizeof(ICCHdr) + sizeof(TLV header) + count * sizeof(entry) before passing the TLV to the update function. Messages that fail validation are dropped with a ICCPD_LOG_WARN log message. How to verify it With an MCLAG testbed, send a crafted ICCP message with TLV_T_MLACP_MAC_INFO containing num_of_entry=0xFFFF and an empty MacEntry body Before fix: iccpd crashes with SIGSEGV After fix: iccpd logs a warning and drops the message; daemon remains stable
What: Updated Accton platform kernel module i2c probe and platform remove function signatures for Trixie (Debian 13) compatibility, and restored Depends in debian/control. Why: Trixie kernel changed i2c probe signature (removed const struct i2c_device_id *id parameter) and platform remove return type (int → void). Accton platform drivers needed updating to compile on Trixie. How: Modified i2c probe functions to use single-parameter signature; changed platform remove return code from int to void; added back Depends in debian/control. Testing: Built and tested on Accton AS7726-32X with 2026 master image — fans, thermals, syseeprom all verified working. All CI builds passed. Signed-off-by: jostar-yang <jostar_yang@accton.com>
) What: Disabled reverse DNS resolution in rsyslogd for incoming RELP connections. Why: On multi-ASIC systems, ASIC containers send syslogs from different IPs. rsyslogd tries reverse DNS on these IPs, and when DNS servers are unreachable (e.g. KVM setups), connections block for ~30s (10s × 3 DNS servers, glibc limit), causing TCP timeouts and log forwarding failures. How: Disabled DNS resolution for remote IP addresses in rsyslogd configuration, since RELP connections are only from local containers where PTR verification is unnecessary. Testing: Verified on multi-ASIC KVM — logs forwarded correctly, TCP connections to port 2514 established. All CI builds and KVM tests passed. Signed-off-by: Saikrishna Arcot <sarcot@microsoft.com>
Why I did it With this commit here, PTF replace nnpy with pynng p4lang/ptf However, we don't have pynng. To unblock us now, I'll pin ptf_nn_agent.py to a previous version that doesn't require pynng Signed-off-by: Austin Pham <austinpham@microsoft.com>
…c-net#26875) loadData currently logs LOG_ERR "Data Loading Failed" to syslog on every exception (log-and-throw antipattern) before raising. This is undesirable for callers that use loadData speculatively to test many candidate configs for validity, e.g. generic_config_updater patch sorter (sonic-utilities) FullConfigMoveValidator — every forward leafref during the search emits a LOG_ERR to syslog even though the caller handles the exception and uses it as a prune signal. Add a quiet=False kwarg. When quiet=True, suppress the informational "Try to load Data" line and the LOG_ERR "Data Loading Failed" line, but still raise SonicYangException so the caller sees the failure. Default quiet=False preserves existing behavior for all current callers (including config apply-patch final validation, db_migrator upgrades, sonic-cfggen, and unit tests). Paired with sonic-utilities change that makes patch_sorter.FullConfigMoveValidator pass quiet=True. Why I did it On T0 devices, a single config apply-patch invocation leaks 100+ Data Loading Failed ERR lines to /var/log/syslog. These come from the GCU patch sorter's speculative FullConfigMoveValidator, which deliberately tests candidate moves that may transiently violate leafref constraints during the search — the sorter already handles the failure via the returned (False, error) tuple. The ERR lines trip loganalyzer in sonic-mgmt baseline tests (e.g. test_dhcp_relay_with_non_default_vrf, test_dhcp_relay_with_different_non_default_vrf) and obscure real errors in support bundles. The root cause is loadData's log-and-throw antipattern: it emits a LOG_ERR and raises, forcing log noise on callers that are expected to recover. Work item tracking Microsoft ADO (number only): How I did it Added a quiet=False kwarg to SonicYangExtMixin.loadData. When True, guard the informational "Try to load Data" sysLog and the LOG_ERR "Data Loading Failed" sysLog behind if not quiet:. SonicYangException is still raised on failure, so nothing about the control flow changes — only the syslog side-effect is suppressed. Default quiet=False preserves behavior for every current caller. How to verify it Build python3-sonic-yang-mgmt wheel from this branch and install on a T0 DUT. Pair with the sonic-utilities PR that threads quiet=True from FullConfigMoveValidator → validate_config_db_config → loadData. Run sonic-mgmt generic_config_updater tests and/or dhcp_server/test_dhcp_server_port_based_customize_options on a T0 and count "Data Loading Failed" lines in /var/log/syslog across the window. Signed-off-by: Xichen Lin <lukelin0907@gmail.com>
Signed-off-by: xiaweijiang <xiaweijiang@microsoft.com>
… host bits set (sonic-net#26617) What: Added prefix validation in bgpcfgd's aggregate address manager to reject invalid prefixes with host bits set, and added prefix length validation. Why: Invalid aggregate address prefixes (e.g., 10.100.0.1/24) were silently accepted by bgpcfgd and pushed to FRR, causing unexpected BGP behavior that was hard to diagnose. How: Added validate_prefix() using Python's ipaddress.ip_network(prefix, strict=True) in managers_aggregate_address.py. Called at the start of address_set_handler() — invalid prefixes are logged as errors and rejected (handler returns False). Also skips FRR delete commands for inactive prefixes. Added unit tests for valid/invalid prefixes and integration test for rejection flow. Testing: All unit tests pass. Tested on SONiC.20251110.19. All CI builds and KVM tests passed. Signed-off-by: Guoqiang Yuan <guoyuan@microsoft.com>
| @@ -0,0 +1,12 @@ | |||
| # Console configuration for NVIDIA AST2700 BMC platform | |||
| # TODO: Verify CONSOLE_DEV, CONSOLE_SPEED, and EARLYCON on NVIDIA hardware | |||
Comment on lines
+5
to
+8
| "BMC": {}, | ||
| "BIOS": {} | ||
| } | ||
| } |
There was a problem hiding this comment.
For now let's remove all components:
{
"chassis": {
"NVIDIA-AST2700-BMC": {
"component": {
}
}
}
}
| @@ -0,0 +1,27 @@ | |||
| # obmc-console server configuration for NVIDIA AST2700 BMC | |||
There was a problem hiding this comment.
For now, let's remove this file
| @@ -0,0 +1,286 @@ | |||
| # SPDX-FileCopyrightText: NVIDIA CORPORATION & AFFILIATES | |||
There was a problem hiding this comment.
Nvidia AST2700 A1 and A2 are fully liquid-cooled. Let's remove this file, as we don't have fans to control
| @@ -0,0 +1,146 @@ | |||
| #!/usr/bin/env python3 | |||
|
|
||
| # NVIDIA BMC Platform modules | ||
| # | ||
| # NOTE: When adding more hardware variants (e.g., ast2800), use add_extra_package: |
Yakiv-Huryk
reviewed
Apr 22, 2026
| """ | ||
| return len(self._fan_list) | ||
|
|
||
| def get_all_fans(self): |
Yakiv-Huryk
reviewed
Apr 22, 2026
| return None | ||
| return self._fan_list[index] | ||
|
|
||
| def _detect_card_revision(self): |
Yakiv-Huryk
reviewed
Apr 22, 2026
| @@ -0,0 +1,199 @@ | |||
| # SPDX-FileCopyrightText: NVIDIA CORPORATION & AFFILIATES | |||
a888d9e to
8b9bb08
Compare
…-net#26991) Why I did it RFC 1213 defines sysContact as a free-form string (0-255 chars). The current CLI enforces email format, which prevents operators from setting contact strings required by their management platforms. Also adds a missing newline sanitization guard in the Jinja2 template to prevent config injection into snmpd.conf (same pattern as the sysLocation fix). Work item tracking Microsoft ADO: How I did it Added pattern '[^\n]+' to the Contact leaf in sonic-snmp.yang to block newline characters Added | replace('\n', ' ') filter to both the contact name and contact value renders in snmpd.conf.j2 CLI and test changes are in a companion PR to sonic-utilities How to verify it Set a non-email contact string: config snmp contact add "NOC Team" "noc-team+monitoring" Confirm it is accepted and sysContact in snmpd.conf renders correctly Attempt newline injection; confirm it is stripped to a space in the rendered config
Why I did it The filter_regex field in the SYSLOG_SERVER CONFIG_DB table had no input validation in the YANG model (type string with no pattern constraint). The value is rendered verbatim into rsyslog.conf via Jinja2, allowing values with newline or quote characters to inject additional rsyslog directives. Work item tracking Microsoft ADO: How I did it sonic-syslog.yang: added pattern '[^\n\r]+' to the filter_regex leaf to reject values containing newline or carriage return characters at the CONFIG_DB write layer rsyslog.conf.j2: added replace filters to strip \n/\r and escape " as \" in template output, providing defense-in-depth if the YANG constraint is bypassed via direct redis-cli or gNMI write How to verify it YANG model unit test added: SYSLOG_SERVER_FILTER_REGEX_NEWLINE_NEG_TEST in tests/yang_model_tests/. Run with: cd src/sonic-yang-models && python3 -m pytest tests/yang_model_tests/test_yang_model.py -k syslog -v The new test verifies that a filter_regex value containing \n fails YANG validation with a pattern error. The existing SYSLOG_SERVER_FILTER_REGEX test confirms a valid regex still passes.
Why I did it The Location field in the SNMP|LOCATION CONFIG_DB table had no input validation beyond a length constraint in the YANG model. The value is rendered verbatim into snmpd.conf via Jinja2, allowing values with newline characters to inject additional snmpd directives. Work item tracking Microsoft ADO: How I did it sonic-snmp.yang: added pattern '[^\n]+' to the Location leaf to reject values containing newline characters at the CONFIG_DB write layer snmpd.conf.j2: added a replace filter to strip \n in template output, providing defense-in-depth if the YANG constraint is bypassed via direct redis-cli or gNMI write How to verify it YANG model unit test added: SNMP_SYSTEM_LOCATION_NEWLINE_NEG_TEST in tests/yang_model_tests/. Run with: cd src/sonic-yang-models && python3 -m pytest tests/yang_model_tests/test_yang_model.py -k snmp -v The new test verifies that a Location value containing \n fails YANG validation with a pattern error. The existing SNMP_SYSTEM_TEST confirms a valid location string still passes.
…et#26974) Fix dependency missing issue in bgpcfgd python wheel.
What: Updated marvell-prestera SAI version from P7.0.0--1.17.1-1 to P7.0.0+ACL-fix--1.17.1-12. Why: Fixes SAIPRST-5618 (fail to add 2 ACL table groups in ingress direction) and SAIPRST-6350 (syncd errors in Msft internal testcase). How: Updated version in platform/marvell-prestera/sai.mk. Testing: Verified via msai command on SONiC shell. All CI builds passed. Backport requested for 202511. Signed-off-by: Yan Markman <ymarkman@marvell.com>
What: Integrated sonic-redfish (bmcweb + sonic-dbus-bridge) into the ASPEED ARM64 SONiC image with docker-sonic-redfish container. Why: Enable native Redfish support on the BMC so the ASPEED platform has Redfish available by default for management and monitoring. How: Added Debian packaging and build integration for bmcweb and sonic-dbus-bridge debs. Wired both into docker-sonic-redfish container. Updated ASPEED platform image build to include docker-sonic-redfish in sonic-aspeed-arm64.bin. Includes certificate generation script for mTLS, D-Bus config, and supervisord service management. Testing: Built aspeed-tftp bundle and docker image. Verified on hardware — docker running, bmcweb serving Redfish, sonic-dbus-bridge bridging SONiC data to D-Bus. All CI builds and KVM tests passed. Signed-off-by: shreyansh-nexthop <shreyansh@nexthop.ai>
…cally (sonic-net#27022) #### Why I did it platform/vpp ``` * 21a16c0 - (HEAD -> master, origin/master, origin/HEAD) Fix nightly branch. (sonic-net#224) (33 hours ago) [dypet] ``` #### How I did it #### How to verify it #### Description for the changelog
…ically (sonic-net#27052) #### Why I did it src/sonic-dash-ha ``` * 5eba3c8 - (HEAD -> master, origin/master, origin/HEAD, origin/000001) Handling unplanned events in npu driven ha (sonic-net#156) (3 hours ago) [Changrong Wu] ``` #### How I did it #### How to verify it #### Description for the changelog
…tically (sonic-net#27025) #### Why I did it src/sonic-sairedis ``` * 31722030 - (HEAD -> master, origin/master, origin/HEAD, origin/000001) Update to use SR_LOCALSID_ADD_DEL_V2. (sonic-net#1762) (5 hours ago) [dypet] * e7b35f02 - [sairedis] Add PR template (sonic-net#1831) (14 hours ago) [Longxiang Lyu] * 7cda0693 - Fix use-after-free in VPP message handler registration (sonic-net#1806) (33 hours ago) [rejithomas-arista] * 38de27bd - [syncd] Fix PORT_PHY_ATTR::collectData to check initAttrData return value (sonic-net#1861) (2 days ago) [Zhaohui Sun] ``` #### How I did it #### How to verify it #### Description for the changelog
Signed-off-by: Sreemoolanathan Iyer <sbiyer@google.com>
[orchagent] Add async swss.rec config knob support
Also update pg profiles to the larger 2000m headrooms Signed-off-by: Peter <peterbailey@arista.com>
…sonic-net#26722) Most datacenter networks size ECMP paths in multiples of 8 (8, 16, 32, 64). The default SAI dynamic ECMP FEC increment of 4 causes unnecessary reallocation churn at every 4-member boundary. With increment=8, FEC allocations align with real-world ECMP sizing and the hardware memory token unit, cutting reallocation events in half and improving route programming performance during convergence. Appends sai_ecmp_group_members_increment=8 to all 25 Broadcom DNX .config.bcm files (Arista, Nokia, NextHop) and adds to permitted_list. Validated on real DNX hardware (BCM88850 J2C+, BCM88870 Q3D): - test_ecmp_increment_config_present: PASSED - test_ecmp_increment_fec_lifecycle: PASSED (all 3 phases) Signed-off-by: Deepak Singhal <deepsinghal@microsoft.com> Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
Why I did it gnoic is unused inside the PTF container, and its upstream (karimra/gnoic) has not cut a release containing the golang.org/x/crypto v0.45.0 fixes for CVE-2025-58181 (GHSA-j5w8-q4qc-rx2x) and CVE-2025-47914 (GHSA-f6x5-jh6r-wrfv). The latest tag v0.2.1 still ships x/crypto v0.43.0, and the renovate security PR (karimra/gnoic#170) is unmerged. Carrying a private patched build of an unused tool just to satisfy S360 scans is not worth the maintenance cost. How I did it Removed the gnoic build block from dockers/docker-ptf/Dockerfile.j2. Updated the Go-toolchain install comment to no longer mention gnoic. Removed the gnoic entry from files/build/versions-public/default/versions-git. Removed the gnoic line from ThirdPartyLicenses.txt (the shared Apache 2.0 license body is preserved because entry Introduced Cavium target sonic-net#4 apt-clean still uses it). grpcurl and gnmic are unaffected — they continue to be built from source with go get golang.org/x/...@latest && go mod tidy, which already covers the related CVEs flagged by S360. How to verify it grep -r gnoic dockers/docker-ptf/ files/build/versions-public/ ThirdPartyLicenses.txt returns nothing. Build docker-ptf; the resulting image no longer contains /usr/local/bin/gnoic. Re-run the S360 / Qualys ContainerImageScan against the new digest; CVE-2025-58181 and CVE-2025-47914 against /usr/local/bin/gnoic should disappear. Which release branch to backport (if applicable) N/A — master only. Older release branches do not contain the gnoic build block.
…#26570) Why I did it docker_try_rmi() in functions.sh passes $image_name to docker inspect and docker rmi without quotes. Unquoted variable expansion in bash is subject to word splitting (on $IFS) and pathname/glob expansion before the resulting words are handed to the command. This is a defensive shell-correctness fix: the function should pass its argument to docker as a single token regardless of what the caller provides. Quoting closes a class of unintended behavior where the shell could interpret part of the value rather than passing it through opaquely. There is no functional change for well-formed image names. Work item tracking Microsoft ADO (number only): How I did it Wrapped the two $image_name expansions in double quotes: docker inspect --format="{{json .Id}}" "$image_name" docker rmi "$image_name" The local declaration (local image_name="$1") and the -f "ancestor=$1" filter were already quoted and are unchanged. How to verify it This is a build-time-only change — docker_try_rmi() is invoked from build_docker.sh and get_docker-base.sh during make, on the build host. It is not installed into the image. A clean image build is therefore the complete validation. Full VS image build (make target/sonic-vs.img.gz) — completes cleanly; docker_try_rmi runs during the docker image cleanup path with quoted args, no behavior change. bash -n functions.sh — syntax check passes. Optional: shellcheck functions.sh — SC2086 warnings on these two lines are cleared.
…atically (sonic-net#27054) #### Why I did it src/sonic-utilities ``` * 65ad4a18 - (HEAD -> master, origin/master, origin/HEAD, origin/000001) snmp: allow any string for sysContact, remove email format enforcement (sonic-net#4494) (4 hours ago) [xq9mend] * bfc67f56 - GCU sort: batch leaf-list changes into single REPLACE move (sonic-net#4478) (8 hours ago) [rookie-who] * 98a35798 - Changes to cater to SONiC BMC requirements (sonic-net#4403) (8 hours ago) [Chandrasekaran Swaminathan] * 50919f88 - Add lldp interfaces and configuration to dump (sonic-net#4387) (10 hours ago) [Hemanth Kumar Tirupati] ``` #### How I did it #### How to verify it #### Description for the changelog
…net#26982) Add resource_type leaf to DEVICE_NEIGHBOR_METADATA YANG model
What: Phase 2 improvements for Aspeed 2720 BMC platform support in SONiC. Why: Address review comments from Phase 1 and align with the platform HLD (SONiC/pull/2215). How: Removed BMC component from platform JSON files and obmc-console from platform packages. Fixed watchdog bugs. Moved aspeed services to a Debian package instead of platform check in build_debian.sh. Added helper scripts for eMMC disk image creation/writing. Show version now prints chassis serial number. Renamed USB interface to bmc0. Added bmc.json for BMC/Switch Host IP config. eepromd populates DB for show platform syseeprom. Testing: Tested on hardware — syseeprom populated, services running. All CI builds and KVM tests passed. Signed-off-by: chander-nexthop <chander@nexthop.ai>
…sonic-net#26744) Why I did it The Publish stage in the docker-sonic-mgmt pipeline is skipped when the optional VPP test (t1_lag_vpp_elastictest, marked with continueOnError: true) fails. This is because the Publish stage condition only accepts 'Succeeded' as the Test stage result, but Azure DevOps marks a stage as 'SucceededWithIssues' when an optional job fails. As a result, even though the failure is expected to be non-blocking, the docker-sonic-mgmt image is not published. Pipeline: https://dev.azure.com/mssonic/build/_build?definitionId=194&_a=summary Work item tracking Microsoft ADO (number only): How I did it Updated the Publish stage condition in .azure-pipelines/docker-sonic-mgmt.yml to also accept 'SucceededWithIssues' as a valid Test stage result: # Before condition: and(succeeded(), in(dependencies.Test.result, 'Succeeded')) # After condition: and(not(canceled()), in(dependencies.Test.result, 'Succeeded', 'SucceededWithIssues')) Also changed succeeded() to not(canceled()) because the in(...) check already gates on the dependency result — using succeeded() would be redundant and could conflict with SucceededWithIssues. How to verify it Trigger a PR build that modifies files under dockers/docker-sonic-mgmt. If the optional VPP test fails, verify that the Publish stage still runs and publishes the docker-sonic-mgmt:latest image. If a required test fails, verify that the Publish stage is still skipped. Which release branch to backport (provide reason below if selected) Tested branch (Please provide the tested image version) Description for the changelog Fix Publish stage in docker-sonic-mgmt pipeline being skipped when optional VPP test fails.
* Dell S3248T platform support Signed-off-by: vpsubramaniam <subramaniam.vellalap@dell.com>
…tically (sonic-net#27088) #### Why I did it src/sonic-sairedis ``` * a3b67d2a - (HEAD -> master, origin/master, origin/HEAD) Fix race condition causing syncd crash (sonic-net#1874) (15 hours ago) [yue-fred-gao] * a7a06eb5 - Skip validation for mandatory deprecated attributes in Meta. (sonic-net#1871) (20 hours ago) [ksravani-hcl] ``` #### How I did it #### How to verify it #### Description for the changelog
…omatically (sonic-net#27089) #### Why I did it src/sonic-swss-common ``` * 158de8d - (HEAD -> master, origin/master, origin/HEAD) [EVPN-MH] Add L2 nexthop group table and raw netlink message handling support (sonic-net#1155) (6 hours ago) [Barry Friedman] ``` #### How I did it #### How to verify it #### Description for the changelog
Signed-off-by: William Tsai <willtsai@nvidia.com>
Signed-off-by: William Tsai <willtsai@nvidia.com>
8b9bb08 to
8c53ce2
Compare
Signed-off-by: William Tsai <willtsai@nvidia.com>
Signed-off-by: William Tsai <willtsai@nvidia.com>
Signed-off-by: William Tsai <willtsai@nvidia.com>
e80c7d5 to
3e03aa9
Compare
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.
Why I did it
Work item tracking
How I did it
How to verify it
Which release branch to backport (provide reason below if selected)
Tested branch (Please provide the tested image version)
Description for the changelog
Link to config_db schema for YANG module changes
A picture of a cute animal (not mandatory but encouraged)