Prune fetched releases.
curl --request POST \ --url https://stratum.example.com/v1/admin/upgrades/prune \ --header 'Authorization: Bearer <token>' \ --header 'Content-Type: application/json' \ --data '{ "dryRun": false }'Removes, on every node, the fetched releases the cluster no longer needs
(see UpgradePrune for what is kept). Records the request and returns at
once (202); each node prunes on its next pass. Nodes also prune by
themselves after an upgrade ends done. With dryRun it only reports
(200). Refused (409 UpgradeInProgress) while an upgrade is in progress,
and (409 PruneRefused) while the release the cluster runs is not known.
Install-scope; gates on upgrade:PruneReleases, a dry run on
upgrade:DescribeUpgrade.
Authorizations
Section titled “Authorizations”Request Body
Section titled “Request Body”object
Report what would be removed, and remove nothing.
Responses
Section titled “Responses”What pruning would keep and remove (dry run).
What pruning keeps and removes on each node. Every node keeps the release the cluster runs, the one before it (what a rollback returns to), after a failed upgrade that upgrade’s release, and the release the node was installed with. Everything else under /var/lib/stratum/upgrade goes; the images only those releases pin go on the image reaper’s next pass. Each node’s part is computed from what the node last reported.
object
When the request was recorded; null on a dry run.
The releases every node keeps.
object
object
When the node reported what it stores; null when it has not.
object
Why it is kept; absent for a release that is removed.
object
Why it is kept; absent for a release that is removed.
A directory under /var/lib/stratum/upgrade.
object
What removing frees on this node.
What removing frees on every node together.
Example
{ "keep": [ { "reason": "running" } ], "nodes": [ { "keep": [ { "reason": "running" } ], "delete": [ { "reason": "running" } ], "leftovers": [ { "path": "os/3f1c0d77" } ] } ]}Recorded.
What pruning keeps and removes on each node. Every node keeps the release the cluster runs, the one before it (what a rollback returns to), after a failed upgrade that upgrade’s release, and the release the node was installed with. Everything else under /var/lib/stratum/upgrade goes; the images only those releases pin go on the image reaper’s next pass. Each node’s part is computed from what the node last reported.
object
When the request was recorded; null on a dry run.
The releases every node keeps.
object
object
When the node reported what it stores; null when it has not.
object
Why it is kept; absent for a release that is removed.
object
Why it is kept; absent for a release that is removed.
A directory under /var/lib/stratum/upgrade.
object
What removing frees on this node.
What removing frees on every node together.
Example
{ "keep": [ { "reason": "running" } ], "nodes": [ { "keep": [ { "reason": "running" } ], "delete": [ { "reason": "running" } ], "leftovers": [ { "path": "os/3f1c0d77" } ] } ]}Bad request.
object
The findings of a rejected IAM policy document (custom and resource policies).
One finding of a rejected IAM policy document. A rejection lists every finding, so the author fixes the document in one round trip.
object
The finding, e.g. INVALID_DOCUMENT, UNKNOWN_ACTION, ACTION_NOT_APPLICABLE.
Index of the statement at fault; -1 for the document as a whole.
The offending action, where one is at fault (ACTION_NOT_APPLICABLE).
Field errors, for codes that carry them: each problem at its field
(see FieldError). Documented on the responses that set it, e.g.
approveNodeJoin’s INVALID_INPUT and JOIN_APPROVAL_REFUSED.
Absent otherwise.
One field’s problem, the stage-2 installer API’s shape.
field is the field’s path, message what is wrong with it.
object
The field’s path, e.g. links[0].interface, disks[1].confirm,
mgmt.address or role; empty for the whole request.
Structured facts about the refusal, for codes that carry them. The
shape is fixed per code and documented on the response that answers
it, e.g. IMAGE_POOL_MISMATCH (see ImagePoolMismatchDetails) and
IMAGE_IN_USE. Absent for codes that carry none.
object
Example
{ "issues": [ { "code": "ACTION_NOT_APPLICABLE", "action": "compute:CreateVpc" } ]}Authenticated but not authorized.
object
The findings of a rejected IAM policy document (custom and resource policies).
One finding of a rejected IAM policy document. A rejection lists every finding, so the author fixes the document in one round trip.
object
The finding, e.g. INVALID_DOCUMENT, UNKNOWN_ACTION, ACTION_NOT_APPLICABLE.
Index of the statement at fault; -1 for the document as a whole.
The offending action, where one is at fault (ACTION_NOT_APPLICABLE).
Field errors, for codes that carry them: each problem at its field
(see FieldError). Documented on the responses that set it, e.g.
approveNodeJoin’s INVALID_INPUT and JOIN_APPROVAL_REFUSED.
Absent otherwise.
One field’s problem, the stage-2 installer API’s shape.
field is the field’s path, message what is wrong with it.
object
The field’s path, e.g. links[0].interface, disks[1].confirm,
mgmt.address or role; empty for the whole request.
Structured facts about the refusal, for codes that carry them. The
shape is fixed per code and documented on the response that answers
it, e.g. IMAGE_POOL_MISMATCH (see ImagePoolMismatchDetails) and
IMAGE_IN_USE. Absent for codes that carry none.
object
Example
{ "issues": [ { "code": "ACTION_NOT_APPLICABLE", "action": "compute:CreateVpc" } ]}Conflicting state.
object
The findings of a rejected IAM policy document (custom and resource policies).
One finding of a rejected IAM policy document. A rejection lists every finding, so the author fixes the document in one round trip.
object
The finding, e.g. INVALID_DOCUMENT, UNKNOWN_ACTION, ACTION_NOT_APPLICABLE.
Index of the statement at fault; -1 for the document as a whole.
The offending action, where one is at fault (ACTION_NOT_APPLICABLE).
Field errors, for codes that carry them: each problem at its field
(see FieldError). Documented on the responses that set it, e.g.
approveNodeJoin’s INVALID_INPUT and JOIN_APPROVAL_REFUSED.
Absent otherwise.
One field’s problem, the stage-2 installer API’s shape.
field is the field’s path, message what is wrong with it.
object
The field’s path, e.g. links[0].interface, disks[1].confirm,
mgmt.address or role; empty for the whole request.
Structured facts about the refusal, for codes that carry them. The
shape is fixed per code and documented on the response that answers
it, e.g. IMAGE_POOL_MISMATCH (see ImagePoolMismatchDetails) and
IMAGE_IN_USE. Absent for codes that carry none.
object
Example
{ "issues": [ { "code": "ACTION_NOT_APPLICABLE", "action": "compute:CreateVpc" } ]}Upstream temporarily unavailable (driver / scheduler / dependency).
object
The findings of a rejected IAM policy document (custom and resource policies).
One finding of a rejected IAM policy document. A rejection lists every finding, so the author fixes the document in one round trip.
object
The finding, e.g. INVALID_DOCUMENT, UNKNOWN_ACTION, ACTION_NOT_APPLICABLE.
Index of the statement at fault; -1 for the document as a whole.
The offending action, where one is at fault (ACTION_NOT_APPLICABLE).
Field errors, for codes that carry them: each problem at its field
(see FieldError). Documented on the responses that set it, e.g.
approveNodeJoin’s INVALID_INPUT and JOIN_APPROVAL_REFUSED.
Absent otherwise.
One field’s problem, the stage-2 installer API’s shape.
field is the field’s path, message what is wrong with it.
object
The field’s path, e.g. links[0].interface, disks[1].confirm,
mgmt.address or role; empty for the whole request.
Structured facts about the refusal, for codes that carry them. The
shape is fixed per code and documented on the response that answers
it, e.g. IMAGE_POOL_MISMATCH (see ImagePoolMismatchDetails) and
IMAGE_IN_USE. Absent for codes that carry none.
object
Example
{ "issues": [ { "code": "ACTION_NOT_APPLICABLE", "action": "compute:CreateVpc" } ]}