VIAVI Solutions

Application Note

Deploying TeraVM in an
OpenStack Environment
TeraVM in OpenStack* is revolutionizing IP testing! Never before has it
been as easy or cost effective to scale test traffic to terabits per second
levels and beyond. TeraVM in OpenStack provides reliable and repeatable
testing to validate the robustness and resiliency of a cloud deployment.

Cloud operating system
OpenStack is a cloud operating system that controls large pools of compute, storage, and networking resources
throughout a datacenter, all managed through a dashboard that gives administrators control while empowering
their users to provision resources through a web interface.

Modularization of the cloud OS
OpenStack has revolutionized cloud computing and has made cloud deployments more accessible to all. OpenStackachieves this by greatly reducing the complexity of deploying clouds and has also simplified the management of
the cloud computing space. By modularizing the key aspects of the cloud environment: compute resource (Nova),networking (Neutron), storage (Swift) and providing dedicated management agents such as the virtual machine
repository (Glance) and management interface (Horizon), never before has it been easier to deploy a private cloud.

ComputeThe OpenStack compute module also known as Nova is used to provision and manage the virtual machines.
Nova is deployed into a private cloud using a number of hypervisors, KVM is one of the recommended choices
for hypervisor technology. KVM was also VIAVI first choice of hypervisor for deploying its TeraVM in OpenStack.

Figure 1: OpenStack Overview [source: http://www.OpenStack.org/software/]Storage
The OpenStack storage module (Swift) manages the storage needs of the virtual machines running in the private
cloud with support for Object Storage and Block Storage with the flexibility to deploy as needed:y Object Storage: cost effective, scale-out storagey Block Storage: manages block devices which are used by compute instances for expanded storage
Virtual machine images can be stored as an object-storage system, which are then retrieved using a machine
image retrieval and registration tool (Glance). VIAVI uses persistent block level storage for its OpenStack TeraVM
compute instances.

NetworkingThe third pillar of OpenStack is the networking module (Neutron), in which users can create their own networks,
control traffic and connect servers and devices to one or more networks. Neutron offers users of a cloud an
incredible amount of choice and flexibility:y Network Functions Virtualization (NFV): use NFV to enable additional network services, such as
intrusion detection systems (IDS), load balancing, firewalls and virtual private networks (VPN) to be
deployed and managed.
y Software Defined Networking (SDN): use SDN to enable high levels of multi-tenancy and massive scale.
VIAVI utilizes Neutron’s switching and routing instances to enable communication with its TeraVM
controller compute instance and to enable communication between the controller and test traffic generation
compute instances.

Virtual machine image management
OpenStack provides services for discovering, registering, and retrieving virtual machine images (Glance). The ability
to make and store images of actual running servers is one of the key reasons why OpenStack cloud OS is used incloud environments. Users of OpenStack can easily and quickly scale servers and services reliably.
TeraVM is imported into OpenStack as two separate files (controller and test module compute instances) using theRAW format, which is natively supported by KVM.

Administering the virtual environment
OpenStack provides a web based user interface (Horizon) to manage services such as Nova and Swift. Horizon ships
with three central dashboards, a “User Dashboard”, a “System Dashboard”, and a “Settings” dashboard.
In addition to the web based interface, users of OpenStack can use a command line interface to access the key
management services. The TeraVM instances can also be instantiated through the command line, enabling evengreater flexibility through automation.

Figure 2: Horizon Dashboard an example view showing a network
2 Deploying TeraVM in an OpenStack Environment

Using Horizon, OpenStack users can quickly orchestrate any number of TeraVM compute instances. In the sections
that follow, this solution brief will outline how easy it is to orchestrate a scaled virtualized IP test solution inOpenStack with a sample use case of a multi-tenant test.

TeraVM virtualized IP testing
TeraVM is a fully virtualized IP test and measurement solution that can emulate and measure millions of uniqueapplication flows. TeraVM provides comprehensive measurement and performance analysis on each and every
applications flow with the ability to easily pinpoint and isolate problems flows.
Two key reasons why TeraVM is used in testing OpenStack based clouds is as follows:y Elastic Test bed: Scale the test bed as needed, for example as the number of tenants grows enable testing on aper tenant basis.
y Portability: Users of TeraVM can efficiently test enterprise and/or private cloud deployment without additionalcosts, TeraVM license server enables users to re-locate the test resources as needed.

TeraVM architecture
TeraVMs architecture is relatively straight forward, it consists of two key components a controller and a testmodule(s). The controller is a single compute instance which allows the user to configure and manage tests whichwill run across a number of compute instances of test modules.
Test Modules
51

STATISTICSCONFIGURATION

3b2

EXECUTE TESTSTART TEST4TEST TRAFFIC

DUT

User Interface

LicenseAdministrator
3a

CHECK OUT
LICENSEWebInterface

TeraVM License
ServerFigure 3: Example TeraVM deployment orchestrated with OpenStack

Step by step guide to using TeraVM
Figure 3 above highlights the steps required to generate test traffic in the direction of the device under test (DUT).
The steps are as follows:y Configure a test via the graphical user interface (GUI) or command line interface (CLI) on the TeraVM controller.
y Manage the test run by starting and/or stopping the test as needed.
y Test is executed by the controller:- The controller checks out a run-time license- The test configuration is loaded and started on the TeraVM test modules
y Test traffic is emulated in the direction of the DUT
y Live performance analysis of all emulated traffic is available in the TeraVM controller
3 Deploying TeraVM in an OpenStack Environment

TeraVM virtual machine instances
A basic TeraVM deployment consists of two distinct virtual machine types; controller and test module(s). VIAVI
provides these as raw image formats. However, the TeraVM test modules come in a number of distinct flavors.
To enable TeraVM in OpenStack, the administrator simply loads the various TeraVM images into the repository. To
make TeraVM available for use by all users of the cloud immediately, they simply select the public setting during
the import.

Figure 4: TeraVM image being imported to the Glance repository

Instantiating TeraVM in OpenStack
Once the machine images are available in the Glance repository, the OpenStack user can instantiate as many
TeraVM test modules as they wish. TeraVM will appear in the Nova service as a compute instance. As a pre-requisite
to deploying the TeraVM test module, the only requirements is that the user know, to which virtual network
interface the test module will connect through to generate traffic load.

Enabling an elastic test bed in OpenStackOpenStack has greatly simplified the effort to instantiate compute nodes, so much so that if you get theconfiguration wrong it’s just as easy to simply delete the environment and start over again. Just imagine theconsequences of an incorrectly configured physical test bed, there is no comparison it’s a day’s work as comparedto just minutes to recover.
Using the Horizon web interface a user can quickly select a flavor of TeraVM test module, based on the scale of thetest requirement (e.g. 100Gbps) and set the instance count for the number of required test modules (e.g. 10).

Figure 5: Instantiating a scaled test in a matter of minutes
4 Deploying TeraVM in an OpenStack EnvironmentPerformance analysis from within the cloud
As soon as the TeraVM test resource is available, users can begin to configure or even edit existing test cases toutilize the newly scaled test bed. Users of TeraVM have the option to use a graphical user interface or command line.
TeraVM’s graphical user interface enables the user to quickly generate scaled tests which automatically load allof the available test resources. An additional benefit of using TeraVM in testing on the OpenStack cloud is theintegrated analysis window, showing in real time the actual performance of real traffic.

Figure 6: TeraVM’s integrated emulation and performance analysis

Use case: Performance testing hybrid cloud deployments
OpenStack offers enterprises a cost effective means to quickly scale and make available compute resources ondemand. A key benefit for the security conscious enterprise is the ability within OpenStack to make available
department or tenant style hosting similar to commercially available cloud deployments. As with all tenant typesystems, performance testing is required to ensure the resource configuration of storage, network and compute areavailable and that the security which prevents data leaks between tenants is correctly configured.
Private Data Center

openstackNetworkStoragevDUT

ComputeMicrosoftMicrosoft

KVM

KVM

Enterprise

Carrier Network
Figure 7: Hybrid cloud testing with TeraVM

5 Deploying TeraVM in an OpenStack Environment

EnterpriseWhy test OpenStack hybrid clouds with TeraVM?
TeraVM is the only IP test and measurement solution available today which can be deployed in OpenStack. In
addition, TeraVM’s flexible licensing scheme enables scalability, elasticity of scale and portability of test resources
facilitating the hybrid cloud administrator to deploy test resources between the physical network and the privatecloud.
An even more important aspect of testing OpenStack with TeraVM is the ability to test the security configurations
between cloud tenants (i.e. traffic for one tenant is not visible by another).

Sample test cases for OpenStack’s networking configuration
TeraVM’s emulated stateful flows are used to provide detailed performance analysis from the networking layer tothe application layer (L4-7). TeraVM is used extensively to determine if latency sensitive applications are impeded bya move to a remote site or indeed if the addition of new tenants in the virtual cloud space impacts existing services.
In addition, TeraVM can be used to:y Determine the reliability and performance limitations of the Neutron networking elements which includes
switch and router network configurations.
y Robustness testing of essentials services such as DHCP enabled address assignments. TeraVM
facilitates this via scalability testing with a large volume of virtual machine instances and interfaces.

Summary
TeraVM is the only emulation and performance measurement solution available today which can be deployed using
the open source cloud operating system OpenStack. TeraVM can be fully instantiated into a cloud environment
using the OpenStack modules of Glance, Nova and Neutron.
Once instantiated with OpenStack, TeraVM is used to test network traffic in the cloud itself and to test traffic
across a hybrid deployment of physical and cloud networks. On the OpenStack platform, TeraVM can be used totest the performance limitations of local services, network configurations and other compute instances.
OpenStack’s powerful orchestration capability is playing a fundamental role in enabling the next generationof networking products which are evolving out of software defined networks (SDN) and network function
virtualization (NFV). TeraVM as a stateful application traffic emulator is also playing a key part by ensuring thatthese new virtual appliance and functions such as vSwitch, vLoadbalancer, vFirewall, vDPI, etc. are reliable androbust for cloud deployments.
TeraVM’s flexible license model means that the TeraVM test resources are highly scalable, this alongside OpenStack’sorchestration results in a truly elastic test bed, in which a test bed can be instantiated to enable terabits per secondof traffic emulation or simply deleted all within minutes. In addition, TeraVM offers portability, enabling the TeraVM
resource to be deployed outside the OpenStack cloud. This ability to provision in the cloud and reside outside on
a local network enables application performance testing on an end-to-end basis from the enterprise LAN to thepublic cloud.
*The OpenStack modules highlighted in this solution brief are as referenced in the OpenStack Havana release: [https://wiki.openstack.org/wiki/ReleaseNotes/
Havana#OpenStack_2013.2_.28Havana.29_Release_Notes]

To reach the VIAVI office nearest you,visit viavisolutions.com/contact© 2020 VIAVI Solutions Inc.
Product specifications and descriptions in thisdocument are subject to change without notice.
tvm-openstack-an-wir-nse-ae
30187437 900 0818

viavisolutions.com/wirelessvalidation