[WIP] Add docs for fabric testing

Change-Id: I7045977b482d498f1225b582812974e39e85d947
diff --git a/dict.txt b/dict.txt
index 8403871..91da925 100644
--- a/dict.txt
+++ b/dict.txt
@@ -1,5 +1,7 @@
 Ansible
 BMC
+BMv2
+CLI
 ENB
 Epyc
 DNS
@@ -13,6 +15,7 @@
 LTE
 Menlo
 Menlo Park
+Mininet
 ONOS
 PFCP
 Sercomm
@@ -41,6 +44,7 @@
 etcd
 ethernet
 gerrit
+gNMI
 iPXE
 jjb
 kubectl
diff --git a/index.rst b/index.rst
index 7644781..bcd7be7 100644
--- a/index.rst
+++ b/index.rst
@@ -44,6 +44,7 @@
    testing/about_system_tests
    testing/acceptance_specification
    testing/pdp_testing
+   testing/fabric_testing
 
 .. toctree::
    :maxdepth: 1
diff --git a/testing/fabric_testing.rst b/testing/fabric_testing.rst
new file mode 100644
index 0000000..e566f14
--- /dev/null
+++ b/testing/fabric_testing.rst
@@ -0,0 +1,83 @@
+..
+   SPDX-FileCopyrightText: © 2021 Open Networking Foundation <support@opennetworking.org>
+   SPDX-License-Identifier: Apache-2.0
+
+Fabric Testing
+==============
+
+
+Test Framework
+--------------
+
+We use `TestON`_ to connect to and manipulate different test components using CLI or REST
+API. These tests use a common set of library functions for Segment Routing testing to
+make writing new tests easier. For Aether, we are porting our existing set of Segment
+Routing functionality tests written for Mininet to using Stratum hardware switches.
+
+We use Jenkins to schedule and trigger our tests which run against either the QA Pod or
+the Staging Pod.
+
+Resources:
+^^^^^^^^^^
+
+#. `ONOS System Test Guide`_
+#. `Segment Routing Funcationality Test Plan`_
+
+Integration Testing
+-------------------
+
+We are in the process of moving existing functionality tests to written for OVS or BMv2
+software switches running in Mininet to running on hardware switches, starting with
+bridging and routing functionality. These tests will run nightly on the QA Pod.
+
+Failure/Recovery Performance Testing
+------------------------------------
+
+We run several experiments every night on the Staging Pod and measure the performance of
+Aether during the experiment.
+The test job can be found in Aether Jenkins under `tost-teston-staging-nightly`.
+
+#. Port Down/Up
+
+    * **Summary**: Uses onos CLI `portstate` command to send gNMI request to disable/enable
+      a port on a leaf leading to a spine. There are two versions of this test, one on the
+      access leaf and one on the upstream leaf.
+
+    * **Test code**:
+
+       * `Access Leaf Port Failure/Recovery Test`_
+
+       * `Upstream Leaf Port Failure/Recovery Test`_
+
+#. Stratum Agent Stop/Start
+
+    * **Summary**: Uses Kubernetes to delete/restart the stratum pod on a spine
+
+    * **Test code**:
+
+       * `Stratum Restart Test`_
+
+#. ONL Shutdown/Startup
+
+    * **Summary**: Restart ONL on a spine
+
+    * **Test code**:
+
+       * `ONL Reboot Test`_
+
+#. ONOS Node Reboot
+
+    * **Summary**: Restart each ONOS node in the cluster one by one
+
+    * **Test code**: To be implemented
+
+        * `Rolling ONOS Restart Test`_
+
+.. _TestON: https://github.com/opennetworkinglab/OnosSystemTest
+.. _ONOS System Test Guide: https://wiki.onosproject.org/display/ONOS/System+Testing+Guide
+.. _Segment Routing Funcationality Test Plan: https://wiki.opencord.org/display/CORD/Test+Plan+-+Fabric+Control
+.. _Access Leaf Port Failure/Recovery Test: https://github.com/opennetworkinglab/OnosSystemTest/tree/master/TestON/tests/USECASE/SegmentRouting/SRStaging/SReNBLeafSpinePortstateFailure
+.. _Upstream Leaf Port Failure/Recovery Test: https://github.com/opennetworkinglab/OnosSystemTest/tree/master/TestON/tests/USECASE/SegmentRouting/SRStaging/SRupstreamLeafSpinePortstateFailure
+.. _Stratum Restart Test: https://github.com/opennetworkinglab/OnosSystemTest/tree/master/TestON/tests/USECASE/SegmentRouting/SRStaging/SRstratumRestart
+.. _ONL Reboot Test: https://github.com/opennetworkinglab/OnosSystemTest/tree/master/TestON/tests/USECASE/SegmentRouting/SRStaging/SRONLReboot
+.. _Rolling ONOS Restart Test: https://github.com/opennetworkinglab/OnosSystemTest/tree/master/TestON/tests/USECASE/SegmentRouting/SRStaging/SRrollingRestart