OpenStack summit Vancouver has arrived and I for one can't wait to see how much OpenStack has progressed from Juno to Kilo. I expect to see even more momentum with new companies being added to the OpenStack community, continuing to drive the industry acceptance momentum of OpenStack. While a lot of good stuff is happening from a functionality (features) and new projects standpoint, being able to systematically measure performance across the major components still remains largely a work in progress. While Nova (Compute) and Swift (Object Storage) continue to mature rapidly with good work being done by many in the OpenStack community around performance measurement, Neutron (Networking) continues to lag.
Prior to the Juno summit in Paris last November, there was intent in the OpenStack community to move away from Nova networking onto Neutron where there is significantly more functionality and scale to be had. But there are many challenges that are preventing this migration from happening. Primary among those challenges is the inability to easily measure performance on Neutron to ensure that there isn't significant performance degradation as a result of the move from Nova networking to Neutron. Cisco is proactively addressing the gap of performance measurement on Neutron by releasing in Stackforge an open source data plane performance measurement tool called VMTP (VM ThroughputPerformance). It is heartening to see that others in the community are also providing tools for data plane measurement such as the recently released "shaker".
VMTP addresses the need for a quick, simple and automatable way to get VM-level or host-level single-flow throughput and latency numbers from any OpenStack cloud, while also taking into account various Neutron topologies. VMTP can also easily check whether certain OpenStack configuration options, Neutron plug-ins perform to expectation or if there is any data path impact for upgrading to a different OpenStack release.
VMTP is a small python application that will automatically perform ping connectivity, round trip time measurement (latency) and TCP/UDP throughput measurement for the following East/West flows on any OpenStack deployment:
In addition VMTP can also test for the following traffic scenarios
VMTP can also extract automatically CPU usage from all native hosts in the cloud during the throughput tests, provided the Ganglia monitoring service (gmond) is installed and enabled on those hosts.
For VM-related flows, VMTP will automatically create the necessary OpenStack resources (router, networks, subnets, key pairs, security groups, test VMs) using the public OpenStack API, install the test tools then orchestrate them to gather the throughput measurements then cleanup all related resources before exiting. VMTP has been architected to run independently of Heat as we've seen that most deployments in the field don't have Heat also installed.
VMTP measures true north/south traffic via a client app that run outside the cloud. Additional benefits of using VMTP are:
I hope you enjoyed learning about what the VMTP tool can offer and hope you join in making it even better by contributing to the code at: http://vmtp.readthedocs.org/en/latest/contributing.html#contribute-to-vmtp