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
ONOS Cluster
Follow ONOS installation guide to set up and run ONOS cluster.
Mininet environment
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
- Install other Trellis related components
- Follow Trellis Leaf-Spine Fabric installation guide to install dependencies, DHCP server, Quagga.
- NOTE: If DHCP server does not properly run because of a permission error, please see this to solve the problem.
- Follow Trellis Leaf-Spine Fabric installation guide to install dependencies, DHCP server, Quagga.
- Following environment variables need to be set
- ONOS_APPS=drivers,openflow,segmentrouting,fpm,dhcprelay,netcfghostprovider,routeradvertisement
- OC# (e.g., OC1, OC2, …): point to each cell running ONOS instance
- OCN: point to the station running mininet instance
- OCI: point to OC1
- Test Station
Follow TestON installation guide to install TestON
(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)
cd ~/OnosSystemTest/TestON/bin ./cli.py run SRSanity