Merge "Added more fix on key errors and add delay after activating fwd app"
diff --git a/TestON/core/teston.py b/TestON/core/teston.py
index 3b89282..067d268 100644
--- a/TestON/core/teston.py
+++ b/TestON/core/teston.py
@@ -222,7 +222,7 @@
         self.CurrentTestCase = ""
         self.stepResults = []
         self.stepName = ""
-        self.caseExplaination = ""
+        self.caseExplanation = ""
         result = self.TRUE
         self.stepCount = 0
         self.EXPERIMENTAL_MODE = self.FALSE
@@ -256,8 +256,8 @@
                 self.CASERESULT = self.NORESULT
             self.testCaseResult[str(self.CurrentTestCaseNumber)] = self.CASERESULT
             self.logger.updateCaseResults(self)
-            self.log.wiki( "<p>" + self.caseExplaination + "</p>" )
-            self.log.summary( self.caseExplaination )
+            self.log.wiki( "<p>" + self.caseExplanation + "</p>" )
+            self.log.summary( self.caseExplanation )
             self.log.wiki( "<ul>" )
             for line in self.stepCache.splitlines():
                 if re.search( " - PASS$", line ):
diff --git a/TestON/tests/FUNCintent/FUNCintent.py b/TestON/tests/FUNCintent/FUNCintent.py
index 17a0f5e..b1577ad 100644
--- a/TestON/tests/FUNCintent/FUNCintent.py
+++ b/TestON/tests/FUNCintent/FUNCintent.py
@@ -26,7 +26,7 @@
 
         main.case( "Constructing test variables and building ONOS package" )
         main.step( "Constructing test variables" )
-        main.caseExplaination = "This test case is mainly for loading " +\
+        main.caseExplanation = "This test case is mainly for loading " +\
                                "from params file, and pull and build the " +\
                                " latest ONOS package"
         stepResult = main.FALSE
@@ -121,7 +121,7 @@
 
         main.case( "Starting up " + str( main.numCtrls ) +
                    " node(s) ONOS cluster" )
-        main.caseExplaination = "Set up ONOS with " + str( main.numCtrls ) +\
+        main.caseExplanation = "Set up ONOS with " + str( main.numCtrls ) +\
                                 " node(s) ONOS cluster"
 
 
@@ -239,7 +239,7 @@
         main.OFProtocol = "1.0"
         main.log.report( "Start Mininet topology with OF 1.0 switches" )
         main.case( "Start Mininet topology with OF 1.0 switches" )
-        main.caseExplaination = "Start mininet topology with OF 1.0 " +\
+        main.caseExplanation = "Start mininet topology with OF 1.0 " +\
                                 "switches to test intents, exits out if " +\
                                 "topology did not start correctly"
 
@@ -265,7 +265,7 @@
         main.OFProtocol = "1.3"
         main.log.report( "Start Mininet topology with OF 1.3 switches" )
         main.case( "Start Mininet topology with OF 1.3 switches" )
-        main.caseExplaination = "Start mininet topology with OF 1.3 " +\
+        main.caseExplanation = "Start mininet topology with OF 1.3 " +\
                                 "switches to test intents, exits out if " +\
                                 "topology did not start correctly"
 
@@ -292,7 +292,7 @@
 
         main.case( "Assign switches to controllers" )
         main.step( "Assigning switches to controllers" )
-        main.caseExplaination = "Assign OF " + main.OFProtocol +\
+        main.caseExplanation = "Assign OF " + main.OFProtocol +\
                                 " switches to ONOS nodes"
 
         assignResult = main.TRUE
@@ -347,7 +347,7 @@
         """
         main.log.report( "Stop Mininet topology" )
         main.case( "Stop Mininet topology" )
-        main.caseExplaination = "Stopping the current mininet topology " +\
+        main.caseExplanation = "Stopping the current mininet topology " +\
                                 "to start up fresh"
 
         main.step( "Stopping Mininet Topology" )
@@ -396,7 +396,7 @@
         intentLeadersOld = main.CLIs[ 0 ].leaderCandidates()
 
         main.case( "TESTING HOST INTENTS" )
-        main.caseExplaination = "This test case tests Host intents using " +\
+        main.caseExplanation = "This test case tests Host intents using " +\
                                 str( main.numCtrls ) + " node(s) cluster;\n" +\
                                 "Different type of hosts will be tested in " +\
                                 "each step such as IPV4, Dual stack, VLAN " +\
@@ -537,7 +537,7 @@
                                 main.numSwitch"
 
         main.case( "TESTING POINT INTENTS" )
-        main.caseExplaination = "This test case will test point to point" +\
+        main.caseExplanation = "This test case will test point to point" +\
                                " intents using " + str( main.numCtrls ) +\
                                " node(s) cluster;\n" +\
                                "Different type of hosts will be tested in " +\
@@ -782,7 +782,7 @@
                                 main.numSwitch"
 
         main.case( "TESTING SINGLE TO MULTI POINT INTENTS" )
-        main.caseExplaination = "This test case will test single point to" +\
+        main.caseExplanation = "This test case will test single point to" +\
                                " multi point intents using " +\
                                str( main.numCtrls ) + " node(s) cluster;\n" +\
                                "Different type of hosts will be tested in " +\
@@ -911,7 +911,7 @@
                                 main.numSwitch"
 
         main.case( "TESTING MULTI TO SINGLE POINT INTENTS" )
-        main.caseExplaination = "This test case will test single point to" +\
+        main.caseExplanation = "This test case will test single point to" +\
                                " multi point intents using " +\
                                str( main.numCtrls ) + " node(s) cluster;\n" +\
                                "Different type of hosts will be tested in " +\
diff --git a/TestON/tests/HAclusterRestart/HAclusterRestart.py b/TestON/tests/HAclusterRestart/HAclusterRestart.py
index 755a89c..ce2f27e 100644
--- a/TestON/tests/HAclusterRestart/HAclusterRestart.py
+++ b/TestON/tests/HAclusterRestart/HAclusterRestart.py
@@ -50,7 +50,7 @@
         main.log.info( "ONOS HA test: Restart all ONOS nodes - " +
                          "initialization" )
         main.case( "Setting up test environment" )
-        main.caseExplaination = "Setup the test environment including " +\
+        main.caseExplanation = "Setup the test environment including " +\
                                 "installing ONOS, starting Mininet and ONOS" +\
                                 "cli sessions."
         # TODO: save all the timers and output them for plotting
@@ -282,7 +282,7 @@
         assert ONOS7Port, "ONOS7Port not defined"
 
         main.case( "Assigning devices to controllers" )
-        main.caseExplaination = "Assign switches to ONOS using 'ovs-vsctl' " +\
+        main.caseExplanation = "Assign switches to ONOS using 'ovs-vsctl' " +\
                                 "and check that an ONOS node becomes the " +\
                                 "master of the device."
         main.step( "Assign switches to controllers" )
@@ -336,7 +336,7 @@
         assert ONOS7Port, "ONOS7Port not defined"
 
         main.case( "Assigning Controller roles for switches" )
-        main.caseExplaination = "Check that ONOS is connected to each " +\
+        main.caseExplanation = "Check that ONOS is connected to each " +\
                                 "device. Then manually assign" +\
                                 " mastership to specific ONOS nodes using" +\
                                 " 'device-role'"
@@ -463,7 +463,7 @@
         # NOTE: we must reinstall intents until we have a persistant intent
         #        datastore!
         main.case( "Adding host Intents" )
-        main.caseExplaination = "Discover hosts by using pingall then " +\
+        main.caseExplanation = "Discover hosts by using pingall then " +\
                                 "assign predetermined host-to-host intents." +\
                                 " After installation, check that the intent" +\
                                 " is distributed to all nodes and the state" +\
@@ -859,7 +859,7 @@
         assert CLIs, "CLIs not defined"
         assert nodes, "nodes not defined"
         main.case( "Verify connectivity by sendind traffic across Intents" )
-        main.caseExplaination = "Ping across added host intents to check " +\
+        main.caseExplanation = "Ping across added host intents to check " +\
                                 "functionality and check the state of " +\
                                 "the intent"
         main.step( "Ping across added host intents" )
@@ -2132,7 +2132,7 @@
         assert nodes, "nodes not defined"
 
         main.case( "Compare ONOS Topology view to Mininet topology" )
-        main.caseExplaination = "Compare topology objects between Mininet" +\
+        main.caseExplanation = "Compare topology objects between Mininet" +\
                                 " and ONOS"
 
         main.step( "Comparing ONOS topology to MN" )
@@ -3012,7 +3012,7 @@
         description = "Check for basic functionality with distributed " +\
                       "primitives"
         main.case( description )
-        main.caseExplaination = "Test the methods of the distributed primitives (counters and sets) throught the cli"
+        main.caseExplanation = "Test the methods of the distributed primitives (counters and sets) throught the cli"
         # DISTRIBUTED ATOMIC COUNTERS
         main.step( "Increment and get a default counter on each node" )
         pCounters = []
diff --git a/TestON/tests/HAminorityRestart/HAminorityRestart.py b/TestON/tests/HAminorityRestart/HAminorityRestart.py
index a7f7303..8ff185a 100644
--- a/TestON/tests/HAminorityRestart/HAminorityRestart.py
+++ b/TestON/tests/HAminorityRestart/HAminorityRestart.py
@@ -50,7 +50,7 @@
         main.log.info( "ONOS HA test: Restart minority of ONOS nodes - " +
                          "initialization" )
         main.case( "Setting up test environment" )
-        main.caseExplaination = "Setup the test environment including " +\
+        main.caseExplanation = "Setup the test environment including " +\
                                 "installing ONOS, starting Mininet and ONOS" +\
                                 "cli sessions."
         # TODO: save all the timers and output them for plotting
@@ -277,7 +277,7 @@
         assert ONOS7Port, "ONOS7Port not defined"
 
         main.case( "Assigning devices to controllers" )
-        main.caseExplaination = "Assign switches to ONOS using 'ovs-vsctl' " +\
+        main.caseExplanation = "Assign switches to ONOS using 'ovs-vsctl' " +\
                                 "and check that an ONOS node becomes the " +\
                                 "master of the device."
         main.step( "Assign switches to controllers" )
@@ -331,7 +331,7 @@
         assert ONOS7Port, "ONOS7Port not defined"
 
         main.case( "Assigning Controller roles for switches" )
-        main.caseExplaination = "Check that ONOS is connected to each " +\
+        main.caseExplanation = "Check that ONOS is connected to each " +\
                                 "device. Then manually assign" +\
                                 " mastership to specific ONOS nodes using" +\
                                 " 'device-role'"
@@ -446,7 +446,7 @@
         assert CLIs, "CLIs not defined"
         assert nodes, "nodes not defined"
         main.case( "Adding host Intents" )
-        main.caseExplaination = "Discover hosts by using pingall then " +\
+        main.caseExplanation = "Discover hosts by using pingall then " +\
                                 "assign predetermined host-to-host intents." +\
                                 " After installation, check that the intent" +\
                                 " is distributed to all nodes and the state" +\
@@ -831,7 +831,7 @@
         assert CLIs, "CLIs not defined"
         assert nodes, "nodes not defined"
         main.case( "Verify connectivity by sendind traffic across Intents" )
-        main.caseExplaination = "Ping across added host intents to check " +\
+        main.caseExplanation = "Ping across added host intents to check " +\
                                 "functionality and check the state of " +\
                                 "the intent"
         main.step( "Ping across added host intents" )
@@ -2080,7 +2080,7 @@
         assert nodes, "nodes not defined"
 
         main.case( "Compare ONOS Topology view to Mininet topology" )
-        main.caseExplaination = "Compare topology objects between Mininet" +\
+        main.caseExplanation = "Compare topology objects between Mininet" +\
                                 " and ONOS"
 
         main.step( "Comparing ONOS topology to MN" )
@@ -2942,7 +2942,7 @@
         description = "Check for basic functionality with distributed " +\
                       "primitives"
         main.case( description )
-        main.caseExplaination = "Test the methods of the distributed primitives (counters and sets) throught the cli"
+        main.caseExplanation = "Test the methods of the distributed primitives (counters and sets) throught the cli"
         # DISTRIBUTED ATOMIC COUNTERS
         main.step( "Increment and get a default counter on each node" )
         pCounters = []
diff --git a/TestON/tests/HAsanity/HAsanity.py b/TestON/tests/HAsanity/HAsanity.py
index c223c3f..a8a939c 100644
--- a/TestON/tests/HAsanity/HAsanity.py
+++ b/TestON/tests/HAsanity/HAsanity.py
@@ -50,7 +50,7 @@
         """
         main.log.info( "ONOS HA Sanity test - initialization" )
         main.case( "Setting up test environment" )
-        main.caseExplaination = "Setup the test environment including " +\
+        main.caseExplanation = "Setup the test environment including " +\
                                 "installing ONOS, starting Mininet and ONOS" +\
                                 "cli sessions."
         # TODO: save all the timers and output them for plotting
@@ -278,7 +278,7 @@
         assert ONOS7Port, "ONOS7Port not defined"
 
         main.case( "Assigning devices to controllers" )
-        main.caseExplaination = "Assign switches to ONOS using 'ovs-vsctl' " +\
+        main.caseExplanation = "Assign switches to ONOS using 'ovs-vsctl' " +\
                                 "and check that an ONOS node becomes the " +\
                                 "master of the device."
         main.step( "Assign switches to controllers" )
@@ -332,7 +332,7 @@
         assert ONOS7Port, "ONOS7Port not defined"
 
         main.case( "Assigning Controller roles for switches" )
-        main.caseExplaination = "Check that ONOS is connected to each " +\
+        main.caseExplanation = "Check that ONOS is connected to each " +\
                                 "device. Then manually assign" +\
                                 " mastership to specific ONOS nodes using" +\
                                 " 'device-role'"
@@ -447,7 +447,7 @@
         assert CLIs, "CLIs not defined"
         assert nodes, "nodes not defined"
         main.case( "Adding host Intents" )
-        main.caseExplaination = "Discover hosts by using pingall then " +\
+        main.caseExplanation = "Discover hosts by using pingall then " +\
                                 "assign predetermined host-to-host intents." +\
                                 " After installation, check that the intent" +\
                                 " is distributed to all nodes and the state" +\
@@ -837,7 +837,7 @@
         assert CLIs, "CLIs not defined"
         assert nodes, "nodes not defined"
         main.case( "Verify connectivity by sendind traffic across Intents" )
-        main.caseExplaination = "Ping across added host intents to check " +\
+        main.caseExplanation = "Ping across added host intents to check " +\
                                 "functionality and check the state of " +\
                                 "the intent"
         main.step( "Ping across added host intents" )
@@ -2033,7 +2033,7 @@
         assert nodes, "nodes not defined"
 
         main.case( "Compare ONOS Topology view to Mininet topology" )
-        main.caseExplaination = "Compare topology objects between Mininet" +\
+        main.caseExplanation = "Compare topology objects between Mininet" +\
                                 " and ONOS"
 
         main.step( "Comparing ONOS topology to MN" )
@@ -2905,7 +2905,7 @@
         description = "Check for basic functionality with distributed " +\
                       "primitives"
         main.case( description )
-        main.caseExplaination = "Test the methods of the distributed primitives (counters and sets) throught the cli"
+        main.caseExplanation = "Test the methods of the distributed primitives (counters and sets) throught the cli"
         # DISTRIBUTED ATOMIC COUNTERS
         main.step( "Increment and get a default counter on each node" )
         pCounters = []
diff --git a/TestON/tests/HAsingleInstanceRestart/HAsingleInstanceRestart.py b/TestON/tests/HAsingleInstanceRestart/HAsingleInstanceRestart.py
index dad6099..8646c33 100644
--- a/TestON/tests/HAsingleInstanceRestart/HAsingleInstanceRestart.py
+++ b/TestON/tests/HAsingleInstanceRestart/HAsingleInstanceRestart.py
@@ -50,7 +50,7 @@
         main.log.info( "ONOS Single node cluster restart " +
                          "HA test - initialization" )
         main.case( "Setting up test environment" )
-        main.caseExplaination = "Setup the test environment including " +\
+        main.caseExplanation = "Setup the test environment including " +\
                                 "installing ONOS, starting Mininet and ONOS" +\
                                 "cli sessions."
         # TODO: save all the timers and output them for plotting
@@ -235,7 +235,7 @@
         assert utilities.assert_equals, "utilities.assert_equals not defined"
 
         main.case( "Assigning devices to controllers" )
-        main.caseExplaination = "Assign switches to ONOS using 'ovs-vsctl' " +\
+        main.caseExplanation = "Assign switches to ONOS using 'ovs-vsctl' " +\
                                 "and check that an ONOS node becomes the " +\
                                 "master of the device."
         main.step( "Assign switches to controllers" )
@@ -280,7 +280,7 @@
         assert nodes, "nodes not defined"
 
         main.case( "Assigning Controller roles for switches" )
-        main.caseExplaination = "Check that ONOS is connected to each " +\
+        main.caseExplanation = "Check that ONOS is connected to each " +\
                                 "device. Then manually assign" +\
                                 " mastership to specific ONOS nodes using" +\
                                 " 'device-role'"
@@ -360,7 +360,7 @@
         # NOTE: we must reinstall intents until we have a persistant intent
         #        datastore!
         main.case( "Adding host Intents" )
-        main.caseExplaination = "Discover hosts by using pingall then " +\
+        main.caseExplanation = "Discover hosts by using pingall then " +\
                                 "assign predetermined host-to-host intents." +\
                                 " After installation, check that the intent" +\
                                 " is distributed to all nodes and the state" +\
@@ -717,7 +717,7 @@
         assert main, "main not defined"
         assert utilities.assert_equals, "utilities.assert_equals not defined"
         main.case( "Verify connectivity by sendind traffic across Intents" )
-        main.caseExplaination = "Ping across added host intents to check " +\
+        main.caseExplanation = "Ping across added host intents to check " +\
                                 "functionality and check the state of " +\
                                 "the intent"
         main.step( "Ping across added host intents" )
@@ -1177,7 +1177,7 @@
             iCounterValue = 0
 
         main.case( "Restart ONOS node" )
-        main.caseExplaination = "Killing ONOS process and restart cli " +\
+        main.caseExplanation = "Killing ONOS process and restart cli " +\
                                 "sessions once onos is up."
         main.step( "Killing ONOS processes" )
         killResult = main.ONOSbench.onosKill( nodes[0].ip_address )
@@ -1414,7 +1414,7 @@
         assert utilities.assert_equals, "utilities.assert_equals not defined"
 
         main.case( "Compare ONOS Topology view to Mininet topology" )
-        main.caseExplaination = "Compare topology objects between Mininet" +\
+        main.caseExplanation = "Compare topology objects between Mininet" +\
                                 " and ONOS"
 
         main.step( "Comparing ONOS topology to MN" )
@@ -2027,7 +2027,7 @@
         description = "Check for basic functionality with distributed " +\
                       "primitives"
         main.case( description )
-        main.caseExplaination = "Test the methods of the distributed primitives (counters and sets) throught the cli"
+        main.caseExplanation = "Test the methods of the distributed primitives (counters and sets) throught the cli"
         # DISTRIBUTED ATOMIC COUNTERS
         main.step( "Increment and get a default counter on each node" )
         pCounters = []