Reported status - cloud-init 25.1.2 documentation (original) (raw)
Toggle table of contents sidebar
When interacting with cloud-init, it may be useful to know whether cloud-init has run, or is currently running. Since cloud-init consists of several different stages, interacting directly with your init system might yield different reported results than one might expect, unless one has intimate knowledge of cloud-init’s boot stages.
Cloud-init status¶
To simplify this, cloud-init provides a tool, cloud-init status
to report the current status of cloud-init.
$ cloud-init status "done"
Cloud-init’s extended status¶
Cloud-init is also capable of reporting when cloud-init has not been able to complete the tasks described in a user configuration. If cloud-init has experienced issues while running, the extended status will include the word “degraded” in its status.
Cloud-init can report its internal state via the status --format json
subcommand under the extended_status
key.
$ cloud-init status --format json { "boot_status_code": "enabled-by-generator", "datasource": "lxd", "detail": "DataSourceLXD", "errors": [], "extended_status": "degraded done", "init": { "errors": [], "finished": 1708550839.1837437, "recoverable_errors": {}, "start": 1708550838.6881146 }, "init-local": { "errors": [], "finished": 1708550838.0196638, "recoverable_errors": {}, "start": 1708550837.7719762 }, "last_update": "Wed, 21 Feb 2024 21:27:24 +0000", "modules-config": { "errors": [], "finished": 1708550843.8297973, "recoverable_errors": { "WARNING": [ "Removing /etc/apt/sources.list to favor deb822 source format" ] }, "start": 1708550843.7163966 }, "modules-final": { "errors": [], "finished": 1708550844.0884337, "recoverable_errors": {}, "start": 1708550844.029698 }, "recoverable_errors": { "WARNING": [ "Removing /etc/apt/sources.list to favor deb822 source format" ] }, "stage": null, "status": "done" }
See the list of all possible reported statuses:
"not started" "running" "done" "error - done" "error - running" "degraded done" "degraded running" "disabled"
Cloud-init enablement status¶
Separately from the current running status described above, cloud-init can also report how it was disabled or enabled. This can be viewed by checking the boot_status_code in cloud-init status --long
, which may contain any of the following states:
'unknown'
:ds-identify
has not run yet to determine if cloud-init should be run during this boot'disabled-by-marker-file'
:/etc/cloud/cloud-init.disabled
exists which prevents cloud-init from ever running'disabled-by-generator'
:ds-identify
determined no applicable cloud-init datasources'disabled-by-kernel-command-line'
: kernel command line contained cloud-init=disabled'disabled-by-environment-variable'
: environment variableKERNEL_CMDLINE
containedcloud-init=disabled
'enabled-by-kernel-command-line'
: kernel command line contained cloud-init=enabled'enabled-by-generator'
:ds-identify
detected possible cloud-init datasources'enabled-by-sysvinit'
: enabled by default in SysV init environment
See our explanation of failure states for more information.