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?#
Yes, in fact some projects already do. However, cloud-init
does not
currently make any API guarantees to external consumers - current library
users are projects that have close contact with cloud-init
, which is why
this model currently works.
It is worth mentioning for library users that cloud-init
defines a custom
log level. This log level, 35
, is dedicated to logging info
related to deprecation information. Users of cloud-init
as a library
may wish to ensure that this log level doesn’t collide with external
libraries that define their own custom log levels.
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: