Skip to content

[chrony] Declare the chrony units in the services tuple - #4437

Open
suraj-cmd wants to merge 1 commit into
sosreport:mainfrom
suraj-cmd:chrony-services-tuple
Open

[chrony] Declare the chrony units in the services tuple#4437
suraj-cmd wants to merge 1 commit into
sosreport:mainfrom
suraj-cmd:chrony-services-tuple

Conversation

@suraj-cmd

Copy link
Copy Markdown
Contributor

Both distribution subclasses call add_journal() for their unit but neither
declares a services tuple, and neither collects the service status. An
sosreport from a host with clock synchronisation problems therefore has
chronyc output and the journal, but nothing showing whether the daemon is
enabled, running or failing to start.

Plugin._collect_services() runs each entry of the tuple through
is_service() and calls both add_service_status() and add_journal(), so
declaring the unit adds the missing status, keeps the journal, and removes the
explicit call.

It also gives the plugin an enablement trigger beyond the package name, which
matters here because the unit differs between distributions: chronyd on Red
Hat, chrony on Debian and Ubuntu.

Follows @TurboTurtle's review comment on #4429, and the same change made for
haproxy in #4436. Unlike those, this one also adds data that is not collected
today — neither chrony subclass collects service status at present.


Please place an 'X' inside each '[]' to confirm you adhere to our Contributor Guidelines

  • Is the commit message split over multiple lines and hard-wrapped at 72 characters?
  • Is the subject and message clear and concise?
  • Does the subject start with [plugin_name] if submitting a plugin patch or a [section_name] if part of the core sosreport code?
  • Does the commit contain a

Both distribution subclasses call add_journal() for their unit
but neither declares a services tuple, and neither collects the
service status. An sosreport from a host with clock
synchronisation problems therefore has chronyc output and the
journal, but nothing showing whether the daemon is enabled,
running or failing to start.

Plugin._collect_services() runs each entry of the tuple through
is_service() and calls both add_service_status() and
add_journal(), so declaring the unit adds the missing status,
keeps the journal, and removes the explicit call.

It also gives the plugin an enablement trigger beyond the
package name, which matters here because the unit differs
between distributions: chronyd on Red Hat, chrony on Debian and
Ubuntu.

Signed-off-by: Suraj Patil <surajpatil522@gmail.com>
@packit-as-a-service

Copy link
Copy Markdown

Congratulations! One of the builds has completed. 🍾

You can install the built RPMs by following these steps:

  • sudo dnf install -y 'dnf*-command(copr)'
  • dnf copr enable packit/sosreport-sos-4437
  • And now you can install the packages.

Please note that the RPMs should be used only in a testing environment.

@suraj-cmd

Copy link
Copy Markdown
Contributor Author

Tested on RHEL 10 (aarch64) with chrony installed by default.

Before, on main:

# ls /var/tmp/sosreport-localhost-2026-08-11-kojfgca/sos_commands/chrony/
chronyc_activity
chronyc_-N_authdata
chronyc_-n_clients
chronyc_-n_selectdata
chronyc_-n_sources
chronyc_ntpdata
chronyc_serverstats
chronyc_sourcestats
chronyc_tracking
journalctl_--no-pager_--unit_chronyd

After, with this change:

# ls /var/tmp/sosreport-localhost-2026-08-11-mdnypbk/sos_commands/chrony/
chronyc_activity
chronyc_-N_authdata
chronyc_-n_clients
chronyc_-n_selectdata
chronyc_-n_sources
chronyc_ntpdata
chronyc_serverstats
chronyc_sourcestats
chronyc_tracking
journalctl_--no-pager_--unit_chronyd
systemctl_status_chronyd

The journal was already collected via the explicit add_journal() call; the
service status is new. Everything else is unchanged.

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.

1 participant