Skip to content

Introduce watchdog into ProcessGroupManager [3/N]: Move ownership to ProcessGroupManager - #355

Merged
MaciejKaszynski merged 14 commits into
eclipse-score:mainfrom
etas-contrib:feature/move-watchdog-to-launch-manager-part-3
Aug 3, 2026
Merged

Introduce watchdog into ProcessGroupManager [3/N]: Move ownership to ProcessGroupManager#355
MaciejKaszynski merged 14 commits into
eclipse-score:mainfrom
etas-contrib:feature/move-watchdog-to-launch-manager-part-3

Conversation

@cameron-craig-etas

@cameron-craig-etas cameron-craig-etas commented Jul 23, 2026

Copy link
Copy Markdown
Contributor

#330

This is part 3 of a number of PRs, to move the watchdog ownership to ProcessGroupManager. Now that we have prepared the watchdog sources in previous PRs, we are now doing the actual owner change here.

I have performed the following steps:

  • We now create a watchdog object using the createWatchdog() factory.
  • The watchdog has been removed from the alive monitor and PhmDaemon.
  • We now call the watchdog from the main loop in process_group_manager.cpp
  • The watchdog is only enabled for the new config.

Note that unit tests are to follow in a separate PR.

@github-actions

github-actions Bot commented Jul 23, 2026

Copy link
Copy Markdown

License Check Results

🚀 The license check job ran with the Bazel command:

bazel run --lockfile_mode=error //:license-check

Status: ⚠️ Needs Review

Click to expand output
[License Check Output]
Extracting Bazel installation...
Starting local Bazel server (8.6.0) and connecting to it...
INFO: Invocation ID: c07307d8-840c-427d-9f54-724f3d172b68
Computing main repo mapping: 
Computing main repo mapping: 
Loading: 
Loading: 0 packages loaded
Loading: 0 packages loaded
Loading: 0 packages loaded
    currently loading: 
Loading: 0 packages loaded
    currently loading: 
Loading: 0 packages loaded
    currently loading: 
Loading: 0 packages loaded
    currently loading: 
Loading: 0 packages loaded
    currently loading: 
Loading: 0 packages loaded
    currently loading: 
Analyzing: target //:license-check (1 packages loaded, 0 targets configured)
Analyzing: target //:license-check (1 packages loaded, 0 targets configured)

Analyzing: target //:license-check (42 packages loaded, 10 targets configured)

Analyzing: target //:license-check (101 packages loaded, 23 targets configured)

Analyzing: target //:license-check (150 packages loaded, 3143 targets configured)

Analyzing: target //:license-check (158 packages loaded, 6233 targets configured)

Analyzing: target //:license-check (162 packages loaded, 8837 targets configured)

Analyzing: target //:license-check (170 packages loaded, 9397 targets configured)

Analyzing: target //:license-check (170 packages loaded, 9397 targets configured)

Analyzing: target //:license-check (173 packages loaded, 11285 targets configured)

Analyzing: target //:license-check (174 packages loaded, 11409 targets configured)

Analyzing: target //:license-check (174 packages loaded, 11409 targets configured)

INFO: Analyzed target //:license-check (175 packages loaded, 11535 targets configured).
[14 / 16] [Prepa] JavaToolchainCompileBootClasspath external/rules_java+/toolchains/platformclasspath.jar
[15 / 16] Building license.check.license_check.jar (); 0s disk-cache, multiplex-worker
INFO: Found 1 target...
Target //:license.check.license_check up-to-date:
  bazel-bin/license.check.license_check
  bazel-bin/license.check.license_check.jar
INFO: Elapsed time: 26.545s, Critical Path: 2.42s
INFO: 16 processes: 12 internal, 3 processwrapper-sandbox, 1 worker.
INFO: Build completed successfully, 16 total actions
INFO: Running command line: bazel-bin/license.check.license_check ./formatted.txt <args omitted>
usage: org.eclipse.dash.licenses.cli.Main [-batch <int>] [-cd <url>]
       [-confidence <int>] [-ef <url>] [-excludeSources <sources>] [-help] [-lic
       <url>] [-project <shortname>] [-repo <url>] [-review] [-summary <file>]
       [-timeout <seconds>] [-token <token>]

@cameron-craig-etas
cameron-craig-etas force-pushed the feature/move-watchdog-to-launch-manager-part-3 branch from c2daf96 to d7352ab Compare July 23, 2026 12:52
@github-actions

Copy link
Copy Markdown

The created documentation from the pull request is available at: docu-html

Comment thread score/launch_manager/src/daemon/src/watchdog/details/WatchdogImpl.cpp Outdated
@NicolasFussberger

Copy link
Copy Markdown
Contributor

I think score/launch_manager/src/daemon/src/watchdog/IDeviceConfigFactory.hpp can now be moved to details folder, as the public interface does not require this anymore.

Comment thread score/launch_manager/src/daemon/src/watchdog/details/BUILD Outdated
@NicolasFussberger

Copy link
Copy Markdown
Contributor

If I see it correctly, I think score/launch_manager/src/daemon/src/alive_monitor/details/factory/MachineConfigFactory.cpp and score/launch_manager/src/daemon/src/alive_monitor/details/factory/MachineConfigFactory_new.cpp can be removed / trimmed down as the watchdog is no longer loaded from config there.

I think the only value still required is the periodicity in which supervisions are evaluated.
For the other values we anyway only use the defaults as this is no longer configurable in the json.

@NicolasFussberger

Copy link
Copy Markdown
Contributor

If I see it correctly, I think score/launch_manager/src/daemon/src/alive_monitor/details/factory/MachineConfigFactory.cpp and score/launch_manager/src/daemon/src/alive_monitor/details/factory/MachineConfigFactory_new.cpp can be removed / trimmed down as the watchdog is no longer loaded from config there.

I think the only value still required is the periodicity in which supervisions are evaluated. For the other values we anyway only use the defaults as this is no longer configurable in the json.

Though this could also be done in a separate PR if you like to keep the changes here limited.

Comment thread score/launch_manager/src/daemon/src/watchdog/BUILD Outdated
@NicolasFussberger

Copy link
Copy Markdown
Contributor

I think score/launch_manager/src/daemon/src/watchdog/IDeviceConfigFactory.hpp can now be moved to details folder, as the public interface does not require this anymore.

Done. I removed the loading of watchdog settings from MachineConfigFactory.hpp/cpp and remove entirely the MachineConfigFactory_new.cpp

@NicolasFussberger
NicolasFussberger force-pushed the feature/move-watchdog-to-launch-manager-part-3 branch from 9e1677a to 598293f Compare August 3, 2026 12:43
@NicolasFussberger
NicolasFussberger self-requested a review August 3, 2026 12:47
MaciejKaszynski
MaciejKaszynski previously approved these changes Aug 3, 2026
@NicolasFussberger
NicolasFussberger dismissed stale reviews from MaciejKaszynski and themself via 755e6a7 August 3, 2026 13:08
@NicolasFussberger
NicolasFussberger deployed to workflow-approval August 3, 2026 13:08 — with GitHub Actions Active
@MaciejKaszynski
MaciejKaszynski merged commit 0e65a5d into eclipse-score:main Aug 3, 2026
20 checks passed
@github-project-automation github-project-automation Bot moved this from Backlog to Done in LCM - Lifecycle & Health FT Aug 3, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

Status: Done

Development

Successfully merging this pull request may close these issues.

3 participants