Skip to content

[action] [PR:322] Fix loganalyzer failures on non-smartswitch platforms triggered by #255#333

Merged
vmittal-msft merged 1 commit intosonic-net:202511from
mssonicbld:cherry/202511/322
Dec 19, 2025
Merged

[action] [PR:322] Fix loganalyzer failures on non-smartswitch platforms triggered by #255#333
vmittal-msft merged 1 commit intosonic-net:202511from
mssonicbld:cherry/202511/322

Conversation

@mssonicbld
Copy link

Why I did it

The gNOI shutdown daemon service was causing loganalyzer test failures on non-SmartSwitch platforms (e.g., vlab-01). The service attempted to start via ExecStartPre=/usr/local/bin/check_platform.py, which exited with code 1 on incompatible platforms. This caused systemd to log ERROR messages like:
ERR systemd[1]: Failed to start gnoi-shutdown.service - gNOI based DPU Graceful Shutdown Daemon
These errors blocked CI/CD submodule updates due to loganalyzer failures.

How I did it
Changed the service file to use ExecCondition= instead of ExecStartPre= for platform checking:

ExecCondition=/usr/bin/python3 /usr/local/bin/check_platform.py runs before service start
When check_platform.py returns exit code 1 on non-SmartSwitch platforms, systemd treats this as a condition not met rather than a failure
Service is gracefully skipped without error logs on incompatible platforms
Changed Restart=always to Restart=on-failure to avoid unnecessary restart attempts when conditions aren't met

How to verify it
On SmartSwitch NPU platform: Service starts normally and handles DPU graceful shutdown
sonic-net/sonic-buildimage#24609 is run with this change

Which release branch to backport
[x]202511

…nic-net#255

Why I did it

The gNOI shutdown daemon service was causing loganalyzer test failures on non-SmartSwitch platforms (e.g., vlab-01). The service attempted to start via ExecStartPre=/usr/local/bin/check_platform.py, which exited with code 1 on incompatible platforms. This caused systemd to log ERROR messages like:
ERR systemd[1]: Failed to start gnoi-shutdown.service - gNOI based DPU Graceful Shutdown Daemon
These errors blocked CI/CD submodule updates due to loganalyzer failures.

How I did it
Changed the service file to use ExecCondition= instead of ExecStartPre= for platform checking:

ExecCondition=/usr/bin/python3 /usr/local/bin/check_platform.py runs before service start
When check_platform.py returns exit code 1 on non-SmartSwitch platforms, systemd treats this as a condition not met rather than a failure
Service is gracefully skipped without error logs on incompatible platforms
Changed Restart=always to Restart=on-failure to avoid unnecessary restart attempts when conditions aren't met

How to verify it
On SmartSwitch NPU platform: Service starts normally and handles DPU graceful shutdown
sonic-net/sonic-buildimage#24609 is run with this change

Which release branch to backport
 [x]202511
@mssonicbld
Copy link
Author

Original PR: #322

@mssonicbld
Copy link
Author

/azp run

@azure-pipelines
Copy link

Azure Pipelines successfully started running 1 pipeline(s).

@vmittal-msft vmittal-msft merged commit e694db2 into sonic-net:202511 Dec 19, 2025
5 of 6 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants