OpenStack charms and bundles

This page includes charm and bundle information that is specific to the OpenStack Charms project.

Documentation

The documentation of every OpenStack charm and bundle is provided in its repository README file. For instance, see the keystone charm README.

Support

The OpenStack charms support both multiple OpenStack versions and multiple Ubuntu releases. The currently supported combinations of OpenStack and Ubuntu are listed on the Ubuntu Cloud Archive wiki page.

The full list of supported charms is given on the Charms page in this guide.

Charm Store namespaces

The OpenStack charms and bundles are available through the online Charm Store. The promulgated (stable) namespace is openstack-charmers and the development namespace is openstack-charmers-next. Follow those links to view the charms and bundles available in the Store.

There are therefore two Charm Store namespaces to deploy from. Note that the promulgated namespace is the default namespace:

  • stable charm: cs:<charm or bundle>

  • development charm: cs:~openstack-charmers-next/<charm or bundle>

Note

The cs: portion of a charm or bundle URL means “charm store”.

Deploying a charm

Here are the deployment commands for both the stable and development keystone charm on Focal (the cs: can be omitted for the promulgated namespace):

juju deploy --series focal keystone
juju deploy --series focal cs:~openstack-charmers-next/keystone

Tip

The series specification is not needed if the Juju model has a default series configured.

Deploying a bundle

Charm bundles can also be deployed directly from the Charm Store:

juju deploy ceph-base

Note

Only the (stable) promulgated bundles should be deployed from the Store as the development bundles in the Store are not always updated.

Working with bundles

Generally, due to their inherent complexity, OpenStack bundles are downloaded for viewing prior to deployment. They are then either edited locally or used in conjunction with an overlay bundle. The easiest way to access the OpenStack bundles locally is to clone the openstack-bundles repository:

git clone https://github.com/openstack-charmers/openstack-bundles

The stable bundles are found under the stable directory. Overlay bundles are also available (e.g. stable/overlays).

A bundle can use the same above Store namespaces for the charms contained within it. The below bundle (bundle.yaml) deploys, on Focal, Keystone and a cloud database and then adds the necessary relations. Only the keystone charm is using a development version.

series: focal

machines:

  '0':
  '1':
  '2':
  '3':

applications:

  mysql-innodb-cluster:
    charm: cs:mysql-innodb-cluster
    num_units: 3
    to:
    - lxd:0
    - lxd:1
    - lxd:2

  keystone-mysql-router:
    charm: cs:mysql-router

  keystone:
    charm: cs:~openstack-charmers-next/keystone
    num_units: 1
    to:
    - lxd:3

relations:

- - keystone-mysql-router:db-router
  - mysql-innodb-cluster:db-router
- - keystone-mysql-router:shared-db
  - keystone:shared-db

Important

In a bundle, a charm’s URL must include the cs: portion.

Here is a simple bundle deployment command:

juju deploy ./bundle.yaml