tree: d9e39b02cbb7d3ee52f8f0e13f6cb9195a5f8e2b [path history] [tgz]
  1. .project
  2. .pydevproject
  3. Documentation/
  4. JenkinsFile/
  5. README.md
  6. TAI/
  7. __init__.py
  8. bin/
  9. config/
  10. core/
  11. docker/
  12. drivers/
  13. examples/
  14. generate-docs.sh
  15. install.sh
  16. lib/
  17. logs/
  18. requirements.txt
  19. setup.cfg
  20. tests/
TestON/README.md

Welcome to TestON !

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.

Test Launch

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 the TestON/ directory:

    $ ./cli.py
    teston> run SAMPstartTemplate_1node
    

    or

    $ ./cli.py run SAMPstartTemplate_1node
    

Examples

For more examples, refer to the TestON/tests/SAMP/ directory. Check out the ONOS Wiki for guides in creating a test.

Documents

  • 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.

Note

Corresponding logs for the executed test or example will be available in ~/logs/

TestON Docker container

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]

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.

A new container image called teston will be created after build.

Use the following command to start the container:

./docker/start.sh

This command will start a container with name teston and listen on TCP port 2222 that allows users to connect it via ssh.

The command will also start a bash shell with user jenkins. Exit this shell to stop the container.