Introduction to the OpenStack Dashboard
An overview of the OpenStack dashboard graphical user interface
This document provides an outline of the options available in the OpenStack dashboard graphical user interface.
Chapter 1. The OpenStack Dashboard
The OpenStack dashboard is a web-based graphical user interface for managing OpenStack services.
To access the browser dashboard, the dashboard service must be installed, and you must know the dashboard host name (or IP) and login password. The dashboard URL is:
Chapter 2. The Admin Tab
The Admin tab provides an interface where administrative users can view usage and manage instances, volumes, flavors, images, projects, users, services, and quotas.
The Admin tab displays in the main window only if you have logged in as a user with administrative privileges.
The following options are available in the Admin tab:
Table 2.1. System Panel
View basic reports.
Use the following tabs to view the following usages:
View the hypervisor summary.
View, create, and edit host aggregates. View the list of availability zones.
View, pause, resume, suspend, migrate, soft or hard reboot, and delete running instances that belong to users of some, but not all, projects. Also, view the log for an instance or access an instance using the console.
View, create, edit, and delete volumes, and volume types.
View, create, edit, view extra specifications for, and delete flavors. Flavors are the virtual hardware templates in OpenStack.
View, create, edit properties for, and delete custom images.
View, create, edit properties for, and delete networks.
View, create, edit properties for, and delete routers.
View allocated floating IP addresses for all projects.
View and edit the default quotas (maximum limits) for resources in the environment.
Import, view, and edit metadata definition namespaces, and associate the metadata definitions with specific resource types.
Contains the following tabs:
2.1. View Allocated Floating IP Addresses
You can use the
Floating IPs panel to view a list of allocated floating IP addresses. This information can also be accessed using the command line:
$ nova list --all-tenants
Chapter 3. The Project Tab
The Project tab provides an interface for viewing and managing the resources of a project. Set a project as active in Identity > Projects to view and manage resources in that project.
The following options are available in the Project tab:
Table 3.1. The Compute Tab
View reports for the project.
View, launch, create a snapshot from, stop, pause, or reboot instances, or connect to them through the console.
Use the following tabs to complete these tasks:
View images, instance snapshots, and volume snapshots created by project users, and any images that are publicly available. Create, edit, and delete images, and launch instances from images and snapshots.
Access & Security
Use the following tabs to complete these tasks:
Table 3.2. The Network Tab
View the interactive topology of the network.
Create and manage public and private networks and subnets.
Create and manage routers.
Create and manage trunks. Requires the
Table 3.3. The Object Store Tab
Create and manage storage containers. A container is a storage compartment for data, and provides a way for you to organize your data. It is similar to the concept of a Linux file directory, but it cannot be nested.
Table 3.4. The Orchestration Tab
Orchestrate multiple composite cloud applications using templates, through both an OpenStack-native REST API and a CloudFormation-compatible Query API.
Chapter 4. The Identity Tab
The Identity tab provides an interface for viewing and managing projects and users.
The following options are available in the Identity tab:
- Projects - View, create, edit, and delete projects/tenants, view project usage, add or remove users as project members, modify quotas, and set an active project.
- Users - View, create, edit, disable, and delete users, and change user passwords. The Users tab displays only if you are logged in as a user with administrative privileges.
For more information on procedures to manage your cloud using the OpenStack Dashboard, see the following guides:
Chapter 5. Customizing the Dashboard
The OpenStack dashboard for Red Hat OpenStack Platform uses a default theme (
RCUE), which is stored inside the
horizon container. You can customize the look and feel of the OpenStack dashboard by adding your own theme to the container image and customizing certain dashboard parameters. This customization allows you to modify the following elements:
- Site colors
- HTML title
- Site branding link
- Help URL
To ensure continued support for modified OpenStack Platform container images, the resulting images must comply with the "Red Hat Container Support Policy".
5.1. Obtaining the horizon container image
You must obtain a copy of the horizon container image. You can pull this image either into the undercloud or a separate client system running
podman. To pull the horizon container image, run the following command:
$ sudo podman pull registry.redhat.io/rhosp-beta/openstack-horizon
You can now use this image as a basis for a modified image.
5.2. Obtaining the RCUE theme
horizon container image is configured to use the Red Hat branded RCUE theme by default. You can use this theme as a basis for your own theme and extract a copy from the container image.
Make a directory for your theme:
$ mkdir ~/horizon-themes $ cd ~/horizon-themes
Start a container that executes a null loop. For example, run the following command:
$ sudo podman run --rm -d --name horizon-temp registry.redhat.io/rhosp-beta/openstack-horizon /usr/bin/sleep infinity
Copy the RCUE theme from the container to your local directory:
$ sudo podman cp -a horizon-temp:/usr/share/openstack-dashboard/openstack_dashboard/themes/rcue .
Kill the container:
$ sudo podman kill horizon-temp
You should now have a local copy of the RCUE theme.
5.3. Creating your own theme based on RCUE
To use RCUE as a basis, copy the entire RCUE theme directory
rcue to a new location, for example
$ cp -r rcue mytheme
To change a theme’s colors, graphics, fonts, among others, edit the files in
mytheme. When editing this theme, check for all instances of
rcue and ensure you change them to the new
mytheme name. This includes paths, files, and directories.
5.4. Creating a file to enable your theme and customize the dashboard
To enable your theme in the dashboard container, you must create a file to override the
AVAILABLE_THEMES parameter. Create a new file called
_12_mytheme_theme.py in the
horizon-themes directory and add the following content:
AVAILABLE_THEMES = [('mytheme', 'My Custom Theme', 'themes/mytheme')]
12 in the file name ensures this file is loaded after the RCUE file, which uses
11, and overrides the
You can also set custom parameters in the
_12_mytheme_theme.py file. For example:
Set the HTML title that appears at the top of the browser window. For example:
SITE_BRANDING = "Example, Inc. Cloud"
Changes the hyperlink of the theme’s logo, which normally redirects to
horizon:user_homeby default. For example:
SITE_BRANDING_LINK = "http://example.com"
5.5. Generating a modified horizon image
Once your custom theme is ready, you can create a new container image that enables and uses your theme. Use a
dockerfile to generate a new container image using the original
horizon image as a basis. The following is an example of a
FROM registry.redhat.io/rhosp-beta/openstack-horizon MAINTAINER Acme LABEL name="rhosp16-rhel8/openstack-horizon-mytheme" vendor="Acme" version="0" release="1" COPY mytheme /usr/share/openstack-dashboard/openstack_dashboard/themes/mytheme COPY _12_mytheme_theme.py /etc/openstack-dashboard/local_settings.d/_12_mytheme_theme.py RUN sudo chown horizon:horizon /etc/openstack-dashboard/local_settings.d/_12_mytheme_theme.py
Save this file in your
horizon-themes directory as
To use the
dockerfile to generate the new image, run the following command:
sudo podman build . -t "192.168.24.1:8787/rhosp16-rhel8/openstack-horizon-mytheme:0-1"
-t option names and tags the resulting image. It uses the following syntax:
- This is usually the location of the container registry that the overcloud eventually pulls uses to pull images. In this instance, you will push this image to the undercloud’s container registry, so set this to the undercloud IP and port.
For consistency, this is usually the same name as the original container image followed by the name of your theme. In this case, it is
The tag for the image. Red Hat uses the
releaselabels as a basis for this tag and it is usually a good idea to follow this convention. If you generate a new version of this image, increment the
Push the resulting image to the undercloud’s container registry:
$ podman push 192.168.24.1:8787/rhosp16-rhel8/openstack-horizon-mytheme:0-1
If updating or upgrading Red Hat OpenStack Platform, you must reapply the theme to the new
horizon image and push a new version of the modified image to the undercloud.
5.6. Using the modified container image in the overcloud
To use the resulting container image with your overcloud deployment, edit the environment file that contains the list of container image locations. This environment file is usually named
DockerHorizonImage parameters to point to your modified container image. For example:
parameter_defaults: ... DockerHorizonConfigImage: 192.0.2.5:8787/rhosp16-rhel8/openstack-horizon-mytheme:0-1 DockerHorizonImage: 192.0.2.5:8787/rhosp16-rhel8/openstack-horizon-mytheme:0-1 ...
Save this new version of the
5.7. Editing puppet parameters
The director provides a set of horizon parameters you can modify using environment files. You can also use the
ExtraConfig hook to set Puppet hieradata. For example, the default help URL points to https://access.redhat.com/documentation/en/red-hat-openstack-platform. You can modify this URL with the following environment file content:
parameter_defaults: ExtraConfig: horizon::help_url: "http://openstack.example.com"
5.8. Deploying an overcloud with a customized Dashboard
To deploy the overcloud with your dashboard customizations, include the following environment files:
- The environment file with your modified container image locations.
- The environment file with additional dashboard modifications.
- Any other environment files relevant to your overcloud’s configuration.
$ openstack overcloud deploy --templates \ -e /home/stack/templates/overcloud-images.yaml \ -e /home/stack/templates/help_url.yaml \ [OTHER OPTIONS]