Welcome to Test-ON tutorial!
Test on runs on Linux platform. Test-ON requires a proper ONOS installation in order to work, see ONOS tutorial for more information.
By completing this tutorial, you will understand how to:
- Install Test-ON
- Create appropriate files to run test on Test-ON.
- Create and run Test-ON script
- Create a Test-ON driver
Configuring Linux to run Test-ON
- A Linux 2.6.26 or greater kernel compiled with network namespace support enabled (see INSTALL for additional information.)
python 2.6 or higher versions.
Install python package configObj using:
- Properly installed ONOS
- Dependencies - ONOS, Python packages, Pox, Mininet, STS etc. (Check out the Dependencies section in the Github wiki for more information)
- Prior knowledge of ONOS and Mininet
- Two or more VMs running Ubuntu Server
- Ssh log in without password
Stuck? Found a bug? Questions?
Clone the Test-ON from https://github.com/OPENNETWORKINGLAB/ONLabTest.git
Please configure mail server details before going to start working with Test-ON
- Open core/utilities.py file inside Test-ON Framework
- Check def send_mail(self) and configure the mail server and your credentials as mention below:
You can see test files in the /TestON/tests/ folder. Each of the tests has a unique set of files defined below:
.params - This file contains user defined variables for the test case. Also specify the order of which test cases to run.
.topo - This file defines all the components and options that Test-ON will use to execute its test. The machine's user name, password, IP addresses, drivers, and/or Mininet's topology would be specified in this file. ( Please use the exact syntax/format in the topo file. The space character in the xml tags is important even though you are not defining anything in the tag Eg. <COMPONENTS> </COMPONENTS>)
.py - This is where all of the test cases are written. It calls upon functions implemented in the respective drivers to create a progression of events that produces some sort of pass/fail outcome.
This test uses pingall function to ping all the host in the network. The test is successful if all the hosts are reachable.
- CASE1: Starts up ONOS, from pulling the latest code to running ONOS, also starts the a Mininet instance. Reports success if ONOS did not start up correctly.
- CASE2: Assign mastership to controller. Reports success if all the switches are assigned to a controller.
- CASE3: Installs onos-app-fwd (reactive forwarding app) and does pingall. Reports success if all hosts are reachable.
Below is the PingallExample.params:
The testcases tag defines the order in which the test cases are executed.