Nova Cloud Controller

  • By OpenStack Charmers
  • Cloud
Channel Version Revision Published Runs on
latest/stable 566 566 09 Feb 2022
Ubuntu 21.10 Ubuntu 21.04 Ubuntu 20.10 Ubuntu 20.04 Ubuntu 18.04 Ubuntu 16.04
latest/candidate 563 563 18 Oct 2021
Ubuntu 21.10 Ubuntu 21.04 Ubuntu 20.10 Ubuntu 20.04 Ubuntu 18.04 Ubuntu 16.04
latest/edge 600 600 22 Apr 2022
Ubuntu 22.04 Ubuntu 20.04
yoga/stable 601 601 05 May 2022
Ubuntu 22.04 Ubuntu 20.04
yoga/candidate 601 601 27 Apr 2022
Ubuntu 22.04 Ubuntu 20.04
yoga/edge 601 601 26 Apr 2022
Ubuntu 22.04 Ubuntu 20.04
xena/edge 589 589 24 Mar 2022
Ubuntu 20.04
wallaby/edge a507992 579 25 Feb 2022
Ubuntu 20.04
victoria/edge a507992 579 25 Feb 2022
Ubuntu 20.04
ussuri/edge 566 566 04 Mar 2022
Ubuntu 21.10 Ubuntu 21.04 Ubuntu 20.10 Ubuntu 20.04 Ubuntu 18.04 Ubuntu 16.04
train/edge a507992 580 25 Feb 2022
Ubuntu 20.04
stein/edge a507992 580 25 Feb 2022
Ubuntu 20.04
rocky/edge a507992 580 25 Feb 2022
Ubuntu 20.04
queens/edge a507992 581 25 Feb 2022
Ubuntu 20.04
juju deploy nova-cloud-controller
Show information

Platform:

Ubuntu
21.10 21.04 20.10 20.04 18.04 16.04
Ubuntu
22.04 20.04

Charm libraries

Libraries are a mechanism for charm authors to easily share and reuse logic. This is very useful for the development of charms given the two‐sided nature of integrations because a given interface type needs logic on the providing side and on the required side, and it’s easier for the same person to be responsible for both.

Inside the charm there is a specific directory, under which there are subdirectories named as:

$CHARMDIR/lib/charms/<charm>/v<API>/<libname>.py

$CHARMDIR is the project’s root (contains src/, hooks/, etc), and the <charm> placeholder represents the charm responsible for the library named as <libname>.py with API version <API>. So, as a more concrete example:

$CHARMDIR/lib/charms/mysql/v3/db.py

In this case, the author of charm mysql is making available the library db with major version 3. This file may be used both by the author and by any other charm authors that are interested in the offered functionality.

Fetching libraries

The management of libraries is done through the Charmcraft tool. This includes creating, publishing and fetching a library.

The fetch-lib command will download the most recent version of the library specified via the provided import path. If the library already exists on disk, it will be updated.

$ charmcraft fetch-lib charms.mysql.v3.foo
Library charms.mysql.v3.foo version 3.4 downloaded.

$ charmcraft fetch-lib charms.foobar.v2.plugin
Library charms.foobar.v2.plugin updated to version 2.7.

$ charmcraft fetch-lib charms.foobar.v3.metrics
Library charms.mysql.v3.metris was already up to date in version 3.2.

If no library name is provided, all libraries already under lib/charms/ will be updated to the most recent version available in the store, if possible, indicating what happened in each case:

$ charmcraft fetch-lib
Library charms.foobar.v2.plugin updated to version 2.7.
Library charms.mysql.v3.metris was already up to date in version 3.2.

Learn how to create publish your charm’s libraries

Libraries facilitate other charms effectively integrating with your charm. Visit our documentation if you’d like to learn how to create and publish libraries.