Added support to Power Cycle OLT at the beginning of the functional test suite (as Cleanup) for ATT, DT and TT workflows

Change-Id: Ie2b618a2428210e58fcca68c179587c67fab7d18
diff --git a/tests/functional/Voltha_PODTests.robot b/tests/functional/Voltha_PODTests.robot
index 091c479..f57406c 100755
--- a/tests/functional/Voltha_PODTests.robot
+++ b/tests/functional/Voltha_PODTests.robot
@@ -54,6 +54,8 @@
 ${has_dataplane}    True
 ${teardown_device}    False
 ${scripts}        ../../scripts
+# flag to reboot OLT through Power Switch
+${power_cycle_olt}    False
 
 # For dataplane bandwidth testing
 ${upper_margin_pct}      105     # Allow 5% over the limit
@@ -69,24 +71,15 @@
 ${logging}    True
 
 *** Test Cases ***
-Reboot ONUs Physically
-    [Documentation]   This test reboots ONUs physically before execution all the tests
+Reboot ONUs and OLTs Physically
+    [Documentation]   This test reboots ONUs and OLTs physically before execution all the tests
     ...    Test case runs only on the PODs that are configured with PowerSwitch that
     ...    controls the power off/on ONUs/OLT remotely (simulating a physical reboot)
-    [Tags]    functional   PowerSwitch    RebootAllONUs
-    [Setup]    Start Logging    RebootAllONUs
+    [Tags]    functional   PowerSwitch    RebootAllONUsOLTs
+    [Setup]    Start Logging    RebootAllONUsOLTs
     [Teardown]    Run Keywords    Collect Logs
-    ...           AND             Stop Logging    RebootAllONUs
-    Power Switch Connection Suite    ${web_power_switch.ip}    ${web_power_switch.user}    ${web_power_switch.password}
-    FOR    ${I}    IN RANGE    0    ${num_all_onus}
-        ${src}=    Set Variable    ${hosts.src[${I}]}
-        ${dst}=    Set Variable    ${hosts.dst[${I}]}
-        # If the power switch port is not specified, continue
-        Continue For Loop If    '${src["power_switch_port"]}' == '${None}'
-        Disable Switch Outlet    ${src['power_switch_port']}
-        Sleep    10s
-        Enable Switch Outlet    ${src['power_switch_port']}
-    END
+    ...           AND             Stop Logging    RebootAllONUsOLTs
+    Perform Reboot ONUs and OLTs Physically    ${power_cycle_olt}
 
 Sanity E2E Test for OLT/ONU on POD
     [Documentation]    Validates E2E Ping Connectivity and object states for the given scenario: