diff --git a/libraries/utils.robot b/libraries/utils.robot
index db67643..4546d72 100644
--- a/libraries/utils.robot
+++ b/libraries/utils.robot
@@ -33,3 +33,13 @@
     ${kubectl_rc}=    Run And Return RC    ${KUBECTL_CONFIG}; kubectl get pods
     Run Keyword If    ${voltctl_rc} != 0 or ${kubectl_rc} != 0    FATAL ERROR
     ...    VOLTCTL and KUBECTL not configured. Please configure before executing tests.
+
+Send File To Onos
+    [Documentation]  Send the content of the file to Onos to selected section of configuration using Post Request
+    [Arguments]  ${CONFIG_FILE}  ${section}
+    ${Headers}=  Create Dictionary  Content-Type   application/json
+    ${File_Data}=   Get Binary File   ${CONFIG_FILE}
+    Log     ${Headers}
+    Log     ${File_Data}
+    ${resp}=   Post Request  ONOS  /onos/v1/network/configuration/${section}  headers=${Headers}   data=${File_Data}
+    Should Be Equal As Strings    ${resp.status_code}  200
diff --git a/libraries/voltctl.robot b/libraries/voltctl.robot
index 5600f06..1dc4f53 100644
--- a/libraries/voltctl.robot
+++ b/libraries/voltctl.robot
@@ -26,6 +26,15 @@
 Library           OperatingSystem
 
 *** Keywords ***
+Test Empty Device List
+    [Documentation]   Verify that there are no devices in the system
+    ${rc}  ${output}=    Run and Return Rc and Output    ${VOLTCTL_CONFIG}; voltctl device list -o json
+    Should Be Equal As Integers    ${rc}    0
+    ${jsondata}=    To Json    ${output}
+    Log    ${jsondata}
+    ${length}=    Get Length    ${jsondata}
+    [Return]  ${length}
+
 Create Device
     [Arguments]    ${ip}    ${port}
     [Documentation]    Creates a device in VOLTHA
@@ -69,11 +78,12 @@
     Should Be Equal As Integers    ${rc2}    0
 
 Validate Device
-    [Arguments]    ${serial_number}    ${admin_state}    ${oper_status}    ${connect_status}    ${onu_reasons}=${EMPTY}
-    ...    ${onu}=False
-    [Documentation]    Parses the output of "voltctl device list" and inspects device ${serial_number}
+    [Arguments]    ${admin_state}  ${oper_status}  ${connect_status}  ${serial_number}=${EMPTY}  ${device_id}=${EMPTY}
+    ...    ${onu_reason}=${EMPTY}   ${onu}=False
+    [Documentation]    Parses the output of "voltctl device list" and inspects device ${serial_number} and ${device_id}
     ...    Arguments are matched for device states of: "admin_state", "oper_status", and "connect_status"
-    ${output}=    Run    ${VOLTCTL_CONFIG}; voltctl device list -o json
+    ${rc}    ${output}=    Run and Return Rc and Output    ${VOLTCTL_CONFIG}; voltctl device list -o json
+    Should Be Equal As Integers    ${rc}    0
     ${jsondata}=    To Json    ${output}
     Log    ${jsondata}
     ${length}=    Get Length    ${jsondata}
@@ -83,15 +93,210 @@
         ${opstatus}=    Get From Dictionary    ${value}    operstatus
         ${cstatus}=    Get From Dictionary    ${value}    connectstatus
         ${sn}=    Get From Dictionary    ${value}    serialnumber
+        ${devId}=    Get From Dictionary    ${value}    id
         ${mib_state}=    Get From Dictionary    ${value}    reason
-        Run Keyword If    '${sn}' == '${serial_number}'    Exit For Loop
+        Run Keyword If    '${sn}' == '${serial_number}' or '${devId}' == '${device_id}'    Exit For Loop
     END
-    Should Be Equal    ${astate}    ${admin_state}    Device ${serial_number} admin_state != ENABLED    values=False
-    Should Be Equal    ${opstatus}    ${oper_status}    Device ${serial_number} oper_status != ACTIVE    values=False
-    Should Be Equal    ${cstatus}    ${connect_status}    Device ${serial_number} connect_status != REACHABLE
+    Should Be Equal    '${astate}'    '${admin_state}'    Device ${serial_number} admin_state != ${admin_state}
     ...    values=False
-    Run Keyword If    '${onu}' == 'True'    Should Contain    ${onu_reasons}    ${mib_state}
-    ...    Device ${serial_number} mib_state incorrect    values=False
+    Should Be Equal    '${opstatus}'   '${oper_status}'    Device ${serial_number} oper_status != ${oper_status}
+    ...    values=False
+    Should Be Equal    '${cstatus}'    '${connect_status}'    Device ${serial_number} conn_status != ${connect_status}
+    ...    values=False
+    Run Keyword If    '${onu}' == 'True'    Should Be Equal    '${mib_state}'    '${onu_reason}'
+    ...  Device ${serial_number} mib_state incorrect (${mib_state}) values=False
+
+Validate OLT Device
+    [Arguments]    ${admin_state}    ${oper_status}    ${connect_status}   ${serial_number}=${EMPTY}
+    ...    ${device_id}=${EMPTY}
+    [Documentation]    Parses the output of "voltctl device list" and inspects device ${serial_number} and/or
+    ...    ${device_id}   Match on OLT Serial number or Device Id and inspect states
+    Validate Device  ${admin_state}    ${oper_status}    ${connect_status}   ${serial_number}   ${device_id}
+
+Validate ONU Devices
+    [Arguments]    ${admin_state}    ${oper_status}    ${connect_status}    ${List_ONU_Serial}
+    [Documentation]    Parses the output of "voltctl device list" and inspects device  ${List_ONU_Serial}
+    ...    Iteratively match on each Serial number contained in ${List_ONU_Serial} and inspect
+    ...    states including MIB state
+    FOR   ${serial_number}  IN  @{List_ONU_Serial}
+        Validate Device    ${admin_state}    ${oper_status}    ${connect_status}    ${serial_number}
+    ...    onu_reason=omci-flows-pushed    onu=True
+    END
+
+Validate Device Port Types
+    [Arguments]    ${device_id}    ${pon_type}    ${ethernet_type}
+    [Documentation]    Parses the output of voltctl device ports <device_id> and matches the port types listed
+    ${rc}  ${output}=    Run and Return Rc and Output    ${VOLTCTL_CONFIG}; voltctl device ports ${device_id} -o json
+    Should Be Equal As Integers    ${rc}    0
+    ${jsondata}=    To Json    ${output}
+    Log    ${jsondata}
+    ${length}=    Get Length    ${jsondata}
+    FOR    ${INDEX}    IN RANGE    0    ${length}
+        ${value}=    Get From List    ${jsondata}    ${INDEX}
+        ${astate}=    Get From Dictionary    ${value}    adminstate
+        ${opstatus}=    Get From Dictionary    ${value}    operstatus
+        ${type}=    Get From Dictionary    ${value}    type
+        Should Be Equal    '${astate}'    'ENABLED'    Device ${device_id} port admin_state != ENABLED    values=False
+        Should Be Equal    '${opstatus}'    'ACTIVE'    Device ${device_id} port oper_status != ACTIVE    values=False
+        Should Be True    '${type}' == '${pon_type}' or '${type}' == '${ethernet_type}'
+    ...     Device ${device_id} port type is neither ${pon_type} or ${ethernet_type}
+    END
+
+Validate OLT Port Types
+    [Documentation]  Parses the output of voltctl device ports ${olt_device_id} and matches the port types listed
+    [Arguments]     ${pon_type}     ${ethernet_type}
+    Validate Device Port Types   ${olt_device_id}    ${pon_type}     ${ethernet_type}
+
+Validate ONU Port Types
+    [Arguments]     ${List_ONU_Serial}  ${pon_type}     ${ethernet_type}
+    [Documentation]  Parses the output of voltctl device ports for each ONU SN listed in ${List_ONU_Serial}
+    ...     and matches the port types listed
+    FOR    ${serial_number}    IN    @{List_ONU_Serial}
+        ${onu_dev_id}=    Get Device ID From SN    ${serial_number}
+        Validate Device Port Types    ${onu_dev_id}    ${pon_type}     ${ethernet_type}
+    END
+
+Validate Device Flows
+    [Arguments]    ${device_id}    ${test}=${EMPTY}
+    [Documentation]    Parses the output of voltctl device flows <device_id> and expects flow count > 0
+    ${rc}  ${output}=    Run and Return Rc and Output    ${VOLTCTL_CONFIG}; voltctl device flows ${device_id} -o json
+    Should Be Equal As Integers    ${rc}    0
+    ${jsondata}=    To Json    ${output}
+    Log    ${jsondata}
+    ${length}=    Get Length    ${jsondata}
+    Log    'Number of flows = ' ${length}
+    Run Keyword If    '${test}' == '${EMPTY}'    Should Be True    ${length} > 0
+    ...    Number of flows for ${device_id} was 0
+    ...    ELSE    Should Be True  ${length} == ${test}
+    ...    Number of flows for ${device_id} was not ${test}
+
+Validate OLT Flows
+    [Documentation]    Parses the output of voltctl device flows ${olt_device_id} and expects flow count > 0
+    Validate Device Flows    ${olt_device_id}
+
+Validate ONU Flows
+    [Arguments]    ${List_ONU_Serial}    ${test}
+    [Documentation]    Parses the output of voltctl device flows for each ONU SN listed in ${List_ONU_Serial}
+    ...    and expects flow count == 0
+    FOR     ${serial_number}    IN    @{List_ONU_Serial}
+        ${onu_dev_id}=    Get Device ID From SN    ${serial_number}
+        Validate Device Flows    ${onu_dev_id}    ${test}
+    END
+
+Validate Logical Device
+    [Documentation]    Validate Logical Device is listed
+    ${rc}    ${output}=    Run and Return Rc and Output    ${VOLTCTL_CONFIG}; voltctl logicaldevice list -o json
+    Should Be Equal As Integers    ${rc}    0
+    ${jsondata}=    To Json    ${output}
+    Log    ${jsondata}
+    ${length}=    Get Length    ${jsondata}
+    FOR    ${INDEX}    IN RANGE    0    ${length}
+        ${value}=    Get From List    ${jsondata}    ${INDEX}
+        ${devid}=    Get From Dictionary    ${value}    id
+        ${rootdev}=    Get From Dictionary    ${value}    rootdeviceid
+        ${sn}=    Get From Dictionary    ${value}    serialnumber
+        Exit For Loop
+    END
+    Should Be Equal    '${rootdev}'    '${olt_device_id}'    Root Device does not match ${olt_device_id}    values=False
+    Should Be Equal    '${sn}'    '${BBSIM_OLT_SN}'    Logical Device ${sn} does not match ${BBSIM_OLT_SN}
+    ...    values=False
+    [Return]  ${devid}
+
+Validate Logical Device Ports
+    [Arguments]    ${logical_device_id}
+    [Documentation]    Validate Logical Device Ports are listed and are > 0
+    ${rc}    ${output}=    Run and Return Rc and Output
+    ...    ${VOLTCTL_CONFIG}; voltctl logicaldevice ports ${logical_device_id} -o json
+    Should Be Equal As Integers    ${rc}    0
+    ${jsondata}=    To Json    ${output}
+    Log    ${jsondata}
+    ${length}=    Get Length    ${jsondata}
+    Should Be True    ${length} > 0    Number of ports for ${logical_device_id} was 0
+
+Validate Logical Device Flows
+    [Arguments]    ${logical_device_id}
+    [Documentation]    Validate Logical Device Flows are listed and are > 0
+    ${rc}    ${output}=    Run and Return Rc and Output
+    ...    ${VOLTCTL_CONFIG}; voltctl logicaldevice flows ${logical_device_id} -o json
+    Should Be Equal As Integers    ${rc}    0
+    ${jsondata}=    To Json    ${output}
+    Log    ${jsondata}
+    ${length}=    Get Length    ${jsondata}
+    Should Be True  ${length} > 0    Number of flows for ${logical_device_id} was 0
+
+Retrieve Peer List From OLT
+    [Arguments]     ${olt_peer_list}
+    [Documentation]    Retrieve the list of peer device id list from port list
+    ${rc}  ${output}=    Run and Return Rc and Output
+    ...    ${VOLTCTL_CONFIG}; voltctl device ports ${olt_device_id} -o json
+    Should Be Equal As Integers    ${rc}    0
+    ${jsondata}=    To Json    ${output}
+    Log    ${jsondata}
+    ${length}=    Get Length    ${jsondata}
+    FOR    ${INDEX}    IN RANGE    0    ${length}
+        ${value}=    Get From List    ${jsondata}    ${INDEX}
+        ${type}=    Get From Dictionary    ${value}    type
+        ${peers}=    Get From Dictionary    ${value}    peers
+        Run Keyword If    '${type}' == 'PON_OLT'    Exit For Loop
+    END
+    ${length}=    Get Length    ${peers}
+    FOR    ${INDEX}    IN RANGE    0    ${length}
+        ${value}=    Get From List    ${peers}    ${INDEX}
+        ${peer_id}=    Get From Dictionary    ${value}    deviceid
+        Append To List    ${olt_peer_list}    ${peer_id}
+    END
+
+Validate OLT Peer Id List
+    [Arguments]    ${olt_peer_id_list}
+    [Documentation]    Match each entry in the ${olt_peer_id_list} against ONU device ids.
+    FOR    ${peer_id}    IN    @{olt_peer_id_list}
+        Match OLT Peer Id    ${peer_id}
+    END
+
+Match OLT Peer Id
+    [Arguments]    ${olt_peer_id}
+    [Documentation]    Lookup the OLT Peer Id in against the list of ONU device Ids
+    ${rc}  ${output}=    Run and Return Rc and Output    ${VOLTCTL_CONFIG}; voltctl device list -o json
+    Should Be Equal As Integers    ${rc}    0
+    ${jsondata}=    To Json    ${output}
+    Log    ${jsondata}
+    ${length}=    Get Length    ${jsondata}
+    FOR     ${INDEX}    IN RANGE    0    ${length}
+        ${value}=    Get From List    ${jsondata}    ${INDEX}
+        ${devid}=    Get From Dictionary    ${value}    id
+        Run Keyword If    '${devid}' == '${olt_peer_id}'    Exit For Loop
+        Run Keyword If    '${INDEX}' == '${length}'    Fail    Peer id ${olt_peer_id} does not match any ONU device id;
+    END
+
+Validate ONU Peer Id
+    [Arguments]    ${olt_device_id}    ${List_ONU_Serial}
+    [Documentation]    Match each ONU peer to that of the OLT device id
+    FOR    ${onu_serial}    IN    @{List_ONU_Serial}
+        ${onu_dev_id}=    Get Device ID From SN    ${onu_serial}
+        Match ONU Peer Id    ${onu_dev_id}
+    END
+
+Match ONU Peer Id
+    [Arguments]    ${onu_dev_id}
+    [Documentation]    Match an ONU peer to that of the OLT device id
+    ${rc}    ${output}=    Run and Return Rc and Output    ${VOLTCTL_CONFIG}; voltctl device ports ${onu_dev_id} -o json
+    Should Be Equal As Integers    ${rc}    0
+    ${jsondata}=    To Json    ${output}
+    Log    ${jsondata}
+    ${length}=    Get Length    ${jsondata}
+    FOR    ${INDEX}    IN RANGE    0    ${length}
+        ${value}=    Get From List    ${jsondata}    ${INDEX}
+        ${type}=    Get From Dictionary    ${value}    type
+        ${peers}=    Get From Dictionary    ${value}    peers
+        Run Keyword If    '${type}' == 'PON_ONU'    Exit For Loop
+    END
+    ${length}=    Get Length    ${peers}
+    FOR    ${INDEX}    IN RANGE    0    ${length}
+        ${value}=    Get From List    ${peers}    ${INDEX}
+        ${peer_id}=    Get From Dictionary    ${value}    deviceid
+    END
+    Should Be Equal    '${peer_id}'    '${olt_device_id}'
+    ...    Mismatch between ONU peer ${peer_id} and OLT device id ${olt_device_id}    values=False
 
 Get Device ID From SN
     [Arguments]    ${serial_number}
@@ -123,6 +328,29 @@
     END
     [Return]    ${id}
 
+Build ONU SN List
+    [Arguments]    ${serial_numbers}
+    [Documentation]    Appends all ONU SNs to the ${serial_numbers} list
+    FOR    ${INDEX}    IN RANGE    0    ${num_onus}
+        Append To List    ${serial_numbers}    ${hosts.src[${INDEX}].onu}
+    END
+
+Get SN From Device ID
+    [Arguments]    ${device_id}
+    [Documentation]    Gets the device id by matching for ${device_id}
+    ${rc}  ${output}=    Run and Return Rc and Output    ${VOLTCTL_CONFIG}; voltctl device list -o json
+    Should Be Equal As Integers    ${rc}    0
+    ${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}    id
+        ${sn}=    Get From Dictionary    ${value}    serialnumber
+        Run Keyword If    '${id}' == '${device_id}'    Exit For Loop
+    END
+    [Return]    ${sn}
+
 Validate Device Removed
     [Arguments]    ${id}
     [Documentation]    Verifys that device, ${serial_number}, has been removed
diff --git a/tests/data/bbsim-kind-16.yaml b/tests/data/bbsim-kind-16.yaml
new file mode 100644
index 0000000..67dfbf7
--- /dev/null
+++ b/tests/data/bbsim-kind-16.yaml
@@ -0,0 +1,75 @@
+---
+
+# Copyright 2017-present Open Networking Foundation
+#
+# Licensed under the Apache License, Version 2.0 (the "License");
+# you may not use this file except in compliance with the License.
+# You may obtain a copy of the License at
+#
+# http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+
+# Automated deployment configuration for kind-voltha running BBSim
+
+# Change default values in tests
+has_dataplane: False
+external_libs: False
+teardown_device: True
+ONOS_REST_PORT: 8181
+ONOS_SSH_PORT: 8101
+OLT_PORT: 50060
+num_onu_flows: 4
+
+nodes:
+  -
+    ip: '127.0.0.1'
+
+olts:
+  -
+    ip: bbsim.voltha.svc
+    serial: BBSIM_OLT_0
+
+hosts:
+  src:
+    - onu: 'BBSM00000001'
+    - onu: 'BBSM00000002'
+    - onu: 'BBSM00000003'
+    - onu: 'BBSM00000004'
+    - onu: 'BBSM00000005'
+    - onu: 'BBSM00000006'
+    - onu: 'BBSM00000007'
+    - onu: 'BBSM00000008'
+    - onu: 'BBSM00000009'
+    - onu: 'BBSM0000000a'
+    - onu: 'BBSM0000000b'
+    - onu: 'BBSM0000000c'
+    - onu: 'BBSM0000000d'
+    - onu: 'BBSM0000000e'
+    - onu: 'BBSM0000000f'
+    - onu: 'BBSM00000010'
+
+  dst:
+    - ip: null
+    - ip: null
+    - ip: null
+    - ip: null
+    - ip: null
+    - ip: null
+    - ip: null
+    - ip: null
+    - ip: null
+    - ip: null
+    - ip: null
+    - ip: null
+    - ip: null
+    - ip: null
+    - ip: null
+    - ip: null
+
+sadis:
+  file: ${CURDIR}/../tests/data/sadis-with-tp-16.json
\ No newline at end of file
diff --git a/tests/data/bbsim-kind-8x2.yaml b/tests/data/bbsim-kind-8x2.yaml
new file mode 100644
index 0000000..c9633a5
--- /dev/null
+++ b/tests/data/bbsim-kind-8x2.yaml
@@ -0,0 +1,75 @@
+---
+
+# Copyright 2017-present Open Networking Foundation
+#
+# Licensed under the Apache License, Version 2.0 (the "License");
+# you may not use this file except in compliance with the License.
+# You may obtain a copy of the License at
+#
+# http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+
+# Automated deployment configuration for kind-voltha running BBSim
+
+# Change default values in tests
+has_dataplane: False
+external_libs: False
+teardown_device: True
+ONOS_REST_PORT: 8181
+ONOS_SSH_PORT: 8101
+OLT_PORT: 50060
+num_onu_flows: 4
+
+nodes:
+  -
+    ip: '127.0.0.1'
+
+olts:
+  -
+    ip: bbsim.voltha.svc
+    serial: BBSIM_OLT_0
+
+hosts:
+  src:
+    - onu: 'BBSM00000001'
+    - onu: 'BBSM00000002'
+    - onu: 'BBSM00000101'
+    - onu: 'BBSM00000102'
+    - onu: 'BBSM00000201'
+    - onu: 'BBSM00000202'
+    - onu: 'BBSM00000301'
+    - onu: 'BBSM00000302'
+    - onu: 'BBSM00000401'
+    - onu: 'BBSM00000402'
+    - onu: 'BBSM00000501'
+    - onu: 'BBSM00000502'
+    - onu: 'BBSM00000601'
+    - onu: 'BBSM00000602'
+    - onu: 'BBSM00000701'
+    - onu: 'BBSM00000702'
+
+  dst:
+    - ip: null
+    - ip: null
+    - ip: null
+    - ip: null
+    - ip: null
+    - ip: null
+    - ip: null
+    - ip: null
+    - ip: null
+    - ip: null
+    - ip: null
+    - ip: null
+    - ip: null
+    - ip: null
+    - ip: null
+    - ip: null
+
+sadis:
+  file: ${CURDIR}/../tests/data/sadis-with-tp-8x2.json
\ No newline at end of file
diff --git a/tests/data/sadis-with-tp-16.json b/tests/data/sadis-with-tp-16.json
new file mode 100755
index 0000000..d667854
--- /dev/null
+++ b/tests/data/sadis-with-tp-16.json
@@ -0,0 +1,241 @@
+{
+   "org.opencord.sadis": {
+      "sadis": {
+         "integration": {
+            "cache": {
+               "enabled": false,
+               "maxsize": 50,
+               "ttl": "PT0m"
+            }
+         },
+         "entries": [
+            {
+               "id": "BBSIM_OLT_0",
+               "hardwareIdentifier": "00:00:0a:62:ce:e2",
+               "ipAddress": "192.168.1.252",
+               "nasId": "BBSIM_OLT_0",
+               "uplinkPort": 65536
+            },
+            {
+               "id": "BBSM00000001-1",
+               "cTag": 55,
+               "sTag": 66,
+               "nasPortId": "BBSM00000001-1",
+               "circuitId": "BBSM00000001-1",
+               "remoteId" : "BBSIM_OLT_0",
+               "technologyProfileId": 64,
+               "upstreamBandwidthProfile": "Default",
+               "downstreamBandwidthProfile": "Default"
+            },
+            {
+               "id": "BBSM00000002-1",
+               "cTag": 56,
+               "sTag": 66,
+               "nasPortId": "BBSM00000002-1",
+               "circuitId": "BBSM00000002-1",
+               "remoteId" : "BBSIM_OLT_0",
+               "technologyProfileId": 64,
+               "upstreamBandwidthProfile": "Default",
+               "downstreamBandwidthProfile": "Default"
+            },
+            {
+               "id": "BBSM00000003-1",
+               "cTag": 57,
+               "sTag": 66,
+               "nasPortId": "BBSM00000003-1",
+               "circuitId": "BBSM00000003-1",
+               "remoteId" : "BBSIM_OLT_0",
+               "technologyProfileId": 64,
+               "upstreamBandwidthProfile": "Default",
+               "downstreamBandwidthProfile": "Default"
+            },
+            {
+               "id": "BBSM00000004-1",
+               "cTag": 58,
+               "sTag": 66,
+               "nasPortId": "BBSM00000004-1",
+               "circuitId": "BBSM00000004-1",
+               "remoteId" : "BBSIM_OLT_0",
+               "technologyProfileId": 64,
+               "upstreamBandwidthProfile": "User_Bandwidth1",
+               "downstreamBandwidthProfile": "User_Bandwidth1"
+            },
+            {
+               "id": "BBSM00000005-1",
+               "cTag": 60,
+               "sTag": 77,
+               "nasPortId": "BBSM00000005-1",
+               "circuitId": "BBSM00000005-1",
+               "remoteId" : "BBSIM_OLT_0",
+               "technologyProfileId": 64,
+               "upstreamBandwidthProfile": "Default",
+               "downstreamBandwidthProfile": "Default"
+            },
+            {
+               "id": "BBSM00000006-1",
+               "cTag": 61,
+               "sTag": 77,
+               "nasPortId": "BBSM00000006-1",
+               "circuitId": "BBSM00000006-1",
+               "remoteId" : "BBSIM_OLT_0",
+               "technologyProfileId": 64,
+               "upstreamBandwidthProfile": "Default",
+               "downstreamBandwidthProfile": "Default"
+            },
+            {
+               "id": "BBSM00000007-1",
+               "cTag": 62,
+               "sTag": 77,
+               "nasPortId": "BBSM00000007-1",
+               "circuitId": "BBSM00000007-1",
+               "remoteId" : "BBSIM_OLT_0",
+               "technologyProfileId": 64,
+               "upstreamBandwidthProfile": "Default",
+               "downstreamBandwidthProfile": "Default"
+            },
+            {
+               "id": "BBSM00000008-1",
+               "cTag": 63,
+               "sTag": 77,
+               "nasPortId": "BBSM00000008-1",
+               "circuitId": "BBSM00000008-1",
+               "remoteId" : "BBSIM_OLT_0",
+               "technologyProfileId": 64,
+               "upstreamBandwidthProfile": "Default",
+               "downstreamBandwidthProfile": "Default"
+            },
+            {
+               "id": "BBSM00000009-1",
+               "cTag": 70,
+               "sTag": 88,
+               "nasPortId": "BBSM00000009-1",
+               "circuitId": "BBSM00000009-1",
+               "remoteId" : "BBSIM_OLT_0",
+               "technologyProfileId": 64,
+               "upstreamBandwidthProfile": "Default",
+               "downstreamBandwidthProfile": "Default"
+            },
+            {
+               "id": "BBSM0000000a-1",
+               "cTag": 71,
+               "sTag": 88,
+               "nasPortId": "BBSM0000000a-1",
+               "circuitId": "BBSM0000000a-1",
+               "remoteId" : "BBSIM_OLT_0",
+               "technologyProfileId": 64,
+               "upstreamBandwidthProfile": "User_Bandwidth2",
+               "downstreamBandwidthProfile": "User_Bandwidth2"
+            },
+            {
+               "id": "BBSM0000000b-1",
+               "cTag": 72,
+               "sTag": 88,
+               "nasPortId": "BBSM0000000b-1",
+               "circuitId": "BBSM0000000b-1",
+               "remoteId" : "BBSIM_OLT_0",
+               "technologyProfileId": 64,
+               "upstreamBandwidthProfile": "Default",
+               "downstreamBandwidthProfile": "Default"
+            },
+            {
+               "id": "BBSM0000000c-1",
+               "cTag": 73,
+               "sTag": 88,
+               "nasPortId": "BBSM0000000c-1",
+               "circuitId": "BBSM0000000c-1",
+               "remoteId" : "BBSIM_OLT_0",
+               "technologyProfileId": 64,
+               "upstreamBandwidthProfile": "Default",
+               "downstreamBandwidthProfile": "Default"
+            },
+            {
+               "id": "BBSM0000000d-1",
+               "cTag": 80,
+               "sTag": 99,
+               "nasPortId": "BBSM0000000d-1",
+               "circuitId": "BBSM0000000d-1",
+               "remoteId" : "BBSIM_OLT_0",
+               "technologyProfileId": 64,
+               "upstreamBandwidthProfile": "Default",
+               "downstreamBandwidthProfile": "Default"
+            },
+            {
+               "id": "BBSM0000000e-1",
+               "cTag": 81,
+               "sTag": 99,
+               "nasPortId": "BBSM0000000e-1",
+               "circuitId": "BBSM0000000e-1",
+               "remoteId" : "BBSIM_OLT_0",
+               "technologyProfileId": 64,
+               "upstreamBandwidthProfile": "Default",
+               "downstreamBandwidthProfile": "Default"
+            },
+            {
+               "id": "BBSM0000000f-1",
+               "cTag": 82,
+               "sTag": 99,
+               "nasPortId": "BBSM0000000f-1",
+               "circuitId": "BBSM0000000f-1",
+               "remoteId" : "BBSIM_OLT_0",
+               "technologyProfileId": 64,
+               "upstreamBandwidthProfile": "Default",
+               "downstreamBandwidthProfile": "Default"
+            },
+            {
+               "id": "BBSM00000010-1",
+               "cTag": 83,
+               "sTag": 99,
+               "nasPortId": "BBSM00000010-1",
+               "circuitId": "BBSM00000010-1",
+               "remoteId" : "BBSIM_OLT_0",
+               "technologyProfileId": 64,
+               "upstreamBandwidthProfile": "Default",
+               "downstreamBandwidthProfile": "Default"
+            }
+         ]
+      },
+      "bandwidthprofile": {
+         "integration": {
+            "cache": {
+               "enabled": true,
+               "maxsize": 40,
+               "ttl": "PT1m"
+            }
+         },
+         "entries": [
+            {
+               "id": "User_Bandwidth1",
+               "air": 100000,
+               "cbs": 10000,
+               "cir": 30000,
+               "ebs": 1000,
+               "eir": 20000
+            },
+            {
+               "id": "User_Bandwidth2",
+               "air": 100000,
+               "cbs": 5000,
+               "cir": 100000,
+               "ebs": 5000,
+               "eir": 100000
+            },
+            {
+               "id": "User_Bandwidth3",
+               "air": 100000,
+               "cbs": 5000,
+               "cir": 1000000,
+               "ebs": 5000,
+               "eir": 1000000
+            },
+            {
+               "id": "Default",
+               "air": 100000,
+               "cbs": 30,
+               "cir": 600,
+               "ebs": 30,
+               "eir": 400
+            }
+         ]
+      }
+   }
+}
diff --git a/tests/data/sadis-with-tp-8x2.json b/tests/data/sadis-with-tp-8x2.json
new file mode 100755
index 0000000..b28b53e
--- /dev/null
+++ b/tests/data/sadis-with-tp-8x2.json
@@ -0,0 +1,241 @@
+{
+   "org.opencord.sadis": {
+      "sadis": {
+         "integration": {
+            "cache": {
+               "enabled": false,
+               "maxsize": 50,
+               "ttl": "PT0m"
+            }
+         },
+         "entries": [
+            {
+               "id": "BBSIM_OLT_0",
+               "hardwareIdentifier": "00:00:0a:62:ce:e2",
+               "ipAddress": "192.168.1.252",
+               "nasId": "BBSIM_OLT_0",
+               "uplinkPort": 65536
+            },
+            {
+               "id": "BBSM00000001-1",
+               "cTag": 55,
+               "sTag": 66,
+               "nasPortId": "BBSM00000001-1",
+               "circuitId": "BBSM00000001-1",
+               "remoteId" : "BBSIM_OLT_0",
+               "technologyProfileId": 64,
+               "upstreamBandwidthProfile": "Default",
+               "downstreamBandwidthProfile": "Default"
+            },
+            {
+               "id": "BBSM00000002-1",
+               "cTag": 56,
+               "sTag": 66,
+               "nasPortId": "BBSM00000002-1",
+               "circuitId": "BBSM00000002-1",
+               "remoteId" : "BBSIM_OLT_0",
+               "technologyProfileId": 64,
+               "upstreamBandwidthProfile": "Default",
+               "downstreamBandwidthProfile": "Default"
+            },
+            {
+               "id": "BBSM00000101-1",
+               "cTag": 57,
+               "sTag": 66,
+               "nasPortId": "BBSM00000101-1",
+               "circuitId": "BBSM00000101-1",
+               "remoteId" : "BBSIM_OLT_0",
+               "technologyProfileId": 64,
+               "upstreamBandwidthProfile": "Default",
+               "downstreamBandwidthProfile": "Default"
+            },
+            {
+               "id": "BBSM00000102-1",
+               "cTag": 58,
+               "sTag": 66,
+               "nasPortId": "BBSM00000102-1",
+               "circuitId": "BBSM00000102-1",
+               "remoteId" : "BBSIM_OLT_0",
+               "technologyProfileId": 64,
+               "upstreamBandwidthProfile": "Default",
+               "downstreamBandwidthProfile": "Default"
+            },
+            {
+               "id": "BBSM00000201-1",
+               "cTag": 60,
+               "sTag": 77,
+               "nasPortId": "BBSM00000201-1",
+               "circuitId": "BBSM00000201-1",
+               "remoteId" : "BBSIM_OLT_0",
+               "technologyProfileId": 64,
+               "upstreamBandwidthProfile": "Default",
+               "downstreamBandwidthProfile": "Default"
+            },
+            {
+               "id": "BBSM00000202-1",
+               "cTag": 61,
+               "sTag": 77,
+               "nasPortId": "BBSM00000202-1",
+               "circuitId": "BBSM00000202-1",
+               "remoteId" : "BBSIM_OLT_0",
+               "technologyProfileId": 64,
+               "upstreamBandwidthProfile": "Default",
+               "downstreamBandwidthProfile": "Default"
+            },
+            {
+               "id": "BBSM00000301-1",
+               "cTag": 62,
+               "sTag": 77,
+               "nasPortId": "BBSM00000301-1",
+               "circuitId": "BBSM00000301-1",
+               "remoteId" : "BBSIM_OLT_0",
+               "technologyProfileId": 64,
+               "upstreamBandwidthProfile": "User_Bandwidth1",
+               "downstreamBandwidthProfile": "User_Bandwidth1"
+            },
+            {
+               "id": "BBSM00000302-1",
+               "cTag": 63,
+               "sTag": 77,
+               "nasPortId": "BBSM00000302-1",
+               "circuitId": "BBSM00000302-1",
+               "remoteId" : "BBSIM_OLT_0",
+               "technologyProfileId": 64,
+               "upstreamBandwidthProfile": "Default",
+               "downstreamBandwidthProfile": "Default"
+            },
+            {
+               "id": "BBSM00000401-1",
+               "cTag": 70,
+               "sTag": 88,
+               "nasPortId": "BBSM00000401-1",
+               "circuitId": "BBSM00000401-1",
+               "remoteId" : "BBSIM_OLT_0",
+               "technologyProfileId": 64,
+               "upstreamBandwidthProfile": "Default",
+               "downstreamBandwidthProfile": "Default"
+            },
+            {
+               "id": "BBSM00000402-1",
+               "cTag": 71,
+               "sTag": 88,
+               "nasPortId": "BBSM00000402-1",
+               "circuitId": "BBSM00000402-1",
+               "remoteId" : "BBSIM_OLT_0",
+               "technologyProfileId": 64,
+               "upstreamBandwidthProfile": "Default",
+               "downstreamBandwidthProfile": "Default"
+            },
+            {
+               "id": "BBSM00000501-1",
+               "cTag": 72,
+               "sTag": 88,
+               "nasPortId": "BBSM00000501-1",
+               "circuitId": "BBSM00000501-1",
+               "remoteId" : "BBSIM_OLT_0",
+               "technologyProfileId": 64,
+               "upstreamBandwidthProfile": "Default",
+               "downstreamBandwidthProfile": "Default"
+            },
+            {
+               "id": "BBSM00000502-1",
+               "cTag": 73,
+               "sTag": 88,
+               "nasPortId": "BBSM00000502-1",
+               "circuitId": "BBSM00000502-1",
+               "remoteId" : "BBSIM_OLT_0",
+               "technologyProfileId": 64,
+               "upstreamBandwidthProfile": "Default",
+               "downstreamBandwidthProfile": "Default"
+            },
+            {
+               "id": "BBSM00000601-1",
+               "cTag": 80,
+               "sTag": 99,
+               "nasPortId": "BBSM00000601-1",
+               "circuitId": "BBSM00000601-1",
+               "remoteId" : "BBSIM_OLT_0",
+               "technologyProfileId": 64,
+               "upstreamBandwidthProfile": "User_Bandwidth2",
+               "downstreamBandwidthProfile": "User_Bandwidth2"
+            },
+            {
+               "id": "BBSM00000602-1",
+               "cTag": 81,
+               "sTag": 99,
+               "nasPortId": "BBSM00000602-1",
+               "circuitId": "BBSM00000602-1",
+               "remoteId" : "BBSIM_OLT_0",
+               "technologyProfileId": 64,
+               "upstreamBandwidthProfile": "Default",
+               "downstreamBandwidthProfile": "Default"
+            },
+            {
+               "id": "BBSM00000701-1",
+               "cTag": 82,
+               "sTag": 99,
+               "nasPortId": "BBSM00000701-1",
+               "circuitId": "BBSM00000701-1",
+               "remoteId" : "BBSIM_OLT_0",
+               "technologyProfileId": 64,
+               "upstreamBandwidthProfile": "Default",
+               "downstreamBandwidthProfile": "Default"
+            },
+            {
+               "id": "BBSM00000702-1",
+               "cTag": 83,
+               "sTag": 99,
+               "nasPortId": "BBSM00000702-1",
+               "circuitId": "BBSM00000702-1",
+               "remoteId" : "BBSIM_OLT_0",
+               "technologyProfileId": 64,
+               "upstreamBandwidthProfile": "Default",
+               "downstreamBandwidthProfile": "Default"
+            }
+         ]
+      },
+      "bandwidthprofile": {
+         "integration": {
+            "cache": {
+               "enabled": true,
+               "maxsize": 40,
+               "ttl": "PT1m"
+            }
+         },
+         "entries": [
+            {
+               "id": "User_Bandwidth1",
+               "air": 100000,
+               "cbs": 10000,
+               "cir": 30000,
+               "ebs": 1000,
+               "eir": 20000
+            },
+            {
+               "id": "User_Bandwidth2",
+               "air": 100000,
+               "cbs": 5000,
+               "cir": 100000,
+               "ebs": 5000,
+               "eir": 100000
+            },
+            {
+               "id": "User_Bandwidth3",
+               "air": 100000,
+               "cbs": 5000,
+               "cir": 1000000,
+               "ebs": 5000,
+               "eir": 1000000
+            },
+            {
+               "id": "Default",
+               "air": 100000,
+               "cbs": 30,
+               "cir": 600,
+               "ebs": 30,
+               "eir": 400
+            }
+         ]
+      }
+   }
+}
diff --git a/tests/functional/Voltha_PODTests.robot b/tests/functional/Voltha_PODTests.robot
index 70c08c8..37d2690 100644
--- a/tests/functional/Voltha_PODTests.robot
+++ b/tests/functional/Voltha_PODTests.robot
@@ -60,9 +60,8 @@
         ${src}=    Set Variable    ${hosts.src[${I}]}
         ${dst}=    Set Variable    ${hosts.dst[${I}]}
 
-        ${onu_reasons}=    Create List     tech-profile-config-download-success    omci-flows-pushed
-        Wait Until Keyword Succeeds    ${timeout}    5s    Validate Device    ${src['onu']}    ENABLED    ACTIVE
-        ...    REACHABLE    onu=True    onu_reasons=${onu_reasons}
+        Wait Until Keyword Succeeds    ${timeout}    5s    Validate Device        ENABLED    ACTIVE    REACHABLE
+        ...    ${src['onu']}    onu=True    onu_reason=omci-flows-pushed
 
         ${onu_device_id}=    Get Device ID From SN    ${src['onu']}
         ${onu_port}=    Wait Until Keyword Succeeds    ${timeout}    2s    Get ONU Port in ONOS    ${src['onu']}
@@ -109,7 +108,6 @@
     ${onos_auth}=    Create List    karaf    karaf
     ${HEADERS}    Create Dictionary    Content-Type=application/json
     Create Session    ONOS    http://${k8s_node_ip}:${ONOS_REST_PORT}    auth=${ONOS_AUTH}
-    Set Global Variable    ${export_kubeconfig}    export KUBECONFIG=${KUBERNETES_CONF}
     ${olt_ip}=    Evaluate    ${olts}[0].get("ip")
     ${olt_user}=    Evaluate    ${olts}[0].get("user")
     ${olt_pass}=    Evaluate    ${olts}[0].get("pass")
@@ -130,15 +128,20 @@
     ${datetime}=    Get Current Date
     Set Suite Variable    ${datetime}
 
-
 Setup
     [Documentation]    Pre-test Setup
+    #test for empty device list
+    ${length}=    Test Empty Device List
+    Should Be Equal As Integers  ${length}     0
     #create/preprovision device
     ${olt_device_id}=    Create Device    ${olt_ip}    ${OLT_PORT}
     Set Suite Variable    ${olt_device_id}
+    #validate olt states
+    Wait Until Keyword Succeeds    ${timeout}    5s    Validate OLT Device    PREPROVISIONED    UNKNOWN    UNKNOWN
+    ...    ${EMPTY}    ${olt_device_id}
     Enable Device    ${olt_device_id}
-    Wait Until Keyword Succeeds    ${timeout}    5s    Validate Device    ${olt_serial_number}    ENABLED    ACTIVE
-    ...    REACHABLE
+    Wait Until Keyword Succeeds    ${timeout}    5s    Validate OLT Device    ENABLED    ACTIVE    REACHABLE
+    ...    ${olt_serial_number}
     ${logical_id}=    Get Logical Device ID From SN    ${olt_serial_number}
     Set Suite Variable    ${logical_id}
 
@@ -153,9 +156,12 @@
 Teardown Suite
     [Documentation]    Clean up device if desired
     Run Keyword If    ${teardown_device}    Delete Device and Verify
+    ${length}=    Run Keyword If    ${teardown_device}    Run Keyword And Return    Test Empty Device List
+    Run Keyword If    ${teardown_device}    Should Be Equal As Integers    ${length}    0
     Run Keyword If    ${teardown_device}    Execute ONOS CLI Command    ${k8s_node_ip}    ${ONOS_SSH_PORT}
     ...    device-remove ${of_id}
 
+
 Clean Up Linux
     [Documentation]    Kill processes and clean up interfaces on src+dst servers
     FOR    ${I}    IN RANGE    0    ${num_onus}
@@ -179,8 +185,8 @@
     [Documentation]    Disable -> Delete devices via voltctl and verify its removed
     ${rc}    ${output}=    Run and Return Rc and Output    ${VOLTCTL_CONFIG}; voltctl device disable ${olt_device_id}
     Should Be Equal As Integers    ${rc}    0
-    Wait Until Keyword Succeeds    ${timeout}    5s    Validate Device    ${olt_serial_number}    DISABLED    UNKNOWN
-    ...    REACHABLE
+    Wait Until Keyword Succeeds    ${timeout}    5s    Validate OLT Device    DISABLED    UNKNOWN    REACHABLE
+    ...    ${olt_serial_number}
     ${rc}    ${output}=    Run and Return Rc and Output    ${VOLTCTL_CONFIG}; voltctl device delete ${olt_device_id}
     Should Be Equal As Integers    ${rc}    0
     Wait Until Keyword Succeeds    ${timeout}    5s    Validate Device Removed    ${olt_device_id}
diff --git a/tests/functional/Voltha_ScaleFunctionalTests.robot b/tests/functional/Voltha_ScaleFunctionalTests.robot
new file mode 100644
index 0000000..40ff6bf
--- /dev/null
+++ b/tests/functional/Voltha_ScaleFunctionalTests.robot
@@ -0,0 +1,198 @@
+#Copyright 2017-present Open Networking Foundation
+#
+# Licensed under the Apache License, Version 2.0 (the "License");
+# you may not use this file except in compliance with the License.
+# You may obtain a copy of the License at
+#
+# http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+
+*** Settings ***
+Documentation    Test suite that engages a larger number of ONU at the same which makes it a more realistic test
+...    It is addaptable to either BBSim or Real H/W using a configuration file
+Suite Setup       Setup Suite
+Suite Teardown    Teardown Suite
+Library           Collections
+Library           String
+Library           OperatingSystem
+Library           XML
+Library           RequestsLibrary
+Library           ../../libraries/DependencyLibrary.py
+Resource          ../../libraries/onos.robot
+Resource          ../../libraries/voltctl.robot
+Resource          ../../libraries/utils.robot
+Resource          ../../libraries/k8s.robot
+Resource          ../../variables/variables.robot
+
+*** Variables ***
+${timeout}         60s
+${long_timeout}    420
+${of_id}           0
+${logical_id}      0
+${has_dataplane}    True
+${external_libs}    True
+${teardown_device}    False
+
+*** Test Cases ***
+Activate Devices OLT/ONU
+    [Documentation]    Validate deployment -> Empty Device List
+    ...    create and enable device -> Preprovision and Enable
+    ...    re-validate deployment -> Active OLT
+    [Tags]    active
+    #test for empty device list
+    ${length}=    Test Empty Device List
+    Should Be Equal As Integers  ${length}    0
+    #create/preprovision device
+    ${olt_device_id}=    Create Device    ${olt_ip}    ${OLT_PORT}
+    Set Global Variable    ${olt_device_id}
+    #validate olt states
+    Wait Until Keyword Succeeds    60s    5s    Validate OLT Device   PREPROVISIONED    UNKNOWN    UNKNOWN  ${EMPTY}
+    ...    ${olt_device_id}
+    #enable device
+    Enable Device    ${olt_device_id}
+    #validate olt states
+    Wait Until Keyword Succeeds    60s    5s    Validate OLT Device   ENABLED    ACTIVE    REACHABLE    ${EMPTY}
+    ...    ${olt_device_id}
+
+ONU Discovery
+    [Documentation]    Discover lists of ONUS, their Serial Numbers and device id
+    [Tags]    active
+    #build onu sn list
+    ${List_ONU_Serial}    Create List
+    Set Suite Variable    ${List_ONU_Serial}
+    Build ONU SN List    ${List_ONU_Serial}
+    Log    ${List_ONU_Serial}
+    #validate onu states
+    Wait Until Keyword Succeeds    ${long_timeout}    20s    Validate ONU Devices    ENABLED    ACTIVE    REACHABLE
+    ...    ${List_ONU_Serial}
+
+Validate Device's Ports and Flows
+    [Documentation]    Verify Ports and Flows listed for OLT and ONUs
+    ...    For OLT we validate the port types and numbers and for flows we simply verify that their numbers > 0
+    ...    For each ONU, we validate the port types and numbers for each and for flows.
+    ...    For flows they should be == 0 at this stage
+    [Tags]    active
+    #validate olt port types
+    Validate OLT Port Types    PON_OLT    ETHERNET_NNI
+    #validate olt flows
+    Validate OLT Flows
+    #validate onu port types
+    Validate ONU Port Types    ${List_ONU_Serial}    PON_ONU    ETHERNET_UNI
+    #validate onu flows
+    Validate ONU Flows    ${List_ONU_Serial}    ${num_onu_flows}
+
+Validate Logical Device
+    [Documentation]    Verify that logical device exists and then verify its ports and flows
+    [Tags]    active
+    #Verify logical device exists
+    ${logical_device_id}=    Validate Logical Device
+    #Verify logical device ports
+    Validate Logical Device Ports    ${logical_device_id}
+    #Verify logical device flows
+    Validate Logical Device Flows    ${logical_device_id}
+
+Validate Peer Devices
+    [Documentation]    Verify that peer lists matches up between that of ${olt_device_id}
+    ...    and individual ONU device ids
+    [Tags]    active
+    #Retrieve peer list from OLT
+    ${olt_peer_list}=    Create List
+    Retrieve Peer List From OLT    ${olt_peer_list}
+    Log    ${olt_peer_list}
+    #Validate OLT peer id list
+    Validate OLT Peer Id List    ${olt_peer_list}
+    #Validate ONU peer ids
+    Validate ONU Peer Id    ${olt_device_id}    ${List_ONU_Serial}
+
+*** Keywords ***
+Setup Suite
+    [Documentation]    Setup the whole test suite
+    # BBSim sanity test doesn't need these imports from other repositories
+    Run Keyword If    ${external_libs}    Import Library
+    ...    ${CURDIR}/../../../voltha/tests/atests/common/testCaseUtils.py
+    Run Keyword If    ${external_libs}    Import Resource
+    ...    ${CURDIR}/../../../cord-tester/src/test/cord-api/Framework/Subscriber.robot
+    Run Keyword If    ${external_libs}    Import Resource
+    ...    ${CURDIR}/../../../cord-tester/src/test/cord-api/Framework/OLT.robot
+    Run Keyword If    ${external_libs}    Import Resource
+    ...    ${CURDIR}/../../../cord-tester/src/test/cord-api/Framework/DHCP.robot
+    Run Keyword If    ${external_libs}    Import Resource
+    ...    ${CURDIR}/../../../cord-tester/src/test/cord-api/Framework/Kubernetes.robot
+    Set Global Variable    ${KUBECTL_CONFIG}    export KUBECONFIG=%{KUBECONFIG}
+    Set Global Variable    ${VOLTCTL_CONFIG}    export VOLTCONFIG=%{VOLTCONFIG}
+    ${k8s_node_ip}=    Evaluate    ${nodes}[0].get("ip")
+    ${k8s_node_user}=    Evaluate    ${nodes}[0].get("user")
+    ${k8s_node_pass}=    Evaluate    ${nodes}[0].get("pass")
+    Check CLI Tools Configured
+    ${onos_auth}=    Create List    karaf    karaf
+    ${HEADERS}    Create Dictionary    Content-Type=application/json
+    Create Session    ONOS    http://${k8s_node_ip}:${ONOS_REST_PORT}    auth=${ONOS_AUTH}
+    ${olt_ip}=    Evaluate    ${olts}[0].get("ip")
+    ${olt_user}=    Evaluate    ${olts}[0].get("user")
+    ${olt_pass}=    Evaluate    ${olts}[0].get("pass")
+    ${olt_serial_number}=    Evaluate    ${olts}[0].get("serial")
+    ${num_onus}=    Get Length    ${hosts.src}
+    ${num_onus}=    Convert to String    ${num_onus}
+    #send sadis file to onos
+    ${sadis_file}=    Evaluate    ${sadis}.get("file")
+    Log To Console  \nSadis File:${sadis_file}
+    Run Keyword Unless    '${sadis_file}' is '${None}'    Send File To Onos    ${sadis_file}    apps/
+    Set Suite Variable    ${num_onus}
+    Set Suite Variable    ${olt_serial_number}
+    Set Suite Variable    ${olt_ip}
+    Set Suite Variable    ${olt_user}
+    Set Suite Variable    ${olt_pass}
+    Set Suite Variable    ${k8s_node_ip}
+    Set Suite Variable    ${k8s_node_user}
+    Set Suite Variable    ${k8s_node_pass}
+    @{container_list}=    Create List    adapter-open-olt    adapter-open-onu    voltha-api-server
+    ...    voltha-ro-core    voltha-rw-core-11    voltha-rw-core-12    voltha-ofagent
+    Set Suite Variable    ${container_list}
+    ${datetime}=    Get Current Date
+    Set Suite Variable    ${datetime}
+
+Teardown Suite
+    [Documentation]    Clean up devices if desired
+    ...    kills processes and cleans up interfaces on src+dst servers
+    Run Keyword If    ${external_libs}    Get ONOS Status    ${k8s_node_ip}
+    Run Keyword If    ${has_dataplane}    Clean Up Linux
+    Run Keyword If    ${external_libs}    Log Kubernetes Containers Logs Since Time    ${datetime}    ${container_list}
+    Run Keyword If    ${teardown_device}    Delete Device and Verify
+    ${length}=    Run Keyword If    ${teardown_device}    Run Keyword And Return    Test Empty Device List
+    Run Keyword If    ${teardown_device}    Should Be Equal As Integers    ${length}    0
+    Run Keyword If    ${teardown_device}    Execute ONOS CLI Command    ${k8s_node_ip}    ${ONOS_SSH_PORT}
+    ...    device-remove ${of_id}
+
+Clean Up Linux
+    [Documentation]    Kill processes and clean up interfaces on src+dst servers
+    FOR    ${I}    IN RANGE    0    ${num_onus}
+        ${src}=    Set Variable    ${hosts.src[${I}]}
+        ${dst}=    Set Variable    ${hosts.dst[${I}]}
+        Run Keyword And Ignore Error    Kill Linux Process    [w]pa_supplicant    ${src['ip']}
+        ...    ${src['user']}    ${src['pass']}    ${src['container_type']}    ${src['container_name']}
+        Run Keyword And Ignore Error    Kill Linux Process    [d]hclient    ${src['ip']}
+        ...    ${src['user']}    ${src['pass']}    ${src['container_type']}    ${src['container_name']}
+        Run Keyword If    '${dst['ip']}' != '${None}'    Run Keyword And Ignore Error
+        ...    Kill Linux Process    [d]hcpd    ${dst['ip']}    ${dst['user']}
+        ...    ${dst['pass']}    ${dst['container_type']}    ${dst['container_name']}
+        Delete IP Addresses from Interface on Remote Host    ${src['dp_iface_name']}    ${src['ip']}
+        ...    ${src['user']}    ${src['pass']}    ${src['container_type']}    ${src['container_name']}
+        Run Keyword If    '${dst['ip']}' != '${None}'    Delete Interface on Remote Host
+        ...    ${dst['dp_iface_name']}.${src['s_tag']}    ${dst['ip']}    ${dst['user']}    ${dst['pass']}
+        ...    ${dst['container_type']}    ${dst['container_name']}
+    END
+
+Delete Device and Verify
+    [Documentation]    Disable -> Delete devices via voltctl and verify its removed
+    ${rc}    ${output}=    Run and Return Rc and Output    ${VOLTCTL_CONFIG}; voltctl device disable ${olt_device_id}
+    Should Be Equal As Integers    ${rc}    0
+    Wait Until Keyword Succeeds    ${timeout}    5s    Validate OLT Device    DISABLED    UNKNOWN    REACHABLE
+    ...    ${olt_serial_number}
+    ${rc}    ${output}=    Run and Return Rc and Output    ${VOLTCTL_CONFIG}; voltctl device delete ${olt_device_id}
+    Should Be Equal As Integers    ${rc}    0
+    Wait Until Keyword Succeeds    ${timeout}    5s    Validate Device Removed    ${olt_device_id}
\ No newline at end of file
