commit | f89c855994e284f140befa5b438153d48c48c86d | [log] [tgz] |
---|---|---|
author | Jon Hall <jhall@onlab.us> | Wed Apr 02 13:14:06 2014 -0700 |
committer | admin <admin@StcTestStation.localdomain> | Wed Apr 02 13:14:06 2014 -0700 |
tree | 21b99a36e879583e3bb94e44a7303174aca28a6c | |
parent | 515b4e56b994e38f818d974e329811fea700388c [diff] |
Refactor ONOS Drivers Changes include: Include component handle in log messages Replace carriage returns with new line characters Remove static IP addresses and passwords Add exception handling to prevent TestON crashes Delete old tests and duplicate files Onoscli driver Remove assert from isup() Parameterize REST port and set default to 8080 Add ONOS home directory, default to ~/ONOS Merge onosrestapidriver.py into onosclidriver.py Remove ctrl_one and ctrl_none functions Improve git_pull() error checking Parameterize the interface for tcpdump Print more information in get_version Parameterize the scp source username and password for add_flow Remove Link_up and Link_down - see link() in mininet driver Mininet Driver assign_sw_controller takes COUNT to indicate how many controllers to assign to a switch - requires change to each test that uses this function to assign more than 1 controller to a switch remove static password doubled timeout for cleanup(larger networks can take longer to clean) Zookeeper Driver Remove start() call from connect() add Zookeeper home directory, with default as ~/zookeeper-3.4.5 Cassandra Driver Improve logic of status function Check if self is up in isup instead of 4 instances running
TestON is the testing platform that all the ONOS tests are being run on curretly.
Pull the git repo from https://github.com/OPENNETWORKINGLAB/ONLabTest.git
$ git clone https://github.com/OPENNETWORKINGLAB/ONLabTest.git
Make a symbolic link for TestON on the HOMEDIR Execute the following from the home directory
$ ln -s ONLabTest/TestON TestON
Make sure python path is correct
$ export PYTHONPATH={PATH TO HOMEDIR}/TestON/
$ echo $PYTHONPATH
Zookeeper
Cassandra
ONOS
Mininet
Install python packages configObj and pexpect. they can be installed as :
$ sudo pip install configObj
$ sudo easy_install pexpect
Config file at TestON/config/teston.cfg
Change the file paths to the appropriate paths
The .topo file for each test
Must change the IPs/login/etc to point to the nodes you want to run on
TestON must be ran from its bin directory
$ cd TestON/bin
Launch cli
$ ./cli.py
Run the test
teston> run MininetTest
The tests are all located it TestON/tests/ Each test has its own folder with the following files:
.ospk file
This is written in Openspeak, an word based language developed by Paxterra.
It defines the cases and sequence of events for the test
.py file
This file serves the same exact function as the openspeak file.
It will only be used if there is NO .ospk file, so if you like python, delete or rename the .ospk 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 uesd in the openspeak or python files.
.params file
Defines all the test-specific variables that are used by the test.
NOTE: The variable testcases
which defines which testcases run when the test is ran.
Here are a few things to check if it doesn't work
Double check the topo file for that specific test the nodes must be able to run that specific component ( Mininet IP -> machine with mn installed)
Enable passwordless logins between your nodes and the TestON node.