Skip to content

Add daemon-driven HostOSReboot with restart-safe result reporting - #1015

Draft
hbc (bcho) with Copilot wants to merge 2 commits into
mainfrom
copilot/implement-hostosreboot-daemon-agent
Draft

hbc (bcho) with Copilot wants to merge 2 commits into
mainfrom
copilot/implement-hostosreboot-daemon-agent

Conversation

Copilot AI commented Oct 28, 2026 •

Copy link
Copy Markdown
Contributor

Expose HostOSReboot so the daemon can run reboot on the host and report the outcome after reconnecting, independently of cloud-provider or BMC power operations.

  • Execution and recovery: Persist the current boot ID before issuing reboot. Resume in-progress operations after startup; complete only when the boot ID changes. Uncached reads prevent replay after daemon restarts.
  • Failure reporting: Report command failures immediately and unchanged boot IDs after five minutes. Hosts that never reconnect remain InProgress.
  • API and routing: Add the operation kind, status field, generated CRD, and CLI support. Require a single machineRef; keep external power controllers from claiming the operation. Refuse execution if the API does not persist the boot ID.
kubectl unbounded machine operation create reboot-worker-01 \
  --kind HostOSReboot --machine worker-01 --wait

Completion confirms an OS reboot, not Node readiness. Cordoning and draining remain caller responsibilities.

Co-authored-by: bcho <1975118+bcho@users.noreply.github.com>
Copilot AI changed the title [WIP] Implement HostOSReboot in daemon agent for triggering rebooting from host Add daemon-driven HostOSReboot with restart-safe result reporting Oct 28, 2026
Copilot AI requested a review from hbc (bcho) October 28, 2026 18:26

This branch has not been deployed

No deployments
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.

Implement HostOSReboot in daemon agent for triggering rebooting from host

2 participants