TestON is a solution that aims to interact with OpenFlow/SDN components and automate the functionality of the components.
TestON is an end to end automation solution for testing the Openflow/SDN components run across various components in an OpenFlow topology. This solution aims to provide an automation framework that is not just exhaustive in coverage, but also makes it easy to debug and author scripts.
In order to run TestON, you must have:
-
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. It can be installed as :$ sudo pip install configObj
How to launch a test:
-
Navigate to the
bin/directory which resides in theTestON/directory:$ ./cli.py teston> run SAMPstartTemplate_1nodeor
$ ./cli.py run SAMPstartTemplate_1node
For more examples, refer to the TestON/tests/SAMP/ directory.
Check out the ONOS Wiki for guides in creating a test.
- Documentation can be auto generated by running the generate-docs.sh script in the TestON directory.
- Auto generated Documentation can be found in the Documentation folder.
- index.html is the home page.
Corresponding logs for the executed test or example will be available in ~/logs/
This container image is based on Ubuntu 18.04 and contains the following tools/packages:
- OpenSSH server and client
- Kubectl (v1.22.1)
- Python2 and pip
- Curl
- Supervisor (To start sshd)
By default, an user jenkins will be creted with password jenkins.
To build the container image:
./docker/build.sh [--wk] [--di] [--jenkins jenkins-url jenkins-node]To include user's SSH keys, use --wk option.
To include DeepInsight API utility, add --di option.
For some tests, you need to include config files such as Kubernetes POD config.
You can copy them to the docker/fs/ directory before building it.
To add Jenkins support, use --jenkins option with the Jenkins URL and node name, for example:
./build.sh --jenkins jenkins.myproject.org compute-node-1
You also need to place secret.txt with Jenkins secret under docker/fs/home/jenkins/ directory.
A new container image called teston:latest will be created after build.
Use the following command to start the container:
docker compose up -dTo attach to the test on shell:
docker compose exec -it teston-node bashTo stop the container:
docker compose down