[install-guide] Import Install and configure sections

The following sections of the legacy install guide were imported:

  * Install and configure prerequisites
  * Install the Bare Metal service
  * Configure the Bare Metal service

Only changes made to the documentation are the following:

  * Formatting changes (code-block, proper lists, etc.)
  * Structure changes (installation and configuration are now under a
    single section)
  * Heading titles formatting [0]

[0] http://docs.openstack.org/contributor-guide/rst-conv/titles.html

Change-Id: I0f1f5dacd4ed31ccfb4ac38c1ff2ecfc94e99ca4
Partial-bug: #1612278
This commit is contained in:
Mathieu Mitchell 2016-09-07 08:39:28 -04:00
parent 7131037cf7
commit e26c71bcf6
16 changed files with 535 additions and 431 deletions

View File

@ -21,424 +21,27 @@ Install Guide.
Install and configure prerequisites Install and configure prerequisites
=================================== ===================================
The Bare Metal service is a collection of components that provides support to The `prerequisites`_ section has been moved to the Bare Metal service Install
manage and provision physical machines. You can configure these components to Guide.
run on separate nodes or the same node. In this guide, the components run on
one node, typically the Compute Service's compute node.
This section shows you how to install and configure the components. .. _`prerequisites`: http://docs.openstack.org/project-install-guide/baremetal/draft/install-ubuntu.html#prerequisites
It assumes that the Identity, Image, Compute, and Networking services
have already been set up.
Configure the Identity service for the Bare Metal service
---------------------------------------------------------
#. Create the Bare Metal service user (for example, ``ironic``).
The service uses this to authenticate with the Identity service.
Use the ``service`` tenant and give the user the ``admin`` role::
openstack user create --password IRONIC_PASSWORD \
--email ironic@example.com ironic
openstack role add --project service --user ironic admin
#. You must register the Bare Metal service with the Identity service so that
other OpenStack services can locate it. To register the service::
openstack service create --name ironic --description \
"Ironic baremetal provisioning service" baremetal
#. Use the ``id`` property that is returned from the Identity service when
registering the service (above), to create the endpoint,
and replace IRONIC_NODE with your Bare Metal service's API node::
openstack endpoint create --region RegionOne \
baremetal admin http://IRONIC_NODE:6385
openstack endpoint create --region RegionOne \
baremetal public http://IRONIC_NODE:6385
openstack endpoint create --region RegionOne \
baremetal internal http://IRONIC_NODE:6385
If only keystone v2 API is available, use this command instead::
openstack endpoint create --region RegionOne \
--publicurl http://IRONIC_NODE:6385 \
--internalurl http://IRONIC_NODE:6385 \
--adminurl http://IRONIC_NODE:6385 \
baremetal
#. You may delegate limited privileges related to the Bare Metal service
to your Users by creating Roles with the OpenStack Identity service. By
default, the Bare Metal service expects the "baremetal_admin" and
"baremetal_observer" Roles to exist, in addition to the default "admin"
Role. There is no negative consequence if you choose not to create these
Roles. They can be created with the following commands::
openstack role create baremetal_admin
openstack role create baremetal_observer
If you choose to customize the names of Roles used with the Bare Metal
service, do so by changing the "is_member", "is_observer", and "is_admin"
policy settings in ``/etc/ironic/policy.json``.
More complete documentation on managing Users and Roles within your
OpenStack deployment are outside the scope of this document, but may be
found here_.
#. You can further restrict access to the Bare Metal service by creating a
separate "baremetal" Project, so that Bare Metal resources (Nodes, Ports,
etc) are only accessible to members of this Project::
openstack project create baremetal
At this point, you may grant read-only access to the Bare Metal service API
without granting any other access by issuing the following commands::
openstack user create \
--domain default --project-domain default --project baremetal \
--password PASSWORD USERNAME
openstack role add \
--user-domain default --project-domain default --project baremetal\
--user USERNAME baremetal_observer
#. Further documentation is available elsewhere for the ``openstack``
`command-line client`_ and the Identity_ service. A policy.json.sample_
file, which enumerates the service's default policies, is provided for
your convenience with the Bare Metal Service.
.. _Identity: http://docs.openstack.org/admin-guide/identity-management.html
.. _`command-line client`: http://docs.openstack.org/admin-guide/cli-manage-projects-users-and-roles.html
.. _here: http://docs.openstack.org/admin-guide/identity-concepts.html#user-management
.. _policy.json.sample: https://github.com/openstack/ironic/blob/master/etc/ironic/policy.json.sample
Set up the database for Bare Metal
----------------------------------
The Bare Metal service stores information in a database. This guide uses the
MySQL database that is used by other OpenStack services.
#. In MySQL, create an ``ironic`` database that is accessible by the
``ironic`` user. Replace IRONIC_DBPASSWORD
with a suitable password::
# mysql -u root -p
mysql> CREATE DATABASE ironic CHARACTER SET utf8;
mysql> GRANT ALL PRIVILEGES ON ironic.* TO 'ironic'@'localhost' \
IDENTIFIED BY 'IRONIC_DBPASSWORD';
mysql> GRANT ALL PRIVILEGES ON ironic.* TO 'ironic'@'%' \
IDENTIFIED BY 'IRONIC_DBPASSWORD';
Install the Bare Metal service Install the Bare Metal service
------------------------------ ==============================
#. Install from packages and configure services:: The `Install and configure components`_ section has been moved to the Bare
Metal service Install Guide.
Ubuntu 14.04 (trusty) or higher: .. _`Install and configure components`: http://docs.openstack.org/project-install-guide/baremetal/draft/install-ubuntu.html#install-and-configure-components
sudo apt-get install ironic-api ironic-conductor python-ironicclient
Fedora 21/RHEL7/CentOS7:
sudo yum install openstack-ironic-api openstack-ironic-conductor \
python-ironicclient
sudo systemctl enable openstack-ironic-api openstack-ironic-conductor
sudo systemctl start openstack-ironic-api openstack-ironic-conductor
Fedora 22 or higher:
sudo dnf install openstack-ironic-api openstack-ironic-conductor \
python-ironicclient
sudo systemctl enable openstack-ironic-api openstack-ironic-conductor
sudo systemctl start openstack-ironic-api openstack-ironic-conductor
Configure the Bare Metal service Configure the Bare Metal service
================================ ================================
The Bare Metal service is configured via its configuration file. This file The `Install and configure components`_ section has been moved to the Bare
is typically located at ``/etc/ironic/ironic.conf``. Metal service Install Guide.
Although some configuration options are mentioned here, it is recommended that .. _`Install and configure components`: http://docs.openstack.org/project-install-guide/baremetal/draft/install-ubuntu.html#install-and-configure-components
you review all the `available options <https://git.openstack.org/cgit/openstack/ironic/tree/etc/ironic/ironic.conf.sample>`_
so that the Bare Metal service is configured for your needs.
It is possible to set up an ironic-api and an ironic-conductor services on the
same host or different hosts. Users also can add new ironic-conductor hosts
to deal with an increasing number of bare metal nodes. But the additional ironic-conductor
services should be at the same version as that of existing ironic-conductor services.
Configuring ironic-api service
------------------------------
#. The Bare Metal service stores information in a database. This guide uses the
MySQL database that is used by other OpenStack services.
Configure the location of the database via the ``connection`` option. In the
following, replace IRONIC_DBPASSWORD with the password of your ``ironic``
user, and replace DB_IP with the IP address where the DB server is located::
[database]
...
# The SQLAlchemy connection string used to connect to the
# database (string value)
connection = mysql+pymysql://ironic:IRONIC_DBPASSWORD@DB_IP/ironic?charset=utf8
#. Configure the ironic-api service to use the RabbitMQ message broker by
setting one or more of these options. Replace RABBIT_HOST with the
address of the RabbitMQ server::
[DEFAULT]
...
# The messaging driver to use, defaults to rabbit. Other
# drivers include qpid and zmq. (string value)
#rpc_backend=rabbit
[oslo_messaging_rabbit]
...
# The RabbitMQ broker address where a single node is used
# (string value)
rabbit_host=RABBIT_HOST
# The RabbitMQ userid (string value)
#rabbit_userid=guest
# The RabbitMQ password (string value)
#rabbit_password=guest
#. Configure the ironic-api service to use these credentials with the Identity
service. Replace IDENTITY_IP with the IP of the Identity server, and
replace IRONIC_PASSWORD with the password you chose for the ``ironic``
user in the Identity service::
[DEFAULT]
...
# Authentication strategy used by ironic-api: one of
# "keystone" or "noauth". "noauth" should not be used in a
# production environment because all authentication will be
# disabled. (string value)
auth_strategy=keystone
[keystone_authtoken]
...
# Authentication type to load (string value)
auth_type = v3password
# Complete public Identity API endpoint (string value)
auth_uri=http://PUBLIC_IDENTITY_IP:5000/v3/
# Complete admin Identity API endpoint. (string value)
auth_url=http://PRIVATE_IDENTITY_IP:35357/v3/
# Service username. (string value)
admin_user=ironic
# Service account password. (string value)
admin_password=IRONIC_PASSWORD
# Service tenant name. (string value)
admin_tenant_name=service
#. Create the Bare Metal service database tables::
ironic-dbsync --config-file /etc/ironic/ironic.conf create_schema
#. Restart the ironic-api service::
Fedora/RHEL7/CentOS7:
sudo systemctl restart openstack-ironic-api
Ubuntu:
sudo service ironic-api restart
Configuring ironic-conductor service
------------------------------------
#. Replace HOST_IP with IP of the conductor host, and replace DRIVERS with a
comma-separated list of drivers you chose for the conductor service as
follows::
[DEFAULT]
...
# IP address of this host. If unset, will determine the IP
# programmatically. If unable to do so, will use "127.0.0.1".
# (string value)
my_ip = HOST_IP
# Specify the list of drivers to load during service
# initialization. Missing drivers, or drivers which fail to
# initialize, will prevent the conductor service from
# starting. The option default is a recommended set of
# production-oriented drivers. A complete list of drivers
# present on your system may be found by enumerating the
# "ironic.drivers" entrypoint. An example may be found in the
# developer documentation online. (list value)
enabled_drivers=DRIVERS
.. note::
If a conductor host has multiple IPs, ``my_ip`` should
be set to the IP which is on the same network as the bare metal nodes.
#. Configure the ironic-api service URL. Replace IRONIC_API_IP with IP of
ironic-api service as follows::
[conductor]
...
# URL of Ironic API service. If not set ironic can get the
# current value from the keystone service catalog. (string
# value)
api_url=http://IRONIC_API_IP:6385
#. Configure the location of the database. Ironic-conductor should use the same
configuration as ironic-api. Replace IRONIC_DBPASSWORD with the password of
your ``ironic`` user, and replace DB_IP with the IP address where the DB server
is located::
[database]
...
# The SQLAlchemy connection string to use to connect to the
# database. (string value)
connection = mysql+pymysql://ironic:IRONIC_DBPASSWORD@DB_IP/ironic?charset=utf8
#. Configure the ironic-conductor service to use the RabbitMQ message broker by
setting one or more of these options. Ironic-conductor should use the same
configuration as ironic-api. Replace RABBIT_HOST with the address of the RabbitMQ
server::
[DEFAULT]
...
# The messaging driver to use, defaults to rabbit. Other
# drivers include qpid and zmq. (string value)
#rpc_backend=rabbit
[oslo_messaging_rabbit]
...
# The RabbitMQ broker address where a single node is used.
# (string value)
rabbit_host=RABBIT_HOST
# The RabbitMQ userid. (string value)
#rabbit_userid=guest
# The RabbitMQ password. (string value)
#rabbit_password=guest
#. Configure the ironic-conductor service so that it can communicate with the
Image service. Replace GLANCE_IP with the hostname or IP address of
the Image service::
[glance]
...
# Default glance hostname or IP address. (string value)
glance_host=GLANCE_IP
.. note::
Swift backend for the Image service should be installed and configured
for ``agent_*`` drivers. Starting with Mitaka the Bare Metal service also
supports Ceph Object Gateway (RADOS Gateway) as the Image service's backend
(:ref:`radosgw support`).
#. Set the URL (replace NEUTRON_IP) for connecting to the Networking service,
to be the Networking service endpoint::
[neutron]
...
# URL for connecting to neutron. (string value)
url=http://NEUTRON_IP:9696
To configure the network for ironic-conductor service to perform node cleaning, see
`CleaningNetworkSetup`_.
#. Configure the ironic-conductor service to use these credentials with the Identity
service. Ironic-conductor should use the same configuration as ironic-api.
Replace IDENTITY_IP with the IP of the Identity server, and replace IRONIC_PASSWORD
with the password you chose for the ``ironic`` user in the Identity service::
[keystone_authtoken]
...
# Complete public Identity API endpoint (string value)
auth_uri=http://IDENTITY_IP:5000/
# Complete admin Identity API endpoint. This should specify
# the unversioned root endpoint e.g. https://localhost:35357/
# (string value)
identity_uri=http://IDENTITY_IP:35357/
# Service username. (string value)
admin_user=ironic
# Service account password. (string value)
admin_password=IRONIC_PASSWORD
# Service tenant name. (string value)
admin_tenant_name=service
#. Make sure that ``qemu-img`` and ``iscsiadm`` (in the case of using iscsi-deploy driver)
binaries are installed and prepare the host system as described at
`Setup the drivers for the Bare Metal service`_
#. Restart the ironic-conductor service::
Fedora/RHEL7/CentOS7:
sudo systemctl restart openstack-ironic-conductor
Ubuntu:
sudo service ironic-conductor restart
Configuring ironic-api behind mod_wsgi
--------------------------------------
Bare Metal service comes with an example file for configuring the
``ironic-api`` service to run behind Apache with mod_wsgi.
1. Install the apache service::
Fedora 21/RHEL7/CentOS7:
sudo yum install httpd
Fedora 22 (or higher):
sudo dnf install httpd
Debian/Ubuntu:
apt-get install apache2
2. Copy the ``etc/apache2/ironic`` file under the apache sites::
Fedora/RHEL7/CentOS7:
sudo cp etc/apache2/ironic /etc/httpd/conf.d/ironic.conf
Debian/Ubuntu:
sudo cp etc/apache2/ironic /etc/apache2/sites-available/ironic.conf
3. Edit the recently copied ``<apache-configuration-dir>/ironic.conf``:
- Modify the ``WSGIDaemonProcess``, ``APACHE_RUN_USER`` and
``APACHE_RUN_GROUP`` directives to set the user and group values to
an appropriate user on your server.
- Modify the ``WSGIScriptAlias`` directive to point to the
*ironic/api/app.wsgi* script.
- Modify the ``Directory`` directive to set the path to the Ironic API code.
- Modify the ``ErrorLog`` and ``CustomLog`` to redirect the logs
to the right directory (on Red Hat systems this is usually under
/var/log/httpd).
4. Enable the apache ``ironic`` in site and reload::
Fedora/RHEL7/CentOS7:
sudo systemctl reload httpd
Debian/Ubuntu:
sudo a2ensite ironic
sudo service apache2 reload
.. note::
The file ironic/api/app.wsgi is installed with the rest of the Bare Metal
service application code, and should not need to be modified.
Configure Compute to use the Bare Metal service Configure Compute to use the Bare Metal service

View File

@ -0,0 +1,7 @@
=========================================
Integration with other OpenStack services
=========================================
.. include:: include/configure-identity.rst
.. include:: include/configure-nova-compute.rst

View File

@ -0,0 +1,12 @@
The Bare Metal service is configured via its configuration file. This file
is typically located at ``/etc/ironic/ironic.conf``.
Although some configuration options are mentioned here, it is recommended that
you review all the `available options <https://git.openstack.org/cgit/openstack/ironic/tree/etc/ironic/ironic.conf.sample>`_
so that the Bare Metal service is configured for your needs.
It is possible to set up an ironic-api and an ironic-conductor services on the
same host or different hosts. Users also can add new ironic-conductor hosts
to deal with an increasing number of bare metal nodes. But the additional
ironic-conductor services should be at the same version as that of existing
ironic-conductor services.

View File

@ -1,6 +1,29 @@
Prerequisites Install and configure prerequisites
------------- ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Before you install and configure the Bare Metal service, The Bare Metal service is a collection of components that provides support to
you must follow the `install and configure the prerequisites <http://docs.openstack.org/developer/ironic/deploy/install-guide.html#install-and-configure-prerequisites>`_ manage and provision physical machines. You can configure these components to
section of the legacy installation guide. run on separate nodes or the same node. In this guide, the components run on
one node, typically the Compute Service's compute node.
It assumes that the Identity, Image, Compute, and Networking services
have already been set up.
Set up the database for Bare Metal
----------------------------------
The Bare Metal service stores information in a database. This guide uses the
MySQL database that is used by other OpenStack services.
#. In MySQL, create an ``ironic`` database that is accessible by the
``ironic`` user. Replace ``IRONIC_DBPASSWORD`` with a suitable password:
.. code-block:: console
# mysql -u root -p
mysql> CREATE DATABASE ironic CHARACTER SET utf8;
mysql> GRANT ALL PRIVILEGES ON ironic.* TO 'ironic'@'localhost' \
IDENTIFIED BY 'IRONIC_DBPASSWORD';
mysql> GRANT ALL PRIVILEGES ON ironic.* TO 'ironic'@'%' \
IDENTIFIED BY 'IRONIC_DBPASSWORD';

View File

@ -0,0 +1,93 @@
Configure the Identity service for the Bare Metal service
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
#. Create the Bare Metal service user (for example, ``ironic``).
The service uses this to authenticate with the Identity service.
Use the ``service`` tenant and give the user the ``admin`` role:
.. code-block:: console
$ openstack user create --password IRONIC_PASSWORD \
--email ironic@example.com ironic
$ openstack role add --project service --user ironic admin
#. You must register the Bare Metal service with the Identity service so that
other OpenStack services can locate it. To register the service:
.. code-block:: console
$ openstack service create --name ironic --description \
"Ironic baremetal provisioning service" baremetal
#. Use the ``id`` property that is returned from the Identity service when
registering the service (above), to create the endpoint,
and replace ``IRONIC_NODE`` with your Bare Metal service's API node:
.. code-block:: console
$ openstack endpoint create --region RegionOne \
baremetal admin http://$IRONIC_NODE:6385
$ openstack endpoint create --region RegionOne \
baremetal public http://$IRONIC_NODE:6385
$ openstack endpoint create --region RegionOne \
baremetal internal http://$IRONIC_NODE:6385
If only keystone v2 API is available, use this command instead:
.. code-block:: console
$ openstack endpoint create --region RegionOne \
--publicurl http://$IRONIC_NODE:6385 \
--internalurl http://$IRONIC_NODE:6385 \
--adminurl http://$IRONIC_NODE:6385 \
baremetal
#. You may delegate limited privileges related to the Bare Metal service
to your Users by creating Roles with the OpenStack Identity service. By
default, the Bare Metal service expects the "baremetal_admin" and
"baremetal_observer" Roles to exist, in addition to the default "admin"
Role. There is no negative consequence if you choose not to create these
Roles. They can be created with the following commands:
.. code-block:: console
$ openstack role create baremetal_admin
$ openstack role create baremetal_observer
If you choose to customize the names of Roles used with the Bare Metal
service, do so by changing the "is_member", "is_observer", and "is_admin"
policy settings in ``/etc/ironic/policy.json``.
More complete documentation on managing Users and Roles within your
OpenStack deployment are outside the scope of this document, but may be
found here_.
#. You can further restrict access to the Bare Metal service by creating a
separate "baremetal" Project, so that Bare Metal resources (Nodes, Ports,
etc) are only accessible to members of this Project:
.. code-block:: console
$ openstack project create baremetal
At this point, you may grant read-only access to the Bare Metal service API
without granting any other access by issuing the following commands:
.. code-block:: console
$ openstack user create \
--domain default --project-domain default --project baremetal \
--password PASSWORD USERNAME
$ openstack role add \
--user-domain default --project-domain default --project baremetal \
--user USERNAME baremetal_observer
#. Further documentation is available elsewhere for the ``openstack``
`command-line client`_ and the Identity_ service. A policy.json.sample_
file, which enumerates the service's default policies, is provided for
your convenience with the Bare Metal Service.
.. _Identity: http://docs.openstack.org/admin-guide/identity-management.html
.. _`command-line client`: http://docs.openstack.org/admin-guide/cli-manage-projects-users-and-roles.html
.. _here: http://docs.openstack.org/admin-guide/identity-concepts.html#user-management
.. _policy.json.sample: https://github.com/openstack/ironic/blob/master/etc/ironic/policy.json.sample

View File

@ -0,0 +1,63 @@
Configuring ironic-api behind mod_wsgi
--------------------------------------
Bare Metal service comes with an example file for configuring the
``ironic-api`` service to run behind Apache with mod_wsgi.
#. Install the apache service:
.. TODO(mmitchell): Split this based on operating system
.. code-block:: console
Fedora 21/RHEL7/CentOS7:
sudo yum install httpd
Fedora 22 (or higher):
sudo dnf install httpd
Debian/Ubuntu:
apt-get install apache2
#. Copy the ``etc/apache2/ironic`` file under the apache sites:
.. TODO(mmitchell): Split this based on operating system
.. code-block:: console
Fedora/RHEL7/CentOS7:
sudo cp etc/apache2/ironic /etc/httpd/conf.d/ironic.conf
Debian/Ubuntu:
sudo cp etc/apache2/ironic /etc/apache2/sites-available/ironic.conf
#. Edit the recently copied ``<apache-configuration-dir>/ironic.conf``:
#. Modify the ``WSGIDaemonProcess``, ``APACHE_RUN_USER`` and
``APACHE_RUN_GROUP`` directives to set the user and group values to
an appropriate user on your server.
#. Modify the ``WSGIScriptAlias`` directive to point to the
``ironic/api/app.wsgi`` script.
#. Modify the ``Directory`` directive to set the path to the Ironic API code.
#. Modify the ``ErrorLog`` and ``CustomLog`` to redirect the logs
to the right directory (on Red Hat systems this is usually under
/var/log/httpd).
#. Enable the apache ``ironic`` in site and reload:
.. TODO(mmitchell): Split this based on operating system
.. code-block:: console
Fedora/RHEL7/CentOS7:
sudo systemctl reload httpd
Debian/Ubuntu:
sudo a2ensite ironic
sudo service apache2 reload
.. note::
The file ``ironic/api/app.wsgi`` is installed with the rest of the Bare Metal
service application code, and should not need to be modified.

View File

@ -0,0 +1,95 @@
Configuring ironic-api service
------------------------------
#. The Bare Metal service stores information in a database. This guide uses the
MySQL database that is used by other OpenStack services.
Configure the location of the database via the ``connection`` option. In the
following, replace ``IRONIC_DBPASSWORD`` with the password of your
``ironic`` user, and replace ``DB_IP`` with the IP address where the DB
server is located:
.. code-block:: ini
[database]
# The SQLAlchemy connection string used to connect to the
# database (string value)
connection=mysql+pymysql://ironic:IRONIC_DBPASSWORD@DB_IP/ironic?charset=utf8
#. Configure the ironic-api service to use the RabbitMQ message broker by
setting one or more of these options. Replace ``RABBIT_HOST`` with the
address of the RabbitMQ server:
.. code-block:: ini
[DEFAULT]
# The messaging driver to use, defaults to rabbit. Other
# drivers include qpid and zmq. (string value)
#rpc_backend=rabbit
[oslo_messaging_rabbit]
# The RabbitMQ broker address where a single node is used
# (string value)
rabbit_host=RABBIT_HOST
# The RabbitMQ userid (string value)
#rabbit_userid=guest
# The RabbitMQ password (string value)
#rabbit_password=guest
#. Configure the ironic-api service to use these credentials with the Identity
service. Replace ``PUBLIC_IDENTITY_IP`` with the public IP of the Identity
server, ``PRIVATE_IDENTITY_IP`` with the private IP of the Identity server
and replace ``IRONIC_PASSWORD`` with the password you chose for the
``ironic`` user in the Identity service:
.. code-block:: ini
[DEFAULT]
# Authentication strategy used by ironic-api: one of
# "keystone" or "noauth". "noauth" should not be used in a
# production environment because all authentication will be
# disabled. (string value)
auth_strategy=keystone
[keystone_authtoken]
# Authentication type to load (string value)
auth_type=v3password
# Complete public Identity API endpoint (string value)
auth_uri=http://PUBLIC_IDENTITY_IP:5000/v3/
# Complete admin Identity API endpoint. (string value)
auth_url=http://PRIVATE_IDENTITY_IP:35357/v3/
# Service username. (string value)
admin_user=ironic
# Service account password. (string value)
admin_password=IRONIC_PASSWORD
# Service tenant name. (string value)
admin_tenant_name=service
#. Create the Bare Metal service database tables:
.. code-block:: bash
$ ironic-dbsync --config-file /etc/ironic/ironic.conf create_schema
#. Restart the ironic-api service:
.. TODO(mmitchell): Split this based on operating system
.. code-block:: console
Fedora/RHEL7/CentOS7:
sudo systemctl restart openstack-ironic-api
Ubuntu:
sudo service ironic-api restart

View File

@ -0,0 +1,152 @@
Configuring ironic-conductor service
------------------------------------
#. Replace ``HOST_IP`` with IP of the conductor host, and replace ``DRIVERS``
with a comma-separated list of drivers you chose for the conductor service
as follows:
.. code-block:: ini
[DEFAULT]
# IP address of this host. If unset, will determine the IP
# programmatically. If unable to do so, will use "127.0.0.1".
# (string value)
my_ip=HOST_IP
# Specify the list of drivers to load during service
# initialization. Missing drivers, or drivers which fail to
# initialize, will prevent the conductor service from
# starting. The option default is a recommended set of
# production-oriented drivers. A complete list of drivers
# present on your system may be found by enumerating the
# "ironic.drivers" entrypoint. An example may be found in the
# developer documentation online. (list value)
enabled_drivers=DRIVERS
.. note::
If a conductor host has multiple IPs, ``my_ip`` should
be set to the IP which is on the same network as the bare metal nodes.
#. Configure the ironic-api service URL. Replace ``IRONIC_API_IP`` with IP of
ironic-api service as follows:
.. code-block:: ini
[conductor]
# URL of Ironic API service. If not set ironic can get the
# current value from the keystone service catalog. (string
# value)
api_url=http://IRONIC_API_IP:6385
#. Configure the location of the database. Ironic-conductor should use the same
configuration as ironic-api. Replace ``IRONIC_DBPASSWORD`` with the password
of your ``ironic`` user, and replace DB_IP with the IP address where the DB
server is located:
.. code-block:: ini
[database]
# The SQLAlchemy connection string to use to connect to the
# database. (string value)
connection=mysql+pymysql://ironic:IRONIC_DBPASSWORD@DB_IP/ironic?charset=utf8
#. Configure the ironic-conductor service to use the RabbitMQ message broker by
setting one or more of these options. Ironic-conductor should use the same
configuration as ironic-api. Replace ``RABBIT_HOST`` with the address of the
RabbitMQ server:
.. code-block:: ini
[DEFAULT]
# The messaging driver to use, defaults to rabbit. Other
# drivers include qpid and zmq. (string value)
#rpc_backend=rabbit
[oslo_messaging_rabbit]
# The RabbitMQ broker address where a single node is used.
# (string value)
rabbit_host=RABBIT_HOST
# The RabbitMQ userid. (string value)
#rabbit_userid=guest
# The RabbitMQ password. (string value)
#rabbit_password=guest
#. Configure the ironic-conductor service so that it can communicate with the
Image service. Replace ``GLANCE_IP`` with the hostname or IP address of
the Image service:
.. code-block:: ini
[glance]
# Default glance hostname or IP address. (string value)
glance_host=GLANCE_IP
.. note::
Swift backend for the Image service should be installed and configured
for ``agent_*`` drivers. Starting with Mitaka the Bare Metal service also
supports Ceph Object Gateway (RADOS Gateway) as the Image service's backend
(`radosgw support <http://docs.openstack.org/developer/ironic/deploy/radosgw.html#radosgw-support>`_).
#. Set the URL (replace ``NEUTRON_IP``) for connecting to the Networking
service, to be the Networking service endpoint:
.. code-block:: ini
[neutron]
# URL for connecting to neutron. (string value)
url=http://NEUTRON_IP:9696
To configure the network for ironic-conductor service to perform node
cleaning, see `CleaningNetworkSetup <http://docs.openstack.org/developer/ironic/deploy/cleaning.html>`_
from the Ironic deploy guide.
#. Configure the ironic-conductor service to use these credentials with the
Identity service. Ironic-conductor should use the same configuration as
ironic-api. Replace ``IDENTITY_IP`` with the IP of the Identity server,
and replace ``IRONIC_PASSWORD`` with the password you chose for the
``ironic`` user in the Identity service:
.. code-block:: ini
[keystone_authtoken]
# Complete public Identity API endpoint (string value)
auth_uri=http://IDENTITY_IP:5000/
# Complete admin Identity API endpoint. This should specify
# the unversioned root endpoint e.g. https://localhost:35357/
# (string value)
identity_uri=http://IDENTITY_IP:35357/
# Service username. (string value)
admin_user=ironic
# Service account password. (string value)
admin_password=IRONIC_PASSWORD
# Service tenant name. (string value)
admin_tenant_name=service
#. Make sure that ``qemu-img`` and ``iscsiadm`` (in the case of using iscsi-deploy driver)
binaries are installed and prepare the host system as described at
`Setup the drivers for the Bare Metal service <http://docs.openstack.org/developer/ironic/deploy/install-guide.html#setup-the-drivers-for-the-bare-metal-service>`_
#. Restart the ironic-conductor service:
.. TODO(mmitchell): Split this based on operating system
.. code-block:: console
Fedora/RHEL7/CentOS7:
sudo systemctl restart openstack-ironic-conductor
Ubuntu:
sudo service ironic-conductor restart

View File

@ -0,0 +1,7 @@
Configure Compute to use the Bare Metal service
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Please read the `Configure Compute to use the Bare Metal service`_ section from
the legacy installation guide.
.. _`Configure Compute to use the Bare Metal service`: http://docs.openstack.org/developer/ironic/deploy/install-guide.html#configure-compute-to-use-the-bare-metal-service

View File

@ -7,6 +7,7 @@ Bare Metal service
get_started.rst get_started.rst
install.rst install.rst
configure-integration.rst
verify.rst verify.rst
next-steps.rst next-steps.rst

View File

@ -1,15 +1,16 @@
.. _install-obs: .. _install-obs:
============================================================
Install and configure for openSUSE and SUSE Linux Enterprise Install and configure for openSUSE and SUSE Linux Enterprise
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ============================================================
This section describes how to install and configure the Bare Metal service This section describes how to install and configure the Bare Metal service
for openSUSE Leap 42.1 and SUSE Linux Enterprise Server 12 SP1. for openSUSE Leap 42.1 and SUSE Linux Enterprise Server 12 SP1.
.. include:: include/common-prerequisites.rst .. note::
Installation of the Bare Metal service on openSUSE and SUSE Linux Enterprise
Install and configure components Server is not officially supported. Nevertheless, installation should be
-------------------------------- possible by following the general steps from another operating system, such
as :ref:`Red Hat Enterprise Linux <install-rdo>`. The instructions might
Please follow the `Install the Bare Metal service <http://docs.openstack.org/developer/ironic/deploy/install-guide.html#install-the-bare-metal-service>`_ section of the legacy installation guide. need adjustments, especially around package manager instructions and system
paths.

View File

@ -1,7 +1,8 @@
.. _install-rdo: .. _install-rdo:
=============================================================
Install and configure for Red Hat Enterprise Linux and CentOS Install and configure for Red Hat Enterprise Linux and CentOS
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ =============================================================
This section describes how to install and configure the Bare Metal service This section describes how to install and configure the Bare Metal service
@ -10,6 +11,33 @@ for Red Hat Enterprise Linux 7 and CentOS 7.
.. include:: include/common-prerequisites.rst .. include:: include/common-prerequisites.rst
Install and configure components Install and configure components
-------------------------------- ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Please follow the `Install the Bare Metal service <http://docs.openstack.org/developer/ironic/deploy/install-guide.html#install-the-bare-metal-service>`_ section of the legacy installation guide. #. Install from packages
- Using ``dnf``
.. code-block:: console
# dnf install openstack-ironic-api openstack-ironic-conductor python-ironicclient
- Using ``yum``
.. code-block:: console
# yum install openstack-ironic-api openstack-ironic-conductor python-ironicclient
#. Enable services
.. code-block:: console
# systemctl enable openstack-ironic-api openstack-ironic-conductor
# systemctl start openstack-ironic-api openstack-ironic-conductor
.. include:: include/common-configure.rst
.. include:: include/configure-ironic-api.rst
.. include:: include/configure-ironic-api-mod_wsgi.rst
.. include:: include/configure-ironic-conductor.rst

View File

@ -1,7 +1,8 @@
.. _install-ubuntu: .. _install-ubuntu:
================================
Install and configure for Ubuntu Install and configure for Ubuntu
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ================================
This section describes how to install and configure the Bare Metal This section describes how to install and configure the Bare Metal
service for Ubuntu 14.04 (LTS). service for Ubuntu 14.04 (LTS).
@ -9,6 +10,22 @@ service for Ubuntu 14.04 (LTS).
.. include:: include/common-prerequisites.rst .. include:: include/common-prerequisites.rst
Install and configure components Install and configure components
-------------------------------- ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Please follow the `Install the Bare Metal service <http://docs.openstack.org/developer/ironic/deploy/install-guide.html#install-the-bare-metal-service>`_ section of the legacy installation guide. #. Install from packages (using apt-get)
.. code-block:: console
# apt-get install ironic-api ironic-conductor python-ironicclient
#. Enable services
Services are enabled by default on Ubuntu.
.. include:: include/common-configure.rst
.. include:: include/configure-ironic-api.rst
.. include:: include/configure-ironic-api-mod_wsgi.rst
.. include:: include/configure-ironic-conductor.rst

View File

@ -1,7 +1,7 @@
.. _install: .. _install:
Install and configure Install and configure the Bare Metal service
~~~~~~~~~~~~~~~~~~~~~ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
This section describes how to install and configure the This section describes how to install and configure the
Bare Metal service, code-named ironic. Bare Metal service, code-named ironic.
@ -11,6 +11,6 @@ Note that installation and configuration vary by distribution.
.. toctree:: .. toctree::
:maxdepth: 2 :maxdepth: 2
install-obs.rst
install-rdo.rst install-rdo.rst
install-ubuntu.rst install-ubuntu.rst
install-obs.rst

View File

@ -1,6 +1,7 @@
.. _next-steps: .. _next-steps:
==========
Next steps Next steps
~~~~~~~~~~ ==========
Your OpenStack environment now includes the Bare Metal service. Your OpenStack environment now includes the Bare Metal service.

View File

@ -1,7 +1,8 @@
.. _verify: .. _verify:
================
Verify operation Verify operation
~~~~~~~~~~~~~~~~ ================
To verify the operation of the Bare Metal service, please see the To verify the operation of the Bare Metal service, please see the
`Troubleshooting`_ section of the legacy installation guide. `Troubleshooting`_ section of the legacy installation guide.