Anuket Project
VSPERF and Openstack
Current Status (Jerma)
VSPERF was never designed to be used with Openstack - i.e., use openstack apis to install vsperf, the dut, trafficgen etc. It was designed as a standalone tool.
To use VSPERF, typically, one has to download the source to the DUT system (where vSwitch and VNF are run), and install the software toolchain (vSwitch, Qemu, DPDK, VPP, etc.). Once installed, DUT is setup (configuration of the software toolchain), traffic-generator is setup, configuration file is created and tests are run.
VSPERF also supports "trafficgen-only" mode of operation, where all of the data path configuration and instantiation in the DUT is performed by Openstack through API-level commands. None of the DUT setup operations are performed by VSPERF; only the automated VSPERF tests are run with a particular traffic-generator connected to the DUT data path.
This trafficgen-only mode is a potential candidate to use with Openstack. However, there are many prerequisites to meet before it can be used with openstack. Some of them are:
- There is not need to install complete software toolchain
- minimal VSPERF installation should be sufficient.
- The traffic generator is setup as VM in Openstack
- An appropriate VM Image must be created, (a one time operation), and
- Image must be on-boarded to glance (where is automation needed, in on-boarding? doesn't OS already have this to some degree?).
- This Trafficgen deployment as VM(s) can be in multiple ways - Single or multiple instances, On Single or multiple compute hosts, etc
- Multiple automated deployment scenarios should be supported
- Comment: I see a problem here with multiple traffic-gen VMs on multiple hosts: Synchronized counter measurements (for Loss) clock measurements (for Latency)
- Question: Can we use Ironic to do a baremetal Traffic gen installation? this would also help with the accuracy issues identified above.
- After the traffic-generator is instantiated as VM(s) in Openstack, its IP has to be obtained to create the configuration file.
- Obtaining the IP and creating config file has to be automated
- Comment: there may be a way around this with network configuration in OS Neutron? a small /28 network without floating IPs?
Proposal
Close all the 'gaps' (prerequisites mentioned above) for using VSPERF in trafficgen mode with Openstack.
- Exclude the necessity to install and run VSPERF on DUT.
- Enhance Trafficgen-only mode to include additional information.
- Build tools to (a) Create Trafficgen (Test-VM) image for openstack, (b) deploy Trafficgen VM in different topologies.
- Minimal framework for X-Testing Integration with VSPERF-Openstack.
Actions
Action | Comments | Status |
---|---|---|
Add minimal-build support in VSPERF | DONE | |
Create tool to build TestVM image with Traffic-generator and other tools | Using Packer Tool. Alternate: DIB | WIP (Shubham Mishra) |
Create tool to deploy TestVM with multiple Scenarios | Reuse Shaker Work as much as possible. | WIP (Sridhar Rao) |
Create per-scenario HOT templates (may be per Trafficgen, if required) | Reuse Shaker Work as much as possible | WIP (Sridhar Rao) |
Create Tool to Convert Output from Deployment to VSPERF configuration file | WIP (Sridhar Rao) | |
Create minimal framework to run with X-Testing | YTS (Sridhar Rao) | |
Complete VSPERF-Openstack and X-Testing Integration | YTS (Sridhar Rao) |