New LXD image server available (images.lxd.canonical.com)

The LXD team is pleased to announce that there is now a new image server available that provides non-Ubuntu server images for both containers and virtual machine instances. As well as Ubuntu desktop images for virtual machines. Right now containers are built for amd64 and arm64 architectures, and VMs for amd64 architecture only.

It is now open for testing.

This new image server remote will be bundled with future versions of LXD starting with LXD 5.21.1.

The new server can be used with existing LXD deployments by adding it as a remote, e.g.

lxc remote add images https://images.lxd.canonical.com --protocol=simplestreams

To see a list of available images run:

lxc image list images:

The default image variants do not include cloud-init, but we are providing /cloud variants where possible that do include cloud-init, e.g.

lxc launch images:alpine/edge/cloud c1

There are also Ubuntu desktop virtual machine images available, e.g.

lxc launch images:ubuntu/jammy/desktop v1 --vm --console=vga

For official Ubuntu server images please use the existing ubuntu: remote.
These always include cloud-init and so there are no /cloud variants on that remote.

Please feel free to try it out and let us know of any issues on our support forums.

Please note: The images provided via this image server are unofficial images, provided as a convenience and for testing purposes. Whenever possible, you should try to use official images from your Linux distribution of choice.

The tool we are using to create the images is called lxd-imagebuilder.

It is based on the original distrobuilder tool, but with restored support for LXD and a new simplestreams index generator program to aid with hosting the images on a web server.

The tool is available as an initial snap package:

sudo snap install lxd-imagebuilder --classic --edge

Documentation: LXD image builder
Source code: lxd-imagebuilder
Recipes: lxd-ci/images at main · canonical/lxd-ci · GitHub

18 Likes

Yay \o/ - this is awesome! Nice work folks :tada:

Looks like the discourse formatting added an additional back-tick at the end of this command that needs to be removed, but otherwise everything is working on my end!

3 Likes

Thank you, thank you, thank you!

I can confirm that images:centos/8-Stream/cloud works

however images:ubuntu/20.04/cloud/amd64 and images:ubuntu/22.04/cloud/amd64 are missing, any plans to (re)introduce them?

2 Likes

Right now we aren’t providing Ubuntu images on this remote so as not to cause confusion with the official ones.

We are planning to add support for Ubuntu desktop images though (as these are not available from the ubuntu remote currently).

2 Likes

OK, but there are no ubuntu cloud images on ubuntu remote, or I can’t find them?

The images on ubuntu: remotes include cloud-init by default so there are no /cloud variants.
Whereas the images from the images: remote don’t include cloud-init by default and so we provide /cloud variants of those that do (where possible).

1 Like

Ubuntu desktop VM images are now available:

lxc image list images: ubuntu
+-------------------------------+--------------+--------+-------------------------------+--------------+-----------------+------------+------------------------------+
|             ALIAS             | FINGERPRINT  | PUBLIC |          DESCRIPTION          | ARCHITECTURE |      TYPE       |    SIZE    |         UPLOAD DATE          |
+-------------------------------+--------------+--------+-------------------------------+--------------+-----------------+------------+------------------------------+
| ubuntu/23.10/desktop (3 more) | 3de8855a662a | yes    | ubuntu  amd64 (20240405_0021) | x86_64       | VIRTUAL-MACHINE | 1080.81MiB | Apr 5, 2024 at 12:00am (UTC) |
+-------------------------------+--------------+--------+-------------------------------+--------------+-----------------+------------+------------------------------+
| ubuntu/focal/desktop (3 more) | 2239b603cdc8 | yes    | ubuntu  amd64 (20240405_0021) | x86_64       | VIRTUAL-MACHINE | 980.98MiB  | Apr 5, 2024 at 12:00am (UTC) |
+-------------------------------+--------------+--------+-------------------------------+--------------+-----------------+------------+------------------------------+
| ubuntu/jammy/desktop (3 more) | 8594d465377e | yes    | ubuntu  amd64 (20240405_0020) | x86_64       | VIRTUAL-MACHINE | 969.14MiB  | Apr 5, 2024 at 12:00am (UTC) |
+-------------------------------+--------------+--------+-------------------------------+--------------+-----------------+------------+------------------------------+

Example usage:

lxc launch images:ubuntu/jammy/desktop v1 --vm --console=vga
1 Like

Hi @tomp, is there any issue with the new LXD image server? I cannot list the images:

$ lxc image ls images:
Error: Failed parsing stream: Get "https://images.lxd.canonical.com/streams/v1/index.json": Unable to connect to: images.lxd.canonical.com:443 ([dial tcp [2620:2d:4000:100c::147]:443: connect: network is unreachable dial tcp 185.125.189.121:443: i/o timeout])

Should be back up now, we’ve opened a ticket with Canonical IS to find out what happened.

1 Like

The tool we are using to create the images is called lxd-imagebuilder.

It is based on the original distrobuilder tool, but with restored support for LXD and a new simplestreams index generator program to aid with hosting the images on a web server.

The tool is available as an initial snap package:

sudo snap install lxd-imagebuilder --classic --edge

Documentation: LXD image builder
Source code: lxd-imagebuilder
Recipes: lxd-ci/images at main · canonical/lxd-ci · GitHub

6 Likes

Oh wow, this is great! Really happy to see this!

1 Like

We are now providing arm64 container images too.

As of the latest LXD 5.0.3 interim snap release the new images remote is now bundled with the lxc CLI in the 5.0/stable snap channel too.

The lxd-imagebuilder tool is now available as an initial snap package too:

sudo snap install lxd-imagebuilder --classic --edge

There is now a new Ubuntu Noble Numbat VM desktop image available:

lxc launch images:ubuntu/noble/desktop v1 --vm --console=vga
1 Like