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.