33 lines
2.0 KiB
Markdown
33 lines
2.0 KiB
Markdown
# Runbook: temporarily enable or disable a compute node
|
|
|
|
Use the lifecycle action for planned temporary maintenance. Permanent removal belongs in
|
|
`RUNBOOK_NODE_DECOMMISSION.md`; credential loss belongs in `RUNBOOK_NODE_LOSS.md`.
|
|
|
|
## Disable
|
|
|
|
1. Drain and stop workloads before starting. The Console's admin-only **Review disable impact**
|
|
preview checks active deployments, requests, jobs, runtime probes, leases, residencies, pending
|
|
transitions, storage dependencies and other known node references. A blocker means resolve the
|
|
dependency and request a fresh preview; there is no force option.
|
|
2. Confirm the preview names the intended persisted node identity. Enter the operator identity, a
|
|
reason of at least ten characters, and that persisted identity exactly.
|
|
3. The API rechecks the dependency digest while holding the node and dependency locks, then advances
|
|
the node generation with compare-and-swap. A 409 means the review is stale or a dependency still
|
|
exists; inspect the new state and review again.
|
|
4. Disabled nodes reject agent heartbeats and cannot claim new agent work. Do not treat the action
|
|
as a graceful drain; the preview refuses known active workloads instead.
|
|
|
|
## Enable
|
|
|
|
1. Resolve a lost/revoked credential first using `RUNBOOK_NODE_LOSS.md`. Remote nodes without an
|
|
active node credential cannot be enabled.
|
|
2. Use **Review enable impact**, inspect the current state and type the persisted identity with the
|
|
operator identity and reason.
|
|
3. A successful enable leaves the remote node `offline` and clears old heartbeat/protocol/capability
|
|
facts. The agent must authenticate and send a fresh compatible heartbeat before health or
|
|
scheduler readiness can be inferred. The action does not start or restart the agent on its host.
|
|
|
|
Never change `enabled` through the metadata `PATCH`; the API rejects that field. Use the preview and
|
|
execute lifecycle endpoints so impact, generation and audit checks cannot be skipped. Do not rehearse
|
|
on production nodes.
|