Where the install stands.
curl --request GET \ --url https://192.0.2.10:9443/v1/installer/status \ --header 'Authorization: <Authorization>'The phase (configuring, installing, done, failed), the
installer’s version, the draft’s install mode and profile, whether
the current draft config is valid, and what became of a node.yaml
stage 1 brought for an unattended install (unattended).
Authorizations
Section titled “Authorizations”Responses
Section titled “Responses”The install’s status.
mode is the draft’s install mode: its mode, or
single-node for a structured draft with none; for a raw node.yaml,
the install mode its mode resolves to. Absent when a raw node.yaml
does not parse or names no mode the installer knows.
object
configuring until an install starts; installing while one runs;
done after one succeeded; failed after the latest one failed.
The installer’s version line.
How this node is installed: the first answer of stage 2. Each mode is a deployment profile of the release model and the node’s part in it.
single-node: one node runs everything (profilesingle-node; node.yamlmode: single-node).hyperconverged-init: the first node of a hyperconverged cluster, the one that founds it (“HA init”; node.yamlmode: ha-init).hyperconverged-join: a node that joins a hyperconverged cluster (“HA join”; node.yamlmode: join).disaggregated-control-plane: a control-plane-only node that compute and storage nodes join later (profiledisaggregated, a preview whose design is open,).
GET /v1/installer/options says which are available; the others
are refused at mode, with the reason.
The draft’s profile: the one its install mode installs
(single-node for a draft with no mode, and for a raw node.yaml
whose mode cannot be read).
Where this API is served.
Whether the current draft validates.
Install attempts started so far (0 before the first).
The step running now, while installing.
Why POST /install would be refused right now, whatever the
config says: for example, the offline payload did not load
(PAYLOAD_NOT_LOADED). Empty or absent when an install can
start. A front end shows these before offering the install.
object
Stable identifier, e.g. PAYLOAD_NOT_LOADED.
What is wrong and how to fix it, for a person.
An unattended stage 2. Stage 1 found a
node.yaml beside install.yaml on the install medium and left it
on the node; the service took it at its first start, made it the
draft (source yaml), removed the file, and either started the
install by itself or left it waiting. Absent when there was no
such file. It records what became of the file. Only a blocked
one that waits (autoStart) changes later: once its
blockers clear it is decided again as at the first start, so
state becomes started with attempt (or invalid, should
the machine no longer accept it); and a person who takes the
draft over ends the wait. A later draft or install is the
person’s.
object
started: it validated and the service started install
attempt attempt with no install code (at once, or once its
blockers cleared); follow it like any install. invalid: it
did not validate (errors), so nothing started; it is the
draft, to fix and install. blocked: it validated, but
blockers refused the install, so nothing started; it is the
draft. While autoStart is true it starts by itself once
they clear; otherwise a person installs it.
blocked only. True while the install still starts by itself
once the blockers clear: nobody has changed the draft or
started an install since the file was taken. A PUT of the
config or a started install hands the draft to the person and
turns this off for good. Absent otherwise.
Where stage 1 found it, e.g. node.yaml on the partition labeled STRATUM. Empty when the node’s install record does not say.
When the service took it.
The install attempt it started (started only).
Why it did not validate (invalid only), by node.yaml key.
object
The structured field (network.floatingIpCidrs[1]); empty for the whole config. For a raw YAML draft, the node.yaml key.
Example
{ "phase": "configuring", "mode": "single-node", "unattended": { "state": "started" }}No install code, or the wrong one.
RFC 7807 problem details, the control plane’s shape.
object
Field errors, for INVALID_CONFIG.
object
The structured field (network.floatingIpCidrs[1]); empty for the whole config. For a raw YAML draft, the node.yaml key.
Example generated
{ "type": "example", "title": "example", "status": 1, "detail": "example", "code": "example", "requestId": "example", "errors": [ { "field": "example", "message": "example" } ]}Too many wrong install codes; wait for Retry-After.
RFC 7807 problem details, the control plane’s shape.
object
Field errors, for INVALID_CONFIG.
object
The structured field (network.floatingIpCidrs[1]); empty for the whole config. For a raw YAML draft, the node.yaml key.
Example generated
{ "type": "example", "title": "example", "status": 1, "detail": "example", "code": "example", "requestId": "example", "errors": [ { "field": "example", "message": "example" } ]}Headers
Section titled “Headers”Seconds until the next attempt is considered.
The installer failed to answer.
RFC 7807 problem details, the control plane’s shape.
object
Field errors, for INVALID_CONFIG.
object
The structured field (network.floatingIpCidrs[1]); empty for the whole config. For a raw YAML draft, the node.yaml key.
Example generated
{ "type": "example", "title": "example", "status": 1, "detail": "example", "code": "example", "requestId": "example", "errors": [ { "field": "example", "message": "example" } ]}