Commit e694db2
authored
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
1 parent 622a444 commit e694db2
1 file changed
+2
-2
lines changedLines changed: 2 additions & 2 deletions
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
6 | 6 | | |
7 | 7 | | |
8 | 8 | | |
9 | | - | |
| 9 | + | |
10 | 10 | | |
11 | 11 | | |
12 | | - | |
| 12 | + | |
13 | 13 | | |
14 | 14 | | |
15 | 15 | | |
| |||
0 commit comments