Work In Progress


This documents describes how to set up fabric test environment for software data plane to run tests. 


Components needed: 

  • Test station: runs "OnosSystemTest/TestON"; optionally onos Bench and Mininet. 

    • Required: "OC" environment variables are configure in the host to run test scripts.

  • ONOS cells: each cell is running ONOS (the number of cells depends on the test cases. In this guide, we will use three cells.)

  • Mininet: running Mininet-emulated Trellis leaf-spine fabric and dependent components


Set up fabric test environment

  1. ONOS Cluster

    1. Follow ONOS installation guide to set up and run ONOS cluster.

  2. Mininet environment

    1. Clone Mininet and run the install script

      $ cd ~
      $ git clone https://github.com/jhall11/mininet.git      # Clone the repository
      $ cd mininet
      $ git branch -v -a                                      # Show all the remote repositories
      $ git checkout -b dynamic_topo origin/dynamic_topo      # Checkout the dynamic_topo repository
      $ cd util
      $ sudo ./install.sh -3fvn                               # Install OpenFlow 1.3, Open Vswitch and Mininet dependencies
    2. Install other Trellis related components
      1. Follow Trellis Leaf-Spine Fabric installation guide to install dependencies, DHCP server, Quagga. 
        1. NOTE: If DHCP server does not properly run because of a permission error, please see this to solve the problem. 
    3. Following environment variables need to be set
      1. ONOS_APPS=drivers,openflow,segmentrouting,fpm,dhcprelay,netcfghostprovider,routeradvertisement
      2. OC# (e.g., OC1, OC2, …): point to each cell running ONOS instance
      3. OCN: point to the station running mininet instance
      4. OCI: point to OC1
  3. Test Station
    1. Follow TestON installation guide to install TestON

    2. (Optional) Add OnosSystemTest/TestON/bin to $PATH for convenience

Running Tests

Before you run any test, it is recommended to run cleanup script to kill any TestON, ssh, and Mininet sessions that are running.

cd ~/OnosSystemTest/TestON/bin
./cleanup.sh

Fabric-related tests are in OnosSystemTest/TestON/tests/USECASE/SegmentRouting/.

(SRBridging, SRRouting, SRDhcprelay, SRMulticast, SRDynamicConf)

 

Each individual test can be run by executing cli.py script, with test name. 
Example: running SRSanity test
cd ~/OnosSystemTest/TestON/bin
./cli.py run SRSanity