[action] [PR:25561] Include generated services in Sysmonitor#26194
Merged
vmittal-msft merged 1 commit intosonic-net:202511from Mar 16, 2026
Merged
[action] [PR:25561] Include generated services in Sysmonitor#26194vmittal-msft merged 1 commit intosonic-net:202511from
vmittal-msft merged 1 commit intosonic-net:202511from
Conversation
<!--
Please make sure you've read and understood our contributing guidelines:
https://github.com/Azure/SONiC/blob/gh-pages/CONTRIBUTING.md
** Make sure all your commits include a signature generated with `git commit -s` **
If this is a bug fix, make sure your description includes "fixes #xxxx", or
"closes #xxxx" or "resolves #xxxx"
Please provide the following information:
-->
#### Why I did it
Starting from the systemd version used in Debian Trixie (systemd 257), `systemd-sonic-generator` creates service unit files in `/run/systemd/generator/` to handle multi-instance dependency expansion on DPU and multi-ASIC platforms. systemd marks these units as `UnitFileState=generated` instead of `enabled` or `static`.
`sysmonitor` did not recognize `"generated"` as a valid state, causing these services to be silently skipped during health checks — they were missing from `show system-health sysready-status` and `STATE_DB ALL_SERVICE_STATUS`.
##### Work item tracking
- Microsoft ADO **(number only)**:
#### How I did it
Adds `"generated"` to the accepted `UnitFileState` values in `sysmonitor.py`, so that services with `UnitFileState=generated` are correctly reported in `show system-health sysready-status`.
This 1-line change adds `"generated"` to the accepted states so that all services are properly monitored regardless of where their unit file resides.
#### Tests
Added two unit tests to verify that the `generated` state is handled correctly:
- `test_get_unit_status_generated_running_ok` — a service with `UnitFileState=generated` and `ActiveState=active` is reported as OK
- `test_get_unit_status_generated_inactive_not_ok` — a service with `UnitFileState=generated` and `ActiveState=inactive` is reported as NOT OK
#### How to verify it
`show system-health sysready-status`
<!--
If PR needs to be backported, then the PR must be tested against the base branch and the earliest backport release branch and provide tested image version on these two branches. For example, if the PR is requested for master, 202211 and 202012, then the requester needs to provide test results on master and 202012.
-->
#### Which release branch to backport (provide reason below if selected)
<!--
- Note we only backport fixes to a release branch, *not* features!
- Please also provide a reason for the backporting below.
- e.g.
- [x] 202006
-->
- [ ] 202305
- [ ] 202311
- [ ] 202405
- [ ] 202411
- [ ] 202505
- [x] 202511
#### Tested branch (Please provide the tested image version)
<!--
- Please provide tested image version
- e.g.
- [x] 20201231.100
-->
- [ ] <!-- image version 1 -->
- [ ] <!-- image version 2 -->
#### Description for the changelog
<!--
Write a short (one line) summary that describes the changes in this
pull request for inclusion in the changelog:
-->
<!--
Ensure to add label/tag for the feature raised. example - PR#2174 under sonic-utilities repo. where, Generic Config and Update feature has been labelled as GCU.
-->
#### Link to config_db schema for YANG module changes
<!--
Provide a link to config_db schema for the table for which YANG model
is defined
Link should point to correct section on https://github.com/Azure/sonic-buildimage/blob/master/src/sonic-yang-models/doc/Configuration.md
-->
Signed-off-by: Sonic Build Admin <[email protected]>
#### A picture of a cute animal (not mandatory but encouraged)
Collaborator
Author
|
Original PR: #25561 |
8 tasks
Collaborator
Author
|
/azp run Azure.sonic-buildimage |
|
Azure Pipelines successfully started running 1 pipeline(s). |
vmittal-msft
approved these changes
Mar 16, 2026
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
Starting from the systemd version used in Debian Trixie (systemd 257),
systemd-sonic-generatorcreates service unit files in/run/systemd/generator/to handle multi-instance dependency expansion on DPU and multi-ASIC platforms. systemd marks these units asUnitFileState=generatedinstead ofenabledorstatic.sysmonitordid not recognize"generated"as a valid state, causing these services to be silently skipped during health checks — they were missing fromshow system-health sysready-statusandSTATE_DB ALL_SERVICE_STATUS.Work item tracking
How I did it
Adds
"generated"to the acceptedUnitFileStatevalues insysmonitor.py, so that services withUnitFileState=generatedare correctly reported inshow system-health sysready-status.This 1-line change adds
"generated"to the accepted states so that all services are properly monitored regardless of where their unit file resides.Tests
Added two unit tests to verify that the
generatedstate is handled correctly:test_get_unit_status_generated_running_ok— a service withUnitFileState=generatedandActiveState=activeis reported as OKtest_get_unit_status_generated_inactive_not_ok— a service withUnitFileState=generatedandActiveState=inactiveis reported as NOT OKHow to verify it
show system-health sysready-statusWhich 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
Signed-off-by: Sonic Build Admin [email protected]
A picture of a cute animal (not mandatory but encouraged)