Home > Communication Service Provider Solutions > Telecom Multicloud Foundation > Canonical > Guides > Reference Architecture—Canonical Charmed OpenStack (Ussuri) on Dell EMC Hardware > OpenStack charms
There is a number of charms that are offered by Canonical for composing a production-grade private cloud solution. Below is a list of charms that deploy components of OpenStack by default, however, there are many more that are optional and can be integrated upon request. For the full list of supported OpenStack-related charms, see OpenStack Charm Guide.
This charm provides the Cinder volume service for OpenStack. It is intended to be used alongside the other OpenStack components providing dynamic volumes allocation from the different backends, creating volumes snapshots and allowing to attach the volumes to the virtual machines. Cinder is made up of four separate services:
This charm provides the Glance image service for OpenStack. It is intended to be used alongside the other OpenStack components allowing to store various virtual machines’ images and their snapshots.
Glance may be deployed in a number of ways. This charm focuses on three (3) main configurations. All require the existence of the other core OpenStack services deployed using Juju charms, specifically:
Nova Cloud Controller is the controller node for OpenStack Nova that is responsible for accepting the request, scheduling creation, and providing access to the virtual machines once they are created. It contains:
Console access service (if required) depends on the preferred choice of virtual machines console type, at the moment three different types of a console can be configured using the charm:
Note: The console access protocol is configured into a guest when it is created; if changed - console access for existing guests will stop working.
Placement service has been dedicated to its own project several OpenStack releases ago.
This is a REST API stack and data model used to track resource provider inventories and usages, along with different classes of resources. This allows abstraction from the hypervisor as the capacity and instead introduce different resource classes (memory, disk, cpu), manage their availability and allow precise workloads scheduling.
This charm provides Nova Compute, responsible for configuring backend hypervisor and running and governing Virtual Machines. The target platform is Ubuntu (preferably LTS) + OpenStack.
KVM hypervisor is used as the backend for Nova Compute.
Heat is the main project in the OpenStack Orchestration program. It implements an orchestration engine to launch multiple composite cloud applications based on templates, in the form of yaml files that can be treated like code.
The OpenStack Dashboard provides a Django-based web interface for use by both administrators and users of an OpenStack Cloud. It allows you to manage Nova, Glance, Cinder, Neutron, Heat, and Designate resources within the cloud.
Keystone is an OpenStack project that provides Identity, Token, Catalog, and Policy services for use specifically by projects in the OpenStack family. It implements OpenStack's Identity API.
By default, Keystone uses an in-cloud database for storing users/roles and project assignments, but LDAP-based authentication and an SSO-based authentication can be enabled with the help of subordinate charms.
These charms provide the Telemetry service for OpenStack.
Ceilometer is made up of two separate services:
Ceilometer’s responsibility is to collect metrics of the virtual machines as well as the events and store them in the backend database.
Gnocchi is an open-source, multitenant timeseries, metrics, and resources database that is used as the backend for Ceilometer as well as the target for API queries, allowing to request processed metrics of the virtual machines.
Aodh provides alarming service as part of OpenStack telemetry. It allows you to configure and store alarms definitions based on the metrics collected by Ceilometer. When created, the service makes repetitive calls to the Gnocchi service analyzing current or cumulative metrics. When the alarm is triggered, it perofrms the action that has to be preconfigured.
Designate provides DNSaaS services for OpenStack:
This principle charm provides the OpenStack Neutron API service.
Just like OpenStack Nova provides an API to dynamically request and configure virtual servers, Neutron provides an API to dynamically request and configure virtual networks. These networks connect "interfaces" from other OpenStack services (for example, virtual NICs from Nova VMs).
Starting with OpenStack Ussuri OVN (Open Virtual Network) became a default option of networking backend for Neutron, substituting OVS (Open Virtual Switch).
The neutron-api-plugin-ovn charm is a subordinate charm that augments Neutron's configuration for use with the OVN ML2 driver.
A principal charm that deploys ovn-northd, the OVN central control daemon, and ovsdb-server, the Open vSwitch Database (OVSDB).
The ovn-northd daemon is responsible for translating the high-level OVN configuration into logical configuration consumable by daemons such as ovn-controller.
The ovn-northd process talks to OVN Northbound- and Southbound-databases.
The ovn-chassis charm provides the Open Virtual Network (OVN) local controller, Open vSwitch Database and Switch. It is used with the ovn-central charm. It is deployed onto the OpenStack Compute nodes and allows you to dynamically configure a local instance of OpenVSwitch that is passing and controlling all traffic to and from the virtual machines.