Skip to main content

Your submission was sent successfully! Close

Thank you for signing up for our newsletter!
In these regular emails you will find the latest updates from Canonical and upcoming events where you can meet our team.Close

Thank you for contacting us. A member of our team will be in touch shortly. Close

An error occurred while submitting your form. Please try again or file a bug report. Close

  1. Blog
  2. Article

Joshua Powers
on 2 April 2018


This article originally appeared on Joshua Powers’ blog

cloud-init + Multipass

Multipass is a quick and easy way to launch virtual machine instances running Ubuntu. Cloud-init is the standard for customizing cloud instances and now Multipass can also make use of cloud-init to customize an instance during launch.

Below is an example of launching a new VM with cloud-init user-data:

multipass launch -n my-test-vm --cloud-init cloud-config.yaml

user-data Format

Currently Multipass only supports YAML cloud-config files. Passing a script, a MIME archive, or any of the other user-data formats cloud-init supports will result in an error from the YAML syntax validator. Check out the cloud-init docs for examples of YAML cloud-config.

YAML Syntax Validation

Multipass will validate the YAML syntax of the cloud-config file before attempting to start the VM! A nice addition to help save time when experimenting with launching instances with various cloud-configs.

vendor-data

Multipass uses cloud-init to pass in vendor-data to setup the VM for access by the user. If the user overrides any of the required keys (e.g. packages, ssh_authorized_keys, users, etc.) in his or her user-data then Multipass will merge its own data so that the end-user will not lose access to the system.

If interested, a user can examine the executed user-data and vendor-data by looking at the files in /var/lib/cloud/instances/.

Got Questions?

As always, you can chat with the cloud-init developers in #cloud-init on Freenode or email the cloud-init mailing list.

The Multipass team is also on Freenode at #multipass and to view the code and report bugs check them out on GitHub.

Related posts


Bill Wear
10 October 2023

MAAS Outside the Lines

Cloud and server Article

Far from the humdrum of server setups, this is about unusual deployments – Raspberry Pis, loose laptops, cheap NUCs, home appliances, and more. What the heck is stormrider deploying this week? ...


Nathan Hart
15 August 2023

Docker on Mac – a lightweight option with Multipass

Ubuntu Article

For those looking for a streamlined, lightweight command line interface for Docker on Mac, look no further. Multipass is a flexible tool that makes it easy to create and run Ubuntu VMs on any platform, and it comes with built-in tools that make running applications like Docker feel native on platforms such as macOS. What ...


Bill Wear
26 April 2023

No more DHCP(d)

Cloud and server Article

“He’s dead, Jim.”  Dr. McCoy DHCP is dead; long live DHCP. Yes, the end-of-life announcement for ISC DHCP means that the ISC will no longer provide official support or updates for the software. Our ever-faithful, omnipresent friend — the familiar dhcpd daemon — is retiring, albeit over a really long walk to that cabin in the ...