mirror of
https://github.com/clearlinux/clear-linux-documentation.git
synced 2026-09-06 05:41:44 +00:00
Updated nearly all RST files to:
* Fix formatting issues. * Simplify coding for code blocks. * Fix typos. Also adding links from "openstack_installing_bundles" to next-step topics.
This commit is contained in:
@@ -1,9 +1,8 @@
|
||||
.. _bootable_usb:
|
||||
|
||||
Creating a bootable USB to install the OS
|
||||
=========================================
|
||||
Here's how to create a USB drive that initiates the process for
|
||||
:ref:`clr_as_host`. Alternatively, you can test the OS by :ref:`clr_in_virtual_env`.
|
||||
`installing Clear Linux OS for Intel Architecture as host <gs_installing_clr_as_host.html>`_.
|
||||
Alternatively, you can test the OS by `running in a virtualized environment <gs_running_clr_virtual.html>`_.
|
||||
|
||||
|
||||
What you need
|
||||
@@ -13,6 +12,7 @@ What you need
|
||||
``dd`` with caution.
|
||||
* A ClearLinux OS image; the most current version can be found here:
|
||||
`https://download.clearlinux.org/image <https://download.clearlinux.org/image>`_
|
||||
|
||||
.. tip::
|
||||
|
||||
For older versions, see our `downloads page <https://download.clearlinux.org/>`_.
|
||||
@@ -26,37 +26,29 @@ Download and checksum
|
||||
$ wget https://download.clearlinux.org/image/clear-[release_number]-installer.img.xz
|
||||
$ sha512sum clear-[release_number]-installer.img.xz`
|
||||
|
||||
|
||||
|
||||
Confirm the mount point on the USB drive
|
||||
----------------------------------------
|
||||
Using :command:`$ lsblk` is helpful to show the block-level devices; a USB drive
|
||||
Using ``$ lsblk`` is helpful to show the block-level devices; a USB drive
|
||||
usually shows up under ``/sdb`` or ``/sdc`` (almost never ``/sda``), and should
|
||||
indicate disk space approximately the size of the USB drive:
|
||||
indicate disk space approximately the size of the USB drive::
|
||||
|
||||
::
|
||||
$ lsblk /dev/sdb
|
||||
NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINT
|
||||
?? sdb 8:16 1 14.9G 0
|
||||
?? sdb1 8:17 1 14.9G 0 part
|
||||
|
||||
$ lsblk /dev/sdb
|
||||
NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINT
|
||||
?? sdb 8:16 1 14.9G 0
|
||||
?? sdb1 8:17 1 14.9G 0 part
|
||||
|
||||
and make sure the drive isn't already mounted. The easiest way is with
|
||||
:command:`# df`.
|
||||
and make sure the drive isn't already mounted. The easiest way is with::
|
||||
|
||||
# df
|
||||
|
||||
Flash the image to the USB
|
||||
--------------------------
|
||||
Flash the image with the following command, adding the ``-v`` option for verbose mode
|
||||
(recommended), as the image file may be large, and the process can take a while. This
|
||||
may need to be done as root.
|
||||
|
||||
::
|
||||
may need to be done as root::
|
||||
|
||||
$ xzcat -v clear-[release_number]-installer.img.xz | dd of=/dev/sdb bs=4M
|
||||
|
||||
|
||||
|
||||
Wait for the final confirmation
|
||||
-------------------------------
|
||||
This example shows ``clear-2190-installer.img.xz`` flashed to a 16GB USB drive
|
||||
@@ -66,6 +58,5 @@ mounted on ``/sdc``.
|
||||
:align: center
|
||||
:alt: confirmation
|
||||
|
||||
|
||||
Success! Your USB stick is now ready to boot and initiate the process for
|
||||
:ref:`clr_as_host`.
|
||||
`installing Clear Linux OS for Intel Architecture as host <gs_installing_clr_as_host.html>`_.
|
||||
@@ -1,4 +1,4 @@
|
||||
OpenStack block storage
|
||||
OpenStack* Block Storage
|
||||
############################################################
|
||||
|
||||
Clear Linux* OS for Intel® Architecture can be used with the
|
||||
@@ -27,22 +27,16 @@ database, complete these steps:
|
||||
**Create a database:**
|
||||
|
||||
#. Use the database access client to connect to the database server as
|
||||
the root user:
|
||||
|
||||
.. code:: text
|
||||
the root user::
|
||||
|
||||
$ mysql -u root -p
|
||||
|
||||
#. Create the cinder database.
|
||||
#. Create the cinder database::
|
||||
|
||||
.. code:: text
|
||||
|
||||
CREATE DATABASE cinder;
|
||||
|
||||
#. Grant proper access to the cinder database. Replace ``CINDER_DBPASS``
|
||||
with a suitable password.
|
||||
|
||||
.. code:: text
|
||||
with a suitable password::
|
||||
|
||||
GRANT ALL PRIVILEGES ON cinder.* TO 'cinder'@'localhost' \
|
||||
IDENTIFIED BY 'CINDER_DBPASS';
|
||||
@@ -54,18 +48,14 @@ database, complete these steps:
|
||||
**Create service credentials:**
|
||||
|
||||
#. Now source the admin credentials to gain access to admin-only CLI
|
||||
commands:
|
||||
|
||||
.. code:: text
|
||||
commands::
|
||||
|
||||
$ source admin-openrc.sh
|
||||
|
||||
#. To create the service credentials, complete these steps:
|
||||
|
||||
#. Create a cinder user:
|
||||
* Create a cinder user::
|
||||
|
||||
.. code:: text
|
||||
|
||||
$ openstack user create --password-prompt cinder
|
||||
User Password:
|
||||
Repeat User Password:
|
||||
@@ -79,10 +69,8 @@ database, complete these steps:
|
||||
| username | cinder |
|
||||
+----------+----------------------------------+
|
||||
|
||||
#. Add the admin role to the cinder user:
|
||||
* Add the admin role to the cinder user::
|
||||
|
||||
.. code:: text
|
||||
|
||||
$ openstack role add --project service --user cinder admin
|
||||
+-------+----------------------------------+
|
||||
| Field | Value |
|
||||
@@ -91,11 +79,9 @@ database, complete these steps:
|
||||
| name | admin |
|
||||
+-------+----------------------------------+
|
||||
|
||||
#. Now create the cinder service entities:
|
||||
* Now create the cinder service entities::
|
||||
|
||||
.. code:: text
|
||||
|
||||
$ openstack service create --name cinder \
|
||||
$ openstack service create --name cinder \
|
||||
--description "OpenStack Block Storage" volume
|
||||
| Field | Value |
|
||||
+-------------+----------------------------------+
|
||||
@@ -119,9 +105,7 @@ database, complete these steps:
|
||||
|
||||
**Create service endpoints:**
|
||||
|
||||
The last prerequisite is to create the Block Storage service API endpoints:
|
||||
|
||||
.. code:: text
|
||||
The last prerequisite is to create the Block Storage service API endpoints::
|
||||
|
||||
$ openstack endpoint create \
|
||||
--publicurl http://controller:8776/v2/%\(tenant_id\)s \
|
||||
@@ -166,46 +150,36 @@ Installing and configuring Block Storage controller components
|
||||
Once your prerequisites are finished, you can install and configure
|
||||
Block Storage controller components:
|
||||
|
||||
#. Install OpenStack Block Storage Controller bundle:
|
||||
#. Install OpenStack Block Storage Controller bundle::
|
||||
|
||||
.. code:: text
|
||||
|
||||
# clr_bundle_add openstack-block-storage-controller
|
||||
|
||||
#. Custom configurations will be located at ``/etc/cinder``.
|
||||
|
||||
#. Create ``/etc/cinder`` directory.
|
||||
* Create ``/etc/cinder`` directory::
|
||||
|
||||
.. code:: text
|
||||
|
||||
mkdir /etc/cinder
|
||||
|
||||
#. Create empty cinder configuration file in
|
||||
``/etc/cinder/cinder.conf``
|
||||
|
||||
.. code:: text
|
||||
* Create empty cinder configuration file in
|
||||
``/etc/cinder/cinder.conf``::
|
||||
|
||||
touch /etc/cinder/cinder.conf
|
||||
|
||||
#. Edit the ``/etc/cinder/cinder.conf`` file and complete the following
|
||||
actions:
|
||||
|
||||
#. In the ``[database]`` section, configure database access. Replace
|
||||
``CINDER_DBPASS`` with the password you chose for the
|
||||
database.
|
||||
|
||||
.. code:: text
|
||||
* In the ``[database]`` section, configure database access. Replace
|
||||
``CINDER_DBPASS`` with the password you chose for the
|
||||
database::
|
||||
|
||||
[database]
|
||||
...
|
||||
connection=mysql://cinder:CINDER_DBPASS@controller/cinder
|
||||
|
||||
#. In the ``[DEFAULT]`` and ``[oslo_messaging_rabbit]`` section,
|
||||
configure RabbitMQ message queue access. Replace ``RABBIT_PASS``
|
||||
with the password you chose for the account in
|
||||
RabbitMQ.
|
||||
|
||||
.. code:: text
|
||||
* In the ``[DEFAULT]`` and ``[oslo_messaging_rabbit]`` section,
|
||||
configure RabbitMQ message queue access. Replace ``RABBIT_PASS``
|
||||
with the password you chose for the account in
|
||||
RabbitMQ::
|
||||
|
||||
[DEFAULT]
|
||||
...
|
||||
@@ -216,12 +190,10 @@ Block Storage controller components:
|
||||
rabbit_userid = openstack
|
||||
rabbit_password = RABBIT_PASS
|
||||
|
||||
#. In the ``[DEFAULT]`` and ``[keystone_authtoken]`` sections,
|
||||
configure Identity service access. Replace ``CINDER_PASS`` with the
|
||||
password you chose for the cinder user in the Identity
|
||||
service.
|
||||
|
||||
.. code:: text
|
||||
* In the ``[DEFAULT]`` and ``[keystone_authtoken]`` sections,
|
||||
configure Identity service access. Replace ``CINDER_PASS`` with the
|
||||
password you chose for the cinder user in the Identity
|
||||
service::
|
||||
|
||||
[DEFAULT]
|
||||
...
|
||||
@@ -233,31 +205,23 @@ Block Storage controller components:
|
||||
admin_user = cinder
|
||||
admin_password = CINDER_PASS
|
||||
|
||||
#. In the ``[DEFAULT]`` section, configure the ``my_ip`` option to
|
||||
use the management interface IP address of the controller node:
|
||||
* In the ``[DEFAULT]`` section, configure the ``my_ip`` option to
|
||||
use the management interface IP address of the controller node::
|
||||
|
||||
.. code:: text
|
||||
[DEFAULT] ... my_ip = 10.0.0.11
|
||||
|
||||
[DEFAULT] ... my_ip = 10.0.0.11
|
||||
|
||||
#. Let ``systemd`` set the correct permissions for files in ``/etc/cinder``.
|
||||
#. Let ``systemd`` set the correct permissions for files in ``/etc/cinder``::
|
||||
|
||||
.. code:: text
|
||||
|
||||
# systemctl restart update-triggers.target
|
||||
|
||||
#. Populate the Block Storage database:
|
||||
#. Populate the Block Storage database::
|
||||
|
||||
.. code:: text
|
||||
|
||||
# su -s /bin/sh -c "cinder-manage db sync" cinder
|
||||
|
||||
Finalizing installation
|
||||
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
||||
|
||||
To finalize installation, enable and start the Block Storage services:
|
||||
|
||||
.. code:: text
|
||||
To finalize installation, enable and start the Block Storage services::
|
||||
|
||||
# systemctl enable cinder-api cinder-scheduler
|
||||
# systemctl start cinder-api cinder-scheduler
|
||||
@@ -279,9 +243,7 @@ storage nodes.
|
||||
Install Block Storage volume components
|
||||
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
||||
|
||||
Install the packages:
|
||||
|
||||
.. code:: text
|
||||
Install the packages::
|
||||
|
||||
# clr_bundle_add openstack-block-storage
|
||||
|
||||
@@ -294,24 +256,20 @@ storage node also needs an empty block storage device of suitable size
|
||||
for your environment.
|
||||
|
||||
#. Create the LVM physical volume: ``/dev/sdb1`` If your system uses a
|
||||
different device name, adjust these steps accordingly.
|
||||
|
||||
.. code:: text
|
||||
different device name, adjust these steps accordingly::
|
||||
|
||||
# pvcreate /dev/sdb1
|
||||
Physical volume "/dev/sdb1" successfully created
|
||||
|
||||
#. Create the LVM volume group ``cinder-volumes``:
|
||||
#. Create the LVM volume group ``cinder-volumes``::
|
||||
|
||||
.. code:: text
|
||||
|
||||
# vgcreate cinder-volumes /dev/sdb1
|
||||
Volume group "cinder-volumes" successfully created
|
||||
|
||||
The Block Storage service creates logical volumes in this volume
|
||||
group.
|
||||
|
||||
#. Only instances can access Block Storage volumes. However, the
|
||||
Only instances can access Block Storage volumes. However, the
|
||||
underlying operating system manages the devices associated with the
|
||||
volumes. By default, the LVM volume scanning tool scans the ``/dev``
|
||||
directory for block storage devices that contain volumes. If projects
|
||||
@@ -319,13 +277,13 @@ for your environment.
|
||||
attempts to cache them which can cause a variety of problems with
|
||||
both the underlying operating system and project volumes. You must
|
||||
reconfigure LVM to scan only the devices that contain the
|
||||
``cinder-volume`` volume group. Edit the ``/etc/lvm/lvm.conf`` file
|
||||
``cinder-volume`` volume group.
|
||||
|
||||
#. Edit the ``/etc/lvm/lvm.conf`` file
|
||||
and complete the following action:
|
||||
|
||||
#. In the ``devices`` section, add a filter that accepts the
|
||||
``/dev/sdb`` device and rejects all other devices:
|
||||
|
||||
.. code:: text
|
||||
* In the ``devices`` section, add a filter that accepts the
|
||||
``/dev/sdb`` device and rejects all other devices::
|
||||
|
||||
devices {
|
||||
filter = [ "a/sdb/", "r/.*/"]
|
||||
@@ -336,22 +294,18 @@ for your environment.
|
||||
#. Edit the ``/etc/cinder/cinder.conf`` file and complete the following
|
||||
actions:
|
||||
|
||||
#. In the ``[database]`` section, configure database access. Replace
|
||||
``CINDER_DBPASS`` with the password you chose for the Block Storage
|
||||
database.
|
||||
|
||||
.. code:: text
|
||||
* In the ``[database]`` section, configure database access. Replace
|
||||
``CINDER_DBPASS`` with the password you chose for the Block Storage
|
||||
database::
|
||||
|
||||
[database]
|
||||
...
|
||||
connection = mysql://cinder:CINDER_DBPASS@controller/cinder
|
||||
|
||||
#. In the ``[DEFAULT]`` and ``[oslo_messaging_rabbit]`` sections,
|
||||
configure *RabbitMQ* message queue access. Replace ``RABBIT_PASS``
|
||||
with the password you chose for the openstack account in
|
||||
*RabbitMQ*.
|
||||
|
||||
.. code:: text
|
||||
* In the ``[DEFAULT]`` and ``[oslo_messaging_rabbit]`` sections,
|
||||
configure *RabbitMQ* message queue access. Replace ``RABBIT_PASS``
|
||||
with the password you chose for the openstack account in
|
||||
*RabbitMQ*::
|
||||
|
||||
[DEFAULT]
|
||||
...
|
||||
@@ -362,11 +316,9 @@ for your environment.
|
||||
rabbit_userid = openstack
|
||||
rabbit_password = RABBIT_PASS
|
||||
|
||||
#. In the ``[DEFAULT]`` and ``[keystone_authtoken]`` sections,
|
||||
configure Identity service access. Replace ``CINDER_PASS`` with the
|
||||
password you chose for the cinder user in the Identity service.
|
||||
|
||||
.. code:: text
|
||||
* In the ``[DEFAULT]`` and ``[keystone_authtoken]`` sections,
|
||||
configure Identity service access. Replace ``CINDER_PASS`` with the
|
||||
password you chose for the cinder user in the Identity service::
|
||||
|
||||
[DEFAULT]
|
||||
...
|
||||
@@ -379,23 +331,19 @@ for your environment.
|
||||
admin_user = cinder
|
||||
admin_password = CINDER_PASS
|
||||
|
||||
#. In the ``[DEFAULT]`` section, configure the ``my_ip`` option.
|
||||
Replace *MANAGEMENT_INTERFACE_IP_ADDRESS* with the IP address
|
||||
of the management network interface on your storage node,
|
||||
typically 10.0.0.41 for the first node in the example
|
||||
architecture.
|
||||
|
||||
.. code:: text
|
||||
* In the ``[DEFAULT]`` section, configure the ``my_ip`` option.
|
||||
Replace *MANAGEMENT_INTERFACE_IP_ADDRESS* with the IP address
|
||||
of the management network interface on your storage node,
|
||||
typically 10.0.0.41 for the first node in the example
|
||||
architecture::
|
||||
|
||||
[DEFAULT]
|
||||
...
|
||||
my_ip = MANAGEMENT_INTERFACE_IP_ADDRESS
|
||||
|
||||
#. In the ``[lvm]`` section, configure the LVM back end with the LVM
|
||||
driver, ``cinder-volumes`` volume group, iSCSI protocol, and
|
||||
appropriate iSCSI service.
|
||||
|
||||
.. code:: text
|
||||
* In the ``[lvm]`` section, configure the LVM back end with the LVM
|
||||
driver, ``cinder-volumes`` volume group, iSCSI protocol, and
|
||||
appropriate iSCSI service::
|
||||
|
||||
[lvm]
|
||||
...
|
||||
@@ -404,35 +352,27 @@ for your environment.
|
||||
iscsi_protocol = iscsi
|
||||
iscsi_helper = tgtadm
|
||||
|
||||
#. In the ``[DEFAULT]`` section, enable the LVM back end:
|
||||
* In the ``[DEFAULT]`` section, enable the LVM back end::
|
||||
|
||||
.. code:: text
|
||||
|
||||
[DEFAULT]
|
||||
...
|
||||
enabled_backends = lvm
|
||||
|
||||
#. In the ``[DEFAULT]`` section, configure the location of the Image
|
||||
service:
|
||||
|
||||
.. code:: text
|
||||
* In the ``[DEFAULT]`` section, configure the location of the Image
|
||||
service::
|
||||
|
||||
[DEFAULT]
|
||||
...
|
||||
glance_host = controller
|
||||
|
||||
#. Let systemd set the correct permissions for files in /etc/cinder
|
||||
#. Let systemd set the correct permissions for files in ``/etc/cinder``::
|
||||
|
||||
.. code:: text
|
||||
|
||||
# systemctl restart update-triggers.target
|
||||
|
||||
Finalizing installation
|
||||
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
||||
|
||||
Restart the Block Storage volume service including its dependencies:
|
||||
|
||||
.. code:: text
|
||||
Restart the Block Storage volume service including its dependencies::
|
||||
|
||||
# systemctl enable iscsid tgtd cinder-volume
|
||||
# systemctl start iscsid tgtd cinder-volume
|
||||
@@ -441,9 +381,7 @@ Configuring a compute node to use Block Storage
|
||||
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
||||
|
||||
Perform the following steps to enable a compute node to work with block
|
||||
storage:
|
||||
|
||||
.. code:: text
|
||||
storage::
|
||||
|
||||
# systemctl enable iscsid
|
||||
# systemctl start iscsi-gen-initiatorname
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
OpenStack* Bundle and service summary
|
||||
OpenStack* bundle and service summary
|
||||
############################################################
|
||||
|
||||
OpenStack provides an Infrastructure-as-a-Service (IaaS) solution
|
||||
|
||||
+49
-130
@@ -1,13 +1,13 @@
|
||||
OpenStack Compute
|
||||
#################
|
||||
OpenStack* Compute
|
||||
##################
|
||||
|
||||
Use OpenStack Compute to host and manage cloud computing systems.
|
||||
OpenStack Compute interacts with OpenStack Identity for authentication,
|
||||
OpenStack Image Service for disk and server images, and OpenStack
|
||||
dashboard for the user and administrative interface. Image access is
|
||||
Dashboard for the user and administrative interface. Image access is
|
||||
limited by projects, and by users; quotas are limited per project (the
|
||||
number of instances, for example). OpenStack Compute can scale
|
||||
horizontally on standard hardware, and download images to launch
|
||||
horizontally on standard hardware and download images to launch
|
||||
instances.
|
||||
|
||||
Install and configure controller node
|
||||
@@ -24,44 +24,34 @@ create a database, service credentials, and API endpoints.
|
||||
|
||||
#. To create the database, complete these steps:
|
||||
|
||||
#. Use the database access client to connect to the database server
|
||||
as the root user:
|
||||
|
||||
.. code-block:: console
|
||||
* Use the database access client to connect to the database server
|
||||
as the root user::
|
||||
|
||||
$ mysql -u root -p
|
||||
|
||||
#. Create the ``nova`` database:
|
||||
|
||||
.. code-block:: console
|
||||
* Create the ``nova`` database::
|
||||
|
||||
CREATE DATABASE nova;
|
||||
|
||||
#. Grant proper access to the nova database. Replace ``NOVA_DBPASS``
|
||||
with a suitable password.
|
||||
|
||||
.. code-block:: console
|
||||
* Grant proper access to the nova database. Replace ``NOVA_DBPASS``
|
||||
with a suitable password::
|
||||
|
||||
GRANT ALL PRIVILEGES ON nova.* TO 'nova'@'localhost' \
|
||||
IDENTIFIED BY 'NOVA_DBPASS';
|
||||
GRANT ALL PRIVILEGES ON nova.* TO 'nova'@'%' \
|
||||
IDENTIFIED BY 'NOVA_DBPASS';
|
||||
|
||||
#. Exit the database access client.
|
||||
* Exit the database access client.
|
||||
|
||||
#. Source the admin credentials to gain access to admin-only CLI
|
||||
commands:
|
||||
|
||||
.. code-block:: console
|
||||
commands::
|
||||
|
||||
$ source admin-openrc.sh
|
||||
|
||||
#. To create the service credentials, complete these steps:
|
||||
|
||||
* Create the ``nova`` user. Replace ``NOVA_PASS`` with a suitable
|
||||
password.
|
||||
|
||||
.. code-block:: console
|
||||
password::
|
||||
|
||||
$ openstack user create --domain default --password NOVA_PASS nova
|
||||
+-----------+----------------------------------+
|
||||
@@ -73,15 +63,11 @@ create a database, service credentials, and API endpoints.
|
||||
| name | nova |
|
||||
+-----------+----------------------------------+
|
||||
|
||||
* Add the ``admin`` role to the ``nova`` user:
|
||||
|
||||
.. code-block:: console
|
||||
* Add the ``admin`` role to the ``nova`` user::
|
||||
|
||||
$ openstack role add --project service --user nova admin
|
||||
|
||||
#. Create the ``nova`` service entity:
|
||||
|
||||
.. code-block:: console
|
||||
* Create the ``nova`` service entity::
|
||||
|
||||
$ openstack service create --name nova \
|
||||
--description "OpenStack Compute" compute
|
||||
@@ -95,9 +81,7 @@ create a database, service credentials, and API endpoints.
|
||||
| type | compute |
|
||||
+-------------+----------------------------------+
|
||||
|
||||
#. Create the Compute service API endpoints:
|
||||
|
||||
.. code-block:: console
|
||||
#. Create the Compute service API endpoints::
|
||||
|
||||
$ openstack endpoint create --region RegionOne \
|
||||
compute public http://controller:8774/v2/%\(tenant_id\)s
|
||||
@@ -152,23 +136,17 @@ Installing and configuring the Compute controller components
|
||||
|
||||
To install and configure the Compute controller components:
|
||||
|
||||
#. Install OpenStack Compute Controller bundle:
|
||||
|
||||
.. code-block:: console
|
||||
#. Install OpenStack Compute Controller bundle::
|
||||
|
||||
# clr_bundle_add openstack-compute-controller
|
||||
|
||||
#. Custom configurations will be located at ``/etc/nova``.
|
||||
|
||||
* Create ``/etc/nova directory``.
|
||||
|
||||
.. code-block:: console
|
||||
* Create ``/etc/nova directory``::
|
||||
|
||||
# mkdir /etc/nova
|
||||
|
||||
* Create empty nova configuration file ``/etc/nova/nova.conf``.
|
||||
|
||||
.. code-block:: console
|
||||
* Create empty nova configuration file ``/etc/nova/nova.conf``::
|
||||
|
||||
# touch /etc/nova/nova.conf
|
||||
|
||||
@@ -176,27 +154,20 @@ To install and configure the Compute controller components:
|
||||
actions:
|
||||
|
||||
* In the ``[database]`` section, configure database access. Replace
|
||||
``NOVA_DBPASS`` with the password you chose for the Compute
|
||||
database.
|
||||
|
||||
.. code-block:: ini
|
||||
``NOVA_DBPASS`` with the password you chose for the Compute database::
|
||||
|
||||
[database]
|
||||
...
|
||||
connection=mysql://nova:NOVA_DBPASS@controller/nova
|
||||
|
||||
* In the ``[DEFAULT]`` and ``[oslo_messaging_rabbit]`` sections,
|
||||
configure ``RabbitMQ`` message queue access. Replace ``RABBIT_PASS``
|
||||
with the password you chose for the guest account in RabbitMQ.
|
||||
|
||||
.. code-block:: ini
|
||||
configure ``RabbitMQ`` message queue access. Replace ``RABBIT_PASS``
|
||||
with the password you chose for the guest account in RabbitMQ::
|
||||
|
||||
[DEFAULT]
|
||||
...
|
||||
rpc_backend = rabbit
|
||||
|
||||
.. code-block:: console
|
||||
|
||||
[oslo_messaging_rabbit]
|
||||
...
|
||||
rabbit_host = controller
|
||||
@@ -204,10 +175,8 @@ To install and configure the Compute controller components:
|
||||
rabbit_password = RABBIT_PASS
|
||||
|
||||
* In the ``[DEFAULT]`` and ``[keystone_authtoken]`` sections,
|
||||
configure Identity service access. Replace ``NOVA_PASS`` with the
|
||||
password you chose for the nova user in the Identity service.
|
||||
|
||||
.. code-block:: ini
|
||||
configure Identity service access. Replace ``NOVA_PASS`` with the
|
||||
password you chose for the nova user in the Identity service::
|
||||
|
||||
[DEFAULT]
|
||||
...
|
||||
@@ -226,17 +195,13 @@ To install and configure the Compute controller components:
|
||||
|
||||
|
||||
* In the ``[DEFAULT]`` section, configure the ``my_ip`` option to
|
||||
use the management interface IP address of the controller node:
|
||||
|
||||
.. code-block:: ini
|
||||
use the management interface IP address of the controller node::
|
||||
|
||||
[DEFAULT]
|
||||
...
|
||||
my_ip = 10.0.0.11
|
||||
|
||||
* In the ``[DEFAULT]`` section, enable support for the Networking service:
|
||||
|
||||
.. code-block:: ini
|
||||
* In the ``[DEFAULT]`` section, enable support for the Networking service::
|
||||
|
||||
[DEFAULT]
|
||||
...
|
||||
@@ -246,9 +211,7 @@ To install and configure the Compute controller components:
|
||||
firewall_driver = nova.virt.firewall.NoopFirewallDriver
|
||||
|
||||
* In the ``[vnc]`` section, configure the VNC proxy to use the
|
||||
management interface IP address of the controller node:
|
||||
|
||||
.. code-block:: ini
|
||||
management interface IP address of the controller node::
|
||||
|
||||
[vnc]
|
||||
...
|
||||
@@ -256,23 +219,17 @@ To install and configure the Compute controller components:
|
||||
vncserver_proxyclient_address = 10.0.0.11
|
||||
|
||||
* In the ``[glance]`` section, configure the location of the
|
||||
Image Service:
|
||||
|
||||
.. code-block:: ini
|
||||
Image Service::
|
||||
|
||||
[glance]
|
||||
...
|
||||
host = controller
|
||||
|
||||
#. Let systemd set the correct permissions for files in ``/etc/nova``.
|
||||
|
||||
.. code-block:: console
|
||||
#. Let systemd set the correct permissions for files in ``/etc/nova``::
|
||||
|
||||
# systemctl restart update-triggers.target
|
||||
|
||||
#. Populate the Compute database:
|
||||
|
||||
.. code-block:: console
|
||||
#. Populate the Compute database::
|
||||
|
||||
su -s /bin/sh -c "nova-manage db sync" nova
|
||||
|
||||
@@ -282,9 +239,7 @@ Finalizing Compute installation
|
||||
Complete the following steps to finalize Compute installation:
|
||||
|
||||
#. Start the Compute Service services and configure them to start
|
||||
when the system boots:
|
||||
|
||||
.. code-block:: console
|
||||
when the system boots::
|
||||
|
||||
# systemctl enable uwsgi@nova-api.socket \
|
||||
nova-cert.service nova-consoleauth.service \
|
||||
@@ -306,23 +261,17 @@ virtual machines.
|
||||
Install and configure components
|
||||
--------------------------------
|
||||
|
||||
#. Install OpenStack Compute bundle:
|
||||
|
||||
.. code-block:: console
|
||||
#. Install OpenStack Compute bundle::
|
||||
|
||||
# clr_bundle_add openstack-compute
|
||||
|
||||
#. Custom configurations will be located at ``/etc/nova``.
|
||||
|
||||
* Create ``/etc/nova`` directory.
|
||||
|
||||
.. code-block:: console
|
||||
* Create ``/etc/nova`` directory::
|
||||
|
||||
# mkdir /etc/nova
|
||||
|
||||
* Create empty nova configuration file ``/etc/nova/nova.conf``.
|
||||
|
||||
.. code-block:: console
|
||||
* Create empty nova configuration file ``/etc/nova/nova.conf``::
|
||||
|
||||
# touch /etc/nova/nova.conf
|
||||
|
||||
@@ -331,16 +280,12 @@ Install and configure components
|
||||
|
||||
* In the ``[DEFAULT]`` and ``[oslo_messaging_rabbit]`` sections,
|
||||
configure RabbitMQ message broker access. Replace ``RABBIT_PASS``
|
||||
with the password you chose for the ``openstack`` account in ``RabbitMQ``.
|
||||
|
||||
.. code-block:: ini
|
||||
with the password you chose for the ``openstack`` account in ``RabbitMQ``::
|
||||
|
||||
[DEFAULT]
|
||||
...
|
||||
rpc_backend = rabbit
|
||||
|
||||
.. code-block:: ini
|
||||
|
||||
[oslo_messaging_rabbit]
|
||||
...
|
||||
rabbit_host = controller
|
||||
@@ -349,9 +294,7 @@ Install and configure components
|
||||
|
||||
* In the ``[DEFAULT]`` and ``[keystone_authtoken]`` sections,
|
||||
configure Identity service access. Replace ``NOVA_PASS`` with the
|
||||
password you chose for the nova user in the Identity service.
|
||||
|
||||
.. code-block:: console
|
||||
password you chose for the nova user in the Identity service::
|
||||
|
||||
[DEFAULT]
|
||||
...
|
||||
@@ -371,17 +314,13 @@ Install and configure components
|
||||
* In the ``[DEFAULT]`` section, configure the ``my_ip`` option.
|
||||
Replace ``MANAGEMENT_INTERFACE_IP_ADDRESS`` with the IP address of
|
||||
the management network interface on your compute node, typically
|
||||
``10.0.0.31`` for the first node in the example architecture.
|
||||
|
||||
.. code-block:: ini
|
||||
``10.0.0.31`` for the first node in the example architecture::
|
||||
|
||||
[DEFAULT]
|
||||
...
|
||||
my_ip = MANAGEMENT_INTERFACE_IP_ADDRESS
|
||||
|
||||
* In the ``[DEFAULT]`` section, enable support for the Networking service:
|
||||
|
||||
.. code-block:: ini
|
||||
* In the ``[DEFAULT]`` section, enable support for the Networking service::
|
||||
|
||||
[DEFAULT]
|
||||
...
|
||||
@@ -390,8 +329,7 @@ Install and configure components
|
||||
linuxnet_interface_driver = nova.network.linux_net.NeutronLinuxBridgeInterfaceDriver
|
||||
firewall_driver = nova.virt.firewall.NoopFirewallDriver
|
||||
|
||||
* In the ``[vnc]`` section, enable and configure remote console access:
|
||||
.. code-block:: ini
|
||||
* In the ``[vnc]`` section, enable and configure remote console access::
|
||||
|
||||
[vnc]
|
||||
...
|
||||
@@ -407,9 +345,7 @@ Install and configure components
|
||||
this compute node.
|
||||
|
||||
* In the ``[glance]`` section, configure the location of the
|
||||
Image Service:
|
||||
|
||||
.. code-block:: ini
|
||||
Image Service::
|
||||
|
||||
[glance]
|
||||
...
|
||||
@@ -419,9 +355,7 @@ Finalize compute node installation
|
||||
----------------------------------
|
||||
|
||||
#. Determine whether your compute node supports hardware acceleration
|
||||
for virtual machines:
|
||||
|
||||
.. code-block:: console
|
||||
for virtual machines::
|
||||
|
||||
$ egrep -c '(vmx|svm)' /proc/cpuinfo
|
||||
|
||||
@@ -434,18 +368,14 @@ Finalize compute node installation
|
||||
to use QEMU instead of KVM.
|
||||
|
||||
* Edit the ``[libvirt]`` section in the ``/etc/nova/nova.conf`` file
|
||||
as follows:
|
||||
|
||||
.. code-block:: ini
|
||||
as follows::
|
||||
|
||||
[libvirt]
|
||||
...
|
||||
virt_type = qemu
|
||||
|
||||
#. Start the Compute service including its dependencies and configure
|
||||
them to start automatically when the system boots:
|
||||
|
||||
.. code-block:: console
|
||||
them to start automatically when the system boots::
|
||||
|
||||
# systemctl enable libvirtd.service \
|
||||
nova-compute.service
|
||||
@@ -456,21 +386,15 @@ Verify operation
|
||||
~~~~~~~~~~~~~~~~
|
||||
Verify operation of the Compute service.
|
||||
|
||||
.. note::
|
||||
|
||||
Perform these commands on the controller node.
|
||||
*Note:* Perform these commands on the controller node.
|
||||
|
||||
#. Source the ``admin`` credentials to gain access to
|
||||
admin-only CLI commands:
|
||||
|
||||
.. code-block:: console
|
||||
admin-only CLI commands::
|
||||
|
||||
$ source admin-openrc.sh
|
||||
|
||||
#. List service components to verify successful launch and
|
||||
registration of each process:
|
||||
|
||||
.. code-block:: console
|
||||
registration of each process::
|
||||
|
||||
$ nova service-list
|
||||
+----+------------------+------------+----------+---------+-------+--------------+-----------------+
|
||||
@@ -482,10 +406,9 @@ Verify operation of the Compute service.
|
||||
| 4 | nova-cert | controller | internal | enabled | up | 2014-09-16.. | - |
|
||||
| 5 | nova-compute | compute1 | nova | enabled | up | 2014-09-16.. | - |
|
||||
+----+------------------+------------+----------+---------+-------+--------------+-----------------+
|
||||
#. List API endpoints in the Identity service to verify connectivity
|
||||
with the Identity service:
|
||||
|
||||
.. code-block:: console
|
||||
#. List API endpoints in the Identity service to verify connectivity
|
||||
with the Identity service::
|
||||
|
||||
$ nova endpoints
|
||||
+-----------+------------------------------------------------------------+
|
||||
@@ -572,14 +495,10 @@ Verify operation of the Compute service.
|
||||
| url | http://controller:35357/v2.0 |
|
||||
+-----------+----------------------------------+
|
||||
|
||||
.. note::
|
||||
|
||||
Ignore any warnings in this output.
|
||||
*Note:* Ignore any warnings in this output.
|
||||
|
||||
#. List images in the Image service catalog to verify connectivity
|
||||
with the Image service:
|
||||
|
||||
.. code-block:: console
|
||||
with the Image service::
|
||||
|
||||
$ nova image-list
|
||||
+--------------------------------------+--------+--------+--------+
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
OpenStack* dashboard
|
||||
OpenStack* Dashboard
|
||||
############################################################
|
||||
|
||||
The OpenStack dashboard, also known as Horizon, is a web-based interface
|
||||
The OpenStack Dashboard, also known as Horizon, is a web-based interface
|
||||
for cloud administrators to manage various OpenStack resources and
|
||||
services. This dashboard enables interaction with the OpenStack Compute
|
||||
cloud controller via OpenStack APIs.
|
||||
@@ -17,17 +17,13 @@ including identity, image service, compute, and either networking
|
||||
Environments with stand-alone services, such as Object Storage, cannot
|
||||
use the dashboard.
|
||||
|
||||
To get started with OpenStack dashboard services:
|
||||
To get started with OpenStack Dashboard services:
|
||||
|
||||
#. Install the OpenStack dashboard bundle:
|
||||
#. Install the OpenStack Dashboard bundle::
|
||||
|
||||
.. code:: text
|
||||
|
||||
# clr_bundle_add openstack-dashboard
|
||||
|
||||
#. Enable and start the memcached service and the httpd server:
|
||||
#. Enable and start the memcached service and the httpd server::
|
||||
|
||||
.. code:: text
|
||||
|
||||
# systemctl enable httpd memcached
|
||||
# systemctl restart httpd memcached
|
||||
|
||||
@@ -1,21 +1,18 @@
|
||||
Database
|
||||
########
|
||||
Most OpenStack services use an SQL database to store information. The
|
||||
|
||||
Most OpenStack* services use an SQL database to store information. The
|
||||
database typically runs on the controller node. The procedures in this
|
||||
guide use MariaDB.
|
||||
|
||||
Install and configure the database server
|
||||
-----------------------------------------
|
||||
|
||||
#. Install MariaDB bundle:
|
||||
|
||||
.. code-block:: console
|
||||
#. Install MariaDB bundle::
|
||||
|
||||
# clr_bundle_add database-mariadb
|
||||
|
||||
#. Create the ``/etc/mariadb/`` folder and the ``/etc/mariadb/openstack.cnf`` file.
|
||||
|
||||
.. code-block:: console
|
||||
#. Create the ``/etc/mariadb/`` folder and the ``/etc/mariadb/openstack.cnf`` file::
|
||||
|
||||
# mkdir /etc/mariadb
|
||||
# touch /etc/mariadb/openstack.cnf
|
||||
@@ -23,9 +20,7 @@ Install and configure the database server
|
||||
#. Add the ``[mysqld]`` section, set the bind-address key to the
|
||||
management IP address of the controller node to enable access by
|
||||
other nodes via the management network and enable useful options for
|
||||
UTF-8 character set:
|
||||
|
||||
.. code:: console
|
||||
UTF-8 character set::
|
||||
|
||||
[mysqld]
|
||||
bind-address = 10.0.0.11
|
||||
@@ -41,16 +36,12 @@ Finalizing database installation
|
||||
Complete the following steps to finalize database installation:
|
||||
|
||||
#. Start the database service and configure it to start when the system
|
||||
boots:
|
||||
|
||||
.. code:: console
|
||||
boots::
|
||||
|
||||
# systemctl enable mariadb.service
|
||||
# systemctl start mariadb.service
|
||||
|
||||
2. Secure the database service including choosing a suitable password
|
||||
for the root account:
|
||||
|
||||
.. code:: console
|
||||
#. Secure the database service including choosing a suitable password
|
||||
for the root account::
|
||||
|
||||
# mysql_secure_installation
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
Message queue
|
||||
#############
|
||||
|
||||
OpenStack uses a `message queue` to coordinate operations and
|
||||
OpenStack* uses a `message queue` to coordinate operations and
|
||||
status information among services. The message queue service typically
|
||||
runs on the controller node. OpenStack supports several message queue
|
||||
services. This guide implements the RabbitMQ message queue service.
|
||||
@@ -9,11 +9,9 @@ services. This guide implements the RabbitMQ message queue service.
|
||||
Install the message queue service
|
||||
---------------------------------
|
||||
|
||||
#. Install the message queue bundle:
|
||||
#. Install the message queue bundle::
|
||||
|
||||
.. code-block:: console
|
||||
|
||||
# clr_bundle_add message-broker-rabbitmq
|
||||
# clr_bundle_add message-broker-rabbitmq
|
||||
|
||||
Configuring the message broker service
|
||||
--------------------------------------
|
||||
@@ -21,33 +19,25 @@ Configuring the message broker service
|
||||
Complete the following steps to configure the message broker service:
|
||||
|
||||
#. Message broker service needs to be able to resolve to itself. Add the
|
||||
following line to ``/etc/hosts``
|
||||
|
||||
.. code:: console
|
||||
following line to ``/etc/hosts``::
|
||||
|
||||
127.0.0.1 controller
|
||||
|
||||
#. Start the message broker service and configure it to start when the
|
||||
system boots:
|
||||
|
||||
.. code:: console
|
||||
system boots::
|
||||
|
||||
# systemctl enable rabbitmq-server.service
|
||||
# systemctl start rabbitmq-server.service
|
||||
|
||||
#. Add the OpenStack user:
|
||||
|
||||
.. code:: console
|
||||
#. Add the OpenStack user::
|
||||
|
||||
# rabbitmqctl add_user openstack RABBIT_PASS
|
||||
Creating user openstack ...
|
||||
...done.
|
||||
|
||||
Replace ``RABBIT_PASS`` with a suitable password.
|
||||
Replace ``RABBIT_PASS`` with a suitable password.
|
||||
|
||||
#. Permit configuration, write, and read access for the OpenStack user:
|
||||
|
||||
.. code:: console
|
||||
#. Permit configuration, write, and read access for the OpenStack user::
|
||||
|
||||
# rabbitmqctl set_permissions openstack ".*" ".*" ".*"
|
||||
Setting permissions for user "openstack" in vhost "/" ...
|
||||
|
||||
@@ -1,12 +1,12 @@
|
||||
Create OpenStack client environment scripts
|
||||
###########################################
|
||||
Create OpenStack* client environment scripts
|
||||
############################################
|
||||
|
||||
The previous section used a combination of environment variables and
|
||||
command options to interact with the Identity service via the
|
||||
``openstack`` client. To increase efficiency of client operations,
|
||||
OpenStack supports simple client environment scripts also known as
|
||||
OpenRC files. These scripts typically contain common options for
|
||||
all clients, but also support unique options. For more information, see the
|
||||
all clients but also support unique options. For more information, see the
|
||||
`OpenStack User Guide <http://docs.openstack.org/user-guide/common/
|
||||
cli_set_environment_variables_using_openstack_rc.html>`__.
|
||||
|
||||
@@ -17,9 +17,7 @@ Create client environment scripts for the ``admin`` and ``demo``
|
||||
projects and users. Future portions of this guide reference these
|
||||
scripts to load appropriate credentials for client operations.
|
||||
|
||||
#. Edit the ``admin-openrc.sh`` file and add the following content:
|
||||
|
||||
.. code-block:: bash
|
||||
#. Edit the ``admin-openrc.sh`` file and add the following content::
|
||||
|
||||
export OS_PROJECT_DOMAIN_ID=default
|
||||
export OS_USER_DOMAIN_ID=default
|
||||
@@ -33,9 +31,7 @@ scripts to load appropriate credentials for client operations.
|
||||
Replace ``ADMIN_PASS`` with the password you chose
|
||||
for the ``admin`` user in the Identity service.
|
||||
|
||||
#. Edit the ``demo-openrc.sh`` file and add the following content:
|
||||
|
||||
.. code-block:: bash
|
||||
#. Edit the ``demo-openrc.sh`` file and add the following content::
|
||||
|
||||
export OS_PROJECT_DOMAIN_ID=default
|
||||
export OS_USER_DOMAIN_ID=default
|
||||
@@ -58,15 +54,11 @@ For example:
|
||||
|
||||
#. Load the ``admin-openrc.sh`` file to populate
|
||||
environment variables with the location of the Identity service
|
||||
and the ``admin`` project and user credentials:
|
||||
|
||||
.. code-block:: console
|
||||
and the ``admin`` project and user credentials::
|
||||
|
||||
$ source admin-openrc.sh
|
||||
|
||||
#. Request an authentication token:
|
||||
|
||||
.. code-block:: console
|
||||
#. Request an authentication token::
|
||||
|
||||
$ openstack token issue
|
||||
+------------+----------------------------------+
|
||||
|
||||
+100
-164
@@ -1,5 +1,5 @@
|
||||
OpenStack Identity
|
||||
############################################################
|
||||
OpenStack* Identity
|
||||
###################
|
||||
|
||||
The OpenStack Identity service provides a single point of
|
||||
integration for managing authentication, authorization, and service catalog
|
||||
@@ -31,12 +31,12 @@ The Identity service contains these components:
|
||||
component that is using the Identity service. These modules
|
||||
intercept service requests, extract user credentials, and send them
|
||||
to the centralized server for authorization. The integration between
|
||||
the middleware modules and OpenStack components uses the Python Web
|
||||
the middleware modules and OpenStack components uses the Python* Web
|
||||
Server Gateway Interface.
|
||||
|
||||
When installing OpenStack Identity service, you must register each
|
||||
service in your OpenStack installation. Identity service can then track
|
||||
which OpenStack services are installed, and where they are located on
|
||||
which OpenStack services are installed and where they are located on
|
||||
the network.
|
||||
|
||||
Install and configure
|
||||
@@ -44,7 +44,7 @@ Install and configure
|
||||
|
||||
This section describes how to install and configure the OpenStack
|
||||
Identity service, code-named keystone, on the controller node. For
|
||||
performance, this configuration deploys the Nginx HTTP server to handle
|
||||
performance, this configuration deploys the Nginx* HTTP server to handle
|
||||
requests.
|
||||
|
||||
Prerequisites
|
||||
@@ -56,21 +56,15 @@ database and an administration token.
|
||||
#. To create the database, complete the following actions:
|
||||
|
||||
* Use the database access client to connect to the database server as the
|
||||
``root`` user:
|
||||
``root`` user::
|
||||
|
||||
.. code-block:: console
|
||||
$ mysql -u root -p
|
||||
|
||||
$ mysql -u root -p
|
||||
|
||||
* Create the ``keystone`` database:
|
||||
|
||||
.. code-block:: console
|
||||
* Create the ``keystone`` database::
|
||||
|
||||
CREATE DATABASE keystone;
|
||||
|
||||
* Grant proper access to the ``keystone`` database:
|
||||
|
||||
.. code-block:: console
|
||||
* Grant proper access to the ``keystone`` database::
|
||||
|
||||
GRANT ALL PRIVILEGES ON keystone.* TO 'keystone'@'localhost' \
|
||||
IDENTIFIED BY 'KEYSTONE_DBPASS';
|
||||
@@ -82,34 +76,24 @@ database and an administration token.
|
||||
* Exit the database access client.
|
||||
|
||||
#. Generate a random value to use as the administration token during
|
||||
initial configuration:
|
||||
|
||||
.. code-block:: console
|
||||
initial configuration::
|
||||
|
||||
$ openssl rand -hex 10
|
||||
|
||||
|
||||
Install and configure components
|
||||
--------------------------------
|
||||
|
||||
|
||||
#. Run the following command to install the packages:
|
||||
|
||||
.. code-block:: console
|
||||
#. Run the following command to install the packages::
|
||||
|
||||
# clr_bundle_add openstack-identity
|
||||
|
||||
#. Custom configurations will be located at /etc/keystone/
|
||||
#. Custom configurations will be located at ``/etc/keystone/``.
|
||||
|
||||
* Create the /etc/keystone directory:
|
||||
|
||||
.. code-block:: console
|
||||
* Create the ``/etc/keystone`` directory::
|
||||
|
||||
# mkdir /etc/keystone
|
||||
|
||||
* Create empty keystone configuration file /etc/keystone/keystone.conf:
|
||||
|
||||
.. code-block:: console
|
||||
* Create empty keystone configuration file ``/etc/keystone/keystone.conf``::
|
||||
|
||||
# touch /etc/keystone/keystone.conf
|
||||
|
||||
@@ -117,9 +101,7 @@ Install and configure components
|
||||
actions:
|
||||
|
||||
* In the ``[DEFAULT]`` section, define the value of the initial
|
||||
administration token:
|
||||
|
||||
.. code-block:: ini
|
||||
administration token::
|
||||
|
||||
[DEFAULT]
|
||||
...
|
||||
@@ -128,9 +110,7 @@ Install and configure components
|
||||
Replace ``ADMIN_TOKEN`` with the random value that you generated in a
|
||||
previous step.
|
||||
|
||||
* In the ``[database]`` section, configure database access:
|
||||
|
||||
.. code-block:: ini
|
||||
* In the ``[database]`` section, configure database access::
|
||||
|
||||
[database]
|
||||
...
|
||||
@@ -138,15 +118,11 @@ Install and configure components
|
||||
|
||||
Replace ``KEYSTONE_DBPASS`` with the password you chose for the database.
|
||||
|
||||
#. Enter the following command:
|
||||
|
||||
.. code:: console
|
||||
#. Enter the following command::
|
||||
|
||||
# systemctl restart update-triggers.target
|
||||
|
||||
#. Populate the Identity service database:
|
||||
|
||||
.. code-block:: console
|
||||
#. Populate the Identity service database::
|
||||
|
||||
# su -s /bin/sh -c "keystone-manage db_sync" keystone
|
||||
|
||||
@@ -154,9 +130,7 @@ Finalize the installation
|
||||
-------------------------
|
||||
|
||||
#. Keystone is deployed as a uwsgi module. To start the Identity
|
||||
service, you should enable and start the nginx service
|
||||
|
||||
.. code-block:: console
|
||||
service, you should enable and start the nginx service::
|
||||
|
||||
# systemctl enable nginx uwsgi@keystone-admin.socket \
|
||||
uwsgi@keystone-public.socket
|
||||
@@ -182,61 +156,49 @@ Identity service URL to the `openstack` command with the ``--os-url``
|
||||
parameter or set the OS_URL environment variable. This guide uses
|
||||
environment variables to reduce command length.
|
||||
|
||||
#. Configure the authentication token:
|
||||
|
||||
.. code-block:: console
|
||||
#. Configure the authentication token::
|
||||
|
||||
$ export OS_TOKEN=ADMIN_TOKEN
|
||||
|
||||
Replace ``ADMIN_TOKEN`` with the authentication token that you
|
||||
generated before. For example:
|
||||
|
||||
.. code-block:: console
|
||||
Replace ``ADMIN_TOKEN`` with the authentication token that you
|
||||
generated before. For example::
|
||||
|
||||
$ export OS_TOKEN=294a4c8a8a475f9b9836
|
||||
|
||||
#. Configure the endpoint:
|
||||
|
||||
.. code:: text
|
||||
#. Configure the endpoint::
|
||||
|
||||
$ export OS_URL=http://controller:35357/v3
|
||||
|
||||
#. Configure the Identity API version:
|
||||
|
||||
.. code-block:: console
|
||||
#. Configure the Identity API version::
|
||||
|
||||
$ export OS_IDENTITY_API_VERSION=3
|
||||
|
||||
#. Install the OpenStack Python clients bundle:
|
||||
|
||||
.. code-block:: console
|
||||
#. Install the OpenStack Python clients bundle::
|
||||
|
||||
# clr_bundle_add openstack-python-clients
|
||||
|
||||
Create the service entity and API endpoints
|
||||
-------------------------------------------
|
||||
|
||||
#. The Identity service manages a catalog of services in your OpenStack
|
||||
environment. Services use this catalog to determine the other services
|
||||
available in your environment.
|
||||
The Identity service manages a catalog of services in your OpenStack
|
||||
environment. Services use this catalog to determine the other services
|
||||
available in your environment.
|
||||
|
||||
Create the service entity for the Identity service:
|
||||
#. Create the service entity for the Identity service::
|
||||
|
||||
.. code-block:: console
|
||||
$ openstack service create \
|
||||
--name keystone --description "OpenStack Identity" identity
|
||||
+-------------+----------------------------------+
|
||||
| Field | Value |
|
||||
+-------------+----------------------------------+
|
||||
| description | OpenStack Identity |
|
||||
| enabled | True |
|
||||
| id | 4ddaae90388b4ebc9d252ec2252d8d10 |
|
||||
| name | keystone |
|
||||
| type | identity |
|
||||
+-------------+----------------------------------+
|
||||
|
||||
$ openstack service create \
|
||||
--name keystone --description "OpenStack Identity" identity
|
||||
+-------------+----------------------------------+
|
||||
| Field | Value |
|
||||
+-------------+----------------------------------+
|
||||
| description | OpenStack Identity |
|
||||
| enabled | True |
|
||||
| id | 4ddaae90388b4ebc9d252ec2252d8d10 |
|
||||
| name | keystone |
|
||||
| type | identity |
|
||||
+-------------+----------------------------------+
|
||||
|
||||
#. The Identity service manages a catalog of API endpoints associated with
|
||||
The Identity service manages a catalog of API endpoints associated with
|
||||
the services in your OpenStack environment. Services use this catalog to
|
||||
determine how to communicate with other services in your environment.
|
||||
|
||||
@@ -254,57 +216,55 @@ Create the service entity and API endpoints
|
||||
management network for all endpoint variations and the default
|
||||
``RegionOne`` region.
|
||||
|
||||
Create the Identity service API endpoints:
|
||||
#. Create the Identity service API endpoints::
|
||||
|
||||
.. code-block:: console
|
||||
$ openstack endpoint create --region RegionOne \
|
||||
identity public http://controller:5000/v3
|
||||
+--------------+----------------------------------+
|
||||
| Field | Value |
|
||||
+--------------+----------------------------------+
|
||||
| enabled | True |
|
||||
| id | 30fff543e7dc4b7d9a0fb13791b78bf4 |
|
||||
| interface | public |
|
||||
| region | RegionOne |
|
||||
| region_id | RegionOne |
|
||||
| service_id | 8c8c0927262a45ad9066cfe70d46892c |
|
||||
| service_name | keystone |
|
||||
| service_type | identity |
|
||||
| url | http://controller:5000/v3 |
|
||||
+--------------+----------------------------------+
|
||||
|
||||
$ openstack endpoint create --region RegionOne \
|
||||
identity public http://controller:5000/v3
|
||||
+--------------+----------------------------------+
|
||||
| Field | Value |
|
||||
+--------------+----------------------------------+
|
||||
| enabled | True |
|
||||
| id | 30fff543e7dc4b7d9a0fb13791b78bf4 |
|
||||
| interface | public |
|
||||
| region | RegionOne |
|
||||
| region_id | RegionOne |
|
||||
| service_id | 8c8c0927262a45ad9066cfe70d46892c |
|
||||
| service_name | keystone |
|
||||
| service_type | identity |
|
||||
| url | http://controller:5000/v3 |
|
||||
+--------------+----------------------------------+
|
||||
$ openstack endpoint create --region RegionOne \
|
||||
identity internal http://controller:5000/v3
|
||||
+--------------+----------------------------------+
|
||||
| Field | Value |
|
||||
+--------------+----------------------------------+
|
||||
| enabled | True |
|
||||
| id | 57cfa543e7dc4b712c0ab137911bc4fe |
|
||||
| interface | internal |
|
||||
| region | RegionOne |
|
||||
| region_id | RegionOne |
|
||||
| service_id | 6f8de927262ac12f6066cfe70d99ac51 |
|
||||
| service_name | keystone |
|
||||
| service_type | identity |
|
||||
| url | http://controller:5000/v3 |
|
||||
+--------------+----------------------------------+
|
||||
|
||||
$ openstack endpoint create --region RegionOne \
|
||||
identity internal http://controller:5000/v3
|
||||
+--------------+----------------------------------+
|
||||
| Field | Value |
|
||||
+--------------+----------------------------------+
|
||||
| enabled | True |
|
||||
| id | 57cfa543e7dc4b712c0ab137911bc4fe |
|
||||
| interface | internal |
|
||||
| region | RegionOne |
|
||||
| region_id | RegionOne |
|
||||
| service_id | 6f8de927262ac12f6066cfe70d99ac51 |
|
||||
| service_name | keystone |
|
||||
| service_type | identity |
|
||||
| url | http://controller:5000/v3 |
|
||||
+--------------+----------------------------------+
|
||||
|
||||
$ openstack endpoint create --region RegionOne \
|
||||
identity admin http://controller:35357/v3
|
||||
+--------------+----------------------------------+
|
||||
| Field | Value |
|
||||
+--------------+----------------------------------+
|
||||
| enabled | True |
|
||||
| id | 78c3dfa3e7dc44c98ab1b1379122ecb1 |
|
||||
| interface | admin |
|
||||
| region | RegionOne |
|
||||
| region_id | RegionOne |
|
||||
| service_id | 34ab3d27262ac449cba6cfe704dbc11f |
|
||||
| service_name | keystone |
|
||||
| service_type | identity |
|
||||
| url | http://controller:35357/v3 |
|
||||
+--------------+----------------------------------+
|
||||
$ openstack endpoint create --region RegionOne \
|
||||
identity admin http://controller:35357/v3
|
||||
+--------------+----------------------------------+
|
||||
| Field | Value |
|
||||
+--------------+----------------------------------+
|
||||
| enabled | True |
|
||||
| id | 78c3dfa3e7dc44c98ab1b1379122ecb1 |
|
||||
| interface | admin |
|
||||
| region | RegionOne |
|
||||
| region_id | RegionOne |
|
||||
| service_id | 34ab3d27262ac449cba6cfe704dbc11f |
|
||||
| service_name | keystone |
|
||||
| service_type | identity |
|
||||
| url | http://controller:35357/v3 |
|
||||
+--------------+----------------------------------+
|
||||
|
||||
Creating projects, users and roles
|
||||
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
||||
@@ -314,9 +274,7 @@ Complete the following steps to create projects, users and roles:
|
||||
#. Create an administrative project, user, and role for administrative
|
||||
operations in your environment:
|
||||
|
||||
* Create the ``admin`` project:
|
||||
|
||||
.. code-block:: console
|
||||
* Create the ``admin`` project::
|
||||
|
||||
$ openstack project create --domain default \
|
||||
--description "Admin Project" admin
|
||||
@@ -333,9 +291,7 @@ Complete the following steps to create projects, users and roles:
|
||||
+-------------+----------------------------------+
|
||||
|
||||
* Create the ``admin`` user. Replace ``ADMIN_PASS`` with a suitable
|
||||
password and ``EMAIL_ADDRESS`` with a suitable e-mail address:
|
||||
|
||||
.. code-block:: console
|
||||
password and ``EMAIL_ADDRESS`` with a suitable e-mail address::
|
||||
|
||||
$ openstack user create --domain default \
|
||||
--password ADMIN_PASS --email EMAIL_ADDRESS admin
|
||||
@@ -349,9 +305,7 @@ Complete the following steps to create projects, users and roles:
|
||||
| name | admin |
|
||||
+-----------+----------------------------------+
|
||||
|
||||
* Create the ``admin`` role:
|
||||
|
||||
.. code-block:: console
|
||||
* Create the ``admin`` role::
|
||||
|
||||
$ openstack role create admin
|
||||
+-------+----------------------------------+
|
||||
@@ -361,17 +315,13 @@ Complete the following steps to create projects, users and roles:
|
||||
| name | admin |
|
||||
+-------+----------------------------------+
|
||||
|
||||
* Add the ``admin`` role to the ``admin`` project and user:
|
||||
|
||||
.. code-block:: console
|
||||
* Add the ``admin`` role to the ``admin`` project and user::
|
||||
|
||||
$ openstack role add --project admin --user admin admin
|
||||
|
||||
#. This guide uses a service project that contains a unique user for each
|
||||
service that you add to your environment. Create the ``service``
|
||||
project:
|
||||
|
||||
.. code-block:: console
|
||||
project::
|
||||
|
||||
$ openstack project create --domain default \
|
||||
--description "Service Project" service
|
||||
@@ -390,9 +340,7 @@ Complete the following steps to create projects, users and roles:
|
||||
#. Regular (non-admin) tasks should use an unprivileged project and user.
|
||||
As an example, this guide creates the ``demo`` project and user.
|
||||
|
||||
* Create the ``demo`` project:
|
||||
|
||||
.. code-block:: console
|
||||
* Create the ``demo`` project::
|
||||
|
||||
$ openstack project create --domain default \
|
||||
--description "Demo Project" demo
|
||||
@@ -410,9 +358,7 @@ Complete the following steps to create projects, users and roles:
|
||||
|
||||
* Create the ``demo`` user. Replace ``DEMO_PASS``
|
||||
with a suitable password and ``EMAIL_ADDRESS`` with a suitable
|
||||
e-mail address:
|
||||
|
||||
.. code-block:: console
|
||||
e-mail address::
|
||||
|
||||
$ openstack user create --domain default \
|
||||
--password DEMO_PASS --email EMAIL_ADDRESS demo
|
||||
@@ -426,9 +372,7 @@ Complete the following steps to create projects, users and roles:
|
||||
| name | demo |
|
||||
+-----------+----------------------------------+
|
||||
|
||||
* Create the ``user`` role:
|
||||
|
||||
.. code-block:: console
|
||||
* Create the ``user`` role::
|
||||
|
||||
$ openstack role create user
|
||||
+-------+----------------------------------+
|
||||
@@ -438,9 +382,7 @@ Complete the following steps to create projects, users and roles:
|
||||
| name | user |
|
||||
+-------+----------------------------------+
|
||||
|
||||
* Add the ``user`` role to the ``demo`` project and user:
|
||||
|
||||
.. code-block:: console
|
||||
* Add the ``user`` role to the ``demo`` project and user::
|
||||
|
||||
$ openstack role add --project demo --user demo user
|
||||
|
||||
@@ -451,19 +393,15 @@ Verify operation of the Identity service before installing other
|
||||
services.
|
||||
|
||||
#. For security reasons, remove the admin_token value in
|
||||
/etc/keystone/keystone.conf:
|
||||
``/etc/keystone/keystone.conf``:
|
||||
|
||||
Edit the ``[DEFAULT]`` section and remove ``admin_token``.
|
||||
|
||||
#. Unset the temporary ``OS_TOKEN`` and ``OS_URL`` environment variables:
|
||||
|
||||
.. code-block:: console
|
||||
#. Unset the temporary ``OS_TOKEN`` and ``OS_URL`` environment variables::
|
||||
|
||||
$ unset OS_TOKEN OS_URL
|
||||
|
||||
#. As the ``admin`` user, request an authentication token:
|
||||
|
||||
.. code-block:: console
|
||||
#. As the ``admin`` user, request an authentication token::
|
||||
|
||||
$ openstack --os-auth-url http://controller:35357/v3 \
|
||||
--os-project-domain-id default --os-user-domain-id default \
|
||||
@@ -479,9 +417,7 @@ services.
|
||||
| user_id | 4d411f2291f34941b30eef9bd797505a |
|
||||
+------------+----------------------------------+
|
||||
|
||||
#. As the ``demo`` user, request an authentication token:
|
||||
|
||||
.. code-block:: console
|
||||
#. As the ``demo`` user, request an authentication token::
|
||||
|
||||
$ openstack --os-auth-url http://controller:5000/v3 \
|
||||
--os-project-domain-id default --os-user-domain-id default \
|
||||
|
||||
+52
-100
@@ -1,5 +1,5 @@
|
||||
OpenStack Image
|
||||
###############
|
||||
OpenStack* Image
|
||||
################
|
||||
|
||||
The OpenStack Image service (glance) enables users to discover,
|
||||
register, and retrieve virtual machine images. It offers a
|
||||
@@ -9,20 +9,18 @@ You can store virtual machine images made available through
|
||||
the Image service in a variety of locations, from simple file
|
||||
systems to object-storage systems like OpenStack Object Storage.
|
||||
|
||||
.. important::
|
||||
**Important:** For simplicity, this guide describes configuring the Image service to
|
||||
use the ``file`` back end, which uploads and stores in a
|
||||
directory on the controller node hosting the Image service. By
|
||||
default, this directory is ``/var/lib/glance/images/``.
|
||||
|
||||
For simplicity, this guide describes configuring the Image service to
|
||||
use the ``file`` back end, which uploads and stores in a
|
||||
directory on the controller node hosting the Image service. By
|
||||
default, this directory is ``/var/lib/glance/images/``.
|
||||
Before you proceed, ensure that the controller node has at least
|
||||
several gigabytes of space available in this directory.
|
||||
|
||||
Before you proceed, ensure that the controller node has at least
|
||||
several gigabytes of space available in this directory.
|
||||
|
||||
For information on requirements for other back ends, see
|
||||
`Configuration Reference <http://docs.openstack.org/liberty/
|
||||
config-reference/content/
|
||||
ch_configuring-openstack-image-service.html>`__.
|
||||
For information on requirements for other back ends, see
|
||||
`Configuration Reference <http://docs.openstack.org/liberty/
|
||||
config-reference/content/
|
||||
ch_configuring-openstack-image-service.html>`_.
|
||||
|
||||
Install and configure the Image Service
|
||||
---------------------------------------
|
||||
@@ -39,44 +37,34 @@ create a database, service credentials, and API endpoints.
|
||||
|
||||
#. To create the database, complete these steps:
|
||||
|
||||
* Use the database access client to connect to the database
|
||||
server as the ``root`` user:
|
||||
|
||||
.. code-block:: console
|
||||
* Use the database access client to connect to the database
|
||||
server as the ``root`` user::
|
||||
|
||||
$ mysql -u root -p
|
||||
|
||||
* Create the ``glance`` database:
|
||||
|
||||
.. code-block:: console
|
||||
* Create the ``glance`` database::
|
||||
|
||||
CREATE DATABASE glance;
|
||||
|
||||
* Grant proper access to the ``glance`` database:
|
||||
|
||||
.. code-block:: console
|
||||
* Grant proper access to the ``glance`` database::
|
||||
|
||||
GRANT ALL PRIVILEGES ON glance.* TO 'glance'@'localhost' \
|
||||
IDENTIFIED BY 'GLANCE_DBPASS';
|
||||
GRANT ALL PRIVILEGES ON glance.* TO 'glance'@'%' \
|
||||
IDENTIFIED BY 'GLANCE_DBPASS';
|
||||
|
||||
Replace ``GLANCE_DBPASS`` with a suitable password.
|
||||
Replace ``GLANCE_DBPASS`` with a suitable password.
|
||||
|
||||
* Exit the database access client.
|
||||
* Exit the database access client.
|
||||
|
||||
#. Source the ``admin`` credentials to gain access to
|
||||
admin-only CLI commands:
|
||||
|
||||
.. code-block:: console
|
||||
admin-only CLI commands::
|
||||
|
||||
$ source admin-openrc.sh
|
||||
#. To create the service credentials, complete these steps:
|
||||
|
||||
* Create the ``glance`` user. Replace ``GLANCE_PASS`` with a suitable
|
||||
password.
|
||||
|
||||
.. code-block:: console
|
||||
* Create the ``glance`` user. Replace ``GLANCE_PASS`` with a suitable
|
||||
password::
|
||||
|
||||
$ openstack user create --domain default --password GLANCE_PASS glance
|
||||
+-----------+----------------------------------+
|
||||
@@ -88,16 +76,12 @@ create a database, service credentials, and API endpoints.
|
||||
| name | glance |
|
||||
+-----------+----------------------------------+
|
||||
|
||||
* Add the ``admin`` role to the ``glance`` user and
|
||||
``service`` project:
|
||||
|
||||
.. code-block:: console
|
||||
* Add the ``admin`` role to the ``glance`` user and
|
||||
``service`` project::
|
||||
|
||||
$ openstack role add --project service --user glance admin
|
||||
|
||||
* Create the ``glance`` service entity:
|
||||
|
||||
.. code-block:: console
|
||||
* Create the ``glance`` service entity::
|
||||
|
||||
$ openstack service create --name glance \
|
||||
--description "OpenStack Image service" image
|
||||
@@ -111,9 +95,7 @@ create a database, service credentials, and API endpoints.
|
||||
| type | image |
|
||||
+-------------+----------------------------------+
|
||||
|
||||
#. Create the Image service API endpoints:
|
||||
|
||||
.. code-block:: console
|
||||
#. Create the Image service API endpoints::
|
||||
|
||||
$ openstack endpoint create --region RegionOne \
|
||||
image public http://controller:9292
|
||||
@@ -166,45 +148,35 @@ create a database, service credentials, and API endpoints.
|
||||
Install and configure components
|
||||
--------------------------------
|
||||
|
||||
#. Install OpenStack Image bundle:
|
||||
|
||||
.. code:: console
|
||||
#. Install OpenStack Image bundle::
|
||||
|
||||
# clr_bundle_add openstack-image
|
||||
|
||||
#. configurations will be located at ``/etc/glance``
|
||||
#. configurations will be located at ``/etc/glance``.
|
||||
|
||||
* Create ``/etc/glance`` directory:
|
||||
|
||||
.. code:: console
|
||||
* Create ``/etc/glance`` directory::
|
||||
|
||||
# mkdir /etc/glance
|
||||
|
||||
* Create empty configuration files ``/etc/glance/glance-api.conf``
|
||||
and ``/etc/glance/glance-registry.conf``:
|
||||
|
||||
.. code:: console
|
||||
* Create empty configuration files ``/etc/glance/glance-api.conf``
|
||||
and ``/etc/glance/glance-registry.conf``::
|
||||
|
||||
# touch /etc/glance/glance-{api,registry}.conf
|
||||
|
||||
#. Edit the ``/etc/glance/glance-api.conf`` file and complete
|
||||
the following actions:
|
||||
|
||||
* In the ``[database]`` section, configure database access:
|
||||
|
||||
.. code-block:: ini
|
||||
* In the ``[database]`` section, configure database access::
|
||||
|
||||
[database]
|
||||
...
|
||||
connection = mysql://glance:GLANCE_DBPASS@controller/glance
|
||||
|
||||
Replace ``GLANCE_DBPASS`` with the password you chose for the
|
||||
Image service database.
|
||||
Replace ``GLANCE_DBPASS`` with the password you chose for the
|
||||
Image service database.
|
||||
|
||||
* In the ``[keystone_authtoken]`` section, configure Identity
|
||||
service access:
|
||||
|
||||
.. code-block:: ini
|
||||
* In the ``[keystone_authtoken]`` section, configure Identity
|
||||
service access::
|
||||
|
||||
[keystone_authtoken]
|
||||
...
|
||||
@@ -217,27 +189,23 @@ Install and configure components
|
||||
username = glance
|
||||
password = GLANCE_PASS
|
||||
|
||||
Replace ``GLANCE_PASS`` with the password you chose for the
|
||||
``glance`` user in the Identity service.
|
||||
Replace ``GLANCE_PASS`` with the password you chose for the
|
||||
``glance`` user in the Identity service.
|
||||
|
||||
#. Edit the ``/etc/glance/glance-registry.conf`` file and
|
||||
complete the following actions:
|
||||
|
||||
* In the ``[database]`` section, configure database access:
|
||||
|
||||
.. code-block:: ini
|
||||
* In the ``[database]`` section, configure database access::
|
||||
|
||||
[database]
|
||||
...
|
||||
connection = mysql://glance:GLANCE_DBPASS@controller/glance
|
||||
|
||||
Replace ``GLANCE_DBPASS`` with the password you chose for the
|
||||
Image service database.
|
||||
Replace ``GLANCE_DBPASS`` with the password you chose for the
|
||||
Image service database.
|
||||
|
||||
* In the ``[keystone_authtoken]`` section,configure Identity
|
||||
service access:
|
||||
|
||||
.. code-block:: ini
|
||||
* In the ``[keystone_authtoken]`` section, configure Identity
|
||||
service access::
|
||||
|
||||
[keystone_authtoken]
|
||||
...
|
||||
@@ -250,18 +218,14 @@ Install and configure components
|
||||
username = glance
|
||||
password = GLANCE_PASS
|
||||
|
||||
Replace ``GLANCE_PASS`` with the password you chose for the
|
||||
``glance`` user in the Identity service.
|
||||
Replace ``GLANCE_PASS`` with the password you chose for the
|
||||
``glance`` user in the Identity service.
|
||||
|
||||
#. Let systemd set the correct permissions for files in ``/etc/glance``.
|
||||
|
||||
.. code:: console
|
||||
#. Let systemd set the correct permissions for files in ``/etc/glance``::
|
||||
|
||||
# systemctl restart update-triggers.target
|
||||
|
||||
#. Populate the Image Service database:
|
||||
|
||||
.. code:: console
|
||||
#. Populate the Image Service database::
|
||||
|
||||
# su -s /bin/sh -c "glance-manage db_sync" glance
|
||||
|
||||
@@ -269,9 +233,7 @@ Finalize installation
|
||||
---------------------
|
||||
|
||||
#. Start the Image Service services and configure them to start when the
|
||||
system boots:
|
||||
|
||||
.. code:: console
|
||||
system boots::
|
||||
|
||||
# systemctl enable glance-api.service glance-registry.service
|
||||
# systemctl start glance-api.service glance-registry.service
|
||||
@@ -291,31 +253,23 @@ For information about how to manage images, see the
|
||||
<http://docs.openstack.org/user-guide/common/cli_manage_images.html>`__.
|
||||
|
||||
#. In each client environment script, configure the Image service
|
||||
client to use API version 2.0:
|
||||
|
||||
.. code-block:: console
|
||||
client to use API version 2.0::
|
||||
|
||||
$ echo "export OS_IMAGE_API_VERSION=2" \
|
||||
| tee -a admin-openrc.sh demo-openrc.sh
|
||||
|
||||
#. Source the ``admin`` credentials to gain access to
|
||||
admin-only CLI commands:
|
||||
|
||||
.. code-block:: console
|
||||
admin-only CLI commands::
|
||||
|
||||
$ source admin-openrc.sh
|
||||
|
||||
#. Download the source image:
|
||||
|
||||
.. code-block:: console
|
||||
#. Download the source image::
|
||||
|
||||
$ curl -Ok http://download.cirros-cloud.net/0.3.4/cirros-0.3.4-x86_64-disk.img
|
||||
|
||||
#. Upload the image to the Image service using the
|
||||
`QCOW2` disk format, `bare` container format, and
|
||||
public visibility so all projects can access it:
|
||||
|
||||
.. code-block:: console
|
||||
public visibility so all projects can access it::
|
||||
|
||||
$ openstack image create cirros --file cirros-0.3.4-x86_64-disk.img \
|
||||
--disk-format qcow2 --container-format bare --public
|
||||
@@ -342,9 +296,7 @@ For information about how to manage images, see the
|
||||
| visibility | public |
|
||||
+------------------+------------------------------------------------------+
|
||||
|
||||
#. Confirm upload of the image and validate attributes:
|
||||
|
||||
.. code-block:: console
|
||||
#. Confirm upload of the image and validate attributes::
|
||||
|
||||
$ openstack image list
|
||||
+--------------------------------------+--------+
|
||||
|
||||
@@ -5,3 +5,18 @@ Note: This article walks through an OpenStack MVP installation by using
|
||||
bundles available for Clear Linux* OS for Intel® Architecture. The sample
|
||||
configuration files that are included would likely require modification
|
||||
for your environment.
|
||||
|
||||
To install, continue with the following topics:
|
||||
|
||||
* `Database <openstack_environment-database.html>`_
|
||||
* `Message queue <openstack_environment-messaging.html>`_
|
||||
* `OpenStack Identity <openstack_identity.html>`_
|
||||
* `Create OpenStack client environment scripts <openstack_identity-openrc.html>`_
|
||||
* `OpenStack Image <openstack_image.html>`_
|
||||
* `OpenStack Compute <openstack_compute.html>`_
|
||||
* `OpenStack Block Storage <openstack_block_storage.html>`_
|
||||
* `OpenStack Dashboard <openstack_dashboard.html>`_
|
||||
* `OpenStack Networking <openstack_networking.html>`_
|
||||
* `OpenStack Orchestration <openstack_orchestration.html>`_
|
||||
* `OpenStack Telemetry <openstack_telemetry.html>`_
|
||||
* `OpenStack Object Storage <openstack_object_storage.html>`_
|
||||
@@ -1,4 +1,4 @@
|
||||
OpenStack networking
|
||||
OpenStack* Networking
|
||||
############################################################
|
||||
|
||||
OpenStack* Networking allows you to create and attach interface devices
|
||||
@@ -17,44 +17,34 @@ database, service credentials, and an API endpoint.
|
||||
|
||||
#. Create the database:
|
||||
|
||||
#. Use the database access client to connect to the database server
|
||||
as the ``root`` user:
|
||||
|
||||
.. code:: text
|
||||
* Use the database access client to connect to the database server
|
||||
as the ``root`` user::
|
||||
|
||||
$ mysql -u root -p
|
||||
|
||||
#. Create the ``neutron`` database:
|
||||
* Create the ``neutron`` database::
|
||||
|
||||
.. code:: text
|
||||
|
||||
CREATE DATABASE neutron;
|
||||
|
||||
#. Grant proper access to the ``neutron`` database. Replace
|
||||
*``NEUTRON_DBPASS``* with a suitable password.
|
||||
|
||||
.. code:: text
|
||||
* Grant proper access to the ``neutron`` database. Replace
|
||||
*``NEUTRON_DBPASS``* with a suitable password::
|
||||
|
||||
GRANT ALL PRIVILEGES ON neutron.* TO 'neutron'@'localhost' \
|
||||
IDENTIFIED BY 'NEUTRON_DBPASS';
|
||||
GRANT ALL PRIVILEGES ON neutron.* TO 'neutron'@'%' \
|
||||
IDENTIFIED BY 'NEUTRON_DBPASS';
|
||||
|
||||
#. Exit the database access client.
|
||||
* Exit the database access client.
|
||||
|
||||
#. Source the ``admin`` credentials to gain access to admin-only CLI
|
||||
commands:
|
||||
|
||||
.. code:: text
|
||||
commands::
|
||||
|
||||
$ source admin-openrc.sh
|
||||
|
||||
#. To create the service credentials, complete these steps:
|
||||
|
||||
#. Create the ``neutron`` user:
|
||||
* Create the ``neutron`` user::
|
||||
|
||||
.. code:: text
|
||||
|
||||
$ openstack user create --password-prompt neutron
|
||||
User Password:
|
||||
Repeat User Password:
|
||||
@@ -68,10 +58,8 @@ database, service credentials, and an API endpoint.
|
||||
| username | neutron |
|
||||
+----------+----------------------------------+
|
||||
|
||||
#. Add the ``admin`` role to the ``neutron`` user:
|
||||
* Add the ``admin`` role to the ``neutron`` user::
|
||||
|
||||
.. code:: text
|
||||
|
||||
+-------+----------------------------------+
|
||||
| Field | Value |
|
||||
+-------+----------------------------------+
|
||||
@@ -79,10 +67,8 @@ database, service credentials, and an API endpoint.
|
||||
| name | admin |
|
||||
+-------+----------------------------------+
|
||||
|
||||
#. Create the ``neutron`` service entity:
|
||||
* Create the ``neutron`` service entity::
|
||||
|
||||
.. code:: text
|
||||
|
||||
$ openstack service create --name neutron \
|
||||
--description "OpenStack Networking" network
|
||||
+-------------+----------------------------------+
|
||||
@@ -95,10 +81,8 @@ database, service credentials, and an API endpoint.
|
||||
| type | network |
|
||||
+-------------+----------------------------------+
|
||||
|
||||
#. Create the Networking service API endpoint:
|
||||
#. Create the Networking service API endpoint::
|
||||
|
||||
.. code:: text
|
||||
|
||||
--publicurl http://controller:9696 \
|
||||
--adminurl http://controller:9696 \
|
||||
--internalurl http://controller:9696 \
|
||||
@@ -122,10 +106,8 @@ Installing the Networking components
|
||||
|
||||
Complete the following step to install the Networking components:
|
||||
|
||||
- Install OpenStack networking bundle:
|
||||
- Install OpenStack networking bundle::
|
||||
|
||||
.. code:: text
|
||||
|
||||
# clr_bundle_add openstack-network
|
||||
|
||||
Configuring the Networking server component
|
||||
@@ -137,27 +119,21 @@ The Networking server component configuration includes the database,
|
||||
authentication mechanism, message queue, topology change notifications,
|
||||
and plug-in.
|
||||
|
||||
Edit the ``/etc/neutron/neutron.conf ``file:
|
||||
Edit the ``/etc/neutron/neutron.conf `` file:
|
||||
|
||||
#. Custom configurations will be located at ``/etc/neutron``.
|
||||
|
||||
#. Create /etc/neutron directory:
|
||||
* Create /etc/neutron directory::
|
||||
|
||||
.. code:: text
|
||||
|
||||
$ mkdir /etc/neutron
|
||||
|
||||
#. Create empty neutron configuration
|
||||
file:
|
||||
|
||||
.. code:: text
|
||||
* Create empty neutron configuration
|
||||
file::
|
||||
|
||||
$ touch /etc/neutron/neutron.conf
|
||||
|
||||
#. In the ``[database]`` section, configure database access. Replace
|
||||
*``NEUTRON_DBPASS``* with the password you chose for the database.
|
||||
|
||||
.. code:: text
|
||||
*NEUTRON_DBPASS* with the password you chose for the database::
|
||||
|
||||
[database]
|
||||
...
|
||||
@@ -166,9 +142,7 @@ Edit the ``/etc/neutron/neutron.conf ``file:
|
||||
#. In the ``[DEFAULT]`` and ``[oslo_messaging_rabbit]`` sections,
|
||||
configure RabbitMQ message queue access. Replace *``RABBIT_PASS``*
|
||||
with the password you chose for the ``openstack`` account in
|
||||
RabbitMQ.
|
||||
|
||||
.. code:: text
|
||||
RabbitMQ::
|
||||
|
||||
[DEFAULT]
|
||||
...
|
||||
@@ -181,9 +155,7 @@ Edit the ``/etc/neutron/neutron.conf ``file:
|
||||
|
||||
#. In the ``[DEFAULT]`` and ``[keystone_authtoken]`` sections, configure
|
||||
Identity service access. Replace *``NEUTRON_PASS``* with the password
|
||||
you chose for the ``neutron`` user in the Identity service.
|
||||
|
||||
.. code:: text
|
||||
you chose for the ``neutron`` user in the Identity service::
|
||||
|
||||
[DEFAULT]
|
||||
...
|
||||
@@ -200,9 +172,7 @@ Edit the ``/etc/neutron/neutron.conf ``file:
|
||||
password = NEUTRON_PASS
|
||||
|
||||
#. In the ``[DEFAULT]`` section, enable the Modular Layer 2 (ML2)
|
||||
plug-in, router service, and overlapping IP addresses:
|
||||
|
||||
.. code:: text
|
||||
plug-in, router service, and overlapping IP addresses::
|
||||
|
||||
[DEFAULT]
|
||||
...
|
||||
@@ -213,9 +183,7 @@ Edit the ``/etc/neutron/neutron.conf ``file:
|
||||
#. In the ``[DEFAULT]`` and ``[nova]`` sections, configure Networking to
|
||||
notify Compute of network topology changes. Replace ``NOVA_PASS``
|
||||
with the password you chose for the ``nova`` user in the Identity
|
||||
service.
|
||||
|
||||
.. code:: text
|
||||
service::
|
||||
|
||||
[DEFAULT]
|
||||
...
|
||||
@@ -241,20 +209,16 @@ the virtual networking framework for instances. However, the controller
|
||||
node does not need the OVS components because it does not handle
|
||||
instance network traffic.
|
||||
|
||||
#. Custom configuration for ML2 plug-in will be stored in ``/etc/neutron/plugins/ml2``.
|
||||
#. Custom configuration for ML2 plug-in will be stored in ``/etc/neutron/plugins/ml2``::
|
||||
|
||||
.. code:: text
|
||||
|
||||
mkdir -p /etc/neutron/plugins/ml2
|
||||
touch /etc/neutron.plugins/ml2/ml2_conf.ini
|
||||
|
||||
#. Edit the ``/etc/neutron/plugins/ml2/ml2_conf.ini`` file as follows:
|
||||
|
||||
#. In the ``[ml2]`` section, enable the flat, VLAN, generic routing
|
||||
encapsulation (GRE), and virtual extensible LAN (VXLAN) network
|
||||
type drivers, GRE tenant networks, and the OVS mechanism driver:
|
||||
|
||||
.. code:: text
|
||||
* In the ``[ml2]`` section, enable the flat, VLAN, generic routing
|
||||
encapsulation (GRE), and virtual extensible LAN (VXLAN) network
|
||||
type drivers, GRE tenant networks, and the OVS mechanism driver::
|
||||
|
||||
[ml2]
|
||||
...
|
||||
@@ -262,19 +226,15 @@ instance network traffic.
|
||||
tenant_network_types = gre
|
||||
mechanism_drivers = openvswitch
|
||||
|
||||
#. In the ``[ml2_type_gre]`` section, configure the tunnel identifier
|
||||
(id) range:
|
||||
* In the ``[ml2_type_gre]`` section, configure the tunnel identifier
|
||||
(id) range::
|
||||
|
||||
.. code:: text
|
||||
|
||||
[ml2_type_gre]
|
||||
...
|
||||
tunnel_id_ranges = 1:1000
|
||||
|
||||
#. In the ``[securitygroup]`` section, enable security groups, enable
|
||||
ipset, and configure the OVS iptables firewall driver:
|
||||
|
||||
.. code:: text
|
||||
* In the ``[securitygroup]`` section, enable security groups, enable
|
||||
ipset, and configure the OVS iptables firewall driver::
|
||||
|
||||
[securitygroup]
|
||||
...
|
||||
@@ -292,10 +252,8 @@ Networking.
|
||||
#. Edit the ``/etc/nova/nova.conf`` file on the controller node as
|
||||
follows:
|
||||
|
||||
#. In the ``[DEFAULT]`` section, configure the APIs and drivers:
|
||||
* In the ``[DEFAULT]`` section, configure the APIs and drivers::
|
||||
|
||||
.. code:: text
|
||||
|
||||
[DEFAULT]
|
||||
...
|
||||
network_api_class = nova.network.neutronv2.api.API
|
||||
@@ -303,11 +261,9 @@ Networking.
|
||||
linuxnet_interface_driver = nova.network.linux_net.LinuxOVSInterfaceDriver
|
||||
firewall_driver = nova.virt.firewall.NoopFirewallDriver
|
||||
|
||||
#. In the ``[neutron]`` section, configure access
|
||||
parameters. Replace *NEUTRON_PASS* with the password you
|
||||
chose for the ``neutron`` user in the Identity service.
|
||||
|
||||
.. code:: text
|
||||
* In the ``[neutron]`` section, configure access
|
||||
parameters. Replace *NEUTRON_PASS* with the password you
|
||||
chose for the ``neutron`` user in the Identity service::
|
||||
|
||||
[neutron]
|
||||
...
|
||||
@@ -324,36 +280,26 @@ Finalizing installation
|
||||
#. The Networking service initialization scripts expect a symbolic link
|
||||
``/etc/neutron/plugin.ini`` pointing to the ML2 plug-in configuration
|
||||
file, ``/etc/neutron/plugins/ml2/ml2_conf.ini``. If this symbolic
|
||||
link does not exist, create it using the following command:
|
||||
|
||||
.. code:: text
|
||||
link does not exist, create it using the following command::
|
||||
|
||||
# ln -s /etc/neutron/plugins/ml2/ml2_conf.ini /etc/neutron/plugin.ini
|
||||
|
||||
2. Populate the database:
|
||||
#. Populate the database::
|
||||
|
||||
.. code:: text
|
||||
|
||||
# su -s /bin/sh -c "neutron-db-manage --config-file /etc/neutron/neutron.conf \
|
||||
--config-file /etc/neutron/plugins/ml2/ml2_conf.ini upgrade head" neutron
|
||||
|
||||
3. Let ``systemd`` set the correct permissions for files in ``/etc/neutron``.
|
||||
|
||||
.. code:: text
|
||||
#. Let ``systemd`` set the correct permissions for files in ``/etc/neutron``::
|
||||
|
||||
# systemctl restart update-triggers.target
|
||||
|
||||
#. Restart the Compute services:
|
||||
#. Restart the Compute services::
|
||||
|
||||
.. code:: text
|
||||
|
||||
# systemctl restart nova-api.service nova-scheduler.service \
|
||||
nova-conductor.service
|
||||
|
||||
#. Start the Networking service and configure it to start when the
|
||||
system boots:
|
||||
|
||||
.. code:: text
|
||||
system boots::
|
||||
|
||||
# systemctl enable neutron-server.service
|
||||
# systemctl start neutron-server.service
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
OpenStack* object storage
|
||||
OpenStack* Object Storage
|
||||
#########################
|
||||
|
||||
Install and configure the controller node
|
||||
@@ -30,7 +30,7 @@ credentials and an API endpoint.
|
||||
|
||||
#. To create the Identity service credentials, complete these steps:
|
||||
|
||||
#. Create the swift user::
|
||||
* Create the swift user::
|
||||
|
||||
$ openstack user create --password-prompt swift
|
||||
User Password:
|
||||
@@ -45,7 +45,7 @@ credentials and an API endpoint.
|
||||
| username | swift |
|
||||
+----------+----------------------------------+
|
||||
|
||||
#. Add the admin role to the swift user::
|
||||
* Add the admin role to the swift user::
|
||||
|
||||
$ openstack role add --project service --user swift admin
|
||||
+-------+----------------------------------+
|
||||
@@ -55,7 +55,7 @@ credentials and an API endpoint.
|
||||
| name | admin |
|
||||
+-------+----------------------------------+
|
||||
|
||||
#. Create the swift service entity::
|
||||
* Create the swift service entity::
|
||||
|
||||
$ openstack service create --name swift \
|
||||
--description "OpenStack Object Storage" object-store
|
||||
@@ -109,30 +109,30 @@ To install and configure the controller node components
|
||||
#. Edit the ``/etc/swift/proxy-server.conf`` file and complete the
|
||||
following actions:
|
||||
|
||||
#. In the ``[pipeline:main]`` section, enable the appropriate
|
||||
modules::
|
||||
* In the ``[pipeline:main]`` section, enable the appropriate
|
||||
modules::
|
||||
|
||||
[pipeline:main]
|
||||
pipeline = catch_errors gatekeeper healthcheck proxy-logging cache container_sync bulk ratelimit authtoken keystoneauth container-quotas account-quotas slo dlo proxy-logging proxy-server
|
||||
|
||||
#. In the ``[app:proxy-server]`` section, enable automatic account
|
||||
creation::
|
||||
* In the ``[app:proxy-server]`` section, enable automatic account
|
||||
creation::
|
||||
|
||||
[app:proxy-server]
|
||||
...
|
||||
account_autocreate = true
|
||||
|
||||
#. In the ``[filter:keystoneauth]`` section, configure the operator
|
||||
roles::
|
||||
* In the ``[filter:keystoneauth]`` section, configure the operator
|
||||
roles::
|
||||
|
||||
[filter:keystoneauth]
|
||||
use = egg:swift#keystoneauth
|
||||
...
|
||||
operator_roles = admin,user
|
||||
|
||||
#. In the ``[filter:authtoken]`` section, configure Identity service
|
||||
access. Replace SWIFT\_PASS with the password you chose for the
|
||||
swift user in the Identity service::
|
||||
* In the ``[filter:authtoken]`` section, configure Identity service
|
||||
access. Replace SWIFT\_PASS with the password you chose for the
|
||||
swift user in the Identity service::
|
||||
|
||||
[filter:authtoken]
|
||||
paste.filter_factory = keystonemiddleware.auth_token:filter_factory
|
||||
@@ -147,8 +147,8 @@ To install and configure the controller node components
|
||||
password = SWIFT_PASS
|
||||
delay_auth_decision = true
|
||||
|
||||
#. In the ``[filter:cache]`` section, configure the memcached
|
||||
location::
|
||||
* In the ``[filter:cache]`` section, configure the memcached
|
||||
location::
|
||||
|
||||
[filter:cache]
|
||||
...
|
||||
@@ -177,56 +177,56 @@ a separate network for replication.
|
||||
|
||||
#. Configure unique items on the first storage node:
|
||||
|
||||
#. Configure the management interface::
|
||||
* Configure the management interface::
|
||||
|
||||
IP address: 10.0.0.51
|
||||
Network mask: 255.255.255.0 (or /24)
|
||||
Default gateway: 10.0.0.1
|
||||
|
||||
#. Set the hostname of the node to ``object1``.
|
||||
* Set the hostname of the node to ``object1``.
|
||||
|
||||
#. Configure unique items on the second storage node:
|
||||
|
||||
#. Configure the management interface::
|
||||
* Configure the management interface::
|
||||
|
||||
IP address: 10.0.0.52
|
||||
Network mask: 255.255.255.0 (or /24)
|
||||
Default gateway: 10.0.0.1
|
||||
|
||||
#. Set the hostname of the node to ``object2``.
|
||||
* Set the hostname of the node to ``object2``.
|
||||
|
||||
#. Configure shared items on both storage nodes:
|
||||
|
||||
#. Copy the contents of the ``/etc/hosts`` file from the controller
|
||||
node and add the following to it::
|
||||
* Copy the contents of the ``/etc/hosts`` file from the controller
|
||||
node and add the following to it::
|
||||
|
||||
# object1
|
||||
10.0.0.51 object1
|
||||
# object2
|
||||
10.0.0.52 object2
|
||||
|
||||
Also add this content to the ``/etc/hosts`` file on all other nodes in your environment.
|
||||
Also add this content to the ``/etc/hosts`` file on all other nodes in your environment.
|
||||
|
||||
#. Install the OpenStack Object Storage bundle::
|
||||
* Install the OpenStack Object Storage bundle::
|
||||
|
||||
# clr\_bundle\_add openstack-object-storage
|
||||
|
||||
#. Format the ``/dev/sdb1`` and ``/dev/sdc1`` partitions as XFS::
|
||||
* Format the ``/dev/sdb1`` and ``/dev/sdc1`` partitions as XFS::
|
||||
|
||||
# mkfs.xfs /dev/sdb1
|
||||
# mkfs.xfs /dev/sdc1
|
||||
|
||||
#. Create the mount point directory structure::
|
||||
* Create the mount point directory structure::
|
||||
|
||||
# mkdir -p /srv/node/sdb1
|
||||
# mkdir -p /srv/node/sdc1
|
||||
|
||||
#. Edit the ``/etc/fstab`` file and add the following to it::
|
||||
* Edit the ``/etc/fstab`` file and add the following to it::
|
||||
|
||||
/dev/sdb1 /srv/node/sdb1 xfs noatime,nodiratime,nobarrier,logbufs=8 0 2
|
||||
/dev/sdc1 /srv/node/sdc1 xfs noatime,nodiratime,nobarrier,logbufs=8 0 2
|
||||
|
||||
#. Mount the devices::
|
||||
* Mount the devices::
|
||||
|
||||
# mount /srv/node/sdb1
|
||||
# mount /srv/node/sdc1
|
||||
@@ -282,8 +282,8 @@ Install and configure storage node components
|
||||
#. Edit the ``/etc/swift/account-server.conf`` file and complete the
|
||||
following actions:
|
||||
|
||||
#. In the ``[DEFAULT]`` section, configure the bind IP address and
|
||||
mount point directory::
|
||||
* In the ``[DEFAULT]`` section, configure the bind IP address and
|
||||
mount point directory::
|
||||
|
||||
[DEFAULT]
|
||||
...
|
||||
@@ -293,14 +293,14 @@ Install and configure storage node components
|
||||
Replace ``MANAGEMENT_INTERFACE_IP_ADDRESS`` with the IP
|
||||
address of the management network on the storage node.
|
||||
|
||||
#. In the ``[pipeline:main]`` section, enable the appropriate
|
||||
modules::
|
||||
* In the ``[pipeline:main]`` section, enable the appropriate
|
||||
modules::
|
||||
|
||||
[pipeline:main]
|
||||
pipeline = healthcheck recon account-server
|
||||
|
||||
#. In the ``[filter:recon]`` section, configure the recon (metrics)
|
||||
cache directory::
|
||||
* In the ``[filter:recon]`` section, configure the recon (metrics)
|
||||
cache directory::
|
||||
|
||||
[filter:recon]
|
||||
...
|
||||
@@ -309,8 +309,8 @@ Install and configure storage node components
|
||||
#. Edit the ``/etc/swift/container-server.conf`` file and complete the
|
||||
following actions:
|
||||
|
||||
#. In the ``[DEFAULT]`` section, configure the bind IP address and
|
||||
mount point directory::
|
||||
* In the ``[DEFAULT]`` section, configure the bind IP address and
|
||||
mount point directory::
|
||||
|
||||
[DEFAULT]
|
||||
...
|
||||
@@ -320,14 +320,13 @@ Install and configure storage node components
|
||||
Replace ``MANAGEMENT_INTERFACE_IP_ADDRESS`` with the IP
|
||||
address of the management network on the storage node.
|
||||
|
||||
#. In the ``[pipeline:main]`` section, enable the appropriate
|
||||
modules::
|
||||
* modules::
|
||||
|
||||
[pipeline:main]
|
||||
pipeline = healthcheck recon container-server
|
||||
|
||||
#. In the ``[filter:recon]`` section, configure the recon (metrics)
|
||||
cache directory::
|
||||
* In the ``[filter:recon]`` section, configure the recon (metrics)
|
||||
cache directory::
|
||||
|
||||
[filter:recon]
|
||||
...
|
||||
@@ -336,8 +335,8 @@ Install and configure storage node components
|
||||
#. Edit the ``/etc/swift/object-server.conf`` file and complete the
|
||||
following actions:
|
||||
|
||||
#. In the ``[DEFAULT]`` section, configure the bind IP address and
|
||||
mount point directory::
|
||||
* In the ``[DEFAULT]`` section, configure the bind IP address and
|
||||
mount point directory::
|
||||
|
||||
[DEFAULT]
|
||||
...
|
||||
@@ -347,14 +346,14 @@ Install and configure storage node components
|
||||
Replace ``MANAGEMENT_INTERFACE_IP_ADDRESS`` with the IP
|
||||
address of the management network on the storage node.
|
||||
|
||||
#. In the ``[pipeline:main]`` section, enable the appropriate
|
||||
modules::
|
||||
* In the ``[pipeline:main]`` section, enable the appropriate
|
||||
modules::
|
||||
|
||||
[pipeline:main]
|
||||
pipeline = healthcheck recon object-server
|
||||
|
||||
#. In the ``[filter:recon]`` section, configure the recon (metrics)
|
||||
cache and lock directories::
|
||||
* In the ``[filter:recon]`` section, configure the recon (metrics)
|
||||
cache and lock directories::
|
||||
|
||||
[filter:recon]
|
||||
...
|
||||
@@ -567,16 +566,16 @@ Configure hashes and default storage policy
|
||||
#. Edit the ``/etc/swift/swift.conf`` file and complete the following
|
||||
actions:
|
||||
|
||||
#. In the ``[swift-hash]`` section, configure the hash path prefix and
|
||||
suffix for your environment::
|
||||
* In the ``[swift-hash]`` section, configure the hash path prefix and
|
||||
suffix for your environment::
|
||||
|
||||
[swift-hash]
|
||||
...
|
||||
swift_hash_path_suffix = HASH_PATH_PREFIX
|
||||
swift_hash_path_prefix = HASH_PATH_SUFFIX
|
||||
|
||||
#. In the ``[storage-policy:0]`` section, configure the default storage
|
||||
policy::
|
||||
* In the ``[storage-policy:0]`` section, configure the default storage
|
||||
policy::
|
||||
|
||||
[storage-policy:0]
|
||||
...
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
OpenStack orchestration
|
||||
OpenStack* Orchestration
|
||||
############################################################
|
||||
|
||||
The Orchestration module provides template-based OpenStack* API calls
|
||||
@@ -27,44 +27,34 @@ database, service credentials, and API endpoints.
|
||||
|
||||
#. To create the database, complete these steps:
|
||||
|
||||
#. Use the database access client to connect to the database server
|
||||
as the ``root`` user:
|
||||
|
||||
.. code:: text
|
||||
* Use the database access client to connect to the database server
|
||||
as the ``root`` user::
|
||||
|
||||
$ mysql -u root -p
|
||||
|
||||
#. Create the ``heat`` database:
|
||||
* Create the ``heat`` database::
|
||||
|
||||
.. code:: text
|
||||
|
||||
CREATE DATABASE heat;
|
||||
|
||||
#. Grant proper access to the ``heat`` database.
|
||||
Replace *HEAT_DBPASS* with a suitable password.
|
||||
|
||||
.. code:: text
|
||||
* Grant proper access to the ``heat`` database.
|
||||
Replace *HEAT_DBPASS* with a suitable password::
|
||||
|
||||
GRANT ALL PRIVILEGES ON heat.* TO 'heat'@'localhost' \
|
||||
IDENTIFIED BY 'HEAT_DBPASS';
|
||||
GRANT ALL PRIVILEGES ON heat.* TO 'heat'@'%' \
|
||||
IDENTIFIED BY 'HEAT_DBPASS';
|
||||
|
||||
#. Exit the database access client.
|
||||
* Exit the database access client.
|
||||
|
||||
#. Source the ``admin`` credentials to gain access to admin-only CLI
|
||||
commands:
|
||||
|
||||
.. code:: text
|
||||
commands::
|
||||
|
||||
$ source admin-openrc.sh
|
||||
|
||||
#. To create the service credentials, complete these steps:
|
||||
|
||||
#. Create the ``heat`` user:
|
||||
* Create the ``heat`` user::
|
||||
|
||||
.. code:: text
|
||||
|
||||
$ openstack user create --password-prompt heat
|
||||
User Password:
|
||||
Repeat User Password:
|
||||
@@ -78,10 +68,8 @@ database, service credentials, and API endpoints.
|
||||
| username | heat |
|
||||
+----------+----------------------------------+
|
||||
|
||||
#. Add the ``admin`` role to the ``heat`` user:
|
||||
* Add the ``admin`` role to the ``heat`` user::
|
||||
|
||||
.. code:: text
|
||||
|
||||
$ openstack role add --project service --user heat admin
|
||||
+-------+----------------------------------+
|
||||
| Field | Value |
|
||||
@@ -90,10 +78,8 @@ database, service credentials, and API endpoints.
|
||||
| name | admin |
|
||||
+-------+----------------------------------+
|
||||
|
||||
#. Create the ``heat_stack_owner`` role:
|
||||
* Create the ``heat_stack_owner`` role::
|
||||
|
||||
.. code:: text
|
||||
|
||||
$ openstack role create heat_stack_owner
|
||||
+-------+----------------------------------+
|
||||
| Field | Value |
|
||||
@@ -102,13 +88,11 @@ database, service credentials, and API endpoints.
|
||||
| name | heat_stack_owner |
|
||||
+-------+----------------------------------+
|
||||
|
||||
#. Add the ``heat_stack_owner`` role to the ``demo`` tenant and
|
||||
user.
|
||||
* Add the ``heat_stack_owner`` role to the ``demo`` tenant and
|
||||
user.
|
||||
|
||||
Note: You must add the ``heat_stack_owner`` role to users that
|
||||
manage stacks.
|
||||
|
||||
.. code:: text
|
||||
Note: You must add the ``heat_stack_owner`` role to users that
|
||||
manage stacks::
|
||||
|
||||
$ openstack role add --project demo --user demo heat_stack_owner
|
||||
+-------+----------------------------------+
|
||||
@@ -118,24 +102,23 @@ database, service credentials, and API endpoints.
|
||||
| name | heat_stack_owner |
|
||||
+-------+----------------------------------+
|
||||
|
||||
#. Create the ``heat_stack_user`` role.
|
||||
* Create the ``heat_stack_user`` role.
|
||||
|
||||
Note: The Orchestration service automatically assigns the ``heat_stack_user`` role to users that it creates during stack deployment. By default, this role restricts API operations. To avoid conflicts, do not add this role to users with the heat_stack_owner role.
|
||||
Note: The Orchestration service automatically assigns the ``heat_stack_user`` role
|
||||
to users that it creates during stack deployment. By default, this role restricts
|
||||
API operations. To avoid conflicts, do not add this role to users with the
|
||||
heat_stack_owner role::
|
||||
|
||||
.. code:: text
|
||||
$ openstack role create heat_stack_user
|
||||
+-------+----------------------------------+
|
||||
| Field | Value |
|
||||
+-------+----------------------------------+
|
||||
| id | e01546b1a81c4e32a6d14a9259e60154 |
|
||||
| name | heat_stack_user |
|
||||
+-------+----------------------------------+
|
||||
|
||||
$ openstack role create heat_stack_user
|
||||
+-------+----------------------------------+
|
||||
| Field | Value |
|
||||
+-------+----------------------------------+
|
||||
| id | e01546b1a81c4e32a6d14a9259e60154 |
|
||||
| name | heat_stack_user |
|
||||
+-------+----------------------------------+
|
||||
|
||||
#. Create the ``heat`` and ``heat-cfn`` service entities:
|
||||
* Create the ``heat`` and ``heat-cfn`` service entities::
|
||||
|
||||
.. code:: text
|
||||
|
||||
+-------------+----------------------------------+
|
||||
| Field | Value |
|
||||
+-------------+----------------------------------+
|
||||
@@ -157,10 +140,8 @@ database, service credentials, and API endpoints.
|
||||
| type | cloudformation |
|
||||
+-------------+----------------------------------+
|
||||
|
||||
#. Create the Orchestration service API endpoints:
|
||||
#. Create the Orchestration service API endpoints::
|
||||
|
||||
.. code:: text
|
||||
|
||||
$ openstack endpoint create \
|
||||
--publicurl http://controller:8004/v1/%\(tenant_id\)s \
|
||||
--internalurl http://controller:8004/v1/%\(tenant_id\)s \
|
||||
@@ -203,37 +184,29 @@ Installing and configuring the Orchestration components
|
||||
|
||||
To install and configure the Orchestration components:
|
||||
|
||||
#. Install OpenStack Orchestration bundle:
|
||||
#. Install OpenStack Orchestration bundle::
|
||||
|
||||
.. code:: text
|
||||
|
||||
# clr_bundle_add openstack-orchestration
|
||||
|
||||
#. Create the ``/etc/heat/heat.conf file``.
|
||||
#. Create the ``/etc/heat/heat.conf file``::
|
||||
|
||||
.. code:: text
|
||||
|
||||
# mkdir /etc/heat # touch /etc/heat/heat.conf
|
||||
|
||||
#. Edit the ``/etc/heat/heat.conf`` file and complete the following
|
||||
actions:
|
||||
|
||||
#. In the ``[database]`` section, configure database access.
|
||||
Replace *HEAT_DBPASS* with the password you chose for the
|
||||
Orchestration database.
|
||||
|
||||
.. code:: text
|
||||
* In the ``[database]`` section, configure database access.
|
||||
Replace *HEAT_DBPASS* with the password you chose for the
|
||||
Orchestration database::
|
||||
|
||||
[database]
|
||||
...
|
||||
connection = mysql://heat:HEAT_DBPASS@controller/heat
|
||||
|
||||
#. In the ``[DEFAULT]`` and ``[oslo_messaging_rabbit]`` sections,
|
||||
configure RabbitMQ message queue access.
|
||||
Replace *``RABBIT_PASS``* with the password you chose for
|
||||
the ``openstack`` account in RabbitMQ.
|
||||
|
||||
.. code:: text
|
||||
* In the ``[DEFAULT]`` and ``[oslo_messaging_rabbit]`` sections,
|
||||
configure RabbitMQ message queue access.
|
||||
Replace *``RABBIT_PASS``* with the password you chose for
|
||||
the ``openstack`` account in RabbitMQ::
|
||||
|
||||
[DEFAULT]
|
||||
...
|
||||
@@ -244,12 +217,10 @@ To install and configure the Orchestration components:
|
||||
rabbit_userid = openstack
|
||||
rabbit_password = RABBIT_PASS
|
||||
|
||||
#. In the ``[keystone_authtoken]`` and ``[ec2authtoken]`` sections,
|
||||
configure Identity service access. Replace *HEAT_PASS* with
|
||||
the password you chose for the ``heat`` user in the Identity
|
||||
service.
|
||||
|
||||
.. code:: text
|
||||
* In the ``[keystone_authtoken]`` and ``[ec2authtoken]`` sections,
|
||||
configure Identity service access. Replace *HEAT_PASS* with
|
||||
the password you chose for the ``heat`` user in the Identity
|
||||
service::
|
||||
|
||||
[keystone_authtoken]
|
||||
...
|
||||
@@ -262,22 +233,18 @@ To install and configure the Orchestration components:
|
||||
...
|
||||
auth_uri = http://controller:5000/v2.0
|
||||
|
||||
#. In the ``[DEFAULT]`` section, configure the metadata and wait
|
||||
condition URLs:
|
||||
|
||||
.. code:: text
|
||||
* In the ``[DEFAULT]`` section, configure the metadata and wait
|
||||
condition URLs::
|
||||
|
||||
[DEFAULT]
|
||||
...
|
||||
heat_metadata_server_url = http://controller:8000
|
||||
heat_waitcondition_server_url = http://controller:8000/v1/waitcondition
|
||||
|
||||
#. In the ``[DEFAULT]`` section, configure information about the
|
||||
heat Identity service domain. Replace *``HEAT_DOMAIN_PASS``*
|
||||
with the password you chose for the admin user of
|
||||
the ``heat`` user domain in the Identity service.
|
||||
|
||||
.. code:: text
|
||||
* In the ``[DEFAULT]`` section, configure information about the
|
||||
heat Identity service domain. Replace *``HEAT_DOMAIN_PASS``*
|
||||
with the password you chose for the admin user of
|
||||
the ``heat`` user domain in the Identity service::
|
||||
|
||||
[DEFAULT]
|
||||
...
|
||||
@@ -286,33 +253,25 @@ To install and configure the Orchestration components:
|
||||
stack_user_domain_name = heat_user_domain
|
||||
|
||||
#. Source the ``admin`` credentials to gain access to admin-only CLI
|
||||
commands:
|
||||
|
||||
.. code:: text
|
||||
commands::
|
||||
|
||||
$ source admin-openrc.sh
|
||||
|
||||
#. Create the heat domain in Identity service.
|
||||
Replace *``HEAT_DOMAIN_PASS``* with a suitable
|
||||
password.
|
||||
|
||||
.. code:: text
|
||||
password::
|
||||
|
||||
$ heat-keystone-setup-domain \
|
||||
--stack-user-domain-name heat_user_domain \
|
||||
--stack-domain-admin heat_domain_admin \
|
||||
--stack-domain-admin-password HEAT_DOMAIN_PASS
|
||||
|
||||
#. Let systemd set the correct permissions for files in ``/etc/heat``.
|
||||
|
||||
.. code:: text
|
||||
#. Let systemd set the correct permissions for files in ``/etc/heat``::
|
||||
|
||||
# systemctl restart update-triggers.target
|
||||
|
||||
#. Populate the Orchestration database:
|
||||
#. Populate the Orchestration database::
|
||||
|
||||
.. code:: text
|
||||
|
||||
# su -s /bin/sh -c "heat-manage db_sync" heat``
|
||||
|
||||
Finalizing installation
|
||||
@@ -320,10 +279,8 @@ Finalizing installation
|
||||
|
||||
Complete this step to finalize the installation:
|
||||
|
||||
- Start the Orchestration services and configure them to start when the
|
||||
system boots:
|
||||
|
||||
.. code:: text
|
||||
* Start the Orchestration services and configure them to start when the
|
||||
system boots::
|
||||
|
||||
# systemctl enable heat-api.service heat-api-cfn.service heat-engine.service
|
||||
# systemctl start heat-api.service heat-api-cfn.service heat-engine.service``
|
||||
|
||||
@@ -30,15 +30,11 @@ management interface on the controller node.
|
||||
|
||||
To configure name resolution:
|
||||
|
||||
#. Set the hostname of the node to ``controller``:
|
||||
|
||||
::
|
||||
#. Set the hostname of the node to ``controller``::
|
||||
|
||||
# hostnamectl set-hostname controller
|
||||
|
||||
#. Edit the ``/etc/hosts`` file to contain the following:
|
||||
|
||||
::
|
||||
#. Edit the ``/etc/hosts`` file to contain the following::
|
||||
|
||||
# controller 10.0.0.11 controller
|
||||
# compute1 10.0.0.31 compute1
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
OpenStack telemetry service
|
||||
OpenStack* Telemetry
|
||||
############################################################
|
||||
|
||||
Overview
|
||||
@@ -28,33 +28,25 @@ Before installing and configuring the ``telemetry`` module, install
|
||||
MongoDB* and create a MongoDB database, service credentials, and API
|
||||
endpoint.
|
||||
|
||||
#. Install the MongoDB bundle:
|
||||
#. Install the MongoDB bundle::
|
||||
|
||||
.. code:: text
|
||||
|
||||
# clr_bundle_add database-mongodb
|
||||
|
||||
#. Create the ``/etc/mongodb/`` folder and the
|
||||
``/etc/mongodb/openstack.cnf`` file.
|
||||
#. Configure the ``bind_ip`` key to use the management interface IP
|
||||
address of the controller node.
|
||||
|
||||
.. code:: text
|
||||
address of the controller node::
|
||||
|
||||
bind_ip = 10.0.0.11
|
||||
|
||||
#. Start the database service and configure it to start when the system
|
||||
boots with the following commands:
|
||||
|
||||
.. code:: text
|
||||
boots with the following commands::
|
||||
|
||||
# systemctl enable mongodb.service
|
||||
# systemctl start mongodb.service
|
||||
|
||||
#. Create the ``ceilometer`` database. Replace *CEILOMETER_DBPASS*
|
||||
with a suitable password.
|
||||
|
||||
.. code:: text
|
||||
with a suitable password::
|
||||
|
||||
# mongo --host controller --eval '
|
||||
db = db.getSiblingDB("ceilometer");
|
||||
@@ -67,18 +59,14 @@ endpoint.
|
||||
Successfully added user: { "user" : "ceilometer", "roles" : [ "readWrite", "dbAdmin" ] }
|
||||
|
||||
#. Source the ``admin`` credentials to gain access to admin-only CLI
|
||||
commands:
|
||||
|
||||
.. code:: text
|
||||
commands::
|
||||
|
||||
$ source admin-openrc.sh
|
||||
|
||||
#. To create the service credentials, complete these steps:
|
||||
|
||||
#. Create the ``ceilometer`` user:
|
||||
* Create the ``ceilometer`` user::
|
||||
|
||||
.. code:: text
|
||||
|
||||
$ openstack user create --password-prompt ceilometer
|
||||
User Password:
|
||||
Repeat User Password:
|
||||
@@ -92,10 +80,8 @@ endpoint.
|
||||
| username | ceilometer |
|
||||
+----------+----------------------------------+
|
||||
|
||||
#. Add the ``admin`` role to the ``ceilometer`` user.
|
||||
* Add the ``admin`` role to the ``ceilometer`` user::
|
||||
|
||||
.. code:: text
|
||||
|
||||
$ openstack role add --project service --user ceilometer admin
|
||||
+-------+----------------------------------+
|
||||
| Field | Value |
|
||||
@@ -104,10 +90,8 @@ endpoint.
|
||||
| name | admin |
|
||||
+-------+----------------------------------+
|
||||
|
||||
#. Create the ``ceilometer`` service entity:
|
||||
* Create the ``ceilometer`` service entity::
|
||||
|
||||
.. code:: text
|
||||
|
||||
$ openstack service create --name ceilometer \
|
||||
--description "Telemetry" metering
|
||||
+-------------+----------------------------------+
|
||||
@@ -120,10 +104,8 @@ endpoint.
|
||||
| type | metering |
|
||||
+-------------+----------------------------------+
|
||||
|
||||
#. Create the Telemetry module API endpoint:
|
||||
#. Create the Telemetry module API endpoint::
|
||||
|
||||
.. code:: text
|
||||
|
||||
$ openstack endpoint create \
|
||||
--publicurl http://controller:8777 \
|
||||
--internalurl http://controller:8777 \
|
||||
@@ -146,54 +128,42 @@ endpoint.
|
||||
Installing and configuring the Telemetry module components
|
||||
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
||||
|
||||
#. Install the OpenStack Telemetry Controller bundle:
|
||||
#. Install the OpenStack Telemetry Controller bundle::
|
||||
|
||||
.. code:: text
|
||||
|
||||
# clr_bundle_add openstack-telemetry-controller
|
||||
|
||||
#. Generate a random value to use as the telemetry secret:
|
||||
#. Generate a random value to use as the telemetry secret::
|
||||
|
||||
.. code:: text
|
||||
|
||||
$ openssl rand -hex 10
|
||||
|
||||
#. Custom configurations will be located at ``/etc/ceilometer``.
|
||||
|
||||
#. Create ``/etc/ceilometer`` directory.
|
||||
* Create ``/etc/ceilometer`` directory::
|
||||
|
||||
.. code:: text
|
||||
|
||||
mkdir /etc/ceilometer
|
||||
|
||||
#. Create the empty ceilometer configuration file
|
||||
* Create the empty ceilometer configuration file::
|
||||
|
||||
.. code:: text
|
||||
|
||||
/etc/ceilometer/ceilometer.conf
|
||||
touch /etc/ceilometer/ceilometer.conf
|
||||
|
||||
#. Edit the following file:\ ``/etc/ceilometer/ceilometer.conf``\ Then
|
||||
complete the following actions:
|
||||
|
||||
#. In the ``[database]`` section, configure database access. Replace
|
||||
*``CEILOMETER_DBPASS``* with the password you chose for the
|
||||
Telemetry module database. You must escape special characters such
|
||||
as ':', '/', '+', and '@' in the connection string in accordance
|
||||
with RFC2396.
|
||||
|
||||
.. code:: text
|
||||
* In the ``[database]`` section, configure database access. Replace
|
||||
*``CEILOMETER_DBPASS``* with the password you chose for the
|
||||
Telemetry module database. You must escape special characters such
|
||||
as ':', '/', '+', and '@' in the connection string in accordance
|
||||
with RFC2396::
|
||||
|
||||
[database]
|
||||
...
|
||||
connection = mongodb://ceilometer:CEILOMETER_DBPASS@controller:27017/ceilometer
|
||||
|
||||
#. In the ``[DEFAULT]`` and ``[oslo_messaging_rabbit]`` sections,
|
||||
configure RabbitMQ message queue access. Replace *``RABBIT_PASS``*
|
||||
with the password you chose for the ``openstack`` account in
|
||||
RabbitMQ.
|
||||
|
||||
.. code:: text
|
||||
* In the ``[DEFAULT]`` and ``[oslo_messaging_rabbit]`` sections,
|
||||
configure RabbitMQ message queue access. Replace *``RABBIT_PASS``*
|
||||
with the password you chose for the ``openstack`` account in
|
||||
RabbitMQ::
|
||||
|
||||
[DEFAULT]
|
||||
...
|
||||
@@ -203,12 +173,10 @@ Installing and configuring the Telemetry module components
|
||||
rabbit_userid = openstack
|
||||
rabbit_password = RABBIT_PASS
|
||||
|
||||
#. In the ``[DEFAULT]`` and ``[keystone_authtoken]`` sections,
|
||||
configure Identity service access. Replace *``CEILOMETER_PASS``*
|
||||
with the password you chose for the ``celiometer`` user in the
|
||||
Identity service.
|
||||
|
||||
.. code:: text
|
||||
* In the ``[DEFAULT]`` and ``[keystone_authtoken]`` sections,
|
||||
configure Identity service access. Replace *``CEILOMETER_PASS``*
|
||||
with the password you chose for the ``celiometer`` user in the
|
||||
Identity service::
|
||||
|
||||
[DEFAULT]
|
||||
...
|
||||
@@ -220,11 +188,9 @@ Installing and configuring the Telemetry module components
|
||||
admin_user = ceilometer
|
||||
admin_password = CEILOMETER_PASS
|
||||
|
||||
#. In the ``[service_credentials]`` section, configure service
|
||||
credentials. Replace *``CEILOMETER_PASS``* with the password you
|
||||
chose for the ``ceilometer`` user in the Identity service.
|
||||
|
||||
.. code:: text
|
||||
* In the ``[service_credentials]`` section, configure service
|
||||
credentials. Replace *``CEILOMETER_PASS``* with the password you
|
||||
chose for the ``ceilometer`` user in the Identity service::
|
||||
|
||||
[service_credentials]
|
||||
...
|
||||
@@ -235,11 +201,9 @@ Installing and configuring the Telemetry module components
|
||||
os_endpoint_type = internalURL
|
||||
os_region_name = RegionOne
|
||||
|
||||
#. In the ``[publisher]`` section, configure the telemetry secret.
|
||||
Replace *``TELEMETRY_SECRET``* with the telemetry secret that you
|
||||
generated in a previous step.
|
||||
|
||||
.. code:: text
|
||||
* In the ``[publisher]`` section, configure the telemetry secret.
|
||||
Replace *``TELEMETRY_SECRET``* with the telemetry secret that you
|
||||
generated in a previous step::
|
||||
|
||||
[publisher]
|
||||
...
|
||||
@@ -248,10 +212,8 @@ Installing and configuring the Telemetry module components
|
||||
Finalizing installation
|
||||
~~~~~~~~~~~~~~~~~~~~~~~~
|
||||
|
||||
* Start the Telemetry services and configure them to start when the system boots:
|
||||
* Start the Telemetry services and configure them to start when the system boots::
|
||||
|
||||
.. code:: text
|
||||
|
||||
# systemctl enable ceilometer-api.service ceilometer-agent-notification.service ceilometer-agent-central.service ceilometer-collector.service \
|
||||
ceilometer-alarm-evaluator.service ceilometer-alarm-notifier.service
|
||||
# systemctl start ceilometer-api.service ceilometer-agent-notification.service ceilometer-agent-central.service ceilometer-collector.service \
|
||||
|
||||
Reference in New Issue
Block a user