import the installation guide from openstack-manuals
Change-Id: If8b526e762e20523efc41df960783bfa83026e34 Signed-off-by: Doug Hellmann <doug@doughellmann.com>
This commit is contained in:
parent
80a7d0147d
commit
5de99113c6
71
doc/source/install/get-started.rst
Normal file
71
doc/source/install/get-started.rst
Normal file
@ -0,0 +1,71 @@
|
|||||||
|
======================
|
||||||
|
Image service overview
|
||||||
|
======================
|
||||||
|
|
||||||
|
The Image service (glance) enables users to discover,
|
||||||
|
register, and retrieve virtual machine images. It offers a
|
||||||
|
:term:`REST <RESTful>` API that enables you to query virtual
|
||||||
|
machine image metadata and retrieve an actual image.
|
||||||
|
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::
|
||||||
|
|
||||||
|
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. Keep in
|
||||||
|
mind that since the ``file`` back end is often local to a controller
|
||||||
|
node, it is not typically suitable for a multi-node glance deployment.
|
||||||
|
|
||||||
|
For information on requirements for other back ends, see
|
||||||
|
`Configuration Reference
|
||||||
|
<https://docs.openstack.org/ocata/config-reference/image.html>`__.
|
||||||
|
|
||||||
|
The OpenStack Image service is central to Infrastructure-as-a-Service
|
||||||
|
(IaaS). It accepts API requests for disk or server images, and
|
||||||
|
metadata definitions from end users or OpenStack Compute
|
||||||
|
components. It also supports the storage of disk or server images on
|
||||||
|
various repository types, including OpenStack Object Storage.
|
||||||
|
|
||||||
|
A number of periodic processes run on the OpenStack Image service to
|
||||||
|
support caching. Replication services ensure consistency and
|
||||||
|
availability through the cluster. Other periodic processes include
|
||||||
|
auditors, updaters, and reapers.
|
||||||
|
|
||||||
|
The OpenStack Image service includes the following components:
|
||||||
|
|
||||||
|
glance-api
|
||||||
|
Accepts Image API calls for image discovery, retrieval, and storage.
|
||||||
|
|
||||||
|
glance-registry
|
||||||
|
Stores, processes, and retrieves metadata about images. Metadata
|
||||||
|
includes items such as size and type.
|
||||||
|
|
||||||
|
.. warning::
|
||||||
|
|
||||||
|
The registry is a private internal service meant for use by
|
||||||
|
OpenStack Image service. Do not expose this service to users.
|
||||||
|
|
||||||
|
Database
|
||||||
|
Stores image metadata and you can choose your database depending on
|
||||||
|
your preference. Most deployments use MySQL or SQLite.
|
||||||
|
|
||||||
|
Storage repository for image files
|
||||||
|
Various repository types are supported including normal file
|
||||||
|
systems (or any filesystem mounted on the glance-api controller
|
||||||
|
node), Object Storage, RADOS block devices, VMware datastore,
|
||||||
|
and HTTP. Note that some repositories will only support read-only
|
||||||
|
usage.
|
||||||
|
|
||||||
|
Metadata definition service
|
||||||
|
A common API for vendors, admins, services, and users to meaningfully
|
||||||
|
define their own custom metadata. This metadata can be used on
|
||||||
|
different types of resources like images, artifacts, volumes,
|
||||||
|
flavors, and aggregates. A definition includes the new property's key,
|
||||||
|
description, constraints, and the resource types which it can be
|
||||||
|
associated with.
|
@ -14,166 +14,12 @@
|
|||||||
License for the specific language governing permissions and limitations
|
License for the specific language governing permissions and limitations
|
||||||
under the License.
|
under the License.
|
||||||
|
|
||||||
Installation
|
==============
|
||||||
============
|
Installation
|
||||||
|
==============
|
||||||
|
|
||||||
Installing from packages
|
.. toctree::
|
||||||
~~~~~~~~~~~~~~~~~~~~~~~~
|
|
||||||
|
|
||||||
To install the latest released version of Glance,
|
get-started
|
||||||
follow the following instructions.
|
install.rst
|
||||||
|
verify.rst
|
||||||
Debian, Ubuntu
|
|
||||||
##############
|
|
||||||
|
|
||||||
1. Add the Glance PPA to your sources.lst::
|
|
||||||
|
|
||||||
$> sudo add-apt-repository ppa:glance-core/trunk
|
|
||||||
$> sudo apt-get update
|
|
||||||
|
|
||||||
2. Install Glance::
|
|
||||||
|
|
||||||
$> sudo apt-get install glance
|
|
||||||
|
|
||||||
Red Hat, Fedora
|
|
||||||
###############
|
|
||||||
|
|
||||||
Only RHEL 6, Fedora 18, and newer releases have the necessary
|
|
||||||
components packaged.
|
|
||||||
On RHEL 6, enable the EPEL repository.
|
|
||||||
|
|
||||||
Install Glance::
|
|
||||||
|
|
||||||
$ su -
|
|
||||||
# yum install openstack-glance
|
|
||||||
|
|
||||||
openSUSE, SLE
|
|
||||||
#############
|
|
||||||
|
|
||||||
openSUSE 13.2, SLE 12, and the rolling release Factory needs an extra
|
|
||||||
repository enabled to install all the OpenStack packages.
|
|
||||||
|
|
||||||
Search the proper repository in the `Cloud:OpenStack:Master <https://build.opensuse.org/project/repositories/Cloud:OpenStack:Master>`_ project. For example, for openSUSE 13.2:
|
|
||||||
|
|
||||||
1. Add the OpenStack master repository::
|
|
||||||
|
|
||||||
$ sudo zypper ar -f -g http://download.opensuse.org/repositories/Cloud:/OpenStack:/Master/openSUSE_13.2/ OpenStack
|
|
||||||
$ sudo zypper ref
|
|
||||||
|
|
||||||
2. Install Glance::
|
|
||||||
|
|
||||||
$ sudo zypper in openstack-glance
|
|
||||||
|
|
||||||
Installing from source tarballs
|
|
||||||
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
|
||||||
|
|
||||||
To install the latest version of Glance from the Launchpad Bazaar repositories,
|
|
||||||
follow the following instructions.
|
|
||||||
|
|
||||||
1. Grab the source tarball from `Launchpad <http://launchpad.net/glance/+download>`_
|
|
||||||
|
|
||||||
2. Untar the source tarball::
|
|
||||||
|
|
||||||
$> tar -xzf <FILE>
|
|
||||||
|
|
||||||
3. Change into the package directory and build/install::
|
|
||||||
|
|
||||||
$> cd glance-<RELEASE>
|
|
||||||
$> sudo python setup.py install
|
|
||||||
|
|
||||||
Installing from Git
|
|
||||||
~~~~~~~~~~~~~~~~~~~
|
|
||||||
|
|
||||||
To install the latest version of Glance from the GitHub Git repositories,
|
|
||||||
follow the following instructions.
|
|
||||||
|
|
||||||
Debian, Ubuntu
|
|
||||||
##############
|
|
||||||
|
|
||||||
1. Install Git and build dependencies::
|
|
||||||
|
|
||||||
$> sudo apt-get install git
|
|
||||||
$> sudo apt-get build-dep glance
|
|
||||||
|
|
||||||
.. note::
|
|
||||||
|
|
||||||
If you want to build the Glance documentation locally, you will also want
|
|
||||||
to install the python-sphinx package
|
|
||||||
|
|
||||||
2. Clone Glance's trunk branch from GitHub::
|
|
||||||
|
|
||||||
$> git clone git://github.com/openstack/glance
|
|
||||||
$> cd glance
|
|
||||||
|
|
||||||
3. Install Glance::
|
|
||||||
|
|
||||||
$> sudo python setup.py install
|
|
||||||
|
|
||||||
Red Hat, Fedora
|
|
||||||
###############
|
|
||||||
|
|
||||||
On Fedora, most developers and essentially all users install packages.
|
|
||||||
Instructions below are not commonly used, and even then typically in a
|
|
||||||
throw-away VM.
|
|
||||||
|
|
||||||
Since normal build dependencies are resolved by mechanisms of RPM,
|
|
||||||
there is no one-line command to install everything needed by
|
|
||||||
the source repository in git. One common way to discover the dependencies
|
|
||||||
is to search for *BuildRequires:* in the specfile of openstack-glance
|
|
||||||
for the appropriate distro.
|
|
||||||
|
|
||||||
In case of Fedora 16, for example, do this::
|
|
||||||
|
|
||||||
$ su -
|
|
||||||
# yum install git
|
|
||||||
# yum install python2-devel python-setuptools python-distutils-extra
|
|
||||||
# yum install python-webob python-eventlet
|
|
||||||
# yum install python-virtualenv
|
|
||||||
|
|
||||||
Build Glance::
|
|
||||||
|
|
||||||
$ python setup.py build
|
|
||||||
|
|
||||||
If any missing modules crop up, install them with yum, then retry the build.
|
|
||||||
|
|
||||||
.. note::
|
|
||||||
|
|
||||||
If you want to build the Glance documentation, you will also want
|
|
||||||
to install the packages python-sphinx and graphviz, then run
|
|
||||||
"python setup.py build_sphinx". Due to required features of
|
|
||||||
python-sphinx 1.0 or better, documentation can only be built
|
|
||||||
on Fedora 15 or later.
|
|
||||||
|
|
||||||
Test the build::
|
|
||||||
|
|
||||||
$ ./run_tests.sh -s
|
|
||||||
|
|
||||||
Once Glance is built and tested, install it::
|
|
||||||
|
|
||||||
$ su -
|
|
||||||
# python setup.py install
|
|
||||||
|
|
||||||
openSUSE, SLE
|
|
||||||
#############
|
|
||||||
|
|
||||||
On openSUSE and SLE (also this is valid for Factory), we can install
|
|
||||||
all the build dependencies using Zypper.
|
|
||||||
|
|
||||||
1. Install Git and build dependencies::
|
|
||||||
|
|
||||||
$ sudo zypper install git
|
|
||||||
$ sudo zypper source-install -d openstack-glance
|
|
||||||
|
|
||||||
.. note::
|
|
||||||
|
|
||||||
If you want to build the Glance documentation locally, you will also want
|
|
||||||
to install the packages python-sphinx and graphviz.
|
|
||||||
|
|
||||||
2. Clone Glance's trunk branch from GitHub::
|
|
||||||
|
|
||||||
$ git clone git://github.com/openstack/glance
|
|
||||||
$ cd glance
|
|
||||||
|
|
||||||
3. Install Glance::
|
|
||||||
|
|
||||||
$ sudo python setup.py install
|
|
||||||
|
329
doc/source/install/install-debian.rst
Normal file
329
doc/source/install/install-debian.rst
Normal file
@ -0,0 +1,329 @@
|
|||||||
|
Install and configure (Debian)
|
||||||
|
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
||||||
|
|
||||||
|
This section describes how to install and configure the Image service,
|
||||||
|
code-named glance, on the controller node. For simplicity, this
|
||||||
|
configuration stores images on the local file system.
|
||||||
|
|
||||||
|
Prerequisites
|
||||||
|
-------------
|
||||||
|
|
||||||
|
Before you install and configure the Image service, you must
|
||||||
|
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
|
||||||
|
|
||||||
|
$ mysql -u root -p
|
||||||
|
|
||||||
|
.. end
|
||||||
|
|
||||||
|
|
||||||
|
* Create the ``glance`` database:
|
||||||
|
|
||||||
|
.. code-block:: console
|
||||||
|
|
||||||
|
MariaDB [(none)]> CREATE DATABASE glance;
|
||||||
|
|
||||||
|
.. end
|
||||||
|
|
||||||
|
* Grant proper access to the ``glance`` database:
|
||||||
|
|
||||||
|
.. code-block:: console
|
||||||
|
|
||||||
|
MariaDB [(none)]> GRANT ALL PRIVILEGES ON glance.* TO 'glance'@'localhost' \
|
||||||
|
IDENTIFIED BY 'GLANCE_DBPASS';
|
||||||
|
MariaDB [(none)]> GRANT ALL PRIVILEGES ON glance.* TO 'glance'@'%' \
|
||||||
|
IDENTIFIED BY 'GLANCE_DBPASS';
|
||||||
|
|
||||||
|
.. end
|
||||||
|
|
||||||
|
Replace ``GLANCE_DBPASS`` with a suitable password.
|
||||||
|
|
||||||
|
* Exit the database access client.
|
||||||
|
|
||||||
|
#. Source the ``admin`` credentials to gain access to
|
||||||
|
admin-only CLI commands:
|
||||||
|
|
||||||
|
.. code-block:: console
|
||||||
|
|
||||||
|
$ . admin-openrc
|
||||||
|
|
||||||
|
.. end
|
||||||
|
|
||||||
|
#. To create the service credentials, complete these steps:
|
||||||
|
|
||||||
|
* Create the ``glance`` user:
|
||||||
|
|
||||||
|
.. code-block:: console
|
||||||
|
|
||||||
|
$ openstack user create --domain default --password-prompt glance
|
||||||
|
|
||||||
|
User Password:
|
||||||
|
Repeat User Password:
|
||||||
|
+---------------------+----------------------------------+
|
||||||
|
| Field | Value |
|
||||||
|
+---------------------+----------------------------------+
|
||||||
|
| domain_id | default |
|
||||||
|
| enabled | True |
|
||||||
|
| id | 3f4e777c4062483ab8d9edd7dff829df |
|
||||||
|
| name | glance |
|
||||||
|
| options | {} |
|
||||||
|
| password_expires_at | None |
|
||||||
|
+---------------------+----------------------------------+
|
||||||
|
|
||||||
|
.. end
|
||||||
|
|
||||||
|
* Add the ``admin`` role to the ``glance`` user and
|
||||||
|
``service`` project:
|
||||||
|
|
||||||
|
.. code-block:: console
|
||||||
|
|
||||||
|
$ openstack role add --project service --user glance admin
|
||||||
|
|
||||||
|
.. end
|
||||||
|
|
||||||
|
.. note::
|
||||||
|
|
||||||
|
This command provides no output.
|
||||||
|
|
||||||
|
* Create the ``glance`` service entity:
|
||||||
|
|
||||||
|
.. code-block:: console
|
||||||
|
|
||||||
|
$ openstack service create --name glance \
|
||||||
|
--description "OpenStack Image" image
|
||||||
|
|
||||||
|
+-------------+----------------------------------+
|
||||||
|
| Field | Value |
|
||||||
|
+-------------+----------------------------------+
|
||||||
|
| description | OpenStack Image |
|
||||||
|
| enabled | True |
|
||||||
|
| id | 8c2c7f1b9b5049ea9e63757b5533e6d2 |
|
||||||
|
| name | glance |
|
||||||
|
| type | image |
|
||||||
|
+-------------+----------------------------------+
|
||||||
|
|
||||||
|
.. end
|
||||||
|
|
||||||
|
#. Create the Image service API endpoints:
|
||||||
|
|
||||||
|
.. code-block:: console
|
||||||
|
|
||||||
|
$ openstack endpoint create --region RegionOne \
|
||||||
|
image public http://controller:9292
|
||||||
|
|
||||||
|
+--------------+----------------------------------+
|
||||||
|
| Field | Value |
|
||||||
|
+--------------+----------------------------------+
|
||||||
|
| enabled | True |
|
||||||
|
| id | 340be3625e9b4239a6415d034e98aace |
|
||||||
|
| interface | public |
|
||||||
|
| region | RegionOne |
|
||||||
|
| region_id | RegionOne |
|
||||||
|
| service_id | 8c2c7f1b9b5049ea9e63757b5533e6d2 |
|
||||||
|
| service_name | glance |
|
||||||
|
| service_type | image |
|
||||||
|
| url | http://controller:9292 |
|
||||||
|
+--------------+----------------------------------+
|
||||||
|
|
||||||
|
$ openstack endpoint create --region RegionOne \
|
||||||
|
image internal http://controller:9292
|
||||||
|
|
||||||
|
+--------------+----------------------------------+
|
||||||
|
| Field | Value |
|
||||||
|
+--------------+----------------------------------+
|
||||||
|
| enabled | True |
|
||||||
|
| id | a6e4b153c2ae4c919eccfdbb7dceb5d2 |
|
||||||
|
| interface | internal |
|
||||||
|
| region | RegionOne |
|
||||||
|
| region_id | RegionOne |
|
||||||
|
| service_id | 8c2c7f1b9b5049ea9e63757b5533e6d2 |
|
||||||
|
| service_name | glance |
|
||||||
|
| service_type | image |
|
||||||
|
| url | http://controller:9292 |
|
||||||
|
+--------------+----------------------------------+
|
||||||
|
|
||||||
|
$ openstack endpoint create --region RegionOne \
|
||||||
|
image admin http://controller:9292
|
||||||
|
|
||||||
|
+--------------+----------------------------------+
|
||||||
|
| Field | Value |
|
||||||
|
+--------------+----------------------------------+
|
||||||
|
| enabled | True |
|
||||||
|
| id | 0c37ed58103f4300a84ff125a539032d |
|
||||||
|
| interface | admin |
|
||||||
|
| region | RegionOne |
|
||||||
|
| region_id | RegionOne |
|
||||||
|
| service_id | 8c2c7f1b9b5049ea9e63757b5533e6d2 |
|
||||||
|
| service_name | glance |
|
||||||
|
| service_type | image |
|
||||||
|
| url | http://controller:9292 |
|
||||||
|
+--------------+----------------------------------+
|
||||||
|
|
||||||
|
.. end
|
||||||
|
|
||||||
|
Install and configure components
|
||||||
|
--------------------------------
|
||||||
|
|
||||||
|
.. include:: note_configuration_vary_by_distribution.txt
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
#. Install the packages:
|
||||||
|
|
||||||
|
.. code-block:: console
|
||||||
|
|
||||||
|
# apt install glance
|
||||||
|
|
||||||
|
.. end
|
||||||
|
|
||||||
|
|
||||||
|
2. Edit the ``/etc/glance/glance-api.conf`` file and complete the
|
||||||
|
following actions:
|
||||||
|
|
||||||
|
* In the ``[database]`` section, configure database access:
|
||||||
|
|
||||||
|
.. path /etc/glance/glance.conf
|
||||||
|
.. code-block:: ini
|
||||||
|
|
||||||
|
[database]
|
||||||
|
# ...
|
||||||
|
connection = mysql+pymysql://glance:GLANCE_DBPASS@controller/glance
|
||||||
|
|
||||||
|
.. end
|
||||||
|
|
||||||
|
Replace ``GLANCE_DBPASS`` with the password you chose for the
|
||||||
|
Image service database.
|
||||||
|
|
||||||
|
* In the ``[keystone_authtoken]`` and ``[paste_deploy]`` sections,
|
||||||
|
configure Identity service access:
|
||||||
|
|
||||||
|
.. path /etc/glance/glance.conf
|
||||||
|
.. code-block:: ini
|
||||||
|
|
||||||
|
[keystone_authtoken]
|
||||||
|
# ...
|
||||||
|
auth_uri = http://controller:5000
|
||||||
|
auth_url = http://controller:35357
|
||||||
|
memcached_servers = controller:11211
|
||||||
|
auth_type = password
|
||||||
|
project_domain_name = default
|
||||||
|
user_domain_name = default
|
||||||
|
project_name = service
|
||||||
|
username = glance
|
||||||
|
password = GLANCE_PASS
|
||||||
|
|
||||||
|
[paste_deploy]
|
||||||
|
# ...
|
||||||
|
flavor = keystone
|
||||||
|
|
||||||
|
.. end
|
||||||
|
|
||||||
|
Replace ``GLANCE_PASS`` with the password you chose for the
|
||||||
|
``glance`` user in the Identity service.
|
||||||
|
|
||||||
|
.. note::
|
||||||
|
|
||||||
|
Comment out or remove any other options in the
|
||||||
|
``[keystone_authtoken]`` section.
|
||||||
|
|
||||||
|
* In the ``[glance_store]`` section, configure the local file
|
||||||
|
system store and location of image files:
|
||||||
|
|
||||||
|
.. path /etc/glance/glance.conf
|
||||||
|
.. code-block:: ini
|
||||||
|
|
||||||
|
[glance_store]
|
||||||
|
# ...
|
||||||
|
stores = file,http
|
||||||
|
default_store = file
|
||||||
|
filesystem_store_datadir = /var/lib/glance/images/
|
||||||
|
|
||||||
|
.. end
|
||||||
|
|
||||||
|
3. Edit the ``/etc/glance/glance-registry.conf`` file and complete
|
||||||
|
the following actions:
|
||||||
|
|
||||||
|
* In the ``[database]`` section, configure database access:
|
||||||
|
|
||||||
|
.. path /etc/glance/glance-registry.conf
|
||||||
|
.. code-block:: ini
|
||||||
|
|
||||||
|
[database]
|
||||||
|
# ...
|
||||||
|
connection = mysql+pymysql://glance:GLANCE_DBPASS@controller/glance
|
||||||
|
|
||||||
|
.. end
|
||||||
|
|
||||||
|
Replace ``GLANCE_DBPASS`` with the password you chose for the
|
||||||
|
Image service database.
|
||||||
|
|
||||||
|
* In the ``[keystone_authtoken]`` and ``[paste_deploy]`` sections,
|
||||||
|
configure Identity service access:
|
||||||
|
|
||||||
|
.. path /etc/glance/glance-registry.conf
|
||||||
|
.. code-block:: ini
|
||||||
|
|
||||||
|
[keystone_authtoken]
|
||||||
|
# ...
|
||||||
|
auth_uri = http://controller:5000
|
||||||
|
auth_url = http://controller:35357
|
||||||
|
memcached_servers = controller:11211
|
||||||
|
auth_type = password
|
||||||
|
project_domain_name = default
|
||||||
|
user_domain_name = default
|
||||||
|
project_name = service
|
||||||
|
username = glance
|
||||||
|
password = GLANCE_PASS
|
||||||
|
|
||||||
|
[paste_deploy]
|
||||||
|
# ...
|
||||||
|
flavor = keystone
|
||||||
|
|
||||||
|
.. end
|
||||||
|
|
||||||
|
Replace ``GLANCE_PASS`` with the password you chose for the
|
||||||
|
``glance`` user in the Identity service.
|
||||||
|
|
||||||
|
.. note::
|
||||||
|
|
||||||
|
Comment out or remove any other options in the
|
||||||
|
``[keystone_authtoken]`` section.
|
||||||
|
|
||||||
|
|
||||||
|
4. Populate the Image service database:
|
||||||
|
|
||||||
|
.. code-block:: console
|
||||||
|
|
||||||
|
# su -s /bin/sh -c "glance-manage db_sync" glance
|
||||||
|
|
||||||
|
.. end
|
||||||
|
|
||||||
|
.. note::
|
||||||
|
|
||||||
|
Ignore any deprecation messages in this output.
|
||||||
|
|
||||||
|
|
||||||
|
Finalize installation
|
||||||
|
---------------------
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
#. Restart the Image services:
|
||||||
|
|
||||||
|
.. code-block:: console
|
||||||
|
|
||||||
|
# service glance-registry restart
|
||||||
|
# service glance-api restart
|
||||||
|
|
||||||
|
.. end
|
||||||
|
|
333
doc/source/install/install-obs.rst
Normal file
333
doc/source/install/install-obs.rst
Normal file
@ -0,0 +1,333 @@
|
|||||||
|
Install and configure (SUSE)
|
||||||
|
~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
||||||
|
|
||||||
|
This section describes how to install and configure the Image service,
|
||||||
|
code-named glance, on the controller node. For simplicity, this
|
||||||
|
configuration stores images on the local file system.
|
||||||
|
|
||||||
|
Prerequisites
|
||||||
|
-------------
|
||||||
|
|
||||||
|
Before you install and configure the Image service, you must
|
||||||
|
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
|
||||||
|
|
||||||
|
$ mysql -u root -p
|
||||||
|
|
||||||
|
.. end
|
||||||
|
|
||||||
|
|
||||||
|
* Create the ``glance`` database:
|
||||||
|
|
||||||
|
.. code-block:: console
|
||||||
|
|
||||||
|
MariaDB [(none)]> CREATE DATABASE glance;
|
||||||
|
|
||||||
|
.. end
|
||||||
|
|
||||||
|
* Grant proper access to the ``glance`` database:
|
||||||
|
|
||||||
|
.. code-block:: console
|
||||||
|
|
||||||
|
MariaDB [(none)]> GRANT ALL PRIVILEGES ON glance.* TO 'glance'@'localhost' \
|
||||||
|
IDENTIFIED BY 'GLANCE_DBPASS';
|
||||||
|
MariaDB [(none)]> GRANT ALL PRIVILEGES ON glance.* TO 'glance'@'%' \
|
||||||
|
IDENTIFIED BY 'GLANCE_DBPASS';
|
||||||
|
|
||||||
|
.. end
|
||||||
|
|
||||||
|
Replace ``GLANCE_DBPASS`` with a suitable password.
|
||||||
|
|
||||||
|
* Exit the database access client.
|
||||||
|
|
||||||
|
#. Source the ``admin`` credentials to gain access to
|
||||||
|
admin-only CLI commands:
|
||||||
|
|
||||||
|
.. code-block:: console
|
||||||
|
|
||||||
|
$ . admin-openrc
|
||||||
|
|
||||||
|
.. end
|
||||||
|
|
||||||
|
#. To create the service credentials, complete these steps:
|
||||||
|
|
||||||
|
* Create the ``glance`` user:
|
||||||
|
|
||||||
|
.. code-block:: console
|
||||||
|
|
||||||
|
$ openstack user create --domain default --password-prompt glance
|
||||||
|
|
||||||
|
User Password:
|
||||||
|
Repeat User Password:
|
||||||
|
+---------------------+----------------------------------+
|
||||||
|
| Field | Value |
|
||||||
|
+---------------------+----------------------------------+
|
||||||
|
| domain_id | default |
|
||||||
|
| enabled | True |
|
||||||
|
| id | 3f4e777c4062483ab8d9edd7dff829df |
|
||||||
|
| name | glance |
|
||||||
|
| options | {} |
|
||||||
|
| password_expires_at | None |
|
||||||
|
+---------------------+----------------------------------+
|
||||||
|
|
||||||
|
.. end
|
||||||
|
|
||||||
|
* Add the ``admin`` role to the ``glance`` user and
|
||||||
|
``service`` project:
|
||||||
|
|
||||||
|
.. code-block:: console
|
||||||
|
|
||||||
|
$ openstack role add --project service --user glance admin
|
||||||
|
|
||||||
|
.. end
|
||||||
|
|
||||||
|
.. note::
|
||||||
|
|
||||||
|
This command provides no output.
|
||||||
|
|
||||||
|
* Create the ``glance`` service entity:
|
||||||
|
|
||||||
|
.. code-block:: console
|
||||||
|
|
||||||
|
$ openstack service create --name glance \
|
||||||
|
--description "OpenStack Image" image
|
||||||
|
|
||||||
|
+-------------+----------------------------------+
|
||||||
|
| Field | Value |
|
||||||
|
+-------------+----------------------------------+
|
||||||
|
| description | OpenStack Image |
|
||||||
|
| enabled | True |
|
||||||
|
| id | 8c2c7f1b9b5049ea9e63757b5533e6d2 |
|
||||||
|
| name | glance |
|
||||||
|
| type | image |
|
||||||
|
+-------------+----------------------------------+
|
||||||
|
|
||||||
|
.. end
|
||||||
|
|
||||||
|
#. Create the Image service API endpoints:
|
||||||
|
|
||||||
|
.. code-block:: console
|
||||||
|
|
||||||
|
$ openstack endpoint create --region RegionOne \
|
||||||
|
image public http://controller:9292
|
||||||
|
|
||||||
|
+--------------+----------------------------------+
|
||||||
|
| Field | Value |
|
||||||
|
+--------------+----------------------------------+
|
||||||
|
| enabled | True |
|
||||||
|
| id | 340be3625e9b4239a6415d034e98aace |
|
||||||
|
| interface | public |
|
||||||
|
| region | RegionOne |
|
||||||
|
| region_id | RegionOne |
|
||||||
|
| service_id | 8c2c7f1b9b5049ea9e63757b5533e6d2 |
|
||||||
|
| service_name | glance |
|
||||||
|
| service_type | image |
|
||||||
|
| url | http://controller:9292 |
|
||||||
|
+--------------+----------------------------------+
|
||||||
|
|
||||||
|
$ openstack endpoint create --region RegionOne \
|
||||||
|
image internal http://controller:9292
|
||||||
|
|
||||||
|
+--------------+----------------------------------+
|
||||||
|
| Field | Value |
|
||||||
|
+--------------+----------------------------------+
|
||||||
|
| enabled | True |
|
||||||
|
| id | a6e4b153c2ae4c919eccfdbb7dceb5d2 |
|
||||||
|
| interface | internal |
|
||||||
|
| region | RegionOne |
|
||||||
|
| region_id | RegionOne |
|
||||||
|
| service_id | 8c2c7f1b9b5049ea9e63757b5533e6d2 |
|
||||||
|
| service_name | glance |
|
||||||
|
| service_type | image |
|
||||||
|
| url | http://controller:9292 |
|
||||||
|
+--------------+----------------------------------+
|
||||||
|
|
||||||
|
$ openstack endpoint create --region RegionOne \
|
||||||
|
image admin http://controller:9292
|
||||||
|
|
||||||
|
+--------------+----------------------------------+
|
||||||
|
| Field | Value |
|
||||||
|
+--------------+----------------------------------+
|
||||||
|
| enabled | True |
|
||||||
|
| id | 0c37ed58103f4300a84ff125a539032d |
|
||||||
|
| interface | admin |
|
||||||
|
| region | RegionOne |
|
||||||
|
| region_id | RegionOne |
|
||||||
|
| service_id | 8c2c7f1b9b5049ea9e63757b5533e6d2 |
|
||||||
|
| service_name | glance |
|
||||||
|
| service_type | image |
|
||||||
|
| url | http://controller:9292 |
|
||||||
|
+--------------+----------------------------------+
|
||||||
|
|
||||||
|
.. end
|
||||||
|
|
||||||
|
Install and configure components
|
||||||
|
--------------------------------
|
||||||
|
|
||||||
|
.. include:: note_configuration_vary_by_distribution.txt
|
||||||
|
|
||||||
|
|
||||||
|
.. note::
|
||||||
|
|
||||||
|
Starting with the Newton release, SUSE OpenStack packages are shipping
|
||||||
|
with the upstream default configuration files. For example
|
||||||
|
``/etc/glance/glance-api.conf`` or
|
||||||
|
``/etc/glance/glance-registry.conf``, with customizations in
|
||||||
|
``/etc/glance/glance-api.conf.d/`` or
|
||||||
|
``/etc/glance/glance-registry.conf.d/``. While the following
|
||||||
|
instructions modify the default configuration files, adding new files
|
||||||
|
in ``/etc/glance/glance-api.conf.d`` or
|
||||||
|
``/etc/glance/glance-registry.conf.d`` achieves the same result.
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
#. Install the packages:
|
||||||
|
|
||||||
|
.. code-block:: console
|
||||||
|
|
||||||
|
# zypper install openstack-glance \
|
||||||
|
openstack-glance-api openstack-glance-registry
|
||||||
|
|
||||||
|
.. end
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
2. Edit the ``/etc/glance/glance-api.conf`` file and complete the
|
||||||
|
following actions:
|
||||||
|
|
||||||
|
* In the ``[database]`` section, configure database access:
|
||||||
|
|
||||||
|
.. path /etc/glance/glance.conf
|
||||||
|
.. code-block:: ini
|
||||||
|
|
||||||
|
[database]
|
||||||
|
# ...
|
||||||
|
connection = mysql+pymysql://glance:GLANCE_DBPASS@controller/glance
|
||||||
|
|
||||||
|
.. end
|
||||||
|
|
||||||
|
Replace ``GLANCE_DBPASS`` with the password you chose for the
|
||||||
|
Image service database.
|
||||||
|
|
||||||
|
* In the ``[keystone_authtoken]`` and ``[paste_deploy]`` sections,
|
||||||
|
configure Identity service access:
|
||||||
|
|
||||||
|
.. path /etc/glance/glance.conf
|
||||||
|
.. code-block:: ini
|
||||||
|
|
||||||
|
[keystone_authtoken]
|
||||||
|
# ...
|
||||||
|
auth_uri = http://controller:5000
|
||||||
|
auth_url = http://controller:35357
|
||||||
|
memcached_servers = controller:11211
|
||||||
|
auth_type = password
|
||||||
|
project_domain_name = default
|
||||||
|
user_domain_name = default
|
||||||
|
project_name = service
|
||||||
|
username = glance
|
||||||
|
password = GLANCE_PASS
|
||||||
|
|
||||||
|
[paste_deploy]
|
||||||
|
# ...
|
||||||
|
flavor = keystone
|
||||||
|
|
||||||
|
.. end
|
||||||
|
|
||||||
|
Replace ``GLANCE_PASS`` with the password you chose for the
|
||||||
|
``glance`` user in the Identity service.
|
||||||
|
|
||||||
|
.. note::
|
||||||
|
|
||||||
|
Comment out or remove any other options in the
|
||||||
|
``[keystone_authtoken]`` section.
|
||||||
|
|
||||||
|
* In the ``[glance_store]`` section, configure the local file
|
||||||
|
system store and location of image files:
|
||||||
|
|
||||||
|
.. path /etc/glance/glance.conf
|
||||||
|
.. code-block:: ini
|
||||||
|
|
||||||
|
[glance_store]
|
||||||
|
# ...
|
||||||
|
stores = file,http
|
||||||
|
default_store = file
|
||||||
|
filesystem_store_datadir = /var/lib/glance/images/
|
||||||
|
|
||||||
|
.. end
|
||||||
|
|
||||||
|
3. Edit the ``/etc/glance/glance-registry.conf`` file and complete
|
||||||
|
the following actions:
|
||||||
|
|
||||||
|
* In the ``[database]`` section, configure database access:
|
||||||
|
|
||||||
|
.. path /etc/glance/glance-registry.conf
|
||||||
|
.. code-block:: ini
|
||||||
|
|
||||||
|
[database]
|
||||||
|
# ...
|
||||||
|
connection = mysql+pymysql://glance:GLANCE_DBPASS@controller/glance
|
||||||
|
|
||||||
|
.. end
|
||||||
|
|
||||||
|
Replace ``GLANCE_DBPASS`` with the password you chose for the
|
||||||
|
Image service database.
|
||||||
|
|
||||||
|
* In the ``[keystone_authtoken]`` and ``[paste_deploy]`` sections,
|
||||||
|
configure Identity service access:
|
||||||
|
|
||||||
|
.. path /etc/glance/glance-registry.conf
|
||||||
|
.. code-block:: ini
|
||||||
|
|
||||||
|
[keystone_authtoken]
|
||||||
|
# ...
|
||||||
|
auth_uri = http://controller:5000
|
||||||
|
auth_url = http://controller:35357
|
||||||
|
memcached_servers = controller:11211
|
||||||
|
auth_type = password
|
||||||
|
project_domain_name = default
|
||||||
|
user_domain_name = default
|
||||||
|
project_name = service
|
||||||
|
username = glance
|
||||||
|
password = GLANCE_PASS
|
||||||
|
|
||||||
|
[paste_deploy]
|
||||||
|
# ...
|
||||||
|
flavor = keystone
|
||||||
|
|
||||||
|
.. end
|
||||||
|
|
||||||
|
Replace ``GLANCE_PASS`` with the password you chose for the
|
||||||
|
``glance`` user in the Identity service.
|
||||||
|
|
||||||
|
.. note::
|
||||||
|
|
||||||
|
Comment out or remove any other options in the
|
||||||
|
``[keystone_authtoken]`` section.
|
||||||
|
|
||||||
|
|
||||||
|
Finalize installation
|
||||||
|
---------------------
|
||||||
|
|
||||||
|
|
||||||
|
* Start the Image services and configure them to start when
|
||||||
|
the system boots:
|
||||||
|
|
||||||
|
.. code-block:: console
|
||||||
|
|
||||||
|
# systemctl enable openstack-glance-api.service \
|
||||||
|
openstack-glance-registry.service
|
||||||
|
# systemctl start openstack-glance-api.service \
|
||||||
|
openstack-glance-registry.service
|
||||||
|
|
||||||
|
.. end
|
||||||
|
|
||||||
|
|
332
doc/source/install/install-rdo.rst
Normal file
332
doc/source/install/install-rdo.rst
Normal file
@ -0,0 +1,332 @@
|
|||||||
|
Install and configure (Red Hat)
|
||||||
|
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
||||||
|
|
||||||
|
This section describes how to install and configure the Image service,
|
||||||
|
code-named glance, on the controller node. For simplicity, this
|
||||||
|
configuration stores images on the local file system.
|
||||||
|
|
||||||
|
Prerequisites
|
||||||
|
-------------
|
||||||
|
|
||||||
|
Before you install and configure the Image service, you must
|
||||||
|
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
|
||||||
|
|
||||||
|
$ mysql -u root -p
|
||||||
|
|
||||||
|
.. end
|
||||||
|
|
||||||
|
|
||||||
|
* Create the ``glance`` database:
|
||||||
|
|
||||||
|
.. code-block:: console
|
||||||
|
|
||||||
|
MariaDB [(none)]> CREATE DATABASE glance;
|
||||||
|
|
||||||
|
.. end
|
||||||
|
|
||||||
|
* Grant proper access to the ``glance`` database:
|
||||||
|
|
||||||
|
.. code-block:: console
|
||||||
|
|
||||||
|
MariaDB [(none)]> GRANT ALL PRIVILEGES ON glance.* TO 'glance'@'localhost' \
|
||||||
|
IDENTIFIED BY 'GLANCE_DBPASS';
|
||||||
|
MariaDB [(none)]> GRANT ALL PRIVILEGES ON glance.* TO 'glance'@'%' \
|
||||||
|
IDENTIFIED BY 'GLANCE_DBPASS';
|
||||||
|
|
||||||
|
.. end
|
||||||
|
|
||||||
|
Replace ``GLANCE_DBPASS`` with a suitable password.
|
||||||
|
|
||||||
|
* Exit the database access client.
|
||||||
|
|
||||||
|
#. Source the ``admin`` credentials to gain access to
|
||||||
|
admin-only CLI commands:
|
||||||
|
|
||||||
|
.. code-block:: console
|
||||||
|
|
||||||
|
$ . admin-openrc
|
||||||
|
|
||||||
|
.. end
|
||||||
|
|
||||||
|
#. To create the service credentials, complete these steps:
|
||||||
|
|
||||||
|
* Create the ``glance`` user:
|
||||||
|
|
||||||
|
.. code-block:: console
|
||||||
|
|
||||||
|
$ openstack user create --domain default --password-prompt glance
|
||||||
|
|
||||||
|
User Password:
|
||||||
|
Repeat User Password:
|
||||||
|
+---------------------+----------------------------------+
|
||||||
|
| Field | Value |
|
||||||
|
+---------------------+----------------------------------+
|
||||||
|
| domain_id | default |
|
||||||
|
| enabled | True |
|
||||||
|
| id | 3f4e777c4062483ab8d9edd7dff829df |
|
||||||
|
| name | glance |
|
||||||
|
| options | {} |
|
||||||
|
| password_expires_at | None |
|
||||||
|
+---------------------+----------------------------------+
|
||||||
|
|
||||||
|
.. end
|
||||||
|
|
||||||
|
* Add the ``admin`` role to the ``glance`` user and
|
||||||
|
``service`` project:
|
||||||
|
|
||||||
|
.. code-block:: console
|
||||||
|
|
||||||
|
$ openstack role add --project service --user glance admin
|
||||||
|
|
||||||
|
.. end
|
||||||
|
|
||||||
|
.. note::
|
||||||
|
|
||||||
|
This command provides no output.
|
||||||
|
|
||||||
|
* Create the ``glance`` service entity:
|
||||||
|
|
||||||
|
.. code-block:: console
|
||||||
|
|
||||||
|
$ openstack service create --name glance \
|
||||||
|
--description "OpenStack Image" image
|
||||||
|
|
||||||
|
+-------------+----------------------------------+
|
||||||
|
| Field | Value |
|
||||||
|
+-------------+----------------------------------+
|
||||||
|
| description | OpenStack Image |
|
||||||
|
| enabled | True |
|
||||||
|
| id | 8c2c7f1b9b5049ea9e63757b5533e6d2 |
|
||||||
|
| name | glance |
|
||||||
|
| type | image |
|
||||||
|
+-------------+----------------------------------+
|
||||||
|
|
||||||
|
.. end
|
||||||
|
|
||||||
|
#. Create the Image service API endpoints:
|
||||||
|
|
||||||
|
.. code-block:: console
|
||||||
|
|
||||||
|
$ openstack endpoint create --region RegionOne \
|
||||||
|
image public http://controller:9292
|
||||||
|
|
||||||
|
+--------------+----------------------------------+
|
||||||
|
| Field | Value |
|
||||||
|
+--------------+----------------------------------+
|
||||||
|
| enabled | True |
|
||||||
|
| id | 340be3625e9b4239a6415d034e98aace |
|
||||||
|
| interface | public |
|
||||||
|
| region | RegionOne |
|
||||||
|
| region_id | RegionOne |
|
||||||
|
| service_id | 8c2c7f1b9b5049ea9e63757b5533e6d2 |
|
||||||
|
| service_name | glance |
|
||||||
|
| service_type | image |
|
||||||
|
| url | http://controller:9292 |
|
||||||
|
+--------------+----------------------------------+
|
||||||
|
|
||||||
|
$ openstack endpoint create --region RegionOne \
|
||||||
|
image internal http://controller:9292
|
||||||
|
|
||||||
|
+--------------+----------------------------------+
|
||||||
|
| Field | Value |
|
||||||
|
+--------------+----------------------------------+
|
||||||
|
| enabled | True |
|
||||||
|
| id | a6e4b153c2ae4c919eccfdbb7dceb5d2 |
|
||||||
|
| interface | internal |
|
||||||
|
| region | RegionOne |
|
||||||
|
| region_id | RegionOne |
|
||||||
|
| service_id | 8c2c7f1b9b5049ea9e63757b5533e6d2 |
|
||||||
|
| service_name | glance |
|
||||||
|
| service_type | image |
|
||||||
|
| url | http://controller:9292 |
|
||||||
|
+--------------+----------------------------------+
|
||||||
|
|
||||||
|
$ openstack endpoint create --region RegionOne \
|
||||||
|
image admin http://controller:9292
|
||||||
|
|
||||||
|
+--------------+----------------------------------+
|
||||||
|
| Field | Value |
|
||||||
|
+--------------+----------------------------------+
|
||||||
|
| enabled | True |
|
||||||
|
| id | 0c37ed58103f4300a84ff125a539032d |
|
||||||
|
| interface | admin |
|
||||||
|
| region | RegionOne |
|
||||||
|
| region_id | RegionOne |
|
||||||
|
| service_id | 8c2c7f1b9b5049ea9e63757b5533e6d2 |
|
||||||
|
| service_name | glance |
|
||||||
|
| service_type | image |
|
||||||
|
| url | http://controller:9292 |
|
||||||
|
+--------------+----------------------------------+
|
||||||
|
|
||||||
|
.. end
|
||||||
|
|
||||||
|
Install and configure components
|
||||||
|
--------------------------------
|
||||||
|
|
||||||
|
.. include:: note_configuration_vary_by_distribution.txt
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
#. Install the packages:
|
||||||
|
|
||||||
|
.. code-block:: console
|
||||||
|
|
||||||
|
# yum install openstack-glance
|
||||||
|
|
||||||
|
.. end
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
2. Edit the ``/etc/glance/glance-api.conf`` file and complete the
|
||||||
|
following actions:
|
||||||
|
|
||||||
|
* In the ``[database]`` section, configure database access:
|
||||||
|
|
||||||
|
.. path /etc/glance/glance.conf
|
||||||
|
.. code-block:: ini
|
||||||
|
|
||||||
|
[database]
|
||||||
|
# ...
|
||||||
|
connection = mysql+pymysql://glance:GLANCE_DBPASS@controller/glance
|
||||||
|
|
||||||
|
.. end
|
||||||
|
|
||||||
|
Replace ``GLANCE_DBPASS`` with the password you chose for the
|
||||||
|
Image service database.
|
||||||
|
|
||||||
|
* In the ``[keystone_authtoken]`` and ``[paste_deploy]`` sections,
|
||||||
|
configure Identity service access:
|
||||||
|
|
||||||
|
.. path /etc/glance/glance.conf
|
||||||
|
.. code-block:: ini
|
||||||
|
|
||||||
|
[keystone_authtoken]
|
||||||
|
# ...
|
||||||
|
auth_uri = http://controller:5000
|
||||||
|
auth_url = http://controller:35357
|
||||||
|
memcached_servers = controller:11211
|
||||||
|
auth_type = password
|
||||||
|
project_domain_name = default
|
||||||
|
user_domain_name = default
|
||||||
|
project_name = service
|
||||||
|
username = glance
|
||||||
|
password = GLANCE_PASS
|
||||||
|
|
||||||
|
[paste_deploy]
|
||||||
|
# ...
|
||||||
|
flavor = keystone
|
||||||
|
|
||||||
|
.. end
|
||||||
|
|
||||||
|
Replace ``GLANCE_PASS`` with the password you chose for the
|
||||||
|
``glance`` user in the Identity service.
|
||||||
|
|
||||||
|
.. note::
|
||||||
|
|
||||||
|
Comment out or remove any other options in the
|
||||||
|
``[keystone_authtoken]`` section.
|
||||||
|
|
||||||
|
* In the ``[glance_store]`` section, configure the local file
|
||||||
|
system store and location of image files:
|
||||||
|
|
||||||
|
.. path /etc/glance/glance.conf
|
||||||
|
.. code-block:: ini
|
||||||
|
|
||||||
|
[glance_store]
|
||||||
|
# ...
|
||||||
|
stores = file,http
|
||||||
|
default_store = file
|
||||||
|
filesystem_store_datadir = /var/lib/glance/images/
|
||||||
|
|
||||||
|
.. end
|
||||||
|
|
||||||
|
3. Edit the ``/etc/glance/glance-registry.conf`` file and complete
|
||||||
|
the following actions:
|
||||||
|
|
||||||
|
* In the ``[database]`` section, configure database access:
|
||||||
|
|
||||||
|
.. path /etc/glance/glance-registry.conf
|
||||||
|
.. code-block:: ini
|
||||||
|
|
||||||
|
[database]
|
||||||
|
# ...
|
||||||
|
connection = mysql+pymysql://glance:GLANCE_DBPASS@controller/glance
|
||||||
|
|
||||||
|
.. end
|
||||||
|
|
||||||
|
Replace ``GLANCE_DBPASS`` with the password you chose for the
|
||||||
|
Image service database.
|
||||||
|
|
||||||
|
* In the ``[keystone_authtoken]`` and ``[paste_deploy]`` sections,
|
||||||
|
configure Identity service access:
|
||||||
|
|
||||||
|
.. path /etc/glance/glance-registry.conf
|
||||||
|
.. code-block:: ini
|
||||||
|
|
||||||
|
[keystone_authtoken]
|
||||||
|
# ...
|
||||||
|
auth_uri = http://controller:5000
|
||||||
|
auth_url = http://controller:35357
|
||||||
|
memcached_servers = controller:11211
|
||||||
|
auth_type = password
|
||||||
|
project_domain_name = default
|
||||||
|
user_domain_name = default
|
||||||
|
project_name = service
|
||||||
|
username = glance
|
||||||
|
password = GLANCE_PASS
|
||||||
|
|
||||||
|
[paste_deploy]
|
||||||
|
# ...
|
||||||
|
flavor = keystone
|
||||||
|
|
||||||
|
.. end
|
||||||
|
|
||||||
|
Replace ``GLANCE_PASS`` with the password you chose for the
|
||||||
|
``glance`` user in the Identity service.
|
||||||
|
|
||||||
|
.. note::
|
||||||
|
|
||||||
|
Comment out or remove any other options in the
|
||||||
|
``[keystone_authtoken]`` section.
|
||||||
|
|
||||||
|
|
||||||
|
4. Populate the Image service database:
|
||||||
|
|
||||||
|
.. code-block:: console
|
||||||
|
|
||||||
|
# su -s /bin/sh -c "glance-manage db_sync" glance
|
||||||
|
|
||||||
|
.. end
|
||||||
|
|
||||||
|
.. note::
|
||||||
|
|
||||||
|
Ignore any deprecation messages in this output.
|
||||||
|
|
||||||
|
|
||||||
|
Finalize installation
|
||||||
|
---------------------
|
||||||
|
|
||||||
|
|
||||||
|
* Start the Image services and configure them to start when
|
||||||
|
the system boots:
|
||||||
|
|
||||||
|
.. code-block:: console
|
||||||
|
|
||||||
|
# systemctl enable openstack-glance-api.service \
|
||||||
|
openstack-glance-registry.service
|
||||||
|
# systemctl start openstack-glance-api.service \
|
||||||
|
openstack-glance-registry.service
|
||||||
|
|
||||||
|
.. end
|
||||||
|
|
||||||
|
|
329
doc/source/install/install-ubuntu.rst
Normal file
329
doc/source/install/install-ubuntu.rst
Normal file
@ -0,0 +1,329 @@
|
|||||||
|
Install and configure (Ubuntu)
|
||||||
|
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
||||||
|
|
||||||
|
This section describes how to install and configure the Image service,
|
||||||
|
code-named glance, on the controller node. For simplicity, this
|
||||||
|
configuration stores images on the local file system.
|
||||||
|
|
||||||
|
Prerequisites
|
||||||
|
-------------
|
||||||
|
|
||||||
|
Before you install and configure the Image service, you must
|
||||||
|
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
|
||||||
|
|
||||||
|
# mysql
|
||||||
|
|
||||||
|
.. end
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
* Create the ``glance`` database:
|
||||||
|
|
||||||
|
.. code-block:: console
|
||||||
|
|
||||||
|
MariaDB [(none)]> CREATE DATABASE glance;
|
||||||
|
|
||||||
|
.. end
|
||||||
|
|
||||||
|
* Grant proper access to the ``glance`` database:
|
||||||
|
|
||||||
|
.. code-block:: console
|
||||||
|
|
||||||
|
MariaDB [(none)]> GRANT ALL PRIVILEGES ON glance.* TO 'glance'@'localhost' \
|
||||||
|
IDENTIFIED BY 'GLANCE_DBPASS';
|
||||||
|
MariaDB [(none)]> GRANT ALL PRIVILEGES ON glance.* TO 'glance'@'%' \
|
||||||
|
IDENTIFIED BY 'GLANCE_DBPASS';
|
||||||
|
|
||||||
|
.. end
|
||||||
|
|
||||||
|
Replace ``GLANCE_DBPASS`` with a suitable password.
|
||||||
|
|
||||||
|
* Exit the database access client.
|
||||||
|
|
||||||
|
#. Source the ``admin`` credentials to gain access to
|
||||||
|
admin-only CLI commands:
|
||||||
|
|
||||||
|
.. code-block:: console
|
||||||
|
|
||||||
|
$ . admin-openrc
|
||||||
|
|
||||||
|
.. end
|
||||||
|
|
||||||
|
#. To create the service credentials, complete these steps:
|
||||||
|
|
||||||
|
* Create the ``glance`` user:
|
||||||
|
|
||||||
|
.. code-block:: console
|
||||||
|
|
||||||
|
$ openstack user create --domain default --password-prompt glance
|
||||||
|
|
||||||
|
User Password:
|
||||||
|
Repeat User Password:
|
||||||
|
+---------------------+----------------------------------+
|
||||||
|
| Field | Value |
|
||||||
|
+---------------------+----------------------------------+
|
||||||
|
| domain_id | default |
|
||||||
|
| enabled | True |
|
||||||
|
| id | 3f4e777c4062483ab8d9edd7dff829df |
|
||||||
|
| name | glance |
|
||||||
|
| options | {} |
|
||||||
|
| password_expires_at | None |
|
||||||
|
+---------------------+----------------------------------+
|
||||||
|
|
||||||
|
.. end
|
||||||
|
|
||||||
|
* Add the ``admin`` role to the ``glance`` user and
|
||||||
|
``service`` project:
|
||||||
|
|
||||||
|
.. code-block:: console
|
||||||
|
|
||||||
|
$ openstack role add --project service --user glance admin
|
||||||
|
|
||||||
|
.. end
|
||||||
|
|
||||||
|
.. note::
|
||||||
|
|
||||||
|
This command provides no output.
|
||||||
|
|
||||||
|
* Create the ``glance`` service entity:
|
||||||
|
|
||||||
|
.. code-block:: console
|
||||||
|
|
||||||
|
$ openstack service create --name glance \
|
||||||
|
--description "OpenStack Image" image
|
||||||
|
|
||||||
|
+-------------+----------------------------------+
|
||||||
|
| Field | Value |
|
||||||
|
+-------------+----------------------------------+
|
||||||
|
| description | OpenStack Image |
|
||||||
|
| enabled | True |
|
||||||
|
| id | 8c2c7f1b9b5049ea9e63757b5533e6d2 |
|
||||||
|
| name | glance |
|
||||||
|
| type | image |
|
||||||
|
+-------------+----------------------------------+
|
||||||
|
|
||||||
|
.. end
|
||||||
|
|
||||||
|
#. Create the Image service API endpoints:
|
||||||
|
|
||||||
|
.. code-block:: console
|
||||||
|
|
||||||
|
$ openstack endpoint create --region RegionOne \
|
||||||
|
image public http://controller:9292
|
||||||
|
|
||||||
|
+--------------+----------------------------------+
|
||||||
|
| Field | Value |
|
||||||
|
+--------------+----------------------------------+
|
||||||
|
| enabled | True |
|
||||||
|
| id | 340be3625e9b4239a6415d034e98aace |
|
||||||
|
| interface | public |
|
||||||
|
| region | RegionOne |
|
||||||
|
| region_id | RegionOne |
|
||||||
|
| service_id | 8c2c7f1b9b5049ea9e63757b5533e6d2 |
|
||||||
|
| service_name | glance |
|
||||||
|
| service_type | image |
|
||||||
|
| url | http://controller:9292 |
|
||||||
|
+--------------+----------------------------------+
|
||||||
|
|
||||||
|
$ openstack endpoint create --region RegionOne \
|
||||||
|
image internal http://controller:9292
|
||||||
|
|
||||||
|
+--------------+----------------------------------+
|
||||||
|
| Field | Value |
|
||||||
|
+--------------+----------------------------------+
|
||||||
|
| enabled | True |
|
||||||
|
| id | a6e4b153c2ae4c919eccfdbb7dceb5d2 |
|
||||||
|
| interface | internal |
|
||||||
|
| region | RegionOne |
|
||||||
|
| region_id | RegionOne |
|
||||||
|
| service_id | 8c2c7f1b9b5049ea9e63757b5533e6d2 |
|
||||||
|
| service_name | glance |
|
||||||
|
| service_type | image |
|
||||||
|
| url | http://controller:9292 |
|
||||||
|
+--------------+----------------------------------+
|
||||||
|
|
||||||
|
$ openstack endpoint create --region RegionOne \
|
||||||
|
image admin http://controller:9292
|
||||||
|
|
||||||
|
+--------------+----------------------------------+
|
||||||
|
| Field | Value |
|
||||||
|
+--------------+----------------------------------+
|
||||||
|
| enabled | True |
|
||||||
|
| id | 0c37ed58103f4300a84ff125a539032d |
|
||||||
|
| interface | admin |
|
||||||
|
| region | RegionOne |
|
||||||
|
| region_id | RegionOne |
|
||||||
|
| service_id | 8c2c7f1b9b5049ea9e63757b5533e6d2 |
|
||||||
|
| service_name | glance |
|
||||||
|
| service_type | image |
|
||||||
|
| url | http://controller:9292 |
|
||||||
|
+--------------+----------------------------------+
|
||||||
|
|
||||||
|
.. end
|
||||||
|
|
||||||
|
Install and configure components
|
||||||
|
--------------------------------
|
||||||
|
|
||||||
|
.. include:: note_configuration_vary_by_distribution.txt
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
#. Install the packages:
|
||||||
|
|
||||||
|
.. code-block:: console
|
||||||
|
|
||||||
|
# apt install glance
|
||||||
|
|
||||||
|
.. end
|
||||||
|
|
||||||
|
|
||||||
|
2. Edit the ``/etc/glance/glance-api.conf`` file and complete the
|
||||||
|
following actions:
|
||||||
|
|
||||||
|
* In the ``[database]`` section, configure database access:
|
||||||
|
|
||||||
|
.. path /etc/glance/glance.conf
|
||||||
|
.. code-block:: ini
|
||||||
|
|
||||||
|
[database]
|
||||||
|
# ...
|
||||||
|
connection = mysql+pymysql://glance:GLANCE_DBPASS@controller/glance
|
||||||
|
|
||||||
|
.. end
|
||||||
|
|
||||||
|
Replace ``GLANCE_DBPASS`` with the password you chose for the
|
||||||
|
Image service database.
|
||||||
|
|
||||||
|
* In the ``[keystone_authtoken]`` and ``[paste_deploy]`` sections,
|
||||||
|
configure Identity service access:
|
||||||
|
|
||||||
|
.. path /etc/glance/glance.conf
|
||||||
|
.. code-block:: ini
|
||||||
|
|
||||||
|
[keystone_authtoken]
|
||||||
|
# ...
|
||||||
|
auth_uri = http://controller:5000
|
||||||
|
auth_url = http://controller:35357
|
||||||
|
memcached_servers = controller:11211
|
||||||
|
auth_type = password
|
||||||
|
project_domain_name = default
|
||||||
|
user_domain_name = default
|
||||||
|
project_name = service
|
||||||
|
username = glance
|
||||||
|
password = GLANCE_PASS
|
||||||
|
|
||||||
|
[paste_deploy]
|
||||||
|
# ...
|
||||||
|
flavor = keystone
|
||||||
|
|
||||||
|
.. end
|
||||||
|
|
||||||
|
Replace ``GLANCE_PASS`` with the password you chose for the
|
||||||
|
``glance`` user in the Identity service.
|
||||||
|
|
||||||
|
.. note::
|
||||||
|
|
||||||
|
Comment out or remove any other options in the
|
||||||
|
``[keystone_authtoken]`` section.
|
||||||
|
|
||||||
|
* In the ``[glance_store]`` section, configure the local file
|
||||||
|
system store and location of image files:
|
||||||
|
|
||||||
|
.. path /etc/glance/glance.conf
|
||||||
|
.. code-block:: ini
|
||||||
|
|
||||||
|
[glance_store]
|
||||||
|
# ...
|
||||||
|
stores = file,http
|
||||||
|
default_store = file
|
||||||
|
filesystem_store_datadir = /var/lib/glance/images/
|
||||||
|
|
||||||
|
.. end
|
||||||
|
|
||||||
|
3. Edit the ``/etc/glance/glance-registry.conf`` file and complete
|
||||||
|
the following actions:
|
||||||
|
|
||||||
|
* In the ``[database]`` section, configure database access:
|
||||||
|
|
||||||
|
.. path /etc/glance/glance-registry.conf
|
||||||
|
.. code-block:: ini
|
||||||
|
|
||||||
|
[database]
|
||||||
|
# ...
|
||||||
|
connection = mysql+pymysql://glance:GLANCE_DBPASS@controller/glance
|
||||||
|
|
||||||
|
.. end
|
||||||
|
|
||||||
|
Replace ``GLANCE_DBPASS`` with the password you chose for the
|
||||||
|
Image service database.
|
||||||
|
|
||||||
|
* In the ``[keystone_authtoken]`` and ``[paste_deploy]`` sections,
|
||||||
|
configure Identity service access:
|
||||||
|
|
||||||
|
.. path /etc/glance/glance-registry.conf
|
||||||
|
.. code-block:: ini
|
||||||
|
|
||||||
|
[keystone_authtoken]
|
||||||
|
# ...
|
||||||
|
auth_uri = http://controller:5000
|
||||||
|
auth_url = http://controller:35357
|
||||||
|
memcached_servers = controller:11211
|
||||||
|
auth_type = password
|
||||||
|
project_domain_name = default
|
||||||
|
user_domain_name = default
|
||||||
|
project_name = service
|
||||||
|
username = glance
|
||||||
|
password = GLANCE_PASS
|
||||||
|
|
||||||
|
[paste_deploy]
|
||||||
|
# ...
|
||||||
|
flavor = keystone
|
||||||
|
|
||||||
|
.. end
|
||||||
|
|
||||||
|
Replace ``GLANCE_PASS`` with the password you chose for the
|
||||||
|
``glance`` user in the Identity service.
|
||||||
|
|
||||||
|
.. note::
|
||||||
|
|
||||||
|
Comment out or remove any other options in the
|
||||||
|
``[keystone_authtoken]`` section.
|
||||||
|
|
||||||
|
|
||||||
|
4. Populate the Image service database:
|
||||||
|
|
||||||
|
.. code-block:: console
|
||||||
|
|
||||||
|
# su -s /bin/sh -c "glance-manage db_sync" glance
|
||||||
|
|
||||||
|
.. end
|
||||||
|
|
||||||
|
.. note::
|
||||||
|
|
||||||
|
Ignore any deprecation messages in this output.
|
||||||
|
|
||||||
|
|
||||||
|
Finalize installation
|
||||||
|
---------------------
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
#. Restart the Image services:
|
||||||
|
|
||||||
|
.. code-block:: console
|
||||||
|
|
||||||
|
# service glance-registry restart
|
||||||
|
# service glance-api restart
|
||||||
|
|
||||||
|
.. end
|
||||||
|
|
11
doc/source/install/install.rst
Normal file
11
doc/source/install/install.rst
Normal file
@ -0,0 +1,11 @@
|
|||||||
|
Install and configure
|
||||||
|
~~~~~~~~~~~~~~~~~~~~~
|
||||||
|
|
||||||
|
This section describes how to install and configure the Image service,
|
||||||
|
code-named glance, on the controller node. For simplicity, this
|
||||||
|
configuration stores images on the local file system.
|
||||||
|
|
||||||
|
.. toctree::
|
||||||
|
:glob:
|
||||||
|
|
||||||
|
install-*
|
@ -0,0 +1,7 @@
|
|||||||
|
.. note::
|
||||||
|
|
||||||
|
Default configuration files vary by distribution. You might need
|
||||||
|
to add these sections and options rather than modifying existing
|
||||||
|
sections and options. Also, an ellipsis (``...``) in the configuration
|
||||||
|
snippets indicates potential default configuration options that you
|
||||||
|
should retain.
|
103
doc/source/install/verify.rst
Normal file
103
doc/source/install/verify.rst
Normal file
@ -0,0 +1,103 @@
|
|||||||
|
Verify operation
|
||||||
|
~~~~~~~~~~~~~~~~
|
||||||
|
|
||||||
|
Verify operation of the Image service using
|
||||||
|
`CirrOS <http://launchpad.net/cirros>`__, a small
|
||||||
|
Linux image that helps you test your OpenStack deployment.
|
||||||
|
|
||||||
|
For more information about how to download and build images, see
|
||||||
|
`OpenStack Virtual Machine Image Guide
|
||||||
|
<https://docs.openstack.org/image-guide/>`__.
|
||||||
|
For information about how to manage images, see the
|
||||||
|
`OpenStack End User Guide
|
||||||
|
<https://docs.openstack.org/user-guide/common/cli-manage-images.html>`__.
|
||||||
|
|
||||||
|
.. note::
|
||||||
|
|
||||||
|
Perform these commands on the controller node.
|
||||||
|
|
||||||
|
#. Source the ``admin`` credentials to gain access to
|
||||||
|
admin-only CLI commands:
|
||||||
|
|
||||||
|
.. code-block:: console
|
||||||
|
|
||||||
|
$ . admin-openrc
|
||||||
|
|
||||||
|
.. end
|
||||||
|
|
||||||
|
#. Download the source image:
|
||||||
|
|
||||||
|
.. code-block:: console
|
||||||
|
|
||||||
|
$ wget http://download.cirros-cloud.net/0.3.5/cirros-0.3.5-x86_64-disk.img
|
||||||
|
|
||||||
|
.. end
|
||||||
|
|
||||||
|
.. note::
|
||||||
|
|
||||||
|
Install ``wget`` if your distribution does not include it.
|
||||||
|
|
||||||
|
#. Upload the image to the Image service using the
|
||||||
|
:term:`QCOW2 <QEMU Copy On Write 2 (QCOW2)>` disk format, :term:`bare`
|
||||||
|
container format, and public visibility so all projects can access it:
|
||||||
|
|
||||||
|
.. code-block:: console
|
||||||
|
|
||||||
|
$ openstack image create "cirros" \
|
||||||
|
--file cirros-0.3.5-x86_64-disk.img \
|
||||||
|
--disk-format qcow2 --container-format bare \
|
||||||
|
--public
|
||||||
|
|
||||||
|
+------------------+------------------------------------------------------+
|
||||||
|
| Field | Value |
|
||||||
|
+------------------+------------------------------------------------------+
|
||||||
|
| checksum | 133eae9fb1c98f45894a4e60d8736619 |
|
||||||
|
| container_format | bare |
|
||||||
|
| created_at | 2015-03-26T16:52:10Z |
|
||||||
|
| disk_format | qcow2 |
|
||||||
|
| file | /v2/images/cc5c6982-4910-471e-b864-1098015901b5/file |
|
||||||
|
| id | cc5c6982-4910-471e-b864-1098015901b5 |
|
||||||
|
| min_disk | 0 |
|
||||||
|
| min_ram | 0 |
|
||||||
|
| name | cirros |
|
||||||
|
| owner | ae7a98326b9c455588edd2656d723b9d |
|
||||||
|
| protected | False |
|
||||||
|
| schema | /v2/schemas/image |
|
||||||
|
| size | 13200896 |
|
||||||
|
| status | active |
|
||||||
|
| tags | |
|
||||||
|
| updated_at | 2015-03-26T16:52:10Z |
|
||||||
|
| virtual_size | None |
|
||||||
|
| visibility | public |
|
||||||
|
+------------------+------------------------------------------------------+
|
||||||
|
|
||||||
|
.. end
|
||||||
|
|
||||||
|
For information about the :command:`openstack image create` parameters,
|
||||||
|
see `Create or update an image (glance)
|
||||||
|
<https://docs.openstack.org/user-guide/common/cli-manage-images.html#create-or-update-an-image-glance>`__
|
||||||
|
in the ``OpenStack User Guide``.
|
||||||
|
|
||||||
|
For information about disk and container formats for images, see
|
||||||
|
`Disk and container formats for images
|
||||||
|
<https://docs.openstack.org/image-guide/image-formats.html>`__
|
||||||
|
in the ``OpenStack Virtual Machine Image Guide``.
|
||||||
|
|
||||||
|
.. note::
|
||||||
|
|
||||||
|
OpenStack generates IDs dynamically, so you will see
|
||||||
|
different values in the example command output.
|
||||||
|
|
||||||
|
#. Confirm upload of the image and validate attributes:
|
||||||
|
|
||||||
|
.. code-block:: console
|
||||||
|
|
||||||
|
$ openstack image list
|
||||||
|
|
||||||
|
+--------------------------------------+--------+--------+
|
||||||
|
| ID | Name | Status |
|
||||||
|
+--------------------------------------+--------+--------+
|
||||||
|
| 38047887-61a7-41ea-9b49-27987d5e8bb9 | cirros | active |
|
||||||
|
+--------------------------------------+--------+--------+
|
||||||
|
|
||||||
|
.. end
|
Loading…
Reference in New Issue
Block a user