This short writup describes how to setup Red Hat’s OpenStack RDO Havana release with the Brocade VCS plugin for Neutron networking.
INTRODUCTION
RDO can easily be deployed using Packstack and the Linux Bridge plugin. Once complete, a few steps are required to reconfigure Neutron to use the Brocade VCS plugin for managing both virtual and physical network infrastructure through OpenStack API.
This guide has been tested using CentOS 6.4, but should be applicable to other Red Hat based systems such as RHEL or Fedora.
With the Havana release of OpenStack, we are still using the monolithic network plugin. Ice House release will introduce the use of the Modular Layer2 (ML2) plugin to simultaneously utilize the variety of layer 2 networking technologies.
BROCADE VCS CONFIGURATION
Brocade VDX switches should be running NOS 4.0 or above with logical chassis mode enabled for configuration distribution across all fabric nodes. See the Brocade NOS administrators guide for additional information. Any ports connected to OpenStack compute/network nodes should be configured as port-profile ports.
1 2 3 4 |
|
RDO INSTALLATION USING PACKSTACK
This guide will walk through the process of deploying OpenStack on a single server with the option of adding one or more additional compute nodes. Begin by deploying OpenStack as documented in the RDO Neutron Quickstart guide at http://openstack.redhat.com/Neutron-Quickstart. Install the software repos, reboot the system, and install PackStack.
1 2 3 4 |
|
Generate a PackStack answer file and edit the following variables to enable the linuxbridge plugin. Additional compute nodes can be specified here as well.
1 2 |
|
1 2 3 4 5 6 |
|
Edit the configuration for the physical interface connected to the VCS fabric for tenant networks. It should be configured up with no IP address and in promiscuous mode. All nodes should have a similar configuration.
1 2 3 4 |
|
One method to configure the interface for promiscuous mode at boot, is to create /sbin/ifup-local with the following content
1 2 3 4 5 6 |
|
Set executable bit. This script will run during boot right after network interfaces are brought online.
1 2 |
|
Run packstack on the controller node using the previously created answer file
1
|
|
Once complete, edit /etc/ImageMagick//quantum/l3_agent.ini on the controller and remove br-ex from the following line (it should be set to nothing)
1
|
|
Download and install a test image into glance
1 2 3 |
|
INSTALL BROCADE NEUTRON PLUGIN
To simplify installation, all existing nova instances, networks, and routers should be deleted. Install the Brocade plugin from the repository on the controller/network node.
1
|
|
Edit /etc/quantum/plugins/brocade/brocade.ini file on the controller/network node. The database user and password can be copied from the packstack answer file or preexisting linuxbridge.ini. Ensure the database user has proper credentials.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 |
|
On the controller, create brcd_quantum database and grant permissions (change IP address and passwords as needed).
1 2 3 4 5 6 7 8 |
|
Set the core plugin to Brocade in quantum.conf on all nodes. core_plugin = quantum.plugins.brocade.QuantumPlugin.BrocadePluginV2
On the controller,QuantumPlugin install the netconf client needed to communicate with the VCS fabric
1 2 |
|
On the controller, update the symlink in /etc/quantum to point to the brocade.ini file
1
|
|
Disable or remove the OVS agent if it is installed. Reboot the system and verify working status.
TESTING THINGS OUT
Source the keystone rc file that was installed into root’s home directory to obtain credentials and verify status of OpenStack services.
1 2 3 |
|
Then use the CLI or Horizon to create networks, and launch new virtual machine instances. Within the VCS fabric, check that new port-profiles are created for every tenant network that is created.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 |
|
As new instances are launched, they should be tied to the port-profile corresponding to the network they belong to. Any instances on the same network should be able to communicate with each other.
1 2 3 4 5 6 7 8 9 10 |
|