Skip to content

[PR:28276] [redfish] Stage provisioned certificates for bmcweb and fail closed once provisioned - #3406

Merged
Ying Xie (yxieca) merged 1 commit into
Azure:202608from
nexthop-ai:shreyansh.redfish_acms_integration_202608
Oct 21, 2026
Merged

Ying Xie (yxieca) merged 1 commit into
Azure:202608from
nexthop-ai:shreyansh.redfish_acms_integration_202608

Conversation

@shreyansh-nexthop

Copy link
Copy Markdown
Contributor

Why I did it

Manual cherry-pick of sonic-net/sonic-buildimage#28276 to 202608. The automatic cherry-pick failed with a conflict.

Work item tracking
  • Microsoft ADO (number only):

How I did it

git cherry-pick -x 89ac6853eb. The only conflict was rules/docker-sonic-redfish.dep, which the original change modified to add dockers/dockerfile-macros.j2 to the image cache dependencies. That file does not exist on 202608 (the redfish docker is not cache tracked here), so the change to it is dropped.

Dockerfile.j2, stage-credentials.sh, supervisord.conf and redfish.service.j2 merged cleanly and are identical to master after #28276. 202608 already carries #29747 (host networking) and pins src/sonic-redfish at the sonic-net/sonic-redfish#34 merge, which this change depends on.

See sonic-net/sonic-buildimage#28276 for the full description.

How to verify it

Same as sonic-net/sonic-buildimage#28276.

Which release branch to backport (provide reason below if selected)

  • 202608

Description for the changelog

[redfish] Stage provisioned certificates for bmcweb and fail closed once provisioned

…nce provisioned (#28276)

What: Adds certificate staging, startup guarding and credential watching to docker-sonic-redfish, and removes the local bmcweb account and password.
Why: Converts externally delivered certificates into bmcweb's fixed certificate layout, reloads rotated credentials and prevents self-signed fallback once provisioning has been recorded.
How: Reads explicit REDFISH|certs paths from CONFIG_DB, checks certificate/key correspondence, and atomically replaces the combined server PEM and CA file with a hashed truststore link. Uses a provisioning marker to gate startup, reconciles through inotify and periodic checks, and publishes certificate status to STATE_DB. Retains bmcweb's default authentication settings, orders Redfish after the database, and tracks Dockerfile macros in the image cache dependencies.
Testing: All 32 reported checks passed, including required Azure.sonic-buildimage, EasyCLA and Semgrep, plus impacted-area KVM checks. The author reports hardware exercises covering rotation, bmcweb restart, container recreation, corrupt and partial input, deleted source files, fail-closed behavior and recovery; automated coverage is described as a companion sonic-mgmt change. No tested image version is supplied. The reviewer approved with a non-blocking caveat that the CONFIG_DB schema convention and sonic-dbus-bridge handling of trusted client common names were not independently confirmed.

Signed-off-by: Shreyansh Jain <shreyansh@nexthop.ai>
(cherry picked from commit 89ac685)
@azure-pipelines

Copy link
Copy Markdown
Azure Pipelines:
There may be pipelines that require an authorized user to comment /azp run to run.

@mssonicbld

Copy link
Copy Markdown
Collaborator

/azp run

@azure-pipelines

Copy link
Copy Markdown
Azure Pipelines:
Successfully started running 1 pipeline(s).

@yxieca
Ying Xie (yxieca) merged commit 2710d46 into Azure:202608 Oct 21, 2026
26 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants