
System requirements
OpenStack components are intended to run on standard hardware that range from desktop machines to enterprise-grade servers. The processors of the compute nodes need to support virtualization technologies, such as Intel's VT-x or AMD's AMD-v technologies.
This book assumes that OpenStack will be installed on physical hardware that meets the following minimum requirements:

While machines that fail to meet the minimum requirements may be capable of installation, based on the documentation included herein, these requirements are there to ensure a successful experience.
Operating system requirements
OpenStack currently has packages for the following distributions: CentOS, Debian, Fedora, RHEL, openSUSE, SLES, and Ubuntu. This book assumes that the CentOS 6.5 operating system has been installed on all hosts prior to the installation of OpenStack:
- CentOS 6.5: http://www.centos.org/
At the time of writing, the following minimum kernel version is recommended:
- Kernel version: 2.6.32-431.20.3.el6.x86_64
Prior kernel versions may experience a lack of support for network namespaces that are used throughout various Neutron services.
Initial network configuration
To understand how networking should initially be configured on each host, please refer to the following diagram:

Figure 2.1
In the preceding diagram, two interfaces are cabled to each host. The eth0
interface will serve as the management interface for OpenStack services and API access, and eth1
will serve as the provider bridge and tunnel interface for external and tenant traffic.
At a minimum, the management interface should be configured with an IP address that has outbound access to the Internet. Internet access is required to download OpenStack packages from the package repository. Inbound access to the management address of the servers from a trusted network via SSH (TCP port 22) is recommended.
Throughout the book, there will be examples on configuring and using various OpenStack services. The following table provides the VLANs and associated networks used for those services:

The following table provides IP addresses and VLAN IDs recommended for each host interface, should you choose to follow along with the examples:

The eth1
interface of each server will be configured in Chapter 4, Building a Virtual Switching Infrastructure. For now, the interface should be cabled and the corresponding switch port configured as a trunk. In the event of connectivity loss, out-of-band management access to the servers via DRAC, iLo, or some other mechanism, is highly recommended.
Interface configuration
CentOS uses individual interface files to describe the configuration of an interface. As the system boots, these files are used to determine which interfaces to bring up and how they should be configured. The interface configuration files can be found in /etc/sysconfig/network-scripts/
.
Tip
Downloading the example code
You can download the example code files for all Packt books you have purchased from your account at http://www.packtpub.com. If you purchased this book elsewhere, you can visit http://www.packtpub.com/support and register to have the files e-mailed directly to you.
Using a text editor, update the corresponding interface file for eth0
on each host as follows:
# nano /etc/sysconfig/network-scripts/ifcfg-eth0
The following is the configuration of eth0
on the controller node:
DEVICE=eth0 TYPE=Ethernet ONBOOT=yes NM_CONTROLLED=yes BOOTPROTO=static IPADDR=10.254.254.100 NETMASK=255.255.255.0 GATEWAY=10.254.254.1
The following is the configuration of eth0
on the compute node:
DEVICE=eth0 TYPE=Ethernet ONBOOT=yes NM_CONTROLLED=yes BOOTPROTO=static IPADDR=10.254.254.101 NETMASK=255.255.255.0 GATEWAY=10.254.254.1
To activate the changes, cycle the interface using the ifdown
and ifup
commands on each node:
# ifdown eth0; ifup eth0