Docs: Target hosts section - cleanup

As per discussion in the OSA docs summit session, clean up
of installation guide. This fixes typos, minor RST mark up
changes, and passive voice.

Change-Id: I8d341c306e3435b072224c41298beca1080abb2b
This commit is contained in:
Alexandra 2016-04-28 14:55:48 +10:00 committed by Jesse Pretorius (odyssey4me)
parent c7c03071e4
commit 2703e4b840
5 changed files with 81 additions and 78 deletions

View File

@ -1,19 +1,23 @@
`Home <index.html>`_ OpenStack-Ansible Installation Guide `Home <index.html>`_ OpenStack-Ansible Installation Guide
=======================
Configuring the network Configuring the network
----------------------- =======================
This documentation section describes a recommended reference architecture. This section describes the recommended network architecture.
Some components are mandatory, such as the bridges described below. Other Some components are mandatory, such as the bridges described below. We
components aren't required but are strongly recommended, such as the bonded recommend other components such as a bonded network interface but this
network interfaces. Deployers are strongly urged to follow the reference is not a requirement.
design as closely as possible for production deployments.
.. important::
Follow the reference design as closely as possible for production deployments.
Although Ansible automates most deployment operations, networking on Although Ansible automates most deployment operations, networking on
target hosts requires manual configuration because it can vary target hosts requires manual configuration as it varies
dramatically per environment. For demonstration purposes, these dramatically per environment. For demonstration purposes, these
instructions use a reference architecture with example network interface instructions use a reference architecture with example network interface
names, networks, and IP addresses. Modify these values as needed for the names, networks, and IP addresses. Modify these values as needed for your
particular environment. particular environment.
Bonded network interfaces Bonded network interfaces
@ -22,40 +26,39 @@ Bonded network interfaces
The reference architecture includes bonded network interfaces, which The reference architecture includes bonded network interfaces, which
use multiple physical network interfaces for better redundancy and throughput. use multiple physical network interfaces for better redundancy and throughput.
Avoid using two ports on the same multi-port network card for the same bonded Avoid using two ports on the same multi-port network card for the same bonded
interface since a network card failure would affect both physical network interface since a network card failure affects both physical network
interfaces used by the bond. interfaces used by the bond.
The ``bond0`` interface will carry the traffic from the containers that The ``bond0`` interface carries traffic from the containers
run the OpenStack infrastructure. Configure a static IP address on the running your OpenStack infrastructure. Configure a static IP address on the
``bond0`` interface from your management network. ``bond0`` interface from your management network.
The ``bond1`` interface will carry the traffic from your virtual machines. The ``bond1`` interface carries traffic from your virtual machines.
Don't configure a static IP on this interface since this bond will be used by Do not configure a static IP on this interface, since neutron uses this
neutron to handle VLAN and VXLAN networks for virtual machines. bond to handle VLAN and VXLAN networks for virtual machines.
Additional bridge networks are required for OpenStack-Ansible and those bridges Additional bridge networks are required for OpenStack-Ansible. These bridges
will be connected to these two bonded network interfaces. See the following connect the two bonded network interfaces.
section for the bridge configuration.
Adding bridges Adding bridges
~~~~~~~~~~~~~~ ~~~~~~~~~~~~~~
The combination of containers and flexible deployment options requires The combination of containers and flexible deployment options require
implementation of advanced Linux networking features such as bridges and implementation of advanced Linux networking features, such as bridges and
namespaces. namespaces.
*Bridges* provide layer 2 connectivity (similar to switches) among Bridges provide layer 2 connectivity (similar to switches) among
physical, logical, and virtual network interfaces within a host. After physical, logical, and virtual network interfaces within a host. After
creating a bridge, the network interfaces are virtually "plugged in" to creating a bridge, the network interfaces are virtually plugged in to
it. it.
OpenStack-Ansible uses bridges to connect physical and logical network OpenStack-Ansible uses bridges to connect physical and logical network
interfaces on the host to virtual network interfaces within containers. interfaces on the host to virtual network interfaces within containers.
*Namespaces* provide logically separate layer 3 environments (similar to Namespaces provide logically separate layer 3 environments (similar to
routers) within a host. Namespaces use virtual interfaces to connect routers) within a host. Namespaces use virtual interfaces to connect
with other namespaces, including the host namespace. These interfaces, with other namespaces, including the host namespace. These interfaces,
often called ``veth`` pairs, are virtually "plugged in" between often called ``veth`` pairs, are virtually plugged in between
namespaces similar to patch cables connecting physical devices such as namespaces similar to patch cables connecting physical devices such as
switches and routers. switches and routers.
@ -72,7 +75,7 @@ Target hosts can contain the following network bridges:
- LXC internal ``lxcbr0``: - LXC internal ``lxcbr0``:
- This bridge is **required**, but LXC will configure it automatically. - This bridge is **required**, but LXC configures it automatically.
- Provides external (typically internet) connectivity to containers. - Provides external (typically internet) connectivity to containers.
@ -89,32 +92,32 @@ Target hosts can contain the following network bridges:
- Provides management of and communication among infrastructure and - Provides management of and communication among infrastructure and
OpenStack services. OpenStack services.
- Manually created and attaches to a physical or logical interface, - Manually creates and attaches to a physical or logical interface,
typically a ``bond0`` VLAN subinterface. Also attaches to ``eth1`` typically a ``bond0`` VLAN subinterface. Also attaches to ``eth1``
in each container. As mentioned earlier, the container network interface in each container. The container network interface
is configurable in ``openstack_user_config.yml``. is configurable in ``openstack_user_config.yml``.
- Storage ``br-storage``: - Storage ``br-storage``:
- This bridge is *optional*, but recommended. - This bridge is *optional*, but recommended.
- Provides segregated access to block storage devices between - Provides segregated access to Block Storage devices between
Compute and Block Storage hosts. Compute and Block Storage hosts.
- Manually created and attaches to a physical or logical interface, - Manually creates and attaches to a physical or logical interface,
typically a ``bond0`` VLAN subinterface. Also attaches to ``eth2`` typically a ``bond0`` VLAN subinterface. Also attaches to ``eth2``
in each associated container. As mentioned earlier, the container network in each associated container. The container network
interface is configurable in ``openstack_user_config.yml``. interface is configurable in ``openstack_user_config.yml``.
- OpenStack Networking tunnel/overlay ``br-vxlan``: - OpenStack Networking tunnel ``br-vxlan``:
- This bridge is **required**. - This bridge is **required**.
- Provides infrastructure for VXLAN tunnel/overlay networks. - Provides infrastructure for VXLAN tunnel networks.
- Manually created and attaches to a physical or logical interface, - Manually creates and attaches to a physical or logical interface,
typically a ``bond1`` VLAN subinterface. Also attaches to typically a ``bond1`` VLAN subinterface. Also attaches to
``eth10`` in each associated container. As mentioned earlier, the ``eth10`` in each associated container. The
container network interface is configurable in container network interface is configurable in
``openstack_user_config.yml``. ``openstack_user_config.yml``.
@ -124,15 +127,15 @@ Target hosts can contain the following network bridges:
- Provides infrastructure for VLAN networks. - Provides infrastructure for VLAN networks.
- Manually created and attaches to a physical or logical interface, - Manually creates and attaches to a physical or logical interface,
typically ``bond1``. Attaches to ``eth11`` for vlan type networks typically ``bond1``. Attaches to ``eth11`` for vlan type networks
in each associated container. It does not contain an IP address because in each associated container. It does not contain an IP address because
it only handles layer 2 connectivity. As mentioned earlier, the it only handles layer 2 connectivity. The
container network interface is configurable in container network interface is configurable in
``openstack_user_config.yml``. ``openstack_user_config.yml``.
- This interface can support flat networks as well, though additional - This interface supports flat networks with additional
bridge configuration will be needed. More details are available here: bridge configuration. More details are available here:
:ref:`network_configuration`. :ref:`network_configuration`.
@ -145,16 +148,16 @@ to provide network connectivity to the OpenStack deployment:
.. image:: figures/networkarch-container-external.png .. image:: figures/networkarch-container-external.png
OpenStack-Ansible deploys the compute service on the physical host rather than OpenStack-Ansible deploys the compute service on the physical host rather than
in a container. The following image shows how the bridges are used for in a container. The following image shows how to use bridges for
network connectivity: network connectivity:
.. image:: figures/networkarch-bare-external.png .. image:: figures/networkarch-bare-external.png
The following image shows how the neutron agents work with the bridges The following image shows how the neutron agents work with the bridges
``br-vlan`` and ``br-vxlan``. As a reminder, OpenStack Networking (neutron) is ``br-vlan`` and ``br-vxlan``. OpenStack Networking (neutron) is
configured to use a DHCP agent, L3 agent and Linux Bridge agent within a configured to use a DHCP agent, L3 agent, and Linux Bridge agent within a
``networking-agents`` container. You can see how the DHCP agents can provide ``networking-agents`` container. The image shows how DHCP agents provide
information (IP addresses and DNS servers) to the instances, but also how information (IP addresses and DNS servers) to the instances, and how
routing works on the image: routing works on the image:
.. image:: figures/networking-neutronagents.png .. image:: figures/networking-neutronagents.png

View File

@ -1,7 +1,8 @@
`Home <index.html>`_ OpenStack-Ansible Installation Guide `Home <index.html>`_ OpenStack-Ansible Installation Guide
========================================
Configuring the network on a target host Configuring the network on a target host
---------------------------------------- ========================================
This example uses the following parameters to configure networking on a This example uses the following parameters to configure networking on a
single target host. See `Figure 3.2, "Target hosts for infrastructure, single target host. See `Figure 3.2, "Target hosts for infrastructure,

View File

@ -1,7 +1,8 @@
`Home <index.html>`_ OpenStack-Ansible Installation Guide `Home <index.html>`_ OpenStack-Ansible Installation Guide
======================
Reference architecture Reference architecture
---------------------- ======================
After establishing initial host management network connectivity using After establishing initial host management network connectivity using
the ``bond0`` interface, modify the ``/etc/network/interfaces`` file as the ``bond0`` interface, modify the ``/etc/network/interfaces`` file as

View File

@ -1,38 +1,34 @@
`Home <index.html>`_ OpenStack-Ansible Installation Guide `Home <index.html>`_ OpenStack-Ansible Installation Guide
==========================
Preparing the target hosts Preparing the target hosts
-------------------------- ==========================
All target hosts will need a properly configured operating system as well as The following section describes the installation and configuration of
some additional configurations that are noted in the following sections. operating systems for the target hosts.
Installing the operating system Installing the operating system
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Install the Ubuntu Server 14.04 (Trusty Tahr) LTS 64-bit operating Install the Ubuntu Server 14.04 (Trusty Tahr) LTS 64-bit operating
system on the target host with at least one network interface configured system on the target host. Configure at least one network interface
to access the Internet or suitable local repositories. to access the internet or suitable local repositories.
On target hosts without local (console) access, We recommend We recommend adding the Secure Shell (SSH) server packages to the
adding the Secure Shell (SSH) server packages to the installation. installation on target hosts without local (console) access.
Configuring the operating system Configuring the operating system
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Upgrade system packages, check the kernel version, install additional
software packages, and configure NTP.
#. Upgrade system packages and kernel: #. Upgrade system packages and kernel:
.. code-block:: shell-session .. code-block:: shell-session
# apt-get dist-upgrade # apt-get dist-upgrade
#. Check the kernel version. It should be ``3.13.0-34-generic`` or #. Ensure the kernel version is ``3.13.0-34-generic`` or later.
later.
#. Install additional software packages if not already installed during #. Install additional software packages:
operating system installation:
.. code-block:: shell-session .. code-block:: shell-session
@ -54,14 +50,13 @@ software packages, and configure NTP.
Deploying SSH keys Deploying SSH keys
~~~~~~~~~~~~~~~~~~ ~~~~~~~~~~~~~~~~~~
Ansible uses Secure Shell (SSH) for connectivity between the deployment Ansible uses SSH for connectivity between the deployment and target hosts.
and target hosts.
#. Copy the contents of the public key file on the deployment host to #. Copy the contents of the public key file on the deployment host to
the ``/root/.ssh/authorized_keys`` file on each target host. the ``/root/.ssh/authorized_keys`` file on each target host.
#. Test public key authentication from the deployment host to each #. Test public key authentication from the deployment host to each
target host. SSH should provide a shell without asking for a target host. SSH provides a shell without asking for a
password. password.
For more information on how to generate an SSH keypair as well as best For more information on how to generate an SSH keypair as well as best
@ -74,15 +69,17 @@ Configuring LVM
`Logical Volume Manager (LVM)`_ allows a single device to be split into multiple `Logical Volume Manager (LVM)`_ allows a single device to be split into multiple
logical volumes which appear as a physical storage device to the operating logical volumes which appear as a physical storage device to the operating
system. The Block Storage (cinder) service as well as the LXC containers that system. The Block Storage (cinder) service, as well as the LXC containers that
run the OpenStack infrastructure can optionally use LVM for their data storage. run the OpenStack infrastructure, can optionally use LVM for their data storage.
.. note:: OpenStack-Ansible automatically configures LVM on the nodes, and .. note::
OpenStack-Ansible automatically configures LVM on the nodes, and
overrides any existing LVM configuration. If you had a customized LVM overrides any existing LVM configuration. If you had a customized LVM
configuration, edit the generated configuration file as needed. configuration, edit the generated configuration file as needed.
#. To use the optional Block Storage (cinder) service, create an LVM #. To use the optional Block Storage (cinder) service, create an LVM
volume group named *cinder-volumes* on the Block Storage host. A volume group named ``cinder-volumes`` on the Block Storage host. A
metadata size of 2048 must be specified during physical volume metadata size of 2048 must be specified during physical volume
creation. For example: creation. For example:
@ -91,9 +88,9 @@ run the OpenStack infrastructure can optionally use LVM for their data storage.
# pvcreate --metadatasize 2048 physical_volume_device_path # pvcreate --metadatasize 2048 physical_volume_device_path
# vgcreate cinder-volumes physical_volume_device_path # vgcreate cinder-volumes physical_volume_device_path
#. Optionally, create an LVM volume group named *lxc* for container file #. Optionally, create an LVM volume group named ``lxc`` for container file
systems. If the lxc volume group does not exist, containers will be systems. If the ``lxc`` volume group does not exist, containers are
automatically installed into the file system under */var/lib/lxc* by automatically installed into the file system under ``/var/lib/lxc`` by
default. default.
.. _Logical Volume Manager (LVM): https://en.wikipedia.org/wiki/Logical_Volume_Manager_(Linux) .. _Logical Volume Manager (LVM): https://en.wikipedia.org/wiki/Logical_Volume_Manager_(Linux)

View File

@ -1,7 +1,8 @@
`Home <index.html>`_ OpenStack-Ansible Installation Guide `Home <index.html>`_ OpenStack-Ansible Installation Guide
=======================
Chapter 3. Target hosts Chapter 3. Target hosts
----------------------- =======================
.. toctree:: .. toctree::
@ -15,21 +16,21 @@ Chapter 3. Target hosts
.. image:: figures/workflow-targethosts.png .. image:: figures/workflow-targethosts.png
The OSA installation process recommends at least five target We recommend at least five target hosts to contain the
hosts that will contain the OpenStack environment and supporting OpenStack environment and supporting infrastructure for the OSA
infrastructure. On each target host, perform the following tasks: installation process. On each target host, perform the following tasks:
- Naming target hosts. - Naming target hosts
- Install the operating system. - Install the operating system
- Generate and set up security measures. - Generate and set up security measures
- Update the operating system and install additional software packages. - Update the operating system and install additional software packages
- Create LVM volume groups. - Create LVM volume groups
- Configure networking devices. - Configure networking devices
-------------- --------------