feat(orion): surface VM image, resources, and toolchain in Client UI - #2160
Conversation
Record image-info at build time and return it from scheduler status so the Orion Client runner panel can show image digest/build time, CPU/mem/disk, and rust/buck2/python versions without probing the guest.
There was a problem hiding this comment.
💡 Codex Review
Here are some automated review suggestions for this pull request.
Reviewed commit: b33c405996
ℹ️ About Codex in GitHub
Codex has been enabled to automatically review pull requests in this repo. Reviews are triggered when you
- Open a pull request for review
- Mark a draft as ready
- Comment "@codex review".
If Codex has suggestions, it will comment; otherwise it will react with 👍.
When you sign up for Codex through ChatGPT, Codex can also answer questions or update the PR, like "@codex address that feedback".
|
|
||
| # Host sidecar next to the subdir build and the flat published qcow2. | ||
| write_orion_image_info "$IMAGE_DIR/image-info.json" | ||
| write_orion_image_info "$OUTPUT_DIR/${IMAGE_NAME}.image-info.json" |
There was a problem hiding this comment.
Keep sidecars tied to published image updates
When $PUBLISHED_IMAGE is locked by a running VM, the publish block above intentionally skips copying the new qcow2 and leaves the published JSON unchanged, but this line still overwrites the flat ${IMAGE_NAME}.image-info.json sidecar with metadata for the newly built $CUSTOM_IMAGE. In that scenario, any scheduler configured to use the flat published image will report Rust/buck2/build-time info from an image that was not actually published; write the flat sidecar only inside the successful publish path, or keep it next to the unpublished build artifact only.
Useful? React with 👍 / 👎.
Keep Harbor-only deploys while AWS pushes are paused; flip PUSH_AWS_ECR back to true to restore ECR Public tags and manifests.
Expose GET /api/v1/orion/runners from scheduler /status and show a persistent Runner VMs table so image/phase/IP details stay visible after startup logs close.
There was a problem hiding this comment.
💡 Codex Review
Here are some automated review suggestions for this pull request.
Reviewed commit: e50b07b4c4
ℹ️ About Codex in GitHub
Codex has been enabled to automatically review pull requests in this repo. Reviews are triggered when you
- Open a pull request for review
- Mark a draft as ready
- Comment "@codex review".
If Codex has suggestions, it will comment; otherwise it will react with 👍.
When you sign up for Codex through ChatGPT, Codex can also answer questions or update the PR, like "@codex address that feedback".
|
|
||
| # Drop processes still in the chroot (apt-get, etc.) so umount can succeed. | ||
| if command -v fuser >/dev/null 2>&1; then | ||
| sudo fuser -km "$root" >/dev/null 2>&1 || true |
There was a problem hiding this comment.
Guard fuser against unmounted temp dirs
When cleanup runs after MOUNT_DIR=$(mktemp -d) but before sudo mount succeeds, or when the preflight loop sees an unmounted stale /tmp/custom-image-mnt.*, this calls fuser -km on an ordinary directory. The psmisc fuser man page documents -m/--mount as selecting processes using files on that filesystem and -k as killing them (https://man7.org/linux/man-pages/man1/fuser.1.html), so on a normal /tmp directory this can SIGKILL unrelated build-host processes instead of only chroot users; only run the mount-wide kill after mountpoint -q "$root" (or use fuser -M).
Useful? React with 👍 / 👎.
Record image-info at build time and return it from scheduler status so the Orion Client runner panel can show image digest/build time, CPU/mem/disk, and rust/buck2/python versions without probing the guest.