feat: Add evaluation status monitoring and run-target-live-gui target#5631
feat: Add evaluation status monitoring and run-target-live-gui target#5631jsfakian wants to merge 1 commit intolf-edge:masterfrom
Conversation
- 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>
7a5b522 to
4858eb0
Compare
There was a problem hiding this comment.
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, | |||
| }) | |||
There was a problem hiding this comment.
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.
| }) | |
| }) | |
| if err != nil { | |
| log.Error("Cannot create subscription for GlobalConfig") | |
| return err | |
| } |
| run-target: $(SWTPM) GETTY | ||
| $(QEMU_SYSTEM) $(QEMU_OPTS) -drive file=$(TARGET_IMG),format=$(IMG_FORMAT) | ||
|
|
||
| run-target-live-gui: $(SWTPM) GETTY $(DEVICETREE_DTB) |
There was a problem hiding this comment.
@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) |
There was a problem hiding this comment.
@jsfakian , quick question, I don't see any updates on eve-monitor... does the current version have support for these messages?
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.
PR dependencies
No dependencies
How to test and validate this PR
make PLATFORM=evaluation pkgs installer-rawmake run-installer-rawmake run-target-live-guiChangelog notes
make run-target-live-guito easily run evalEVE withgraphical interface support, combining the functionality of
run-targetandrun-live-guitargets.PR Backports
Checklist
check them.