Skip to content

feat: Add evaluation status monitoring and run-target-live-gui target#5631

Open
jsfakian wants to merge 1 commit intolf-edge:masterfrom
jsfakian:WIP-evaluation-logs-in-monitor
Open

feat: Add evaluation status monitoring and run-target-live-gui target#5631
jsfakian wants to merge 1 commit intolf-edge:masterfrom
jsfakian:WIP-evaluation-logs-in-monitor

Conversation

@jsfakian
Copy link
Contributor

@jsfakian jsfakian commented Feb 25, 2026

Description

This PR adds support for monitoring evaluation status in the EVE monitor service and includes a new Makefile convenience rule for running evalEVE with the GUI.

This change enables better tracking and visibility of the EVE evaluation process through the monitor service, with improved logging for troubleshooting and monitoring purposes.

  • New subscription to evalmgr's EvalStatus topic for persistent status tracking
  • Added EvalStatus message type
  • Integrated EvalStatus into the monitor's centralized subscription registry
  • Added a new make target that combines run-target and run-live-gui functionality

PR dependencies

No dependencies

How to test and validate this PR

  1. Create an evaluation EVE installer image make PLATFORM=evaluation pkgs installer-raw
  2. Create an evaluation EVE image make run-installer-raw
  3. Run the evaluation EVE image with TUI enabled make run-target-live-gui
  4. Check the tab about the evalEVE and verify that is updated with new info about the evaluation

Changelog notes

  • New Makefile convenience target: Added make run-target-live-gui to easily run evalEVE with
    graphical interface support, combining the functionality of run-target and run-live-gui targets.
  • Enhanced monitoring and logging of evaluation status for better troubleshooting
  • Improved IPC message logging with better readability for debugging purposes

PR Backports

- 16.0-stable: No, as the feature is not available there.
- 14.5-stable: No, as the feature is not available there.
- 13.4-stable: No, as the feature is not available there.

Checklist

  • I've provided a proper description
  • I've added the proper documentation
  • I've tested my PR on amd64 device
  • I've tested my PR on arm64 device
  • I've written the test verification instructions
  • I've set the proper labels to this PR
  • I've checked the boxes above, or I've provided a good reason why I didn't
    check them.

@jsfakian jsfakian requested review from Copilot and rucoder and removed request for eriknordmark February 25, 2026 09:16
@jsfakian jsfakian added the enhancement New feature or request label Feb 25, 2026
- Add 'run-target-live-gui' Makefile target for GUI-enabled evalEVE
- Enhance IPC message logging with metadata and truncation for large messages
- Add EvalStatus subscription handlers in monitor service with lifecycle event tracking

Signed-off-by: Ioannis Sfakianakis <jsfakas@gmail.com>
@jsfakian jsfakian force-pushed the WIP-evaluation-logs-in-monitor branch from 7a5b522 to 4858eb0 Compare February 25, 2026 09:18
Copy link

Copilot AI left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

This PR adds monitoring support for EVE evaluation status and includes a new Makefile convenience target for running evaluation EVE with a GUI. The changes enable the monitor service to subscribe to evaluation manager status updates and forward them via IPC to connected clients (such as the TUI), improving visibility into the evaluation process.

Changes:

  • Added EvalStatus subscription to the monitor service with persistent state tracking
  • Enhanced IPC server logging to handle EvalStatus messages efficiently
  • Added run-target-live-gui Makefile target combining run-target functionality with GUI support

Reviewed changes

Copilot reviewed 3 out of 3 changed files in this pull request and generated 1 comment.

File Description
pkg/pillar/cmd/monitor/subscriptions.go Added handlers and subscription setup for EvalStatus from evalmgr, enabling monitoring of evaluation platform state
pkg/pillar/cmd/monitor/ipc_server.go Enhanced logging logic to handle EvalStatus messages with metadata-only logging to avoid log system overload
Makefile Added run-target-live-gui target and corresponding help text for running target.img with graphics card emulation

💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.

@@ -441,6 +467,26 @@ func (ctx *monitor) subscribe(ps *pubsub.PubSub) error {
ErrorTime: errorTime,
})
Copy link

Copilot AI Feb 25, 2026

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Missing error handling for GlobalConfig subscription. The error returned from ps.NewSubscription should be checked before proceeding to create the EvalStatus subscription. This is inconsistent with all other subscriptions in this function which check errors immediately after creation.

Suggested change
})
})
if err != nil {
log.Error("Cannot create subscription for GlobalConfig")
return err
}

Copilot uses AI. Check for mistakes.
run-target: $(SWTPM) GETTY
$(QEMU_SYSTEM) $(QEMU_OPTS) -drive file=$(TARGET_IMG),format=$(IMG_FORMAT)

run-target-live-gui: $(SWTPM) GETTY $(DEVICETREE_DTB)
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

@jsfakian , please, put Makefile changes into a dedicated commit.....

status := statusArg.(types.EvalStatus)
log.Functionf("handleEvalStatusUpdate: EvalStatus details - platform=%t, slot=%s, phase=%s, allowOnboard=%t, inventory=%t",
status.IsEvaluationPlatform, status.CurrentSlot, status.Phase, status.AllowOnboard, status.InventoryCollected)
ctx.IPCServer.sendIpcMessage("EvalStatus", status)
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

@jsfakian , quick question, I don't see any updates on eve-monitor... does the current version have support for these messages?

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

enhancement New feature or request

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants