Skip to content

[DO NOT MERGE] Fix gnoi shutdown error loganalyzer failure#24609

Closed
saiarcot895 wants to merge 2 commits intosonic-net:masterfrom
saiarcot895:host-services-kvm-test
Closed

[DO NOT MERGE] Fix gnoi shutdown error loganalyzer failure#24609
saiarcot895 wants to merge 2 commits intosonic-net:masterfrom
saiarcot895:host-services-kvm-test

Conversation

@saiarcot895
Copy link
Copy Markdown
Contributor

Why I did it

Work item tracking
  • Microsoft ADO (number only):

How I did it

How to verify it

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

  • 202205
  • 202211
  • 202305
  • 202311
  • 202405
  • 202411
  • 202505

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)

@mssonicbld
Copy link
Copy Markdown
Collaborator

/azp run Azure.sonic-buildimage

@azure-pipelines
Copy link
Copy Markdown

Azure Pipelines successfully started running 1 pipeline(s).

Signed-off-by: Saikrishna Arcot <[email protected]>
@mssonicbld
Copy link
Copy Markdown
Collaborator

/azp run Azure.sonic-buildimage

@azure-pipelines
Copy link
Copy Markdown

Azure Pipelines successfully started running 1 pipeline(s).

qiluo-msft pushed a commit to sonic-net/sonic-host-services that referenced this pull request Nov 25, 2025
… failures in non-smartswitch platforms (#322)

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
mssonicbld added a commit to mssonicbld/sonic-host-services that referenced this pull request Dec 19, 2025
…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
vmittal-msft pushed a commit to sonic-net/sonic-host-services that referenced this pull request Dec 19, 2025
… (#333)

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
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.

2 participants