Chapter 2. Software
The Red Hat OpenStack Platform IaaS cloud is implemented as a collection of interacting services that control compute, storage, and networking resources. The cloud can be managed with a web-based dashboard or command-line clients, which allow administrators to control, provision, and automate OpenStack resources. OpenStack also has an extensive API, which is also available to all cloud users.
The following diagram provides a high-level overview of the OpenStack core services and their relationship with each other.
The following table describes each component shown in the diagram and provides links for the component documentation section.
Service | Code | Description | |
---|---|---|---|
| horizon | Web browser-based dashboard that you use to manage OpenStack services. | |
| keystone | Centralized service for authentication and authorization of OpenStack services and for managing users, projects, and roles. | |
| neutron | Provides connectivity between the interfaces of OpenStack services. | |
| cinder | Manages persistent block storage volumes for virtual machines. | |
| nova | Manages and provisions virtual machines running on hypervisor nodes. | |
| glance | Registry service that you use to store resources such as virtual machine images and volume snapshots. | |
| swift | Allows users to store and retrieve files and arbitrary data. | |
| ceilometer | Provides measurements of cloud resources. | |
| heat | Template-based orchestration engine that supports automatic creation of resource stacks. |
Each OpenStack service contains a functional group of Linux services and other components. For example, the glance-api and glance-registry Linux services, together with a MariaDB database, implement the Image service.
2.1. Components
This section describes each of the OpenStack components in some detail:
OpenStack Dashboard (horizon)
OpenStack Dashboard provides a graphical user interface for users and administrators to perform operations such as creating and launching instances, managing networking, and setting access control.
The Dashboard service provides the Project, Admin, and Settings default dashboards. The modular design enables the dashboard to interface with other products such as billing, monitoring, and additional management tools.
OpenStack Identity (keystone)
OpenStack Identity provides user authentication and authorization to all OpenStack components. Identity supports multiple authentication mechanisms, including user name and password credentials, token-based systems, and AWS-style log-ins.
OpenStack Networking (neutron)
OpenStack Networking handles creation and management of a virtual networking infrastructure in the OpenStack cloud. Infrastructure elements include networks, subnets, and routers. You can also deploy advanced services such as firewalls or virtual private networks (VPN).
OpenStack Block Storage (cinder)
OpenStack Block Storage provides persistent block storage management for virtual hard drives. Block Storage enables the user to create and delete block devices, and to manage attachment of block devices to servers.
OpenStack Compute (nova)
OpenStack Compute serves as the core of the OpenStack cloud by providing virtual machines on demand. Compute schedules virtual machines to run on a set of nodes by defining drivers that interact with underlying virtualization mechanisms, and by exposing the functionality to the other OpenStack components.
OpenStack Image Service (glance)
OpenStack Image acts as a registry for virtual disk images. Users can add new images or take a snapshot of an existing server for immediate storage. You can use the snapshots for backup or as templates for new servers.
OpenStack Object Storage (swift)
Object Storage provides an HTTP-accessible storage system for large amounts of data, including static entities such as videos, images, email messages, files, or VM images. Objects are stored as binaries on the underlying file system along with metadata stored in the extended attributes of each file.
OpenStack Telemetry (ceilometer)
OpenStack Telemetry provides user-level usage data for OpenStack-based clouds. The data can be used for customer billing, system monitoring, or alerts. Telemetry can collect data from notifications sent by existing OpenStack components such as Compute usage events, or by polling OpenStack infrastructure resources such as libvirt.
OpenStack Orchestration (heat)
OpenStack Orchestration provides templates to create and manage cloud resources such as storage, networking, instances, or applications. Templates are used to create stacks, which are collections of resources.
OpenStack Data Processing (sahara)
OpenStack Data Processing enables the provisioning and management of Hadoop clusters on OpenStack. Hadoop stores and analyze large amounts of unstructured and structured data in clusters.
OpenStack Bare Metal Provisioning (ironic)
OpenStack Bare Metal Provisioning enables the user to provision physical, or bare metal machines, for a variety of hardware vendors with hardware-specific drivers. Bare Metal Provisioning integrates with the Compute service to provision the bare metal machines in the same way that virtual machines are provisioned, and provides a solution for the bare-metal-to-trusted-tenant use case.
OpenStack Shared-Filesystems-as-a-Service (manila)
OpenStack Shared-Filesystems-as-a-Service provides shared file systems that Compute instances can use. The basic resources offered by the Shared File Systems are shares, snapshots and share networks.
OpenStack DNS-as-a-Service (designate)
NoteThis feature is available in this release as a Technology Preview, and therefore is not fully supported by Red Hat. It should only be used for testing, and should not be deployed in a production environment. For more information about Technology Preview features, see the Scope of Coverage Details.
DNSaaS includes a REST API for domain and record management, is multi-tenanted, and integrates with OpenStack Identity Service (keystone) for authentication. DNSaaS includes a framework for integration with Compute (nova) and OpenStack Networking (neutron) notifications, allowing auto-generated DNS records. In addition, DNSaaS includes integration support for PowerDNS and Bind9.
OpenStack Key Manager Service (barbican)
NoteThis feature is available in this release as a Technology Preview, and therefore is not fully supported by Red Hat. It should only be used for testing, and should not be deployed in a production environment. For more information about Technology Preview features, see the Scope of Coverage Details.
OpenStack Key Manager Service is a REST API designed for the secure storage, provisioning and management of secrets such as passwords, encryption keys and X.509 Certificates. This includes keying material such as Symmetric Keys, Asymmetric Keys, Certificates and raw binary data.
Red Hat OpenStack Platform Director
The Red Hat OpenStack Platform director is a toolset for installing and managing a complete OpenStack environment. It is based primarily on the OpenStack project TripleO, which is an abbreviation for "OpenStack-On-OpenStack". This project takes advantage of OpenStack components to install a fully operational OpenStack environment; this includes new OpenStack components that provision and control bare metal systems to use as OpenStack nodes. This provides a simple method for installing a complete Red Hat OpenStack Platform environment that is both lean and robust. The Red Hat OpenStack Platform director uses two main concepts: an Undercloud and an Overcloud. The Undercloud installs and configures the Overcloud.
OpenStack High Availability
To keep your OpenStack environment up and running efficiently, Red Hat OpenStack Platform Director lets you create configurations that offer high availability and load balancing across all major services in OpenStack.
OpenStack Operational Tools
Red Hat OpenStack Platform comes with an optional suite of tools, such as, Centralized Logging, Availability Monitoring, and Performance Monitoring, that are designed to help you maintain your OpenStack environment.
For more details on each of these components, see Architecture Guide.
2.2. Integration
You can integrate Red Hat OpenStack Platform with the following Third-Party software - Tested and Approved Software
2.3. Installation Summary
Red Hat supports the installation of Red Hat OpenStack Platform using the following methods:
Using the Red Hat OpenStack Platform director: Recommended for Enterprise deployments. The Red Hat OpenStack Platform director is a toolset for installing and managing a complete OpenStack environment. It is based primarily on the OpenStack project TripleO, which is an abbreviation for "OpenStack-On-OpenStack". This project takes advantage of OpenStack components to install a fully operational OpenStack environment; this includes new OpenStack components that provision and control bare metal systems to use as OpenStack nodes. This provides a simple method for installing a complete Red Hat OpenStack Platform environment that is both lean and robust.
The Red Hat OpenStack Platform director uses two main concepts: an Undercloud and an Overcloud. The Undercloud installs and configures the Overcloud. For more information, see Red Hat OpenStack Platform Director Installation and Usage.
- Using manual installation steps: This document provides a reference for how components in a Red Hat OpenStack Platform environment are installed and configured. Red Hat recommends this method for learning purposes. For more information, see Manual Installation Procedures.
Using packstack: OpenStack deployment consists of a public network and a private network on one machine, hosting one CirrOS-image instance, with an attached storage volume. Installed OpenStack services include: Block Storage, Compute, Dashboard, Identity, Image, OpenStack Networking, Object Storage, and Telemetry. Packstack is a command-line utility that rapidly deploys OpenStack.
NotePackstack deployments are intended only for POC-type testing environments, and are not suitable for production. By default, the public network is only routable from the OpenStack host.
For more information, see Evaluating OpenStack: Single-Node Deployment
See Installing and Managing Red Hat OpenStack Platform for a comparison of these installation options.
2.4. Subscriptions
To install Red Hat OpenStack Platform, you must register all systems in the OpenStack environment with Red Hat Subscription Manager, and subscribe to the required channels. The guides listed below detail the channels and repositories you must subscribe to before deploying Red Hat OpenStack Platform.
- Requirements for installing using director in the Director Installation and Usage guide.
- Subscribe to the Required Channels in the Manual Installation Procedures guide.
- Requirements for installing a single-node POC deployment