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
