Red Hat Training

A Red Hat training course is available for Red Hat OpenStack Platform

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.

OpenStack component relationships

The following table describes each component shown in the diagram and provides links for the component documentation section.

Table 2.1. Core services

 ServiceCodeDescription

One

Dashboard

horizon

Web browser-based dashboard that you use to manage OpenStack services.

Two

Identity

keystone

Centralized service for authentication and authorization of OpenStack services and for managing users, projects, and roles.

Three

OpenStack Networking

neutron

Provides connectivity between the interfaces of OpenStack services.

Three

Load balancing service

octavia

Provides load-balancing services for the cloud.

Four

Block Storage

cinder

Manages persistent block storage volumes for virtual machines.

Five

Compute

nova

Manages and provisions virtual machines running on hypervisor nodes.

Six

Image

glance

Registry service that you use to store resources such as virtual machine images and volume snapshots.

Seven

Object Storage

swift

Allows users to store and retrieve files and arbitrary data.

Eight

Telemetry

ceilometer

Provides measurements of cloud resources.

Nine

Orchestration

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.

  • Load-balancing service (octavia)

    The OpenStack Load-balancing service (octavia) provides a Load Balancing-as-a-Service (LBaaS) implementation for Red Hat OpenStack Platform director installations. To achieve load balancing, octavia supports enabling multiple provider drivers. The reference provider driver (Amphora provider driver) is an open-source, scalable, and highly available load balancing provider. It accomplishes its delivery of load balancing services by managing a fleet of virtual machines—collectively known as amphorae—which it spins up on demand.

  • 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)

    Use OpenStack Bare Metal Provisioning 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-project 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)

    Note

    This 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)

    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.

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 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.

    Note

    Packstack 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.