Charmed OpenStack uses Juju’s model-driven approach to building OpenStack clouds. Within the model charms are used to deploy, configure, and operate cloud services, where the charms encapsulate a single application and all the code and know-how it takes to operate it, such as how to combine and work with other related applications or to upgrade it. This tooling allows one to quickly deploy and operate an OpenStack cloud in a predictable and repeatable manner.
A Charmed OpenStack cloud is typically deployed via a charm bundle. A bundle encompasses multiple charms, their configuration options, and various optional elements such as hardware and network constraints. To arrive at a truly customised deployment, while taking advantage of an official base bundle, a secondary (overlay) bundle can be applied to override and fine-tune certain elements of the original bundle.
An alternative install method is with snaps. The MicroStack project uses a snap to install an OpenStack cloud on a single machine or a small cluster. Although not technically Charmed OpenStack, MicroStack is popular in the developer community.
Charm repositories
Each charm’s software repository includes documentation in the form of a README file. See the OpenStack Charms project’s charm repositories. The Charmed OpenStack bundles, along with their own READMEs, are housed in the openstack-bundles repository. Each charm is delivered via the online Charmhub.