Coder Social home page Coder Social logo

stevenchiu30801 / onossystemtest Goto Github PK

View Code? Open in Web Editor NEW

This project forked from opennetworkinglab/onossystemtest

0.0 1.0 0.0 17.51 MB

Open Networking Lab Test Repository

Python 79.02% Shell 0.51% RobotFramework 0.34% Groovy 2.90% R 3.85% JavaScript 4.29% CSS 0.25% HTML 0.04% Java 8.44% Lex 0.37%

onossystemtest's Introduction

TestON: Testing Infastructure by Paxterra and Open Networking Foundation

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.

Quick Setup

  1. Clone OnosSystemTest from ONOS Gerrit:

    $ git clone https://gerrit.onosproject.org/OnosSystemTest
    
  2. Run the installation script:

    $ cd OnosSystemTest/TestON
    $ ./install.sh
    

Dependencies

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

    1. Erlang R15B, R16B, R17 - if possible please use R17
    $ sudo apt-get install erlang
    
    1. libpcap-dev package if eth interfaces will be used
    $ 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
    

Tests

The tests are all located in TestON/tests/. Each test has its own folder with the following files:

  • .py file:

    • This defines the cases and sequence of events for the test.
  • .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.

Running TestON

  1. TestON must be run from its bin directory:

    $ cd TestON/bin
    
  2. To run a test:

    $ ./cli.py run SAMPstartTemplate_1node
    

Code Style

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.

Troubleshooting

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

onossystemtest's People

Contributors

jhall11 avatar yoooou avatar andrewonlab avatar dlim15 avatar shahshreya avatar kelvin-onlab avatar zyp8884625 avatar onlabjenkins avatar castroflavio avatar sanghoshin avatar alisonshu avatar kkhalasi avatar ahassany avatar srikanthvavila avatar jonghwanhyun avatar timlindberg avatar pierventre avatar kaouthera avatar lanqinglong avatar stevenchiu30801 avatar jyl11002 avatar pichuang avatar subh007 avatar zhanghaoyu7 avatar onlab-qa avatar sunyulin avatar sathishm91 avatar antonysilvester avatar bocon13 avatar charlesmcchan avatar

Watchers

James Cloos avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.