diff --git a/libraries/voltctl.robot b/libraries/voltctl.robot
index adca1fe..d7dc48a 100644
--- a/libraries/voltctl.robot
+++ b/libraries/voltctl.robot
@@ -40,6 +40,30 @@
     ${rc}    ${output}=    Run and Return Rc and Output    ${VOLTCTL_CONFIG}; voltctl device enable ${device_id}
     Should Be Equal As Integers    ${rc}    0
 
+Get Device Flows from Voltha
+    [Arguments]    ${device_id}
+    ${rc}    ${output}=    Run and Return Rc and Output    ${VOLTCTL_CONFIG}; voltctl device flows ${device_id}
+    Should Be Equal As Integers    ${rc}    0
+    [Return]    ${output}
+
+Get Logical Device Output from Voltha
+    [Arguments]    ${device_id}
+    ${rc1}    ${flows}=    Run and Return Rc and Output    ${VOLTCTL_CONFIG}; voltctl logicaldevice flows ${device_id}
+    ${rc2}    ${ports}=    Run and Return Rc and Output    ${VOLTCTL_CONFIG}; voltctl logicaldevice ports ${device_id}
+    Log    ${flows}
+    Log    ${ports}
+    Should Be Equal As Integers    ${rc1}    0
+    Should Be Equal As Integers    ${rc2}    0
+
+Get Device Output from Voltha
+    [Arguments]    ${device_id}
+    ${rc1}    ${flows}=    Run and Return Rc and Output    ${VOLTCTL_CONFIG}; voltctl device flows ${device_id}
+    ${rc2}    ${ports}=    Run and Return Rc and Output    ${VOLTCTL_CONFIG}; voltctl device ports ${device_id}
+    Log    ${flows}
+    Log    ${ports}
+    Should Be Equal As Integers    ${rc1}    0
+    Should Be Equal As Integers    ${rc2}    0
+
 Validate Device
     [Arguments]    ${serial_number}    ${admin_state}    ${oper_status}    ${connect_status}    ${onu_reason}=${EMPTY}    ${onu}=False
     [Documentation]    Parses the output of "voltctl device list" and inspects device ${serial_number}
@@ -76,6 +100,20 @@
     \    Run Keyword If    '${sn}' == '${serial_number}'    Exit For Loop
     [Return]    ${id}
 
+Get Logical Device ID From SN
+    [Arguments]    ${serial_number}
+    [Documentation]    Gets the device id by matching for ${serial_number}
+    ${output}=    Run    ${VOLTCTL_CONFIG}; voltctl device list -o json
+    ${jsondata}=    To Json    ${output}
+    Log    ${jsondata}
+    ${length}=    Get Length    ${jsondata}
+    : FOR    ${INDEX}    IN RANGE    0    ${length}
+    \    ${value}=    Get From List    ${jsondata}    ${INDEX}
+    \    ${id}=    Get From Dictionary    ${value}    parentid
+    \    ${sn}=    Get From Dictionary    ${value}    serialnumber
+    \    Run Keyword If    '${sn}' == '${serial_number}'    Exit For Loop
+    [Return]    ${id}
+
 Validate Device Removed
     [Arguments]    ${id}
     [Documentation]    Verifys that device, ${serial_number}, has been removed
@@ -88,4 +126,4 @@
     \    ${value}=    Get From List    ${jsondata}    ${INDEX}
     \    ${device_id}=    Get From Dictionary    ${value}    id
     \    Append To List    ${ids}    ${device_id}
-    List Should Not Contain Value    ${ids}    ${id}
\ No newline at end of file
+    List Should Not Contain Value    ${ids}    ${id}
diff --git a/tests/Voltha_PODTests.robot b/tests/Voltha_PODTests.robot
index 6801228..d73437d 100644
--- a/tests/Voltha_PODTests.robot
+++ b/tests/Voltha_PODTests.robot
@@ -22,11 +22,11 @@
 Library           OperatingSystem
 Library           XML
 Library           RequestsLibrary
-Library           %{HOME}/voltha/tests/atests/common/testCaseUtils.py
-Resource          %{HOME}/cord-tester/src/test/cord-api/Framework/Subscriber.robot
-Resource          %{HOME}/cord-tester/src/test/cord-api/Framework/OLT.robot
-Resource          %{HOME}/cord-tester/src/test/cord-api/Framework/DHCP.robot
-Resource          %{HOME}/cord-tester/src/test/cord-api/Framework/Kubernetes.robot
+Library           ../../voltha/tests/atests/common/testCaseUtils.py
+Resource          ../../cord-tester/src/test/cord-api/Framework/Subscriber.robot
+Resource          ../../cord-tester/src/test/cord-api/Framework/Voltha_OLT.robot
+Resource          ../../cord-tester/src/test/cord-api/Framework/DHCP.robot
+Resource          ../../cord-tester/src/test/cord-api/Framework/Kubernetes.robot
 Resource          ../libraries/onos.robot
 Resource          ../libraries/voltctl.robot
 Resource          ../libraries/utils.robot
@@ -43,6 +43,7 @@
 ${timeout}          90s
 ${num_onus}         1
 ${of_id}            0
+${logical_id}            0
 
 *** Test Cases ***
 Sanity E2E Test for OLT/ONU on POD
@@ -104,22 +105,25 @@
 
 Setup
     #create/preprovision device
-    ${olt_device_id}=    Create Device    ${olt_ip}    ${OLT_PORT}
-    Set Suite Variable    ${olt_device_id}
+    #${olt_device_id}=    Create Device    ${olt_ip}    ${OLT_PORT}
+    #Set Suite Variable    ${olt_device_id}
     #enable device
-    Enable Device    ${olt_device_id}
+    #Enable Device    ${olt_device_id}
     #validate olt states
     Wait Until Keyword Succeeds    60s    5s    Validate Device    ${olt_serial_number}    ENABLED    ACTIVE    REACHABLE
     #validate onu states
-    Wait Until Keyword Succeeds    60s    5s    Validate Device    ${onu_serial_number}    ENABLED    ACTIVE    REACHABLE    onu=True    onu_reason=tech-profile-config-download-success
+    #Wait Until Keyword Succeeds    60s    5s    Validate Device    ${onu_serial_number}    ENABLED    ACTIVE    REACHABLE    onu=True    onu_reason=tech-profile-config-download-success
     #get onu device id
     ${onu_device_id}=    Get Device ID From SN    ${onu_serial_number}
     Set Suite Variable    ${onu_device_id}
+    ${logical_id}=    Get Logical Device ID From SN    ${olt_serial_number}
+    Set Suite Variable    ${logical_id}
 
 Teardown
     [Documentation]    kills processes and cleans up interfaces on src+dst servers
-    Get VOLTHA Status
-    Get ONOS Status
+    Get Device Output from Voltha    ${of_id}
+    Get Logical Device Output from Voltha    ${logical_id}
+    Get ONOS Command output    ${k8s_node_ip}
     Clean Up Linux
     Log Kubernetes Containers Logs Since Time    ${datetime}    ${container_list}
 
