Accelerating Mirantis OpenStack 8.0 with 10/40Gb Intel® Ethernet CNA XL710 and 10Gb Intel® Ethernet CNA X710 families

 

This how-to documents how to setup Mirantis OpenStack 8.0 (Liberty – Ubuntu 14.04 LTS) and how to verify that network virtualization offloads are enabled.

With virtualization stateless offloads support for VXLAN, NVGRE, and GENEVE, the Intel Ethernet Converged Network Adapter XL710 preserves application performance for overlay networks. With these offloads, it is possible to distribute network traffic across multiple CPU cores.

 

*It is important to review and consult the Mirantis Fuel 8.0 install documentation available here before and during setting up your environment https://docs.mirantis.com/openstack/fuel/fuel-8.0/index.html

 

Node Types

Servers used in this Reference Architecture will serve as one of these node types: Infrastructure, Controller, Compute, or Storage.

Infrastructure Node

The Infrastructure node is an Ubuntu 14.04-based node, which carries two virtual appliances: • Fuel Master node—an OpenStack deployment tool. • Cloud Validation node—a set of OpenStack post-deployment validation tools including Tempest and Rally.

Controller Node

The Controller node is a control plane component of a cloud, which incorporates all core OpenStack infrastructure services such as MySQL, RabbitMQ, HAProxy, OpenStack APIs, Horizon, and MongoDB. This node is not used to run VMs.

Compute Node

The Compute node is a hypervisor component of a cloud, which runs virtual instances. Storage Node The storage node is a component of an OpenStack environment, which keeps and replicates all user data stored in your cloud including object and block storage. Ceph is used as a storage backend.

Storage Node

The storage node is a component of an OpenStack environment which keeps and replicates all user data stored in your cloud including object and block storage. Ceph is used as a storage back end.

*Storage node excluded from this how-to to simplify deployment, storage nodes can easily be added from Fuel admin page.

 

Network Topology

 

Node network port configuration

 

Recommended Server Configurations

 

 

Controller Node

Compute Node

Storage Node

Infrastructure Node

Server Model

Dell R630

Dell R730

Dell R730

Dell R630

CPU

Intel® 2699v3

Intel® 2699v3

Intel® 2699v3

Intel® 2699v3

Memory

256GB

256GB

256GB

256GB

Storage

2 x 400GB SSD

2 X 400GB SSD

4 x 400G SSD, 20 x 1.2TB SAS

2 X 400GB SSD

Network

Intel® XL710 40GbE

Intel® XL710 40GbE

Intel® XL710 40GbE

Intel® XL710 40GbE

 

 

Recommended Server Configurations

 

 

Model

Quantity

 

 

1GbE

Cisco SG300-28

2

10 or 40GbE

Arista 7060

1

 

 

Switch configuration

For Cisco switches use the following commands:

# enable

# configure terminal

# interface range GigabitEthernet 1/0/1 – 24

# switchport trunk encapsulation dot1q

# switchport trunk allowed vlan all

*To allow your switches to work with tagged and untagged VLAN’s it needs to be in trunk mode.

 

# end

 

For Arista switches use the following commands:

#enable

#conf t

#vlan 102

#interface Ethernet 1/1-32

#switchport trunk allowed vlan all

 

 

Build fuel server and deployment VM

 

Install fuel server OS and connect networks:

1.     Install the latest Mirantis Fuel iso from https://software.mirantis.com/openstack-download-form/

2.     Install iso from cd-rom or USB drive (usb drive must be created from linux) using option 1

3.     Configure Fuel eth0 for Admin PXE

 

 

 

 

 

4.     Configure eth3 for your public network and gateway

 

 

 

5.      Configure PXE Setup

 

 

 

6.     Ensure DNS and Time Sync check work with no errors

 

 

7.     Quit Setup and select >Save and Quit and you should see Fuel Login

 

 

 

 

Startup all the nodes that are part of your environment and set them to boot from PXE.

 

1.     Select bootstrap

 

 

 

2.     Confirm nodes booted correctly

 

 

 

 

Create a new OpenStack Environment

 

1.     Login to fuel at https://10.20.0.2:8443

 

 

 

 

 

2.     Create new OpenStack environment

createnv.png

 

 

3.     Select the following:

 

OpenStack Release - Juno on Ubuntu 14.04 (default)

Compute - KVM

Network Setup - Neutron with tunnelling segmentation

Storage Backend - Block storage - LVM or CEPH depending if you have storage nodes

Additional services - Blank (feel free to install if you would like)

 

Now click Finish and Create and click on the environment name to configure your environment.

 

 

 

 

4.     Identify your nodes

 

You will now see unallocated nodes with MAC addresses as their names.  You can differentiate the compute, storage and controller node by looking at the HDD size or network MAC address. 

Select the node and rename them and assign the appropriate role to it:

 

 

 

5.     Add controller nodes

 

 

 

6.     Add compute nodes

 

 

 

7.     Configure interfaces for each node

          a. Go to nodes tab, click Select  and click “Configure Interfaces”

 

 

          b. Select each interface and drag them to the appropriate ports

 

 

 

8.     Configure network settings under the networks tab

 

 

Setup your networks as follows:

 

          a.       Click “default” under Node Network Groups and set:

                    Public – Set the ip adress that have access to your internet connection

                    Storage – Use the defauls and VLAN 102

                    Management – User defaults and VLAN 101

                    Private – User defaults and VLAN 103

 

          b.      Click “Neutron L3” and set the Floating IP range with adresses that have internet access, usually the same as Public ip adresses above.

 

Leave everything else with defaults.

 

 

9.     Verify networks. Under the same Networks menu click “Connectivity Check” and then click “Verify Networks”

 

 

If everything is setup correctly you will see a green success message.

 

 

 

 

10.     Deploy environment. Click Dashboard and then “Deploy Changes”

 

 

 

 

11.     Verify everything is installed and login to OpenStack by clicking on the “Horizon” link

 

 

 

 

Verify your compute nodes have Intel® X710 or Intel® XL710 virtualization offloads are enabled.

 

1.     Log in to the compute node and type command:

#ethtool –k enp4s0f0

 

You should see the following output: