Control Plane Testing ********************* TestON Setup ============ Setup ONOS Cluster ------------------ Follow instructions in `Install ONOS Controller <../installation.html#install-controller-onos>`_ to setup and run ONOS cluster Setup Mininet Environment ------------------------- - Clone Mininet and run the install script .. code-block:: console $ 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 - Follow `Trellis in a Box `_ to install Trellis dependencies, such as DHCP server and Quagga. .. note:: If DHCP server does not properly run because of a permission error, please see `this `_ to solve the problem. - Set environment variables as described in `Create a Cell File <../installation.html#create-a-cell-file>`_ Setup Test Station ------------------ - Follow `TestON installation guide `_ to install TestON - (Optional) Add ``OnosSystemTest/TestON/bin`` to ``$PATH`` for convenience Run Tests ========= Before you run any test, it is recommended to run cleanup script to kill any TestON, ssh, and Mininet sessions that are running. .. code-block:: console cd ~/OnosSystemTest/TestON/bin ./cleanup.sh Fabric-related tests are located in ``OnosSystemTest/TestON/tests/USECASE/SegmentRouting/``. Each individual test can be run by executing ``cli.py`` script with test name. For example: .. code-block:: console cd ~/OnosSystemTest/TestON/bin ./cli.py run SRSanity Test Plan ========= Topology -------- - 0x1 single ToR - 0x2 dual-homed ToR - 2x2 leaf-spine - 2x4 leaf-spine with dual-homed ToR - 2x3 leaf-spine with dual-homed ToR on one leaf - 2x5 topology with spines S0 and S1, and leafs L0, L1, L2, L3, L4 - L1+L2 and L3+L4 are paired switches. - All spine links with L1-4 are double links. - Hosts take IPs with dhcp and there exist 2 external routers. - Hosts can use ipv4 or ipv6. - We configure untagged/tagged single/dual home hosts in order to test every possible combination. - Most of the hosts reside in different ip subnets. Tests Steps ----------- - Configure and install ONOS - Start Mininet and check flow state - Test connectivity - pingall - (Optional) ``ping 10.0.99.2`` to check external IPv4 connectivity - (Optional) ``ping6 2000:9902`` to check external IPv6 connectivity - Additional actions and tests defined in each individual test case Test Cases ---------- .. csv-table:: :file: ../tables/testing-plan.csv :widths: 1, 2, 6, 1, 1, 2, 1 :header-rows: 1 Test Results ============ ONF runs all Mininet based Trellis tests nightly. Test results are automatically published `here `_