Juju Charm - Glance Simplestreams Sync
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
Chris MacNaughton 025595cb2b
Update series metadata
4 days ago
actions Update tox, requirements, add initial func tests framework 1 year ago
charmhelpers Sync charm-helpers 1 month ago
hooks Merge "Migrate charm to Python3" 6 months ago
lib Update tox, requirements, add initial func tests framework 1 year ago
scripts Fix sourcing of proxy related environment variables 6 months ago
templates Add ssl_ca option to enable to gss 7 months ago
tests Sync charm-helpers 1 month ago
unit_tests Migrate charm to Python3 6 months ago
.gitignore Update series metadata, test combos and readme 1 year ago
.gitreview OpenDev Migration Patch 4 months ago
.stestr.conf Replace ostestr with stestr in testing framework. 5 months ago
.zuul.yaml Add Python 3 Train unit tests 2 weeks ago
LICENSE Relicense to Apache2 1 year ago
Makefile Tests dir no longer need copy of charmhelpers 10 months ago
README.md Add ssl_ca option to enable to gss 7 months ago
charm-helpers-hooks.yaml Sync charm helpers and enable rocky func test 5 months ago
config.yaml Add ssl_ca option to enable to gss 7 months ago
copyright Update copyright date 1 year ago
metadata.yaml Update series metadata 16 hours ago
requirements.txt Update requirements 10 months ago
setup.cfg Initial baseline from bzr 2 years ago
test-requirements.txt Replace ostestr with stestr in testing framework. 5 months ago
tox.ini Merge "Add Python 3 Train unit tests" 6 days ago


Known Issues



This charm provides a service that syncs your OpenStack cloud’s available OS images in OpenStack Glance with the available images from a set of simplestreams mirrors, by default using cloud-images.ubuntu.com.

It will create a user named ‘image-stream’ in the ‘services’ tenant. If swift is enabled, glance will store its images in swift using the image-stream username.

It can optionally also store simplestreams metadata into Swift for future use by juju. If enabled, it publishes the URL for that metadata as the endpoints of a new OpenStack service called ‘product-streams’. If using Swift is not enabled, the product-streams service will still exist, but nothing will respond to requests to its endpoints.

The charm installs a cron job that repeatedly checks the status of related services and begins syncing image data from your configured mirrors as soon as all services are in place.

It can be deployed at any time, and upon deploy (or changing the ‘run’ config setting), it will attempt to contact keystone and glance and start a sync every minute until a successful sync occurs.


This charm requires a relation to keystone. It also requires a running glance instance, but not a direct relation to glance. It connects to glance via its endpoint as published in keystone.


juju deploy glance-simplestreams-sync [--config optional-config.yaml]
juju add-relation keystone glance-simplestreams-sync


The charm has the following configuration variables:


run is a boolean that enables or disables the sync cron script. It is True by default, and changing it from False to True will schedule an immediate attempt to sync images.


use_swift is a boolean that determines whether or not to store data in swift and publish the path to product metadata via the ‘product-streams’ endpoint.

NOTE Changing the value will only affect the next sync, and does not currently remove an existing product-streams service or delete potentially stale product data.


frequency is a string, and must be one of ‘hourly’, ‘daily’, ‘weekly’. It controls how often the sync cron job is run - it is used to link the script into /etc/cron.$frequency.


region is the OpenStack region in which the product-streams endpoint will be created.


mirror_list is a yaml-formatted list of options to be passed to Simplestreams. It defaults to settings for downloading images from cloud-images.ubuntu.com, and is not yet tested with other mirror locations. If you have set up your own Simplestreams mirror, you should be able to set the necessary configuration values.


This is used, optionally, to verify the certificates when in ssl mode for keystone and glance. This should be provided as a base64 encoded PEM certificate.