Skip to content
Docs BETA

Run results, refusal reasons and exit codes

For feature teams and platform teams. This page lists the words that the CLI prints for the result of a plan or an apply, and what each one means. Each table gives the printed word, the word that this documentation uses, and what to do.

Statuses of a run

joomiz runs prints the status of each run. A run has one status.

Printed This documentation says Meaning What to do
running Running The call is still working. Follow it with joomiz runs watch.
accepted Waiting for provisioner The call ended, and a provisioner still works in the background. Wait. runs watch follows it until the provisioners finish.
succeeded Succeeded Every change worked. Nothing.
failed Failed At least one change failed. Read joomiz runs show, and fix the cause.
partially_applied Partly applied Some changes worked and some did not. Check the environment. Fix the failure, and apply again.
refused Not started The control plane stopped the call before any work. A reason follows in parentheses. Read the reason in the next table.
abandoned Abandoned Someone released the apply lock. Work that is already running was not stopped. Check the resources before the next apply.

Statuses of the resources of one type

joomiz runs show lists one line for each group. A group is the resources of one category and one type that a provisioner handles in one call. The word group is used only on this page and where an operator investigates a run.

Printed Meaning
queued The group waits for its turn.
running A provisioner works on the group.
succeeded Every change of the group worked.
failed A change of the group failed, or the group could not start.
skipped A group that this group needs did not succeed, so this one was not tried.
accepted The provisioner will finish later. This documentation says waiting for provisioner.
unknown The control plane stopped waiting before the group finished, for example after the lock was released.

Refusal reasons

A refused call has a reason. The CLI prints it in parentheses after refused, for example refused (stale_plan). This documentation says not started.

Reason What it means What to do
invalid_request The control plane could not read the request. For example, a required parameter is missing. Check the command and its options.
malformed_body The file could not be read as a joomiz.yaml document. Check that the file is valid YAML.
body_too_large The file is bigger than 262144 bytes. Make the file smaller.
unsupported_version The file has a version that the control plane does not know. Write version: 1, or remove the key.
invalid_application_id The id of the application is not a UUID. Use the id that joomiz init wrote.
invalid_submission The file did not pass the checks of the plan. Run joomiz validate, and fix the problems.
application_not_found The application is not registered. Run joomiz register.
not_owner The application belongs to another team. Sign in with the role of the owner team.
forbidden Your role does not allow this call. Check your role.
no_appliable_plan The file was never planned for this environment, or it changed after the plan. Run plan, then apply, with the same file.
unclaimed_resource_type No provisioner handles a type of your file. Tell your platform team the type.
circular_reference The changes need each other's values, so no order works. Remove one reference.
reserved_spec_field A deployment has a setting whose name starts with artifact-, target- or application-. The platform fills in such names itself. Rename the setting.
apply_in_progress Another apply holds the lock for this application and environment. Follow that run, and apply again after it ends.
stale_plan The environment changed after your plan. Plan again, then apply.
server_error The control plane failed before any work. Run the command again. If it fails again, tell your platform team.

Exit codes

Code Meaning Commands
0 The command worked. All
1 The control plane found problems in the file or refused the call. For runs show and runs watch, the run did not end with success. For init, the file exists already. For tooling add, the file is missing or has the entry already. register, validate, plan, apply, runs, audit, init, tooling add
2 The command cannot start: a missing option, a wrong value, an unknown command or no credential. All
3 The control plane gave no usable answer. It was not reachable, or a time limit cut the answer. For login, the identity provider could not be reached or refused the sign-in. register, validate, plan, apply, runs, audit, login
4 The run has no final status yet (running or accepted). runs show
5 The plan succeeded, but its drift check was incomplete. plan --strict

When two codes apply, 3 comes first, then 1, then 5.

Drift words

Printed This documentation says Meaning
changed Different The resource exists, and a setting differs from the record.
absent Missing The resource does not exist any more.
incomplete The drift check is incomplete A provisioner could not answer for some resources. The plan may miss changes.

A resource that a provisioner could not check is never reported as different.

See also