openstack-ansible/doc/source/install-guide/targethosts-prepare.rst
Michael Gugino c83b6a2010 Docs: encourage users to run apt-get dist-upgrade on target hosts
Ubuntu 14.04 is currently provided in several point releases, most
currently 14.04.3.  It is possible that users may initially deploy
roles on a previous point release of Ubuntu, and then later upgrade
system packages.  Most notably, br_netfilter is implemented in it's
own kernel module in kernel versions >= 3.18.  This results in ansible
fact caches being out of date on subsequent runs, and has caused a few
bugs to be filed along the way.

This patch is to hopefully ensure that users are using the most recent
version of packages when beginning with openstack-ansible.

Change-Id: I1fd4f11fc2e4be4fa4335f63031f7b2bdb312d34
Closes-Bug: #1535075
2016-02-02 13:15:07 -05:00

3.3 KiB

Home OpenStack-Ansible Installation Guide

Preparing the target hosts

All target hosts will need a properly configured operating system as well as some additional configurations that are noted in the following sections.

Installing the operating system

Install the Ubuntu Server 14.04 (Trusty Tahr) LTS 64-bit operating system on the target host with at least one network interface configured to access the Internet or suitable local repositories.

On target hosts without local (console) access, We recommend adding the Secure Shell (SSH) server packages to the installation.

Configuring the operating system

Upgrade system packages, check the kernel version, install additional software packages, and configure NTP.

  1. Upgrade system packages and kernel:

    # apt-get dist-upgrade
  2. Check the kernel version. It should be 3.13.0-34-generic or later.

  3. Install additional software packages if not already installed during operating system installation:

    # apt-get install bridge-utils debootstrap ifenslave ifenslave-2.6 \
      lsof lvm2 ntp ntpdate openssh-server sudo tcpdump vlan
  4. Add the appropriate kernel modules to the /etc/modules file to enable VLAN and bond interfaces:

    # echo 'bonding' >> /etc/modules
    # echo '8021q' >> /etc/modules
  5. Configure NTP to synchronize with a suitable time source.

  6. Reboot the host to activate the changes and use new kernel.

Deploying SSH keys

Ansible uses Secure Shell (SSH) for connectivity between the deployment and target hosts.

  1. Copy the contents of the public key file on the deployment host to the /root/.ssh/authorized_keys file on each target host.
  2. Test public key authentication from the deployment host to each target host. SSH should provide a shell without asking for a password.

For more information on how to generate an SSH keypair as well as best practices, refer to GitHub's documentation on generating SSH keys.

Configuring LVM

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 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.

  1. To use the optional Block Storage (cinder) service, create an LVM volume group named cinder-volumes on the Block Storage host. A metadata size of 2048 must be specified during physical volume creation. For example:

    # pvcreate --metadatasize 2048 physical_volume_device_path
    # vgcreate cinder-volumes physical_volume_device_path
  2. Optionally, create an LVM volume group named lxc for container file systems. If the lxc volume group does not exist, containers will be automatically installed into the file system under /var/lib/lxc by default.