Skip to content
kelvin-onlab edited this page Feb 10, 2015 · 17 revisions

This is just a short Git hub wiki for TestON. Please checkout our official ONOS project wiki for in depth information on ONOS and TestON.

TestON could be run on Linux platform

###Configuring Linux to run TestON :

Requirements:

  1. A Linux 2.6.26 or greater kernel compiled with network namespace support enabled (see INSTALL for additional information.)

  2. python 2.6 or higher versions.

Install python package configObj. It can be installed by following either of the way:

  1. $ sudo pip install configObj

  2. Provided the local copy of configobj-4.7.2 package in /lib/ directory.

    1. Install this package by running:

    python setup.py install

Note: pox and mininet components must be installed for the drivers to work. It is recommended that you have a openflow Virtual Machine installed as it is easier.

Clone the TestON from https://github.com/OPENNETWORKINGLAB/ONLabTest.git

Please configure mail server details before going to start working with TestON

  • Open core/utilities.py file inside TestON Framework
  • Check def send_mail(self) and configure the mail server and your credentials as mention below:

233: msg['From'] = '[email protected]'

250: smtp = smtplib.SMTP('Hostname/IP')

252: smtp.login('[email protected]','password')

Start the teston command-line by running the cli.py from the TestON/bin directory.

 ./cli.py

Finally, launch the test from the teston command-line.

 run TestName

Get full details about the CLI in TestON Interactive CLI

 openflow@ETH-Tutorial:~/TestON/bin$ ./cli.py
 teston>run PoxTest logdir /home/openflow/ mail [email protected]

You can always start learning by trying out a few examples under ~/examples/ directory. When running an example, use this command

 openflow@ETH-Tutorial:~/TestON/bin$ ./cli.py
 teston>run Topology example 1 mail [email protected]

##Dependencies

1.) ONOS

2.) Mininet - Some driver functions rely on a modified version of Mininet. These functions are noted in the mininet driver file. To checkout this branch from your Mininet folder:

$ git remote add jhall11 https://github.com/jhall11/mininet.git

$ git fetch jhall11

$ git checkout -b dynamic_topo remotes/jhall11/dynamic_topo

$ git pull

**Note:**You may need to run 'sudo make develop' if your mnexec.c file changed when switching branches.

3.) Install python packages configObj and pexpect (Note: pexpect 3.3 has a known bug. We recommend using version 3.2 for now). They can be installed as :

$ sudo pip install configObj

$ sudo pip install pexpect==3.2

$ sudo pip install numpy

4.) STS - This can be installed by:

$ git clone https://github.com/jhall11/sts.git

5.) Linc-OE - Some testcases use this to emulate optical devices

Requirements:

  • Erlang R15B, R16B, R17 - if possible please use R17

  • libpcap-dev package if eth interfaces will be used

Building and Running:

$ git clone https://github.com/shivarammysore/LINC-Switch.git

$ cd linc-oe

$ git checkout tags/oe-0.3

$ make rel

Check out the how to write a TestOn test to learn more about TestOn