FAQ#
How do I get help?#
Having trouble? We would like to help!
First go through this page with answers to common questions
Use the search bar at the upper left to search our documentation
Ask questions in the
#cloud-init
IRC channel on LiberaJoin and ask questions on the
cloud-init
mailing listFind a bug? Check out the Reporting bugs topic to find out how to report one
Why did cloud-init
never complete?#
To check if cloud-init
is running still, run:
cloud-init status
To wait for cloud-init
to complete, run:
cloud-init status --wait
There are a number of reasons that cloud-init
might never complete. This
list is not exhaustive, but attempts to enumerate potential causes:
External reasons#
Failed dependent services in the boot.
Bugs in the kernel or drivers.
Bugs in external userspace tools that are called by
cloud-init
.
Internal reasons#
A command in
bootcmd
orruncmd
that never completes (e.g., running cloud-init status --wait will wait forever on itself and never complete).Non-standard configurations that disable timeouts or set extremely high values (“never” is used in a loose sense here).
Failing to complete on systemd
#
Cloud-init
consists of multiple services on systemd
. If a service
that cloud-init
depends on stalls, cloud-init
will not continue.
If reporting a bug related to cloud-init
failing to complete on
systemd
, please make sure to include the following logs.
systemd-analyze critical-chain cloud-init.target
journalctl --boot=-1
systemctl --failed
autoinstall
, preruncmd
, postruncmd
#
Since cloud-init
ignores top level user data cloud-config
keys, other
projects such as Juju and Subiquity autoinstaller use a YAML-formatted
config that combines cloud-init
’s user data cloud-config YAML format with
their custom YAML keys. Since cloud-init
ignores unused top level keys,
these combined YAML configurations may be valid cloud-config
files,
however keys such as autoinstall
, preruncmd
, and postruncmd
are
not used by cloud-init
to configure anything.
Please direct bugs and questions about other projects that use cloud-init
to their respective support channels. For Subiquity autoinstaller that is via
IRC (#ubuntu-server
on Libera) or Discourse. For Juju support see their
discourse page.
Can I use cloud-init as a library?#
Please don’t. Some projects do. However, cloud-init
does not
currently make any API guarantees to either external consumers or out-of-tree
datasources / modules. Current users of cloud-init as a library are
projects that have close contact with cloud-init
, which is why this
(fragile) model currently works.
For those that choose to ignore this advice, logging in cloud-init is
configured in cloud-init/cmd/main.py
, and reconfigured in the
cc_rsyslog
module for obvious reasons.
Where can I learn more?#
Below are some videos, blog posts, and white papers about cloud-init
from a
variety of sources.
Videos:
Perfect Proxmox Template with Cloud Image and Cloud Init [proxmox, cloud-init, template]
cloud-init - Building clouds one Linux box at a time (Video)
Blog Posts:
Cloud-init Getting Started [fedora, libvirt, cloud-init]
Build Azure Devops Agents With Linux cloud-init for Dotnet Development [terraform, azure, devops, docker, dotnet, cloud-init]
Cloud-init Getting Started [fedora, libvirt, cloud-init]
Setup Neovim cloud-init Completion [neovim, yaml, Language Server Protocol, jsonschema, cloud-init]
Events:
Whitepapers: