Easier centos and windows image selection

Juju 2.8 will make it much easier to configure Juju to use centos and windows images on clouds like AWS or Openstack which use simplstreams metadata to catalog the available images. This feature will be in 2.8-rc1 or the 2.8-rc1+develop-8c74d2a53a edge snap before that.

Quick Intro

There’s 3 basic commands:

juju metadata add-image
juju metadata delete-image
juju metadata list-images

In its simplest form, add-image is used to register an image id for a specified series. Other attributes from simplestreams metadata are also available to use. See juju help metadata add-image.

So, say we want to run a centos7 workload in AWS (you’ve already got a running controller). First, make sure you’ve subscribed to centos images using the AWS console. Note the AMI you want to use for your region. Simply

juju metadata add-image --series centos7 <ami>

After that, you can add a centos7 machine

juju add-machine --series centos7

or deploy a centos7 charm

juju deploy mycharm --series centos7

As well as centos7, supported Windows series include win2019, win2016, win2016nano etc.

On clouds like Openstack, where out of the box simplestreams metadata even for Ubuntu images may not always be readily available, you can also add Ubuntu image metadata this way. To bootstrap, you’ll need to use the --bootstrap-image argument, along with --bootstrap-series and bootstrap-constraints to specify series and arch respectively. Once bootstrapped, that instance id will be used for any subsequent machines with the same series.


Thanks to @erik-lonroth for pushing so hard on this feature. This won’t solve all issues that you’ve encountered, but should be a significant improvement.


Awesome! This will help testing alot!

@martin-hilton will the AWS controller be possible to add in to jimm after this?

@timClicks is there any documentation/feature coming how to add and deploy centos to vsphere yet?

No, not yet. I will spend some time looking into this once Juju 2.8.0 is released.