Welcome to Test-ON tutorial!

Overview

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:

NOTE: If you are having trouble  on running Test-ON visit Test-ON FAQs or git hub wiki for additional information.

Configuring Linux to run Test-ON

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 using:

$ sudo pip install configObj

Prerequisites:

Stuck? Found a bug? Questions?

Email us if you’re stuck, think you’ve found a bug, or just want to send some feedback. Please have a look at the guidelines to learn how to efficiently submit a bug report.

Installation

Clone the Test-ON from https://github.com/OPENNETWORKINGLAB/ONLabTest.git

Please configure mail server details before going to start working with Test-ON

233:   msg['From'] = 'user@mailserver.com'
250:   smtp = smtplib.SMTP('Hostname/IP')
252:   smtp.login('user@mailserver.com','password')

Test files

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.

PingallExample test

This test uses pingall function to ping all the host in the network. The test is successful if all the hosts are reachable.

Params File

Below is the PingallExample.params:

<PARAMS>
    <testcases>1,2,3</testcases>
    <ENV>
        <cellName>HA</cellName>
    </ENV>
    <Git>True</Git>

    <CTRL>
        <ip1>10.128.30.11</ip1>
        <port1>6633</port1>
    </CTRL>
</PARAMS>