commit | ab61137831f66571e94b45995c990bd56ab32a9f | [log] [tgz] |
---|---|---|
author | Jon Hall <jhall@ciena.com> | Wed Feb 21 15:26:05 2018 -0800 |
committer | Jon Hall <jhall@ciena.com> | Tue Apr 03 12:58:01 2018 -0700 |
tree | 5d37851aa03360ed22d8afaf285badc5b35c645e | |
parent | f5f104f79328f7d56d2a27383c12324e93ea23fa [diff] |
[ONOS-7408] Refactor HA suite to be able to run with trellis - Better support for dual homed hosts - Support parsing more types of flows from OVS of1.3 tables - More specific error handling in Mininet driver - Only check attachment points if that mapping is provided - Minor refactoring of link up/down argument names for consistency - Use list of hosts/switches in mn instead of hard coded ranges - Add .params.fabric for testing with fabric - Add .params.intents for testing with intents, classic/default version of the tests - Add support for setting karaf log levels after startup - Fix malformed command in cell file if no OCN is supplied - Add back CFG for the ECFlowRuleStore now that it is the default impl - Check Network config after connecting mininet TODO: - Set log levels in ONOS service files so we can set logging during startup - Make sure we process all treatments in flows. eg drop and clear_treatment - Does the topology come up the same each time? - same port numbers, etc... - Jenkinsfiles - use .params.fabric for HA fabric tests Notes: - Uses Topology and config from the SegmentRouting tests Change-Id: I08f08ba1d3d18f710f63a45b28ac3a2868a1a5cf
TestON is the testing platform that all the ONOS tests are being run on currently.
Visit the ONOS System Testing Guide on the ONOS Wiki for details about the repo, and our TestON Contribution Guide for how to contribute.
Clone OnosSystemTest from ONOS Gerrit:
$ git clone https://gerrit.onosproject.org/OnosSystemTest
Run the installation script:
$ cd OnosSystemTest/TestON $ ./install.sh
ONOS - The system being tested.
Mininet - A Network Emulator. NOTE: Some driver functions rely on a modified version of Mininet. These functions are noted in the Mininet driver file. Here's how to checkout this branch from the 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 that you may need to run sudo make develop
if your mnexec.c
file changed when switching branches.
Linc-OE - Some testcases use this to emulate optical devices.
Requirements:
$ sudo apt-get install erlang
$ sudo apt-get install libpcap-dev
Building and Running:
$ git clone https://github.com/shivarammysore/LINC-Switch.git linc-oe $ cd linc-oe $ git checkout tags/oe-0.3 $ cp rel/files/sys.config.orig rel/files/sys.config $ make rel
The tests are all located in TestON/tests/
. Each test has its own folder with the following files:
.py
file:
.topo
file:
This defines all the components that TestON creates for that test and includes data such as IP address, login info, and device drivers.
The components must be defined in this file to be used in the .py
files.
.params
file:
Defines all the test-specific variables that are used by the test.
NOTE: The variable testcases
defines which testcases are run.
TestON must be run from its bin directory:
$ cd TestON/bin
To run a test:
$ ./cli.py run SAMPstartTemplate_1node
At Open Networking Foundation, we have adopted the Mininet Python Style formatting for our drivers and testcases. The one exception is that TestON does not correctly parse multiline comments in testcases when the ending triple double quotes are on the same line as the comment. Therefore, in the testcases, the ending triple double quotes must be on it's own line.
Double check the topo file for that specific test the nodes must be able to run that specific component (Mininet IP is targetting the machine with Mininet installed).
Enable passwordless logins between your nodes and the TestON node.
Visit our FAQ/Troubleshooting page on the ONOS Wiki.