openstack-ansible/doc/source/install-guide/deploymenthost.rst

104 lines
3.3 KiB
ReStructuredText
Raw Blame History

This file contains invisible Unicode characters

This file contains invisible Unicode characters that are indistinguishable to humans but may be processed differently by a computer. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

.. _deployment-host:
=======================
Prepare deployment host
=======================
.. figure:: figures/installation-workflow-deploymenthost.png
:width: 100%
When installing OpenStack in a production environment, we recommend using a
separate deployment host which contains Ansible and orchestrates the
OpenStack-Ansible installation on the target hosts. In a test environment, we
prescribe using one of the infrastructure target hosts as the deployment host.
To use a target host as a deployment host, follow the steps in `Chapter 3,
Target hosts <targethosts.html>`_ on the deployment host.
Installing the operating system
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Install one of the following supported operating systems
on the deployment hosts:
* `Ubuntu Server 16.04 (Xenial Xerus) LTS 64-bit
<http://releases.ubuntu.com/16.04/>`_
* `Ubuntu Server 14.04 (Trusty Tahr) LTS 64-bit
<http://releases.ubuntu.com/14.04/>`_
Configure at least one network interface to
access the internet or suitable local repositories.
Configuring the operating system
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Install additional software packages and configure NTP. Before you begin,
we recommend upgrading your system packages and kernel:
#. Update package source lists:
.. code-block:: shell-session
# apt-get update
#. Upgrade system packages and kernel:
.. code-block:: shell-session
# apt-get dist-upgrade
Reboot before you continue.
#. Install additional software packages if not already installed
during operating system installation:
.. code-block:: shell-session
# apt-get install aptitude build-essential git ntp ntpdate \
openssh-server python-dev sudo
#. Configure NTP to synchronize with a suitable time source.
Configuring the network
~~~~~~~~~~~~~~~~~~~~~~~
Ansible deployments fail if the deployment server is unable to SSH to the
containers. Configure the deployment host (where Ansible is executed) to be on
the same L2 network as the network designated for container management. By
default, this is ``br-mgmt``. This configuration reduces the rate of failure
due to connectivity issues.
The following network information is used as an example:
Container management: 172.29.236.0/22 (VLAN 10)
Select an IP from this range to assign to the deployment host.
Installing source and dependencies
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Install the source and dependencies for the deployment host.
#. Clone the latest stable release of the OpenStack-Ansible git repository into
the ``/opt/openstack-ansible`` directory:
.. parsed-literal::
# git clone -b |latest_tag| https://github.com/openstack/openstack-ansible /opt/openstack-ansible
#. Change to the ``/opt/openstack-ansible`` directory, and run the
Ansible bootstrap script:
.. code-block:: shell-session
# scripts/bootstrap-ansible.sh
Configuring Secure Shell (SSH) keys
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Ansible uses Secure Shell (SSH) with public key authentication for
connectivity between the deployment and target hosts. To reduce user
interaction during Ansible operations, do not include pass phrases with
key pairs. However, if a pass phrase is required, consider using the
``ssh-agent`` and ``ssh-add`` commands to temporarily store the
pass phrase before performing Ansible operations.