- N4U Chassis with both DX2 and MX2 lines cards configured with 40gbps using QSFP+ break out cables running the Spirent Test Center Layer 2-3 solution.
- C100MP Chassis with 10gbps SFP+ ports used for Avalanche and Avalanche Next tests.
- Landslide for mobility use cases.
- This test harness uses the MRV Layer 1 switching solution to build the needed topology connecting test ports to bare metal servers running VMware ESXi, RedHat KVM, and Microsoft Hyper-V hypervisors.
- These hypervisors are managed by OpenStack solutions deployed with a combination of Mist.IO, SaltStack, Heat templates, and RDO Packstack.
- A standard set of virtual machine images are deployed here with http URLs from our Box share maintained by a community team of developers.
- Nephoscale is billed on a monthly basis so infrastructure changes here are less frequent and we plan for usage on a quarter by quarter basis.
- Developers make changes to our product codebase and commit those to on our own locally hosted GIT repositories for source code version control.
-
- When a task is being worked on the developer performs a git pull to obtain all the latest commits made by other team members. A task should not exceed 6 hours. This ensures that a developer publishes their changes as soon as possible ensuring that others have access to the most recent code changes.
- Maven is used as mvn clean install which makes a build locally on the developer’s workstation to verify all is well. This is where the developer’s unit test will be performed.
- The files are added to the git repository, the changes are committed with some comments about the task, then a final push is performed.
- When any developer checks in some changes to the code a Git Hook will trigger a series of Jenkins jobs to perform testing on multiple environments.
- On every commit from a developer Jenkins will trigger a build, run the unit tests, perform some basic integration and functional testing on simple test environments both in our on premise QA environment as well as in Nephoscale and Ravello. These should run pretty quick and show us right away if there’s a fundamental issue we need to address. This gives us the ability to see right away how our code will work against multiple hypervisor flavors and openstack distributions.
- Sonar is executed as part of the build process and provides us a view on how well the source code complies with best practices, especially related to the development language. During the build, sonar validates the source code and stores the findings that are presented in a dashboard containing various reports. This shows us how our code quality improves or not in time allowing us to drill down on each violation and the details.
- Nightly builds are also triggered by Jenkins to run unit test, integration tests, and all functional regression testing against the latest current versions of the virtual appliance images.
- Once a week and for major releases we do all the above tests as well as regression tests on the last few previous versions of the virtual appliance images as well as some less utilized operating systems and openstack distributions.
- The latest updated virtual appliance images are automatically uploaded to our box share to and imported into the glance repo of the OpenStack test beds.
- These virtual appliance images are tested with various multi-node Openstack distributions such as SUSE, Ubuntu, RedHat RDO, Mirantis Fuel, Piston with different neutron networking configurations (VXLAN, GRE, VLAN, etc).
- Our Spirent network traffic generator and analyzer appliances execute network tests on the target Openstack setup, which is provisioned, configured, and monitored by Mist.io. These tests are triggered by our Jenkins iTest Plugin which handles the test automation and orchestration.
- Test data is collected and analyzed into a data warehouse. Not just the performance and security findings from our traffic generators we correlate these metrics with infrastructure utilization such as CPU, RAM, PCI Bus, Network, Storage, and Power.
- OpenStack test environments are automatically shut down and the cycle continues.
About the author:

As Spirent’s Principal Cloud and Virtualization Architect Iben Rodriguez is working to shift network testing functions out of the test lab and closer to the developers and operators of Enterprise Data Centers. Trained in Agile, ITIL, SOX, PCI-DSS, ISO27000 he develops Testing Solutions for Businesses that leverage Cloud Technology.
Iben started his security career maintaining the data communication systems used by military reconnaissance, followed by stints in the global pharmaceutical and fabless semiconductor industries. Over the past 10 years, Rodriguez has assisted executive teams from both enterprise and government organizations in his roles as a cloud solution strategist and security architect at leading companies such as CA, VMware and eBay.
As a volunteer for the Center for Internet Security, Rodriguez initiated and maintains the Benchmark Standards for hardening hypervisors used for virtual workloads. As part of the Virtualization Security Roundtable podcast series, he also works closely with vendors to stay ahead of the latest products and trends in cloud computing.
[…] is leading the field in SDN/NFV testing for telcos. They’ve recently published an article on OpenStack Network Testing using Mist.io to automate the testing […]
[…] is leading the field in SDN/NFV testing for telcos. They’ve recently published an article on OpenStack Network Testing using Mist.io to automate the testing […]