import the admin guide content from openstack-manuals
Change-Id: Ifd2bb6badc778368ca641cd0889dd2ed19b8cc41 Signed-off-by: Doug Hellmann <doug@doughellmann.com>
This commit is contained in:
parent
58d46bda7f
commit
585974e4c7
59
doc/source/admin/admin-manage-roles.rst
Normal file
59
doc/source/admin/admin-manage-roles.rst
Normal file
@ -0,0 +1,59 @@
|
||||
=======================
|
||||
Create and manage roles
|
||||
=======================
|
||||
|
||||
A role is a personality that a user assumes to perform a specific set
|
||||
of operations. A role includes a set of rights and privileges. A user
|
||||
assumes that role inherits those rights and privileges.
|
||||
|
||||
.. note::
|
||||
|
||||
OpenStack Identity service defines a user's role on a
|
||||
project, but it is completely up to the individual service
|
||||
to define what that role means. This is referred to as the
|
||||
service's policy. To get details about what the privileges
|
||||
for each role are, refer to the ``policy.json`` file
|
||||
available for each service in the
|
||||
``/etc/SERVICE/policy.json`` file. For example, the
|
||||
policy defined for OpenStack Identity service is defined
|
||||
in the ``/etc/keystone/policy.json`` file.
|
||||
|
||||
Create a role
|
||||
~~~~~~~~~~~~~
|
||||
|
||||
#. Log in to the dashboard and select the :guilabel:`admin` project from the
|
||||
drop-down list.
|
||||
#. On the :guilabel:`Identity` tab, click the :guilabel:`Roles` category.
|
||||
#. Click the :guilabel:`Create Role` button.
|
||||
|
||||
In the :guilabel:`Create Role` window, enter a name for the role.
|
||||
#. Click the :guilabel:`Create Role` button to confirm your changes.
|
||||
|
||||
Edit a role
|
||||
~~~~~~~~~~~
|
||||
|
||||
#. Log in to the dashboard and select the :guilabel:`Identity` project from the
|
||||
drop-down list.
|
||||
#. On the :guilabel:`Identity` tab, click the :guilabel:`Roles` category.
|
||||
#. Click the :guilabel:`Edit` button.
|
||||
|
||||
In the :guilabel:`Update Role` window, enter a new name for the role.
|
||||
#. Click the :guilabel:`Update Role` button to confirm your changes.
|
||||
|
||||
.. note::
|
||||
|
||||
Using the dashboard, you can edit only the name assigned to
|
||||
a role.
|
||||
|
||||
Delete a role
|
||||
~~~~~~~~~~~~~
|
||||
|
||||
#. Log in to the dashboard and select the :guilabel:`Identity` project from the
|
||||
drop-down list.
|
||||
#. On the :guilabel:`Identity` tab, click the :guilabel:`Roles` category.
|
||||
#. Select the role you want to delete and click the :guilabel:`Delete
|
||||
Roles` button.
|
||||
#. In the :guilabel:`Confirm Delete Roles` window, click :guilabel:`Delete
|
||||
Roles` to confirm the deletion.
|
||||
|
||||
You cannot undo this action.
|
34
doc/source/admin/admin-manage-stacks.rst
Normal file
34
doc/source/admin/admin-manage-stacks.rst
Normal file
@ -0,0 +1,34 @@
|
||||
============================================
|
||||
Launch and manage stacks using the Dashboard
|
||||
============================================
|
||||
|
||||
The Orchestration service provides a template-based
|
||||
orchestration engine for the OpenStack cloud. Orchestration
|
||||
services create and manage cloud infrastructure
|
||||
resources such as storage, networking, instances, and
|
||||
applications as a repeatable running environment.
|
||||
|
||||
Administrators use templates to create stacks, which are
|
||||
collections of resources. For example, a stack might
|
||||
include instances, floating IPs, volumes,
|
||||
security groups, or users. The Orchestration service
|
||||
offers access to all OpenStack
|
||||
core services via a single modular template, with additional
|
||||
orchestration capabilities such as auto-scaling and basic
|
||||
high availability.
|
||||
|
||||
For information about:
|
||||
|
||||
* administrative tasks on the command-line, see
|
||||
the `OpenStack Administrator Guide
|
||||
<https://docs.openstack.org/admin-guide/cli-admin-manage-stacks.html>`__.
|
||||
|
||||
.. note::
|
||||
|
||||
There are no administration-specific tasks that can be done through
|
||||
the Dashboard.
|
||||
|
||||
* the basic creation and deletion of Orchestration stacks, refer to
|
||||
the `OpenStack End User Guide
|
||||
<https://docs.openstack.org/user-guide/dashboard-stacks.html>`__.
|
||||
|
450
doc/source/admin/customize-configure.rst
Normal file
450
doc/source/admin/customize-configure.rst
Normal file
@ -0,0 +1,450 @@
|
||||
=====================================
|
||||
Customize and configure the Dashboard
|
||||
=====================================
|
||||
|
||||
Once you have the Dashboard installed, you can customize the way
|
||||
it looks and feels to suit the needs of your environment, your
|
||||
project, or your business.
|
||||
|
||||
You can also configure the Dashboard for a secure HTTPS deployment, or
|
||||
an HTTP deployment. The standard OpenStack installation uses a non-encrypted
|
||||
HTTP channel, but you can enable SSL support for the Dashboard.
|
||||
|
||||
For information on configuring HTTPS or HTTP, see :ref:`configure_dashboard`.
|
||||
|
||||
.. This content is out of date as of the Mitaka release, and needs an
|
||||
.. update to reflect the most recent work on themeing - JR -.
|
||||
|
||||
Customize the Dashboard
|
||||
~~~~~~~~~~~~~~~~~~~~~~~
|
||||
|
||||
The OpenStack Dashboard on Ubuntu installs the
|
||||
``openstack-dashboard-ubuntu-theme`` package by default. If you do not
|
||||
want to use this theme, remove it and its dependencies:
|
||||
|
||||
.. code-block:: console
|
||||
|
||||
# apt-get remove --auto-remove openstack-dashboard-ubuntu-theme
|
||||
|
||||
.. note::
|
||||
|
||||
This guide focuses on the ``local_settings.py`` file.
|
||||
|
||||
The following Dashboard content can be customized to suit your needs:
|
||||
|
||||
* Logo
|
||||
* Site colors
|
||||
* HTML title
|
||||
* Logo link
|
||||
* Help URL
|
||||
|
||||
Logo and site colors
|
||||
--------------------
|
||||
|
||||
#. Create two PNG logo files with transparent backgrounds using
|
||||
the following sizes:
|
||||
|
||||
- Login screen: 365 x 50
|
||||
- Logged in banner: 216 x 35
|
||||
|
||||
#. Upload your new images to
|
||||
``/usr/share/openstack-dashboard/openstack_dashboard/static/dashboard/img/``.
|
||||
|
||||
#. Create a CSS style sheet in
|
||||
``/usr/share/openstack-dashboard/openstack_dashboard/static/dashboard/scss/``.
|
||||
|
||||
#. Change the colors and image file names as appropriate. Ensure the
|
||||
relative directory paths are the same. The following example file
|
||||
shows you how to customize your CSS file:
|
||||
|
||||
.. code-block:: css
|
||||
|
||||
/*
|
||||
* New theme colors for dashboard that override the defaults:
|
||||
* dark blue: #355796 / rgb(53, 87, 150)
|
||||
* light blue: #BAD3E1 / rgb(186, 211, 225)
|
||||
*
|
||||
* By Preston Lee <plee@tgen.org>
|
||||
*/
|
||||
h1.brand {
|
||||
background: #355796 repeat-x top left;
|
||||
border-bottom: 2px solid #BAD3E1;
|
||||
}
|
||||
h1.brand a {
|
||||
background: url(../img/my_cloud_logo_small.png) top left no-repeat;
|
||||
}
|
||||
#splash .login {
|
||||
background: #355796 url(../img/my_cloud_logo_medium.png) no-repeat center 35px;
|
||||
}
|
||||
#splash .login .modal-header {
|
||||
border-top: 1px solid #BAD3E1;
|
||||
}
|
||||
.btn-primary {
|
||||
background-image: none !important;
|
||||
background-color: #355796 !important;
|
||||
border: none !important;
|
||||
box-shadow: none;
|
||||
}
|
||||
.btn-primary:hover,
|
||||
.btn-primary:active {
|
||||
border: none;
|
||||
box-shadow: none;
|
||||
background-color: #BAD3E1 !important;
|
||||
text-decoration: none;
|
||||
}
|
||||
|
||||
#. Open the following HTML template in an editor of your choice:
|
||||
|
||||
.. code-block:: console
|
||||
|
||||
/usr/share/openstack-dashboard/openstack_dashboard/templates/_stylesheets.html
|
||||
|
||||
#. Add a line to include your newly created style sheet. For example,
|
||||
``custom.css`` file:
|
||||
|
||||
.. code-block:: html
|
||||
|
||||
<link href='{{ STATIC_URL }}bootstrap/css/bootstrap.min.css' media='screen' rel='stylesheet' />
|
||||
<link href='{{ STATIC_URL }}dashboard/css/{% choose_css %}' media='screen' rel='stylesheet' />
|
||||
<link href='{{ STATIC_URL }}dashboard/css/custom.css' media='screen' rel='stylesheet' />
|
||||
|
||||
#. Restart the Apache service.
|
||||
|
||||
#. To view your changes, reload your Dashboard. If necessary, go back
|
||||
and modify your CSS file as appropriate.
|
||||
|
||||
HTML title
|
||||
----------
|
||||
|
||||
#. Set the HTML title, which appears at the top of the browser window, by
|
||||
adding the following line to ``local_settings.py``:
|
||||
|
||||
.. code-block:: python
|
||||
|
||||
SITE_BRANDING = "Example, Inc. Cloud"
|
||||
|
||||
#. Restart Apache for this change to take effect.
|
||||
|
||||
Logo link
|
||||
---------
|
||||
|
||||
#. The logo also acts as a hyperlink. The default behavior is to redirect
|
||||
to ``horizon:user_home``. To change this, add the following attribute to
|
||||
``local_settings.py``:
|
||||
|
||||
.. code-block:: python
|
||||
|
||||
SITE_BRANDING_LINK = "http://example.com"
|
||||
|
||||
#. Restart Apache for this change to take effect.
|
||||
|
||||
Help URL
|
||||
--------
|
||||
|
||||
#. By default, the help URL points to https://docs.openstack.org. To change
|
||||
this, edit the following attribute in ``local_settings.py``:
|
||||
|
||||
.. code-block:: python
|
||||
|
||||
HORIZON_CONFIG["help_url"] = "http://openstack.mycompany.org"
|
||||
|
||||
#. Restart Apache for this change to take effect.
|
||||
|
||||
.. _configure_dashboard:
|
||||
|
||||
Configure the Dashboard
|
||||
~~~~~~~~~~~~~~~~~~~~~~~
|
||||
|
||||
The following section on configuring the Dashboard for a
|
||||
secure HTTPS deployment, or a HTTP deployment, uses concrete
|
||||
examples to ensure the procedure is clear. The file path varies
|
||||
by distribution, however. If needed, you can also configure
|
||||
the VNC window size in the Dashboard.
|
||||
|
||||
Configure the Dashboard for HTTP
|
||||
--------------------------------
|
||||
|
||||
You can configure the Dashboard for a simple HTTP deployment.
|
||||
The standard installation uses a non-encrypted HTTP channel.
|
||||
|
||||
#. Specify the host for your Identity service endpoint in the
|
||||
``local_settings.py`` file with the ``OPENSTACK_HOST`` setting.
|
||||
|
||||
The following example shows this setting:
|
||||
|
||||
.. code-block:: python
|
||||
|
||||
import os
|
||||
|
||||
from django.utils.translation import ugettext_lazy as _
|
||||
|
||||
DEBUG = False
|
||||
TEMPLATE_DEBUG = DEBUG
|
||||
PROD = True
|
||||
USE_SSL = False
|
||||
|
||||
SITE_BRANDING = 'OpenStack Dashboard'
|
||||
|
||||
# Ubuntu-specific: Enables an extra panel in the 'Settings' section
|
||||
# that easily generates a Juju environments.yaml for download,
|
||||
# preconfigured with endpoints and credentials required for bootstrap
|
||||
# and service deployment.
|
||||
ENABLE_JUJU_PANEL = True
|
||||
|
||||
# Note: You should change this value
|
||||
SECRET_KEY = 'elj1IWiLoWHgryYxFT6j7cM5fGOOxWY0'
|
||||
|
||||
# Specify a regular expression to validate user passwords.
|
||||
# HORIZON_CONFIG = {
|
||||
# "password_validator": {
|
||||
# "regex": '.*',
|
||||
# "help_text": _("Your password does not meet the requirements.")
|
||||
# }
|
||||
# }
|
||||
|
||||
LOCAL_PATH = os.path.dirname(os.path.abspath(__file__))
|
||||
|
||||
CACHES = {
|
||||
'default': {
|
||||
'BACKEND' : 'django.core.cache.backends.memcached.MemcachedCache',
|
||||
'LOCATION' : '127.0.0.1:11211'
|
||||
}
|
||||
}
|
||||
|
||||
# Send email to the console by default
|
||||
EMAIL_BACKEND = 'django.core.mail.backends.console.EmailBackend'
|
||||
# Or send them to /dev/null
|
||||
#EMAIL_BACKEND = 'django.core.mail.backends.dummy.EmailBackend'
|
||||
|
||||
# Configure these for your outgoing email host
|
||||
# EMAIL_HOST = 'smtp.my-company.com'
|
||||
# EMAIL_PORT = 25
|
||||
# EMAIL_HOST_USER = 'djangomail'
|
||||
# EMAIL_HOST_PASSWORD = 'top-secret!'
|
||||
|
||||
# For multiple regions uncomment this configuration, and add (endpoint, title).
|
||||
# AVAILABLE_REGIONS = [
|
||||
# ('http://cluster1.example.com:5000/v2.0', 'cluster1'),
|
||||
# ('http://cluster2.example.com:5000/v2.0', 'cluster2'),
|
||||
# ]
|
||||
|
||||
OPENSTACK_HOST = "127.0.0.1"
|
||||
OPENSTACK_KEYSTONE_URL = "http://%s:5000/v2.0" % OPENSTACK_HOST
|
||||
OPENSTACK_KEYSTONE_DEFAULT_ROLE = "Member"
|
||||
|
||||
# The OPENSTACK_KEYSTONE_BACKEND settings can be used to identify the
|
||||
# capabilities of the auth backend for Keystone.
|
||||
# If Keystone has been configured to use LDAP as the auth backend then set
|
||||
# can_edit_user to False and name to 'ldap'.
|
||||
#
|
||||
# TODO(tres): Remove these once Keystone has an API to identify auth backend.
|
||||
OPENSTACK_KEYSTONE_BACKEND = {
|
||||
'name': 'native',
|
||||
'can_edit_user': True
|
||||
}
|
||||
|
||||
# OPENSTACK_ENDPOINT_TYPE specifies the endpoint type to use for the endpoints
|
||||
# in the Keystone service catalog. Use this setting when Horizon is running
|
||||
# external to the OpenStack environment. The default is 'internalURL'.
|
||||
#OPENSTACK_ENDPOINT_TYPE = "publicURL"
|
||||
|
||||
# The number of Swift containers and objects to display on a single page before
|
||||
# providing a paging element (a "more" link) to paginate results.
|
||||
API_RESULT_LIMIT = 1000
|
||||
|
||||
# If you have external monitoring links, eg:
|
||||
# EXTERNAL_MONITORING = [
|
||||
# ['Nagios','http://foo.com'],
|
||||
# ['Ganglia','http://bar.com'],
|
||||
# ]
|
||||
|
||||
LOGGING = {
|
||||
'version': 1,
|
||||
# When set to True this will disable all logging except
|
||||
# for loggers specified in this configuration dictionary. Note that
|
||||
# if nothing is specified here and disable_existing_loggers is True,
|
||||
# django.db.backends will still log unless it is disabled explicitly.
|
||||
'disable_existing_loggers': False,
|
||||
'handlers': {
|
||||
'null': {
|
||||
'level': 'DEBUG',
|
||||
'class': 'django.utils.log.NullHandler',
|
||||
},
|
||||
'console': {
|
||||
# Set the level to "DEBUG" for verbose output logging.
|
||||
'level': 'INFO',
|
||||
'class': 'logging.StreamHandler',
|
||||
},
|
||||
},
|
||||
'loggers': {
|
||||
# Logging from django.db.backends is VERY verbose, send to null
|
||||
# by default.
|
||||
'django.db.backends': {
|
||||
'handlers': ['null'],
|
||||
'propagate': False,
|
||||
},
|
||||
'horizon': {
|
||||
'handlers': ['console'],
|
||||
'propagate': False,
|
||||
},
|
||||
'novaclient': {
|
||||
'handlers': ['console'],
|
||||
'propagate': False,
|
||||
},
|
||||
'keystoneclient': {
|
||||
'handlers': ['console'],
|
||||
'propagate': False,
|
||||
},
|
||||
'nose.plugins.manager': {
|
||||
'handlers': ['console'],
|
||||
'propagate': False,
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
The service catalog configuration in the Identity service determines
|
||||
whether a service appears in the Dashboard.
|
||||
For the full listing, see `Horizon Settings and Configuration
|
||||
<https://docs.openstack.org/developer/horizon/topics/settings.html>`_.
|
||||
|
||||
#. Restart the Apache HTTP Server.
|
||||
|
||||
#. Restart ``memcached``.
|
||||
|
||||
Configure the Dashboard for HTTPS
|
||||
---------------------------------
|
||||
|
||||
You can configure the Dashboard for a secured HTTPS deployment.
|
||||
While the standard installation uses a non-encrypted HTTP channel,
|
||||
you can enable SSL support for the Dashboard.
|
||||
|
||||
This example uses the ``http://openstack.example.com`` domain.
|
||||
Use a domain that fits your current setup.
|
||||
|
||||
#. In the ``local_settings.py`` file, update the following options:
|
||||
|
||||
.. code-block:: python
|
||||
|
||||
USE_SSL = True
|
||||
CSRF_COOKIE_SECURE = True
|
||||
SESSION_COOKIE_SECURE = True
|
||||
SESSION_COOKIE_HTTPONLY = True
|
||||
|
||||
To enable HTTPS, the ``USE_SSL = True`` option is required.
|
||||
|
||||
The other options require that HTTPS is enabled;
|
||||
these options defend against cross-site scripting.
|
||||
|
||||
#. Edit the ``openstack-dashboard.conf`` file as shown in the
|
||||
**Example After**:
|
||||
|
||||
**Example Before**
|
||||
|
||||
.. code-block:: apacheconf
|
||||
|
||||
WSGIScriptAlias / /usr/share/openstack-dashboard/openstack_dashboard/wsgi/django.wsgi
|
||||
WSGIDaemonProcess horizon user=www-data group=www-data processes=3 threads=10
|
||||
Alias /static /usr/share/openstack-dashboard/openstack_dashboard/static/
|
||||
<Directory /usr/share/openstack-dashboard/openstack_dashboard/wsgi>
|
||||
# For Apache http server 2.2 and earlier:
|
||||
Order allow,deny
|
||||
Allow from all
|
||||
|
||||
# For Apache http server 2.4 and later:
|
||||
# Require all granted
|
||||
</Directory>
|
||||
|
||||
**Example After**
|
||||
|
||||
.. code-block:: none
|
||||
|
||||
<VirtualHost *:80>
|
||||
ServerName openstack.example.com
|
||||
<IfModule mod_rewrite.c>
|
||||
RewriteEngine On
|
||||
RewriteCond %{HTTPS} off
|
||||
RewriteRule (.*) https://%{HTTP_HOST}%{REQUEST_URI}
|
||||
</IfModule>
|
||||
<IfModule !mod_rewrite.c>
|
||||
RedirectPermanent / https://openstack.example.com
|
||||
</IfModule>
|
||||
</VirtualHost>
|
||||
<VirtualHost *:443>
|
||||
ServerName openstack.example.com
|
||||
|
||||
SSLEngine On
|
||||
# Remember to replace certificates and keys with valid paths in your environment
|
||||
SSLCertificateFile /etc/apache2/SSL/openstack.example.com.crt
|
||||
SSLCACertificateFile /etc/apache2/SSL/openstack.example.com.crt
|
||||
SSLCertificateKeyFile /etc/apache2/SSL/openstack.example.com.key
|
||||
SetEnvIf User-Agent ".*MSIE.*" nokeepalive ssl-unclean-shutdown
|
||||
|
||||
# HTTP Strict Transport Security (HSTS) enforces that all communications
|
||||
# with a server go over SSL. This mitigates the threat from attacks such
|
||||
# as SSL-Strip which replaces links on the wire, stripping away https prefixes
|
||||
# and potentially allowing an attacker to view confidential information on the
|
||||
# wire
|
||||
Header add Strict-Transport-Security "max-age=15768000"
|
||||
|
||||
WSGIScriptAlias / /usr/share/openstack-dashboard/openstack_dashboard/wsgi/django.wsgi
|
||||
WSGIDaemonProcess horizon user=www-data group=www-data processes=3 threads=10
|
||||
Alias /static /usr/share/openstack-dashboard/openstack_dashboard/static/
|
||||
<Directory /usr/share/openstack-dashboard/openstack_dashboard/wsgi>
|
||||
# For Apache http server 2.2 and earlier:
|
||||
<ifVersion <2.4>
|
||||
Order allow,deny
|
||||
Allow from all
|
||||
</ifVersion>
|
||||
# For Apache http server 2.4 and later:
|
||||
<ifVersion >=2.4>
|
||||
#The following two lines have been added by bms for error "AH01630: client denied
|
||||
#by server configuration:
|
||||
#/usr/share/openstack-dashboard/openstack_dashboard/static/dashboard/cssa"
|
||||
Options All
|
||||
AllowOverride All
|
||||
Require all granted
|
||||
</ifVersion>
|
||||
</Directory>
|
||||
<Directory /usr/share/openstack-dashboard/static>
|
||||
<ifVersion >=2.4>
|
||||
Options All
|
||||
AllowOverride All
|
||||
Require all granted
|
||||
</ifVersion>
|
||||
</Directory>
|
||||
</VirtualHost>
|
||||
|
||||
In this configuration, the Apache HTTP Server listens on port 443 and
|
||||
redirects all non-secure requests to the HTTPS protocol. The secured
|
||||
section defines the private key, public key, and certificate to use.
|
||||
|
||||
#. Restart the Apache HTTP Server.
|
||||
|
||||
#. Restart ``memcached``.
|
||||
|
||||
If you try to access the Dashboard through HTTP, the browser redirects
|
||||
you to the HTTPS page.
|
||||
|
||||
.. note::
|
||||
|
||||
Configuring the Dashboard for HTTPS also requires enabling SSL for
|
||||
the noVNC proxy service. On the controller node, add the following
|
||||
additional options to the ``[DEFAULT]`` section of the
|
||||
``/etc/nova/nova.conf`` file:
|
||||
|
||||
.. code-block:: ini
|
||||
|
||||
[DEFAULT]
|
||||
# ...
|
||||
ssl_only = true
|
||||
cert = /etc/apache2/SSL/openstack.example.com.crt
|
||||
key = /etc/apache2/SSL/openstack.example.com.key
|
||||
|
||||
On the compute nodes, ensure the ``nonvncproxy_base_url`` option
|
||||
points to a URL with an HTTPS scheme:
|
||||
|
||||
.. code-block:: ini
|
||||
|
||||
[DEFAULT]
|
||||
# ...
|
||||
novncproxy_base_url = https://controller:6080/vnc_auto.html
|
BIN
doc/source/admin/figures/change_instance_state.png
Normal file
BIN
doc/source/admin/figures/change_instance_state.png
Normal file
Binary file not shown.
After Width: | Height: | Size: 58 KiB |
BIN
doc/source/admin/figures/create_flavor.png
Normal file
BIN
doc/source/admin/figures/create_flavor.png
Normal file
Binary file not shown.
After Width: | Height: | Size: 58 KiB |
BIN
doc/source/admin/figures/create_image.png
Normal file
BIN
doc/source/admin/figures/create_image.png
Normal file
Binary file not shown.
After Width: | Height: | Size: 67 KiB |
BIN
doc/source/admin/figures/create_volume_type_encryption.png
Normal file
BIN
doc/source/admin/figures/create_volume_type_encryption.png
Normal file
Binary file not shown.
After Width: | Height: | Size: 85 KiB |
38
doc/source/admin/index.rst
Normal file
38
doc/source/admin/index.rst
Normal file
@ -0,0 +1,38 @@
|
||||
====================
|
||||
Administration Guide
|
||||
====================
|
||||
|
||||
The OpenStack Dashboard is a web-based interface that allows you to
|
||||
manage OpenStack resources and services. The Dashboard allows you to
|
||||
interact with the OpenStack Compute cloud controller using the OpenStack
|
||||
APIs. For more information about installing and configuring the
|
||||
Dashboard, see the `Installation Tutorials and Guides
|
||||
<https://docs.openstack.org/project-install-guide/ocata/>`__
|
||||
for your operating system.
|
||||
|
||||
.. toctree::
|
||||
:maxdepth: 2
|
||||
|
||||
customize-configure.rst
|
||||
sessions.rst
|
||||
manage-images.rst
|
||||
admin-manage-roles.rst
|
||||
manage-projects-and-users.rst
|
||||
manage-instances.rst
|
||||
manage-flavors.rst
|
||||
manage-volumes.rst
|
||||
manage-shares.rst
|
||||
set-quotas.rst
|
||||
manage-resources.rst
|
||||
manage-host-aggregates.rst
|
||||
admin-manage-stacks.rst
|
||||
|
||||
- To deploy the dashboard, see the `OpenStack dashboard documentation
|
||||
<https://docs.openstack.org/developer/horizon/topics/deployment.html>`__.
|
||||
- To launch instances with the dashboard as an end user, see the
|
||||
`Launch and manage instances
|
||||
<https://docs.openstack.org/user-guide/launch-instances.html>`__.
|
||||
in the OpenStack End User Guide.
|
||||
- To create and manage ports, see the `Create and manage networks
|
||||
<https://docs.openstack.org/user-guide/dashboard-create-networks.html#create-a-port>`__
|
||||
section of the OpenStack End User Guide.
|
167
doc/source/admin/manage-flavors.rst
Normal file
167
doc/source/admin/manage-flavors.rst
Normal file
@ -0,0 +1,167 @@
|
||||
==============
|
||||
Manage flavors
|
||||
==============
|
||||
|
||||
In OpenStack, a flavor defines the compute, memory, and storage
|
||||
capacity of a virtual server, also known as an instance. As an
|
||||
administrative user, you can create, edit, and delete flavors.
|
||||
|
||||
As of Newton, there are no default flavors. The following table
|
||||
lists the default flavors for Mitaka and earlier.
|
||||
|
||||
============ ========= =============== =============
|
||||
Flavor VCPUs Disk (in GB) RAM (in MB)
|
||||
============ ========= =============== =============
|
||||
m1.tiny 1 1 512
|
||||
m1.small 1 20 2048
|
||||
m1.medium 2 40 4096
|
||||
m1.large 4 80 8192
|
||||
m1.xlarge 8 160 16384
|
||||
============ ========= =============== =============
|
||||
|
||||
Create flavors
|
||||
~~~~~~~~~~~~~~
|
||||
|
||||
#. Log in to the Dashboard and select the :guilabel:`admin` project
|
||||
from the drop-down list.
|
||||
#. In the :guilabel:`Admin` tab, open the :guilabel:`System`
|
||||
tab and click the :guilabel:`Flavors` category.
|
||||
#. Click :guilabel:`Create Flavor`.
|
||||
#. In the :guilabel:`Create Flavor` window, enter or select the
|
||||
parameters for the flavor in the :guilabel:`Flavor Information` tab.
|
||||
|
||||
.. figure:: figures/create_flavor.png
|
||||
|
||||
**Dashboard — Create Flavor**
|
||||
|
||||
========================= =======================================
|
||||
**Name** Enter the flavor name.
|
||||
**ID** Unique ID (integer or UUID) for the
|
||||
new flavor. If specifying 'auto', a
|
||||
UUID will be automatically generated.
|
||||
**VCPUs** Enter the number of virtual CPUs to
|
||||
use.
|
||||
**RAM (MB)** Enter the amount of RAM to use, in
|
||||
megabytes.
|
||||
**Root Disk (GB)** Enter the amount of disk space in
|
||||
gigabytes to use for the root (/)
|
||||
partition.
|
||||
**Ephemeral Disk (GB)** Enter the amount of disk space in
|
||||
gigabytes to use for the ephemeral
|
||||
partition. If unspecified, the value
|
||||
is 0 by default.
|
||||
|
||||
Ephemeral disks offer machine local
|
||||
disk storage linked to the lifecycle
|
||||
of a VM instance. When a VM is
|
||||
terminated, all data on the ephemeral
|
||||
disk is lost. Ephemeral disks are not
|
||||
included in any snapshots.
|
||||
**Swap Disk (MB)** Enter the amount of swap space (in
|
||||
megabytes) to use. If unspecified,
|
||||
the default is 0.
|
||||
**RX/TX Factor** Optional property allows servers with
|
||||
a different bandwidth to be created
|
||||
with the RX/TX Factor. The default
|
||||
value is 1. That is, the new bandwidth
|
||||
is the same as that of the attached
|
||||
network.
|
||||
========================= =======================================
|
||||
|
||||
#. In the :guilabel:`Flavor Access` tab, you can control access to
|
||||
the flavor by moving projects from the :guilabel:`All Projects`
|
||||
column to the :guilabel:`Selected Projects` column.
|
||||
|
||||
Only projects in the :guilabel:`Selected Projects` column can
|
||||
use the flavor. If there are no projects in the right column,
|
||||
all projects can use the flavor.
|
||||
#. Click :guilabel:`Create Flavor`.
|
||||
|
||||
Update flavors
|
||||
~~~~~~~~~~~~~~
|
||||
|
||||
#. Log in to the Dashboard and select the :guilabel:`admin` project
|
||||
from the drop-down list.
|
||||
#. In the :guilabel:`Admin` tab, open the :guilabel:`System` tab
|
||||
and click the :guilabel:`Flavors` category.
|
||||
#. Select the flavor that you want to edit. Click :guilabel:`Edit
|
||||
Flavor`.
|
||||
#. In the :guilabel:`Edit Flavor` window, you can change the flavor
|
||||
name, VCPUs, RAM, root disk, ephemeral disk, and swap disk values.
|
||||
#. Click :guilabel:`Save`.
|
||||
|
||||
Update Metadata
|
||||
~~~~~~~~~~~~~~~
|
||||
|
||||
#. Log in to the Dashboard and select the :guilabel:`admin` project
|
||||
from the drop-down list.
|
||||
#. In the :guilabel:`Admin` tab, open the :guilabel:`System` tab
|
||||
and click the :guilabel:`Flavors` category.
|
||||
#. Select the flavor that you want to update. In the drop-down
|
||||
list, click :guilabel:`Update Metadata` or click :guilabel:`No` or
|
||||
:guilabel:`Yes` in the :guilabel:`Metadata` column.
|
||||
#. In the :guilabel:`Update Flavor Metadata` window, you can customize
|
||||
some metadata keys, then add it to this flavor and set them values.
|
||||
#. Click :guilabel:`Save`.
|
||||
|
||||
**Optional metadata keys**
|
||||
|
||||
+-------------------------------+-------------------------------+
|
||||
| | quota:cpu_shares |
|
||||
| +-------------------------------+
|
||||
| **CPU limits** | quota:cpu_period |
|
||||
| +-------------------------------+
|
||||
| | quota:cpu_limit |
|
||||
| +-------------------------------+
|
||||
| | quota:cpu_reservation |
|
||||
| +-------------------------------+
|
||||
| | quota:cpu_quota |
|
||||
+-------------------------------+-------------------------------+
|
||||
| | quota:disk_read_bytes_sec |
|
||||
| +-------------------------------+
|
||||
| **Disk tuning** | quota:disk_read_iops_sec |
|
||||
| +-------------------------------+
|
||||
| | quota:disk_write_bytes_sec |
|
||||
| +-------------------------------+
|
||||
| | quota:disk_write_iops_sec |
|
||||
| +-------------------------------+
|
||||
| | quota:disk_total_bytes_sec |
|
||||
| +-------------------------------+
|
||||
| | quota:disk_total_iops_sec |
|
||||
+-------------------------------+-------------------------------+
|
||||
| | quota:vif_inbound_average |
|
||||
| +-------------------------------+
|
||||
| **Bandwidth I/O** | quota:vif_inbound_burst |
|
||||
| +-------------------------------+
|
||||
| | quota:vif_inbound_peak |
|
||||
| +-------------------------------+
|
||||
| | quota:vif_outbound_average |
|
||||
| +-------------------------------+
|
||||
| | quota:vif_outbound_burst |
|
||||
| +-------------------------------+
|
||||
| | quota:vif_outbound_peak |
|
||||
+-------------------------------+-------------------------------+
|
||||
| **Watchdog behavior** | hw:watchdog_action |
|
||||
+-------------------------------+-------------------------------+
|
||||
| | hw_rng:allowed |
|
||||
| +-------------------------------+
|
||||
| **Random-number generator** | hw_rng:rate_bytes |
|
||||
| +-------------------------------+
|
||||
| | hw_rng:rate_period |
|
||||
+-------------------------------+-------------------------------+
|
||||
|
||||
For information about supporting metadata keys, see the
|
||||
the Compute service documentation.
|
||||
|
||||
Delete flavors
|
||||
~~~~~~~~~~~~~~
|
||||
|
||||
#. Log in to the Dashboard and select the :guilabel:`admin` project
|
||||
from the drop-down list.
|
||||
#. In the :guilabel:`Admin` tab, open the :guilabel:`System` tab
|
||||
and click the :guilabel:`Flavors` category.
|
||||
#. Select the flavors that you want to delete.
|
||||
#. Click :guilabel:`Delete Flavors`.
|
||||
#. In the :guilabel:`Confirm Delete Flavors` window, click
|
||||
:guilabel:`Delete Flavors` to confirm the deletion. You cannot
|
||||
undo this action.
|
77
doc/source/admin/manage-host-aggregates.rst
Normal file
77
doc/source/admin/manage-host-aggregates.rst
Normal file
@ -0,0 +1,77 @@
|
||||
=================================
|
||||
Create and manage host aggregates
|
||||
=================================
|
||||
|
||||
Host aggregates enable administrative users to assign key-value pairs to
|
||||
groups of machines.
|
||||
|
||||
Each node can have multiple aggregates and each aggregate can have
|
||||
multiple key-value pairs. You can assign the same key-value pair to
|
||||
multiple aggregates.
|
||||
|
||||
The scheduler uses this information to make scheduling decisions.
|
||||
For information, see
|
||||
`Scheduling <https://docs.openstack.org/ocata/config-reference/compute/schedulers.html>`__.
|
||||
|
||||
To create a host aggregate
|
||||
~~~~~~~~~~~~~~~~~~~~~~~~~~
|
||||
|
||||
#. Log in to the Dashboard and select the :guilabel:`admin` project
|
||||
from the drop-down list.
|
||||
|
||||
#. On the :guilabel:`Admin` tab, open the :guilabel:`System` tab and click
|
||||
the :guilabel:`Host Aggregates` category.
|
||||
|
||||
#. Click :guilabel:`Create Host Aggregate`.
|
||||
|
||||
#. In the :guilabel:`Create Host Aggregate` dialog box, enter or select the
|
||||
following values on the :guilabel:`Host Aggregate Information` tab:
|
||||
|
||||
- :guilabel:`Name`: The host aggregate name.
|
||||
|
||||
- :guilabel:`Availability Zone`: The cloud provider defines the default
|
||||
availability zone, such as ``us-west``, ``apac-south``, or
|
||||
``nova``. You can target the host aggregate, as follows:
|
||||
|
||||
- When the host aggregate is exposed as an availability zone,
|
||||
select the availability zone when you launch an instance.
|
||||
|
||||
- When the host aggregate is not exposed as an availability zone,
|
||||
select a flavor and its extra specs to target the host
|
||||
aggregate.
|
||||
|
||||
#. Assign hosts to the aggregate using the :guilabel:`Manage Hosts within
|
||||
Aggregate` tab in the same dialog box.
|
||||
|
||||
To assign a host to the aggregate, click **+** for the host. The host
|
||||
moves from the :guilabel:`All available hosts` list to the
|
||||
:guilabel:`Selected hosts` list.
|
||||
|
||||
You can add one host to one or more aggregates. To add a host to an
|
||||
existing aggregate, edit the aggregate.
|
||||
|
||||
To manage host aggregates
|
||||
~~~~~~~~~~~~~~~~~~~~~~~~~
|
||||
|
||||
#. Select the :guilabel:`admin` project from the drop-down list at the top
|
||||
of the page.
|
||||
|
||||
#. On the :guilabel:`Admin` tab, open the :guilabel:`System` tab and click
|
||||
the :guilabel:`Host Aggregates` category.
|
||||
|
||||
- To edit host aggregates, select the host aggregate that you want
|
||||
to edit. Click :guilabel:`Edit Host Aggregate`.
|
||||
|
||||
In the :guilabel:`Edit Host Aggregate` dialog box, you can change the
|
||||
name and availability zone for the aggregate.
|
||||
|
||||
- To manage hosts, locate the host aggregate that you want to edit
|
||||
in the table. Click :guilabel:`More` and select :guilabel:`Manage Hosts`.
|
||||
|
||||
In the :guilabel:`Add/Remove Hosts to Aggregate` dialog box,
|
||||
click **+** to assign a host to an aggregate. Click **-** to
|
||||
remove a host that is assigned to an aggregate.
|
||||
|
||||
- To delete host aggregates, locate the host aggregate that you want
|
||||
to edit in the table. Click :guilabel:`More` and select
|
||||
:guilabel:`Delete Host Aggregate`.
|
115
doc/source/admin/manage-images.rst
Normal file
115
doc/source/admin/manage-images.rst
Normal file
@ -0,0 +1,115 @@
|
||||
========================
|
||||
Create and manage images
|
||||
========================
|
||||
|
||||
As an administrative user, you can create and manage images
|
||||
for the projects to which you belong. You can also create
|
||||
and manage images for users in all projects to which you have
|
||||
access.
|
||||
|
||||
To create and manage images in specified projects as an end
|
||||
user, see the `upload and manage images with Dashboard in
|
||||
OpenStack End User Guide
|
||||
<https://docs.openstack.org/user-guide/dashboard-manage-images.html>`_
|
||||
and `manage images with CLI in OpenStack End User Guide
|
||||
<https://docs.openstack.org/user-guide/common/cli-manage-images.html>`_ .
|
||||
|
||||
To create and manage images as an administrator for other
|
||||
users, use the following procedures.
|
||||
|
||||
Create images
|
||||
~~~~~~~~~~~~~
|
||||
|
||||
For details about image creation, see the `Virtual Machine Image
|
||||
Guide <https://docs.openstack.org/image-guide/>`_.
|
||||
|
||||
#. Log in to the Dashboard and select the :guilabel:`admin` project
|
||||
from the drop-down list.
|
||||
#. On the :guilabel:`Admin` tab, open the :guilabel:`System` tab
|
||||
and click the :guilabel:`Images` category. The images that you
|
||||
can administer for cloud users appear on this page.
|
||||
#. Click :guilabel:`Create Image`, which opens the
|
||||
:guilabel:`Create An Image` window.
|
||||
|
||||
.. figure:: figures/create_image.png
|
||||
|
||||
**Figure Dashboard — Create Image**
|
||||
|
||||
#. In the :guilabel:`Create An Image` window, enter or select the
|
||||
following values:
|
||||
|
||||
+-------------------------------+---------------------------------+
|
||||
| :guilabel:`Name` | Enter a name for the image. |
|
||||
+-------------------------------+---------------------------------+
|
||||
| :guilabel:`Description` | Enter a brief description of |
|
||||
| | the image. |
|
||||
+-------------------------------+---------------------------------+
|
||||
| :guilabel:`Image Source` | Choose the image source from |
|
||||
| | the dropdown list. Your choices |
|
||||
| | are :guilabel:`Image Location` |
|
||||
| | and :guilabel:`Image File`. |
|
||||
+-------------------------------+---------------------------------+
|
||||
| :guilabel:`Image File` or | Based on your selection, there |
|
||||
| :guilabel:`Image Location` | is an :guilabel:`Image File` or |
|
||||
| | :guilabel:`Image Location` |
|
||||
| | field. You can include the |
|
||||
| | location URL or browse for the |
|
||||
| | image file on your file system |
|
||||
| | and add it. |
|
||||
+-------------------------------+---------------------------------+
|
||||
| :guilabel:`Format` | Select the image format. |
|
||||
+-------------------------------+---------------------------------+
|
||||
| :guilabel:`Architecture` | Specify the architecture. For |
|
||||
| | example, ``i386`` for a 32-bit |
|
||||
| | architecture or ``x86_64`` for |
|
||||
| | a 64-bit architecture. |
|
||||
+-------------------------------+---------------------------------+
|
||||
| :guilabel:`Minimum Disk (GB)` | Leave this field empty. |
|
||||
+-------------------------------+---------------------------------+
|
||||
| :guilabel:`Minimum RAM (MB)` | Leave this field empty. |
|
||||
+-------------------------------+---------------------------------+
|
||||
| :guilabel:`Copy Data` | Specify this option to copy |
|
||||
| | image data to the Image service.|
|
||||
+-------------------------------+---------------------------------+
|
||||
| :guilabel:`Public` | Select this option to make the |
|
||||
| | image public to all users. |
|
||||
+-------------------------------+---------------------------------+
|
||||
| :guilabel:`Protected` | Select this option to ensure |
|
||||
| | that only users with |
|
||||
| | permissions can delete it. |
|
||||
+-------------------------------+---------------------------------+
|
||||
|
||||
#. Click :guilabel:`Create Image`.
|
||||
|
||||
The image is queued to be uploaded. It might take several minutes
|
||||
before the status changes from ``Queued`` to ``Active``.
|
||||
|
||||
Update images
|
||||
~~~~~~~~~~~~~
|
||||
|
||||
#. Log in to the Dashboard and select the :guilabel:`admin` project from the
|
||||
drop-down list.
|
||||
#. On the :guilabel:`Admin` tab, open the :guilabel:`System` tab
|
||||
and click the :guilabel:`Images` category.
|
||||
#. Select the images that you want to edit. Click :guilabel:`Edit Image`.
|
||||
#. In the :guilabel:`Edit Image` window, you can change the image name.
|
||||
|
||||
Select the :guilabel:`Public` check box to make the image public.
|
||||
Clear this check box to make the image private. You cannot change
|
||||
the :guilabel:`Kernel ID`, :guilabel:`Ramdisk ID`, or
|
||||
:guilabel:`Architecture` attributes for an image.
|
||||
#. Click :guilabel:`Edit Image`.
|
||||
|
||||
Delete images
|
||||
~~~~~~~~~~~~~
|
||||
|
||||
#. Log in to the Dashboard and select the :guilabel:`admin` project from the
|
||||
drop-down list.
|
||||
#. On the :guilabel:`Admin tab`, open the :guilabel:`System` tab
|
||||
and click the :guilabel:`Images` category.
|
||||
#. Select the images that you want to delete.
|
||||
#. Click :guilabel:`Delete Images`.
|
||||
#. In the :guilabel:`Confirm Delete Images` window, click :guilabel:`Delete
|
||||
Images` to confirm the deletion.
|
||||
|
||||
You cannot undo this action.
|
77
doc/source/admin/manage-instances.rst
Normal file
77
doc/source/admin/manage-instances.rst
Normal file
@ -0,0 +1,77 @@
|
||||
================
|
||||
Manage instances
|
||||
================
|
||||
|
||||
As an administrative user, you can manage instances for users in various
|
||||
projects. You can view, terminate, edit, perform a soft or hard reboot,
|
||||
create a snapshot from, and migrate instances. You can also view the
|
||||
logs for instances or launch a VNC console for an instance.
|
||||
|
||||
For information about using the Dashboard to launch instances as an end
|
||||
user, see the `OpenStack End User Guide <https://docs.openstack.org/user-guide/dashboard-launch-instances.html>`__.
|
||||
|
||||
Create instance snapshots
|
||||
~~~~~~~~~~~~~~~~~~~~~~~~~
|
||||
|
||||
#. Log in to the Dashboard and select the :guilabel:`admin` project from the
|
||||
drop-down list.
|
||||
|
||||
#. On the :guilabel:`Admin` tab, open the :guilabel:`System` tab
|
||||
and click the :guilabel:`Instances` category.
|
||||
|
||||
#. Select an instance to create a snapshot from it. From the
|
||||
Actions drop-down list, select :guilabel:`Create Snapshot`.
|
||||
|
||||
#. In the :guilabel:`Create Snapshot` window, enter a name for the snapshot.
|
||||
|
||||
#. Click :guilabel:`Create Snapshot`. The Dashboard shows the instance snapshot
|
||||
in the :guilabel:`Images` category.
|
||||
|
||||
#. To launch an instance from the snapshot, select the snapshot and
|
||||
click :guilabel:`Launch`. For information about launching
|
||||
instances, see the
|
||||
`OpenStack End User Guide <https://docs.openstack.org/user-guide/dashboard-launch-instances.html>`__.
|
||||
|
||||
Control the state of an instance
|
||||
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
||||
|
||||
#. Log in to the Dashboard and select the :guilabel:`admin` project from the
|
||||
drop-down list.
|
||||
|
||||
#. On the :guilabel:`Admin` tab, open the :guilabel:`System` tab
|
||||
and click the :guilabel:`Instances` category.
|
||||
|
||||
#. Select the instance for which you want to change the state.
|
||||
|
||||
#. From the drop-down list in the Actions column,
|
||||
select the state.
|
||||
|
||||
Depending on the current state of the instance, you can perform various
|
||||
actions on the instance. For example, pause, un-pause, suspend, resume,
|
||||
soft or hard reboot, or terminate (actions in red are dangerous).
|
||||
|
||||
.. figure:: figures/change_instance_state.png
|
||||
:width: 100%
|
||||
|
||||
**Figure Dashboard — Instance Actions**
|
||||
|
||||
|
||||
Track usage
|
||||
~~~~~~~~~~~
|
||||
|
||||
Use the :guilabel:`Overview` category to track usage of instances
|
||||
for each project.
|
||||
|
||||
You can track costs per month by showing meters like number of VCPUs,
|
||||
disks, RAM, and uptime of all your instances.
|
||||
|
||||
#. Log in to the Dashboard and select the :guilabel:`admin` project from the
|
||||
drop-down list.
|
||||
|
||||
#. On the :guilabel:`Admin` tab, open the :guilabel:`System` tab
|
||||
and click the :guilabel:`Overview` category.
|
||||
|
||||
#. Select a month and click :guilabel:`Submit` to query the instance usage for
|
||||
that month.
|
||||
|
||||
#. Click :guilabel:`Download CSV Summary` to download a CSV summary.
|
102
doc/source/admin/manage-projects-and-users.rst
Normal file
102
doc/source/admin/manage-projects-and-users.rst
Normal file
@ -0,0 +1,102 @@
|
||||
Manage projects and users
|
||||
=========================
|
||||
|
||||
OpenStack administrators can create projects, and create accounts for new users
|
||||
using the OpenStack Dasboard. Projects own specific resources in your
|
||||
OpenStack environment. You can associate users with roles, projects, or both.
|
||||
|
||||
Add a new project
|
||||
~~~~~~~~~~~~~~~~~
|
||||
|
||||
#. Log into the OpenStack Dashboard as the Admin user.
|
||||
#. Click on the :guilabel:`Identity` label on the left column, and click
|
||||
:guilabel:`Projects`.
|
||||
#. Select the :guilabel:`Create Project` push button.
|
||||
The :guilabel:`Create Project` window will open.
|
||||
#. Enter the Project name and description. Leave the :guilabel:`Domain ID`
|
||||
field set at *default*.
|
||||
#. Click :guilabel:`Create Project`.
|
||||
|
||||
.. note::
|
||||
|
||||
Your new project will appear in the list of projects displayed under the
|
||||
:guilabel:`Projects` page of the dashboard. Projects are listed in
|
||||
alphabetical order, and you can check on the **Project ID**, **Domain
|
||||
name**, and status of the project in this section.
|
||||
|
||||
Delete a project
|
||||
~~~~~~~~~~~~~~~~
|
||||
|
||||
#. Log into the OpenStack Dashboard as the Admin user.
|
||||
#. Click on the :guilabel:`Identity` label on the left column, and click
|
||||
:guilabel:`Projects`.
|
||||
#. Select the checkbox to the left of the project you would like to delete.
|
||||
#. Click on the :guilabel:`Delete Projects` push button.
|
||||
|
||||
Update a project
|
||||
~~~~~~~~~~~~~~~~
|
||||
|
||||
#. Log into the OpenStack Dashboard as the Admin user.
|
||||
#. Click on the :guilabel:`Identity` label on the left column, and click
|
||||
:guilabel:`Projects`.
|
||||
#. Locate the project you wish to update, and under the :guilabel:`Actions`
|
||||
column click on the drop down arrow next to the :guilabel:`Manage Members`
|
||||
push button. The :guilabel:`Update Project` window will open.
|
||||
#. Update the name of the project, enable the project, or disable the project
|
||||
as needed.
|
||||
|
||||
Add a new user
|
||||
~~~~~~~~~~~~~~
|
||||
|
||||
#. Log into the OpenStack Dashboard as the Admin user.
|
||||
#. Click on the :guilabel:`Identity` label on the left column, and click
|
||||
:guilabel:`Users`.
|
||||
#. Click :guilabel:`Create User`.
|
||||
#. Enter a :guilabel:`Domain Name`, the :guilabel:`Username`, and a
|
||||
:guilabel:`password` for the new user. Enter an email for the new user,
|
||||
and specify which :guilabel:`Primary Project` they belong to. Leave the
|
||||
:guilabel:`Domain ID` field set at *default*. You can also enter a
|
||||
decription for the new user.
|
||||
#. Click the :guilabel:`Create User` push button.
|
||||
|
||||
.. note::
|
||||
|
||||
The new user will then appear in the list of projects displayed under
|
||||
the :guilabel:`Users` page of the dashboard. You can check on the
|
||||
**User Name**, **User ID**, **Domain name**, and the User status in this
|
||||
section.
|
||||
|
||||
Delete a new user
|
||||
~~~~~~~~~~~~~~~~~
|
||||
|
||||
#. Log into the OpenStack Dashboard as the Admin user.
|
||||
#. Click on the :guilabel:`Identity` label on the left column, and click
|
||||
:guilabel:`Users`.
|
||||
#. Select the checkbox to the left of the user you would like to delete.
|
||||
#. Click on the :guilabel:`Delete Users` push button.
|
||||
|
||||
Update a user
|
||||
~~~~~~~~~~~~~
|
||||
|
||||
#. Log into the OpenStack Dashboard as the Admin user.
|
||||
#. Click on the :guilabel:`Identity` label on the left column, and click
|
||||
:guilabel:`Users`.
|
||||
#. Locate the User you would like to update, and select the :guilabel:`Edit`
|
||||
push button under the :guilabel:`Actions` column.
|
||||
#. Adjust the :guilabel:`Domain Name`, :guilabel:`User Name`,
|
||||
:guilabel:`Description`, :guilabel:`Email`, and :guilabel:`Primary Project`.
|
||||
|
||||
Enable or disable a user
|
||||
------------------------
|
||||
|
||||
#. Log into the OpenStack Dashboard as the Admin user.
|
||||
#. Click on the :guilabel:`Identity` label on the left column, and click
|
||||
:guilabel:`Users`.
|
||||
#. Locate the User you would like to update, and select the arrow to the right
|
||||
of the :guilabel:`Edit` push button. This will open a drop down menu.
|
||||
#. Select :guilabel:`Disable User`.
|
||||
|
||||
.. note::
|
||||
|
||||
To reactivate a disabled user, select :guilabel:`Enable User` under
|
||||
the drop down menu.
|
10
doc/source/admin/manage-resources.rst
Normal file
10
doc/source/admin/manage-resources.rst
Normal file
@ -0,0 +1,10 @@
|
||||
====================
|
||||
View cloud resources
|
||||
====================
|
||||
|
||||
|
||||
.. toctree::
|
||||
:maxdepth: 2
|
||||
|
||||
manage-services.rst
|
||||
view-cloud-resources.rst
|
37
doc/source/admin/manage-services.rst
Normal file
37
doc/source/admin/manage-services.rst
Normal file
@ -0,0 +1,37 @@
|
||||
=========================
|
||||
View services information
|
||||
=========================
|
||||
|
||||
As an administrative user, you can view information for OpenStack services.
|
||||
|
||||
#. Log in to the Dashboard and select the
|
||||
:guilabel:`admin` project from the drop-down list.
|
||||
|
||||
#. On the :guilabel:`Admin` tab, open the :guilabel:`System` tab
|
||||
and click the :guilabel:`System Information` category.
|
||||
|
||||
View the following information on these tabs:
|
||||
|
||||
* :guilabel:`Services`:
|
||||
Displays the internal name and the public OpenStack name
|
||||
for each service, the host on which the service runs,
|
||||
and whether or not the service is enabled.
|
||||
|
||||
* :guilabel:`Compute Services`:
|
||||
Displays information specific to the Compute service. Both host
|
||||
and zone are listed for each service, as well as its
|
||||
activation status.
|
||||
|
||||
* :guilabel:`Block Storage Services`:
|
||||
Displays information specific to the Block Storage service. Both host
|
||||
and zone are listed for each service, as well as its
|
||||
activation status.
|
||||
|
||||
* :guilabel:`Network Agents`:
|
||||
Displays the network agents active within the cluster, such as L3 and
|
||||
DHCP agents, and the status of each agent.
|
||||
|
||||
* :guilabel:`Orchestration Services`:
|
||||
Displays information specific to the Orchestration service. Name,
|
||||
engine id, host and topic are listed for each service, as well as its
|
||||
activation status.
|
149
doc/source/admin/manage-shares.rst
Normal file
149
doc/source/admin/manage-shares.rst
Normal file
@ -0,0 +1,149 @@
|
||||
=============================
|
||||
Manage shares and share types
|
||||
=============================
|
||||
|
||||
Shares are file storage that instances can access. Users can
|
||||
allow or deny a running instance to have access to a share at any time.
|
||||
For information about using the Dashboard to create and manage shares as
|
||||
an end user, see the
|
||||
`OpenStack End User Guide <https://docs.openstack.org/user-guide/dashboard-manage-shares.html>`_.
|
||||
|
||||
As an administrative user, you can manage shares and share types for users
|
||||
in various projects. You can create and delete share types, and view
|
||||
or delete shares.
|
||||
|
||||
.. _create-a-share-type:
|
||||
|
||||
Create a share type
|
||||
~~~~~~~~~~~~~~~~~~~
|
||||
|
||||
#. Log in to the Dashboard and choose the :guilabel:`admin`
|
||||
project from the drop-down list.
|
||||
|
||||
#. On the :guilabel:`Admin` tab, open the :guilabel:`System` tab
|
||||
and click the :guilabel:`Shares` category.
|
||||
|
||||
#. Click the :guilabel:`Share Types` tab, and click
|
||||
:guilabel:`Create Share Type` button. In the
|
||||
:guilabel:`Create Share Type` window, enter or select the
|
||||
following values.
|
||||
|
||||
:guilabel:`Name`: Enter a name for the share type.
|
||||
|
||||
:guilabel:`Driver handles share servers`: Choose True or False
|
||||
|
||||
:guilabel:`Extra specs`: To add extra specs, use key=value.
|
||||
|
||||
#. Click :guilabel:`Create Share Type` button to confirm your changes.
|
||||
|
||||
.. note::
|
||||
|
||||
A message indicates whether the action succeeded.
|
||||
|
||||
Update share type
|
||||
~~~~~~~~~~~~~~~~~
|
||||
|
||||
#. Log in to the Dashboard and choose the :guilabel:`admin` project from
|
||||
the drop-down list.
|
||||
|
||||
#. On the :guilabel:`Admin` tab, open the :guilabel:`System` tab
|
||||
and click the :guilabel:`Shares` category.
|
||||
|
||||
#. Click the :guilabel:`Share Types` tab, select the share type
|
||||
that you want to update.
|
||||
|
||||
#. Select :guilabel:`Update Share Type` from Actions.
|
||||
|
||||
#. In the :guilabel:`Update Share Type` window, update extra specs.
|
||||
|
||||
:guilabel:`Extra specs`: To add extra specs, use key=value.
|
||||
To unset extra specs, use key.
|
||||
|
||||
#. Click :guilabel:`Update Share Type` button to confirm your changes.
|
||||
|
||||
.. note::
|
||||
|
||||
A message indicates whether the action succeeded.
|
||||
|
||||
Delete share types
|
||||
~~~~~~~~~~~~~~~~~~
|
||||
|
||||
When you delete a share type, shares of that type are not deleted.
|
||||
|
||||
#. Log in to the Dashboard and choose the :guilabel:`admin` project from
|
||||
the drop-down list.
|
||||
|
||||
#. On the :guilabel:`Admin` tab, open the :guilabel:`System` tab
|
||||
and click the :guilabel:`Shares` category.
|
||||
|
||||
#. Click the :guilabel:`Share Types` tab, select the share type
|
||||
or types that you want to delete.
|
||||
|
||||
#. Click :guilabel:`Delete Share Types` button.
|
||||
|
||||
#. In the :guilabel:`Confirm Delete Share Types` window, click the
|
||||
:guilabel:`Delete Share Types` button to confirm the action.
|
||||
|
||||
.. note::
|
||||
|
||||
A message indicates whether the action succeeded.
|
||||
|
||||
Delete shares
|
||||
~~~~~~~~~~~~~
|
||||
|
||||
#. Log in to the Dashboard and choose the :guilabel:`admin` project
|
||||
from the drop-down list.
|
||||
|
||||
#. On the :guilabel:`Admin` tab, open the :guilabel:`System` tab
|
||||
and click the :guilabel:`Shares` category.
|
||||
|
||||
#. Select the share or shares that you want to delete.
|
||||
|
||||
#. Click :guilabel:`Delete Shares` button.
|
||||
|
||||
#. In the :guilabel:`Confirm Delete Shares` window, click the
|
||||
:guilabel:`Delete Shares` button to confirm the action.
|
||||
|
||||
.. note::
|
||||
|
||||
A message indicates whether the action succeeded.
|
||||
|
||||
Delete share server
|
||||
~~~~~~~~~~~~~~~~~~~
|
||||
|
||||
#. Log in to the Dashboard and choose the :guilabel:`admin` project
|
||||
from the drop-down list.
|
||||
|
||||
#. On the :guilabel:`Admin` tab, open the :guilabel:`System` tab
|
||||
and click the :guilabel:`Share Servers` category.
|
||||
|
||||
#. Select the share that you want to delete.
|
||||
|
||||
#. Click :guilabel:`Delete Share Server` button.
|
||||
|
||||
#. In the :guilabel:`Confirm Delete Share Server` window, click the
|
||||
:guilabel:`Delete Share Server` button to confirm the action.
|
||||
|
||||
.. note::
|
||||
|
||||
A message indicates whether the action succeeded.
|
||||
|
||||
Delete share networks
|
||||
~~~~~~~~~~~~~~~~~~~~~
|
||||
|
||||
#. Log in to the Dashboard and choose the :guilabel:`admin` project
|
||||
from the drop-down list.
|
||||
|
||||
#. On the :guilabel:`Admin` tab, open the :guilabel:`System` tab
|
||||
and click the :guilabel:`Share Networks` category.
|
||||
|
||||
#. Select the share network or share networks that you want to delete.
|
||||
|
||||
#. Click :guilabel:`Delete Share Networks` button.
|
||||
|
||||
#. In the :guilabel:`Confirm Delete Share Networks` window, click the
|
||||
:guilabel:`Delete Share Networks` button to confirm the action.
|
||||
|
||||
.. note::
|
||||
|
||||
A message indicates whether the action succeeded.
|
168
doc/source/admin/manage-volumes.rst
Normal file
168
doc/source/admin/manage-volumes.rst
Normal file
@ -0,0 +1,168 @@
|
||||
===============================
|
||||
Manage volumes and volume types
|
||||
===============================
|
||||
|
||||
Volumes are the Block Storage devices that you attach to instances to enable
|
||||
persistent storage. Users can attach a volume to a running instance or detach
|
||||
a volume and attach it to another instance at any time. For information about
|
||||
using the dashboard to create and manage volumes as an end user, see the
|
||||
`OpenStack End User Guide <https://docs.openstack.org/user-guide/dashboard-manage-volumes.html>`_.
|
||||
|
||||
As an administrative user, you can manage volumes and volume types for users
|
||||
in various projects. You can create and delete volume types, and you can view
|
||||
and delete volumes. Note that a volume can be encrypted by using the steps
|
||||
outlined below.
|
||||
|
||||
.. _create-a-volume-type:
|
||||
|
||||
Create a volume type
|
||||
~~~~~~~~~~~~~~~~~~~~
|
||||
|
||||
#. Log in to the dashboard and select the :guilabel:`admin`
|
||||
project from the drop-down list.
|
||||
|
||||
#. On the :guilabel:`Admin` tab, open the :guilabel:`System` tab
|
||||
and click the :guilabel:`Volumes` category.
|
||||
|
||||
#. Click the :guilabel:`Volume Types` tab, and click
|
||||
:guilabel:`Create Volume Type` button. In the
|
||||
:guilabel:`Create Volume Type` window, enter a name for the volume type.
|
||||
|
||||
#. Click :guilabel:`Create Volume Type` button to confirm your changes.
|
||||
|
||||
.. note::
|
||||
|
||||
A message indicates whether the action succeeded.
|
||||
|
||||
Create an encrypted volume type
|
||||
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
||||
|
||||
#. Create a volume type using the steps above for :ref:`create-a-volume-type`.
|
||||
|
||||
#. Click :guilabel:`Create Encryption` in the Actions column of the newly
|
||||
created volume type.
|
||||
|
||||
#. Configure the encrypted volume by setting the parameters below from
|
||||
available options (see table):
|
||||
|
||||
Provider
|
||||
Specifies the class responsible for configuring the encryption.
|
||||
Control Location
|
||||
Specifies whether the encryption is from the front end (nova) or the
|
||||
back end (cinder).
|
||||
Cipher
|
||||
Specifies the encryption algorithm.
|
||||
Key Size (bits)
|
||||
Specifies the encryption key size.
|
||||
|
||||
#. Click :guilabel:`Create Volume Type Encryption`.
|
||||
|
||||
.. figure:: figures/create_volume_type_encryption.png
|
||||
|
||||
**Encryption Options**
|
||||
|
||||
The table below provides a few alternatives available for creating encrypted
|
||||
volumes.
|
||||
|
||||
+--------------------+-----------------------+----------------------------+
|
||||
| Encryption | Parameter | Comments |
|
||||
| parameters | options | |
|
||||
+====================+=======================+============================+
|
||||
| Provider |nova.volume.encryptors.|Allows easier import and |
|
||||
| |luks.LuksEncryptor |migration of imported |
|
||||
| |(Recommended) |encrypted volumes, and |
|
||||
| | |allows access key to be |
|
||||
| | |changed without |
|
||||
| | |re-encrypting the volume |
|
||||
+ +-----------------------+----------------------------+
|
||||
| |nova.volume.encryptors.|Less disk overhead than |
|
||||
| |cryptsetup. |LUKS |
|
||||
| |CryptsetupEncryptor | |
|
||||
+--------------------+-----------------------+----------------------------+
|
||||
| Control Location | front-end |The encryption occurs within|
|
||||
| | (Recommended) |nova so that the data |
|
||||
| | |transmitted over the network|
|
||||
| | |is encrypted |
|
||||
| | | |
|
||||
+ +-----------------------+----------------------------+
|
||||
| | back-end |This could be selected if a |
|
||||
| | |cinder plug-in supporting |
|
||||
| | |an encrypted back-end block |
|
||||
| | |storage device becomes |
|
||||
| | |available in the future. |
|
||||
| | |TLS or other network |
|
||||
| | |encryption would also be |
|
||||
| | |needed to protect data as it|
|
||||
| | |traverses the network |
|
||||
+--------------------+-----------------------+----------------------------+
|
||||
| Cipher | aes-xts-plain64 |See NIST reference below |
|
||||
| | (Recommended) |to see advantages* |
|
||||
+ +-----------------------+----------------------------+
|
||||
| | aes-cbc-essiv |Note: On the command line, |
|
||||
| | |type 'cryptsetup benchmark' |
|
||||
| | |for additional options |
|
||||
+--------------------+-----------------------+----------------------------+
|
||||
| Key Size (bits)| 512 (Recommended for |Using this selection for |
|
||||
| | aes-xts-plain64. 256 |aes-xts, the underlying key |
|
||||
| | should be used for |size would only be 256-bits*|
|
||||
| | aes-cbc-essiv) | |
|
||||
+ +-----------------------+----------------------------+
|
||||
| | 256 |Using this selection for |
|
||||
| | |aes-xts, the underlying key |
|
||||
| | |size would only be 128-bits*|
|
||||
+--------------------+-----------------------+----------------------------+
|
||||
|
||||
`*` Source `NIST SP 800-38E <http://nvlpubs.nist.gov/nistpubs/Legacy/SP/nistspecialpublication800-38e.pdf>`_
|
||||
|
||||
.. note::
|
||||
|
||||
To see further information and CLI instructions, see
|
||||
`Create an encrypted volume type
|
||||
<https://docs.openstack.org/ocata/config-reference/block-storage/volume-encryption.html>`_
|
||||
in the OpenStack Configuration Reference.
|
||||
|
||||
Delete volume types
|
||||
~~~~~~~~~~~~~~~~~~~
|
||||
|
||||
When you delete a volume type, volumes of that type are not deleted.
|
||||
|
||||
#. Log in to the dashboard and select the :guilabel:`admin` project from
|
||||
the drop-down list.
|
||||
|
||||
#. On the :guilabel:`Admin` tab, open the :guilabel:`System` tab
|
||||
and click the :guilabel:`Volumes` category.
|
||||
|
||||
#. Click the :guilabel:`Volume Types` tab, select the volume type
|
||||
or types that you want to delete.
|
||||
|
||||
#. Click :guilabel:`Delete Volume Types` button.
|
||||
|
||||
#. In the :guilabel:`Confirm Delete Volume Types` window, click the
|
||||
:guilabel:`Delete Volume Types` button to confirm the action.
|
||||
|
||||
.. note::
|
||||
|
||||
A message indicates whether the action succeeded.
|
||||
|
||||
Delete volumes
|
||||
~~~~~~~~~~~~~~
|
||||
|
||||
When you delete an instance, the data of its attached volumes is not
|
||||
destroyed.
|
||||
|
||||
#. Log in to the dashboard and select the :guilabel:`admin` project
|
||||
from the drop-down list.
|
||||
|
||||
#. On the :guilabel:`Admin` tab, open the :guilabel:`System` tab
|
||||
and click the :guilabel:`Volumes` category.
|
||||
|
||||
#. Select the volume or volumes that you want to delete.
|
||||
|
||||
#. Click :guilabel:`Delete Volumes` button.
|
||||
|
||||
#. In the :guilabel:`Confirm Delete Volumes` window, click the
|
||||
:guilabel:`Delete Volumes` button to confirm the action.
|
||||
|
||||
.. note::
|
||||
|
||||
A message indicates whether the action succeeded.
|
216
doc/source/admin/sessions.rst
Normal file
216
doc/source/admin/sessions.rst
Normal file
@ -0,0 +1,216 @@
|
||||
========================================
|
||||
Set up session storage for the Dashboard
|
||||
========================================
|
||||
|
||||
The Dashboard uses `Django sessions
|
||||
framework <https://docs.djangoproject.com/en/dev/topics/http/sessions/>`__
|
||||
to handle user session data. However, you can use any available session
|
||||
back end. You customize the session back end through the
|
||||
``SESSION_ENGINE`` setting in your ``local_settings.py`` file.
|
||||
|
||||
After architecting and implementing the core OpenStack
|
||||
services and other required services, combined with the Dashboard
|
||||
service steps below, users and administrators can use
|
||||
the OpenStack dashboard. Refer to the `OpenStack Dashboard
|
||||
<https://docs.openstack.org/user-guide/dashboard.html>`__
|
||||
chapter of the OpenStack End User Guide for
|
||||
further instructions on logging in to the Dashboard.
|
||||
|
||||
The following sections describe the pros and cons of each option as it
|
||||
pertains to deploying the Dashboard.
|
||||
|
||||
Local memory cache
|
||||
~~~~~~~~~~~~~~~~~~
|
||||
|
||||
Local memory storage is the quickest and easiest session back end to set
|
||||
up, as it has no external dependencies whatsoever. It has the following
|
||||
significant drawbacks:
|
||||
|
||||
- No shared storage across processes or workers.
|
||||
- No persistence after a process terminates.
|
||||
|
||||
The local memory back end is enabled as the default for Horizon solely
|
||||
because it has no dependencies. It is not recommended for production
|
||||
use, or even for serious development work.
|
||||
|
||||
.. code-block:: python
|
||||
|
||||
SESSION_ENGINE = 'django.contrib.sessions.backends.cache'
|
||||
CACHES = {
|
||||
'default' : {
|
||||
'BACKEND': 'django.core.cache.backends.locmem.LocMemCache'
|
||||
}
|
||||
}
|
||||
|
||||
You can use applications such as ``Memcached`` or ``Redis`` for external
|
||||
caching. These applications offer persistence and shared storage and are
|
||||
useful for small-scale deployments and development.
|
||||
|
||||
Memcached
|
||||
---------
|
||||
|
||||
Memcached is a high-performance and distributed memory object caching
|
||||
system providing in-memory key-value store for small chunks of arbitrary
|
||||
data.
|
||||
|
||||
Requirements:
|
||||
|
||||
- Memcached service running and accessible.
|
||||
- Python module ``python-memcached`` installed.
|
||||
|
||||
.. code-block:: python
|
||||
|
||||
SESSION_ENGINE = 'django.contrib.sessions.backends.cache'
|
||||
CACHES = {
|
||||
'default': {
|
||||
'BACKEND': 'django.core.cache.backends.memcached.MemcachedCache',
|
||||
'LOCATION': 'my_memcached_host:11211',
|
||||
}
|
||||
}
|
||||
|
||||
Redis
|
||||
-----
|
||||
|
||||
Redis is an open source, BSD licensed, advanced key-value store. It is
|
||||
often referred to as a data structure server.
|
||||
|
||||
Requirements:
|
||||
|
||||
- Redis service running and accessible.
|
||||
- Python modules ``redis`` and ``django-redis`` installed.
|
||||
|
||||
.. code-block:: python
|
||||
|
||||
SESSION_ENGINE = 'django.contrib.sessions.backends.cache'
|
||||
CACHES = {
|
||||
"default": {
|
||||
"BACKEND": "redis_cache.cache.RedisCache",
|
||||
"LOCATION": "127.0.0.1:6379:1",
|
||||
"OPTIONS": {
|
||||
"CLIENT_CLASS": "redis_cache.client.DefaultClient",
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
Initialize and configure the database
|
||||
-------------------------------------
|
||||
|
||||
Database-backed sessions are scalable, persistent, and can be made
|
||||
high-concurrency and highly available.
|
||||
|
||||
However, database-backed sessions are one of the slower session storages
|
||||
and incur a high overhead under heavy usage. Proper configuration of
|
||||
your database deployment can also be a substantial undertaking and is
|
||||
far beyond the scope of this documentation.
|
||||
|
||||
#. Start the MySQL command-line client.
|
||||
|
||||
.. code-block:: console
|
||||
|
||||
$ mysql -u root -p
|
||||
|
||||
#. Enter the MySQL root user's password when prompted.
|
||||
#. To configure the MySQL database, create the dash database.
|
||||
|
||||
.. code-block:: console
|
||||
|
||||
mysql> CREATE DATABASE dash;
|
||||
|
||||
#. Create a MySQL user for the newly created dash database that has full
|
||||
control of the database. Replace DASH\_DBPASS with a password for the
|
||||
new user.
|
||||
|
||||
.. code-block:: console
|
||||
|
||||
mysql> GRANT ALL PRIVILEGES ON dash.* TO 'dash'@'%' IDENTIFIED BY 'DASH_DBPASS';
|
||||
mysql> GRANT ALL PRIVILEGES ON dash.* TO 'dash'@'localhost' IDENTIFIED BY 'DASH_DBPASS';
|
||||
|
||||
#. Enter ``quit`` at the ``mysql>`` prompt to exit MySQL.
|
||||
|
||||
#. In the ``local_settings.py`` file, change these options:
|
||||
|
||||
.. code-block:: python
|
||||
|
||||
SESSION_ENGINE = 'django.contrib.sessions.backends.db'
|
||||
DATABASES = {
|
||||
'default': {
|
||||
# Database configuration here
|
||||
'ENGINE': 'django.db.backends.mysql',
|
||||
'NAME': 'dash',
|
||||
'USER': 'dash',
|
||||
'PASSWORD': 'DASH_DBPASS',
|
||||
'HOST': 'localhost',
|
||||
'default-character-set': 'utf8'
|
||||
}
|
||||
}
|
||||
|
||||
#. After configuring the ``local_settings.py`` file as shown, you can run the
|
||||
:command:`manage.py syncdb` command to populate this newly created
|
||||
database.
|
||||
|
||||
.. code-block:: console
|
||||
|
||||
# /usr/share/openstack-dashboard/manage.py syncdb
|
||||
|
||||
#. The following output is returned:
|
||||
|
||||
.. code-block:: console
|
||||
|
||||
Installing custom SQL ...
|
||||
Installing indexes ...
|
||||
DEBUG:django.db.backends:(0.008) CREATE INDEX `django_session_c25c2c28` ON `django_session` (`expire_date`);; args=()
|
||||
No fixtures found.
|
||||
|
||||
#. To avoid a warning when you restart Apache on Ubuntu, create a
|
||||
``blackhole`` directory in the Dashboard directory, as follows.
|
||||
|
||||
.. code-block:: console
|
||||
|
||||
# mkdir -p /var/lib/dash/.blackhole
|
||||
|
||||
#. Restart the Apache service.
|
||||
|
||||
#. On Ubuntu, restart the ``nova-api`` service to ensure that the API server
|
||||
can connect to the Dashboard without error.
|
||||
|
||||
.. code-block:: console
|
||||
|
||||
# service nova-api restart
|
||||
|
||||
Cached database
|
||||
~~~~~~~~~~~~~~~
|
||||
|
||||
To mitigate the performance issues of database queries, you can use the
|
||||
Django ``cached_db`` session back end, which utilizes both your database
|
||||
and caching infrastructure to perform write-through caching and
|
||||
efficient retrieval.
|
||||
|
||||
Enable this hybrid setting by configuring both your database and cache,
|
||||
as discussed previously. Then, set the following value:
|
||||
|
||||
.. code-block:: python
|
||||
|
||||
SESSION_ENGINE = "django.contrib.sessions.backends.cached_db"
|
||||
|
||||
Cookies
|
||||
~~~~~~~
|
||||
|
||||
If you use Django 1.4 or later, the ``signed_cookies`` back end avoids
|
||||
server load and scaling problems.
|
||||
|
||||
This back end stores session data in a cookie, which is stored by the
|
||||
user's browser. The back end uses a cryptographic signing technique to
|
||||
ensure session data is not tampered with during transport. This is not
|
||||
the same as encryption; session data is still readable by an attacker.
|
||||
|
||||
The pros of this engine are that it requires no additional dependencies
|
||||
or infrastructure overhead, and it scales indefinitely as long as the
|
||||
quantity of session data being stored fits into a normal cookie.
|
||||
|
||||
The biggest downside is that it places session data into storage on the
|
||||
user's machine and transports it over the wire. It also limits the
|
||||
quantity of session data that can be stored.
|
||||
|
||||
See the Django `cookie-based
|
||||
sessions <https://docs.djangoproject.com/en/dev/topics/http/sessions/#using-cookie-based-sessions>`__
|
||||
documentation.
|
117
doc/source/admin/set-quotas.rst
Normal file
117
doc/source/admin/set-quotas.rst
Normal file
@ -0,0 +1,117 @@
|
||||
.. _dashboard-set-quotas:
|
||||
|
||||
======================
|
||||
View and manage quotas
|
||||
======================
|
||||
|
||||
.. |nbsp| unicode:: 0xA0 .. nbsp
|
||||
:trim:
|
||||
|
||||
To prevent system capacities from being exhausted without notification,
|
||||
you can set up quotas. Quotas are operational limits. For example, the
|
||||
number of gigabytes allowed for each project can be controlled so that
|
||||
cloud resources are optimized. Quotas can be enforced at both the project
|
||||
and the project-user level.
|
||||
|
||||
Typically, you change quotas when a project needs more than ten
|
||||
volumes or 1 |nbsp| TB on a compute node.
|
||||
|
||||
Using the Dashboard, you can view default Compute and Block Storage
|
||||
quotas for new projects, as well as update quotas for existing projects.
|
||||
|
||||
.. note::
|
||||
|
||||
Using the command-line interface, you can manage quotas for the
|
||||
OpenStack Compute service, the OpenStack Block Storage service, and
|
||||
the OpenStack Networking service (see `OpenStack Administrator Guide
|
||||
<https://docs.openstack.org/admin-guide/cli-set-quotas.html>`_).
|
||||
Additionally, you can update Compute service quotas for
|
||||
project users.
|
||||
|
||||
The following table describes the Compute and Block Storage service quotas:
|
||||
|
||||
.. _compute_quotas:
|
||||
|
||||
**Quota Descriptions**
|
||||
|
||||
+--------------------+------------------------------------+---------------+
|
||||
| Quota Name | Defines the number of | Service |
|
||||
+====================+====================================+===============+
|
||||
| Gigabytes | Volume gigabytes allowed for | Block Storage |
|
||||
| | each project. | |
|
||||
+--------------------+------------------------------------+---------------+
|
||||
| Instances | Instances allowed for each | Compute |
|
||||
| | project. | |
|
||||
+--------------------+------------------------------------+---------------+
|
||||
| Injected Files | Injected files allowed for each | Compute |
|
||||
| | project. | |
|
||||
+--------------------+------------------------------------+---------------+
|
||||
| Injected File | Content bytes allowed for each | Compute |
|
||||
| Content Bytes | injected file. | |
|
||||
+--------------------+------------------------------------+---------------+
|
||||
| Keypairs | Number of keypairs. | Compute |
|
||||
+--------------------+------------------------------------+---------------+
|
||||
| Metadata Items | Metadata items allowed for each | Compute |
|
||||
| | instance. | |
|
||||
+--------------------+------------------------------------+---------------+
|
||||
| RAM (MB) | RAM megabytes allowed for | Compute |
|
||||
| | each instance. | |
|
||||
+--------------------+------------------------------------+---------------+
|
||||
| Security Groups | Security groups allowed for each | Compute |
|
||||
| | project. | |
|
||||
+--------------------+------------------------------------+---------------+
|
||||
| Security Group | Security group rules allowed for | Compute |
|
||||
| Rules | each project. | |
|
||||
+--------------------+------------------------------------+---------------+
|
||||
| Snapshots | Volume snapshots allowed for | Block Storage |
|
||||
| | each project. | |
|
||||
+--------------------+------------------------------------+---------------+
|
||||
| VCPUs | Instance cores allowed for each | Compute |
|
||||
| | project. | |
|
||||
+--------------------+------------------------------------+---------------+
|
||||
| Volumes | Volumes allowed for each | Block Storage |
|
||||
| | project. | |
|
||||
+--------------------+------------------------------------+---------------+
|
||||
|
||||
.. _dashboard_view_quotas_procedure:
|
||||
|
||||
View default project quotas
|
||||
~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
||||
|
||||
#. Log in to the dashboard and select the :guilabel:`admin` project
|
||||
from the drop-down list.
|
||||
|
||||
#. On the :guilabel:`Admin` tab, open the :guilabel:`System` tab
|
||||
and click the :guilabel:`Defaults` category.
|
||||
|
||||
#. The default quota values are displayed.
|
||||
|
||||
.. note::
|
||||
|
||||
You can sort the table by clicking on either the
|
||||
:guilabel:`Quota Name` or :guilabel:`Limit` column headers.
|
||||
|
||||
.. _dashboard_update_project_quotas:
|
||||
|
||||
Update project quotas
|
||||
~~~~~~~~~~~~~~~~~~~~~
|
||||
|
||||
#. Log in to the dashboard and select the :guilabel:`admin` project
|
||||
from the drop-down list.
|
||||
|
||||
#. On the :guilabel:`Admin` tab, open the :guilabel:`System` tab
|
||||
and click the :guilabel:`Defaults` category.
|
||||
|
||||
#. Click the :guilabel:`Update Defaults` button.
|
||||
|
||||
#. In the :guilabel:`Update Default Quotas` window,
|
||||
you can edit the default quota values.
|
||||
|
||||
#. Click the :guilabel:`Update Defaults` button.
|
||||
|
||||
.. note::
|
||||
|
||||
The dashboard does not show all possible project quotas.
|
||||
To view and update the quotas for a service, use its
|
||||
command-line client. See `OpenStack Administrator Guide
|
||||
<https://docs.openstack.org/admin-guide/cli-set-quotas.html>`_.
|
41
doc/source/admin/view-cloud-resources.rst
Normal file
41
doc/source/admin/view-cloud-resources.rst
Normal file
@ -0,0 +1,41 @@
|
||||
===========================
|
||||
View cloud usage statistics
|
||||
===========================
|
||||
|
||||
The Telemetry service provides user-level usage data for
|
||||
OpenStack-based clouds, which can be used for customer billing, system
|
||||
monitoring, or alerts. Data can be collected by notifications sent by
|
||||
existing OpenStack components (for example, usage events emitted from
|
||||
Compute) or by polling the infrastructure (for example, libvirt).
|
||||
|
||||
.. note::
|
||||
|
||||
You can only view metering statistics on the dashboard (available
|
||||
only to administrators).
|
||||
The Telemetry service must be set up and administered through the
|
||||
:command:`ceilometer` command-line interface (CLI).
|
||||
|
||||
For basic administration information, refer to the `Measure Cloud
|
||||
Resources <https://docs.openstack.org/user-guide/cli-ceilometer.html>`_
|
||||
chapter in the OpenStack End User Guide.
|
||||
|
||||
.. _dashboard-view-resource-stats:
|
||||
|
||||
View resource statistics
|
||||
~~~~~~~~~~~~~~~~~~~~~~~~
|
||||
|
||||
#. Log in to the dashboard and select the :guilabel:`admin` project
|
||||
from the drop-down list.
|
||||
|
||||
#. On the :guilabel:`Admin` tab, click the :guilabel:`Resource Usage` category.
|
||||
|
||||
#. Click the:
|
||||
|
||||
* :guilabel:`Usage Report` tab to view a usage report per project
|
||||
by specifying the time period (or even use a calendar to define
|
||||
a date range).
|
||||
|
||||
* :guilabel:`Stats` tab to view a multi-series line chart with
|
||||
user-defined meters. You group by project, define the value type
|
||||
(min, max, avg, or sum), and specify the time period (or even use
|
||||
a calendar to define a date range).
|
@ -40,6 +40,7 @@ How to use Horizon in your own projects.
|
||||
|
||||
install/index
|
||||
user/index
|
||||
admin/index
|
||||
|
||||
Contributor Docs
|
||||
================
|
||||
|
Loading…
Reference in New Issue
Block a user