[VOL-3796] OpenOnu-Go-Adapter: Create target for multiple OLT (2x2x2) environment

Change-Id: I5e1e5044c979a9d3f8af770935179cb8351e2dfe
diff --git a/Makefile b/Makefile
index a5da809..34724aa 100755
--- a/Makefile
+++ b/Makefile
@@ -95,6 +95,14 @@
 functional-multi-olt: ROBOT_FILE := Voltha_PODTests.robot
 functional-multi-olt: voltha-test
 
+# target to invoke test with openonu go adapter applying 1T4GEM tech-profile at single ONU
+1t4gem-openonu-go-adapter-test: ROBOT_MISC_ARGS += -v techprofile:1T4GEM
+1t4gem-openonu-go-adapter-test: openonu-go-adapter-test
+
+# target to invoke test with openonu go adapter applying 1T8GEM tech-profile at single ONU
+1t8gem-openonu-go-adapter-test: ROBOT_MISC_ARGS += -v techprofile:1T8GEM
+1t8gem-openonu-go-adapter-test: openonu-go-adapter-test
+
 # target to invoke openonu go adapter
 openonu-go-adapter-test: ROBOT_MISC_ARGS += -v state2test:omci-flows-pushed -v testmode:SingleStateTime
 openonu-go-adapter-test: ROBOT_MISC_ARGS += -v logging:True -i sanityOnuGo -i functionalOnuGo
@@ -103,23 +111,13 @@
 openonu-go-adapter-test: ROBOT_FILE := Voltha_ONUStateTests.robot
 openonu-go-adapter-test: openonu-go-adapter-tests
 
-# target to invoke test with openonu go adapter applying 1T4GEM tech-profile at single ONU
-1t4gem-openonu-go-adapter-test: ROBOT_MISC_ARGS += -v state2test:omci-flows-pushed -v testmode:SingleStateTime
-1t4gem-openonu-go-adapter-test: ROBOT_MISC_ARGS += -v techprofile:1T4GEM -v logging:True
-1t4gem-openonu-go-adapter-test: ROBOT_MISC_ARGS += -i sanityOnuGo -i functionalOnuGo
-1t4gem-openonu-go-adapter-test: ROBOT_MISC_ARGS += -e notreadyOnuGo -X $(ROBOT_DEBUG_LOG_OPT)
-1t4gem-openonu-go-adapter-test: ROBOT_CONFIG_FILE := $(ROBOT_SANITY_SINGLE_PON_FILE)
-1t4gem-openonu-go-adapter-test: ROBOT_FILE := Voltha_ONUStateTests.robot
-1t4gem-openonu-go-adapter-test: openonu-go-adapter-tests
+# target to invoke test with openonu go adapter applying 1T4GEM tech-profile at multiple ONU
+multi-1t4gem-openonu-go-adapter-test: ROBOT_MISC_ARGS += -v techprofile:1T4GEM
+multi-1t4gem-openonu-go-adapter-test: multi-openonu-go-adapter-test
 
-# target to invoke test with openonu go adapter applying 1T8GEM tech-profile at single ONU
-1t8gem-openonu-go-adapter-test: ROBOT_MISC_ARGS += -v state2test:omci-flows-pushed -v testmode:SingleStateTime
-1t8gem-openonu-go-adapter-test: ROBOT_MISC_ARGS += -v techprofile:1T8GEM -v logging:True
-1t8gem-openonu-go-adapter-test: ROBOT_MISC_ARGS += -i sanityOnuGo -i functionalOnuGo
-1t8gem-openonu-go-adapter-test: ROBOT_MISC_ARGS += -e notreadyOnuGo -X $(ROBOT_DEBUG_LOG_OPT)
-1t8gem-openonu-go-adapter-test: ROBOT_CONFIG_FILE := $(ROBOT_SANITY_SINGLE_PON_FILE)
-1t8gem-openonu-go-adapter-test: ROBOT_FILE := Voltha_ONUStateTests.robot
-1t8gem-openonu-go-adapter-test: openonu-go-adapter-tests
+# target to invoke test with openonu go adapter applying 1T8GEM tech-profile at multiple ONU
+multi-1t8gem-openonu-go-adapter-test: ROBOT_MISC_ARGS += -v techprofile:1T8GEM
+multi-1t8gem-openonu-go-adapter-test: multi-openonu-go-adapter-test
 
 # target to invoke multiple openonu go adapter
 multi-openonu-go-adapter-test: ROBOT_MISC_ARGS += -v state2test:omci-flows-pushed -v testmode:SingleStateTime
@@ -129,24 +127,6 @@
 multi-openonu-go-adapter-test: ROBOT_FILE := Voltha_ONUStateTests.robot
 multi-openonu-go-adapter-test: openonu-go-adapter-tests
 
-# target to invoke test with openonu go adapter applying 1T4GEM tech-profile at multiple ONU
-multi-1t4gem-openonu-go-adapter-test: ROBOT_MISC_ARGS += -v state2test:omci-flows-pushed -v testmode:SingleStateTime
-multi-1t4gem-openonu-go-adapter-test: ROBOT_MISC_ARGS += -v techprofile:1T4GEM -v logging:True
-multi-1t4gem-openonu-go-adapter-test: ROBOT_MISC_ARGS += -i sanityOnuGo -i functionalOnuGo
-multi-1t4gem-openonu-go-adapter-test: ROBOT_MISC_ARGS += -e notreadyOnuGo -X $(ROBOT_DEBUG_LOG_OPT)
-multi-1t4gem-openonu-go-adapter-test: ROBOT_CONFIG_FILE := $(ROBOT_SCALE_MULT_ONU_FILE)
-multi-1t4gem-openonu-go-adapter-test: ROBOT_FILE := Voltha_ONUStateTests.robot
-multi-1t4gem-openonu-go-adapter-test: openonu-go-adapter-tests
-
-# target to invoke test with openonu go adapter applying 1T8GEM tech-profile at multiple ONU
-multi-1t8gem-openonu-go-adapter-test: ROBOT_MISC_ARGS += -v state2test:omci-flows-pushed -v testmode:SingleStateTime
-multi-1t8gem-openonu-go-adapter-test: ROBOT_MISC_ARGS += -v techprofile:1T8GEM -v logging:True
-multi-1t8gem-openonu-go-adapter-test: ROBOT_MISC_ARGS += -i sanityOnuGo -i functionalOnuGo
-multi-1t8gem-openonu-go-adapter-test: ROBOT_MISC_ARGS += -e notreadyOnuGo -X $(ROBOT_DEBUG_LOG_OPT)
-multi-1t8gem-openonu-go-adapter-test: ROBOT_CONFIG_FILE := $(ROBOT_SCALE_MULT_ONU_FILE)
-multi-1t8gem-openonu-go-adapter-test: ROBOT_FILE := Voltha_ONUStateTests.robot
-multi-1t8gem-openonu-go-adapter-test: openonu-go-adapter-tests
-
 # target to invoke test with openonu go adapter applying MIB-Upload-Templating
 mib-upload-templating-openonu-go-adapter-test: ROBOT_MISC_ARGS += -v logging:True -i functionalOnuGo
 mib-upload-templating-openonu-go-adapter-test: ROBOT_MISC_ARGS += -e notreadyOnuGo -X $(ROBOT_DEBUG_LOG_OPT)
@@ -154,31 +134,40 @@
 mib-upload-templating-openonu-go-adapter-test: ROBOT_FILE := Voltha_ONUTemplateTests.robot
 mib-upload-templating-openonu-go-adapter-test: openonu-go-adapter-tests
 
-# target to invoke reconcile tests with openonu go adapter at single ONU with ATT workflow
+# target to invoke reconcile tests with openonu go adapter at single ONU with DT workflow
+reconcile-openonu-go-adapter-test-dt: ROBOT_MISC_ARGS += -v workflow:DT
+reconcile-openonu-go-adapter-test-dt: reconcile-openonu-go-adapter-test
+
+# target to invoke reconcile tests with openonu go adapter at single ONU with TT workflow
+reconcile-openonu-go-adapter-test-tt: ROBOT_MISC_ARGS += -v workflow:TT
+reconcile-openonu-go-adapter-test-tt: reconcile-openonu-go-adapter-test
+
+# target to invoke reconcile tests with openonu go adapter at single ONU (with ATT workflow)
 reconcile-openonu-go-adapter-test: ROBOT_MISC_ARGS += -v logging:True -i functionalOnuGo
 reconcile-openonu-go-adapter-test: ROBOT_MISC_ARGS += -e notreadyOnuGo -X $(ROBOT_DEBUG_LOG_OPT)
 reconcile-openonu-go-adapter-test: ROBOT_CONFIG_FILE := $(ROBOT_SANITY_SINGLE_PON_FILE)
 reconcile-openonu-go-adapter-test: ROBOT_FILE := Voltha_ONUReconcileTests.robot
 reconcile-openonu-go-adapter-test: openonu-go-adapter-tests
 
-# target to invoke reconcile tests with openonu go adapter at single ONU with DT workflow
-reconcile-openonu-go-adapter-test-dt: ROBOT_MISC_ARGS += -v logging:True -i functionalOnuGo -v workflow:DT
-reconcile-openonu-go-adapter-test-dt: ROBOT_MISC_ARGS += -e notreadyOnuGo -X $(ROBOT_DEBUG_LOG_OPT)
-reconcile-openonu-go-adapter-test-dt: ROBOT_CONFIG_FILE := $(ROBOT_SANITY_DT_SINGLE_PON_FILE)
-reconcile-openonu-go-adapter-test-dt: ROBOT_FILE := Voltha_ONUReconcileTests.robot
-reconcile-openonu-go-adapter-test-dt: openonu-go-adapter-tests
+# target to invoke test with openonu go adapter applying 1T4GEM tech-profile with multiple OLTs scenarios with ATT workflow
+1t4gem-openonu-go-adapter-multi-olt-test: ROBOT_MISC_ARGS += -v techprofile:1T4GEM
+1t4gem-openonu-go-adapter-multi-olt-test: openonu-go-adapter-multi-olt-test
 
-# target to invoke reconcile tests with openonu go adapter at single ONU with TT workflow
-reconcile-openonu-go-adapter-test-tt: ROBOT_MISC_ARGS += -v logging:True -i functionalOnuGo -v workflow:TT
-reconcile-openonu-go-adapter-test-tt: ROBOT_MISC_ARGS += -e notreadyOnuGo -X $(ROBOT_DEBUG_LOG_OPT)
-reconcile-openonu-go-adapter-test-tt: ROBOT_CONFIG_FILE := $(ROBOT_SANITY_TT_SINGLE_PON_FILE)
-reconcile-openonu-go-adapter-test-tt: ROBOT_FILE := Voltha_ONUReconcileTests.robot
-reconcile-openonu-go-adapter-test-tt: openonu-go-adapter-tests
+# target to invoke test with openonu go adapter applying 1T8GEM tech-profile with multiple OLTs scenarios with ATT workflow
+1t8gem-openonu-go-adapter-multi-olt-test: ROBOT_MISC_ARGS += -v techprofile:1T8GEM
+1t8gem-openonu-go-adapter-multi-olt-test: openonu-go-adapter-multi-olt-tests
+
+# target to invoke test with openonu go adapter (applying 1T1GEM tech-profile) with multiple OLTs scenarios with ATT workflow
+openonu-go-adapter-multi-olt-test: ROBOT_MISC_ARGS += -v state2test:omci-flows-pushed -v testmode:SingleStateTime
+openonu-go-adapter-multi-olt-test: ROBOT_MISC_ARGS += -v logging:True -i sanityOnuGo -i functionalOnuGo
+openonu-go-adapter-multi-olt-test: ROBOT_MISC_ARGS += -e notreadyOnuGo -X $(ROBOT_DEBUG_LOG_OPT)
+openonu-go-adapter-multi-olt-test: ROBOT_CONFIG_FILE := $(ROBOT_SANITY_MULTIPLE_OLT_FILE)
+openonu-go-adapter-multi-olt-test: ROBOT_FILE := Voltha_ONUStateTests.robot
+openonu-go-adapter-multi-olt-test: openonu-go-adapter-tests
 
 sanity-single-kind: ROBOT_MISC_ARGS += -i sanity $(ROBOT_DEBUG_LOG_OPT)
 sanity-single-kind: ROBOT_CONFIG_FILE := $(ROBOT_SANITY_SINGLE_PON_FILE)
 sanity-single-kind: bbsim-kind
-
 sanity-bbsim-att: ROBOT_MISC_ARGS += -v logging:True -v workflow:ATT
 sanity-bbsim-att: sanity-bbsim
 
@@ -334,10 +323,6 @@
 	cd tests/openonu-go-adapter ;\
 	robot -V $(ROBOT_CONFIG_FILE) $(ROBOT_MISC_ARGS) $(ROBOT_FILE)
 
-voltha-bbsim-test: vst_venv
-	source ./$</bin/activate ; set -u ;\
-	cd tests/bbsim ;\
-	robot -V $(ROBOT_CONFIG_FILE) $(ROBOT_MISC_ARGS) $(ROBOT_FILE)
 
 # self-test, lint, and setup targets
 
diff --git a/libraries/bbsim.robot b/libraries/bbsim.robot
old mode 100644
new mode 100755
index 12ce3a6..92e4424
--- a/libraries/bbsim.robot
+++ b/libraries/bbsim.robot
@@ -57,3 +57,17 @@
     ...    bbsimctl onu igmp ${onu} ${task} ${group_address}
     Log     ${res}
     Should Be Equal as Integers    ${rc}    0
+
+Power On ONU
+    [Documentation]    This keyword turns on the power for onu device.
+    [Arguments]    ${namespace}    ${bbsim_pod_name}    ${onu}
+    ${result}    ${rc}=    Exec Pod And Return Output And RC    ${namespace}    ${bbsim_pod_name}
+    ...    bbsimctl onu poweron ${onu}
+    Should Contain    ${result}    successfully    msg=Can not poweron ${onu}    values=False
+
+Power Off ONU
+    [Documentation]    This keyword turns off the power for onu device.
+    [Arguments]    ${namespace}    ${bbsim_pod_name}    ${onu}
+    ${result}    ${rc}=    Exec Pod And Return Output And RC    ${namespace}    ${bbsim_pod_name}
+    ...    bbsimctl onu shutdown ${onu}
+    Should Contain    ${result}    successfully    msg=Can not shutdown ${onu}    values=False
diff --git a/libraries/k8s.robot b/libraries/k8s.robot
old mode 100644
new mode 100755
index bb909d1..63b9efe
--- a/libraries/k8s.robot
+++ b/libraries/k8s.robot
@@ -64,10 +64,12 @@
     [return]    ${output}
 
 Exec Pod In Kube
-    [Arguments]    ${namespace}    ${name}    ${command}
+    [Arguments]    ${namespace}    ${name}    ${command}    ${grep}=${EMPTY}
     [Documentation]    Uses kubectl to execute a command in the pod and return the output
-    ${rc}    ${exec_pod_name}=    Run and Return Rc and Output
-    ...    kubectl -n ${namespace} get pods -l app.kubernetes.io/name=${name} -o name
+    ${rc}    ${exec_pod_name}=    Run Keyword If     '${grep}'=='${EMPTY}'
+    ...    Run and Return Rc and Output    kubectl -n ${namespace} get pods -l app.kubernetes.io/name=${name} -o name
+    ...    ELSE    Run and Return Rc and Output
+    ...    kubectl -n ${namespace} get pods -l app.kubernetes.io/name=${name} -o name \| grep ${grep}
     Log    ${exec_pod_name}
     Should Not Be Empty    ${exec_pod_name}    Unable to parse pod name
     ${rc}    ${output}=    Run and Return Rc and Output
@@ -377,9 +379,9 @@
 Wait For Pods Not Exist
     [Arguments]    ${namespace}    ${list_names}
     [Documentation]    Checks the passed PODs are no longer existing
-	FOR    ${pod_name}    IN    @{list_names}
+    FOR    ${pod_name}    IN    @{list_names}
         Run Keyword And Continue On Failure    Wait Until Keyword Succeeds    ${timeout}    3s
-    	...    Pod Does Not Exist    ${namespace}    ${pod_name}
+        ...    Pod Does Not Exist    ${namespace}    ${pod_name}
     END
 
 Pods Do Not Exist By Label
@@ -441,9 +443,9 @@
 Wait For Pods Ready
     [Arguments]    ${namespace}    ${list_apps}
     [Documentation]    Checks the passed PODs are ready
-	FOR    ${app_name}    IN    @{list_apps}
+    FOR    ${app_name}    IN    @{list_apps}
         Run Keyword And Continue On Failure    Wait Until Keyword Succeeds    ${timeout}    3s
-    	...    Pods Are Ready By Label    ${namespace}    app    ${app_name}
+        ...    Pods Are Ready By Label    ${namespace}    app    ${app_name}
     END
 
 Check Expected Running Pods Number By Label
diff --git a/libraries/onu_utilities.robot b/libraries/onu_utilities.robot
index f15ff7e..88e0d72 100755
--- a/libraries/onu_utilities.robot
+++ b/libraries/onu_utilities.robot
@@ -32,19 +32,39 @@
 Power On ONU Device
     [Documentation]    This keyword turns on the power for all onus.
     [Arguments]    ${namespace}
+    FOR    ${J}    IN RANGE    0    ${num_olts}
+        ${olt_serial_number}=    Set Variable    ${list_olts}[${J}][sn]
+        ${bbsim}=    Catenate    SEPARATOR=    bbsim    ${J}
+        ${bbsim_pod}=    Get Pod Name By Label    ${namespace}    release     ${bbsim}
+        Power On ONU Device per OLT    ${namespace}   ${olt_serial_number}    ${bbsim_pod}
+    END
+
+Power On ONU Device per OLT
+    [Documentation]    This keyword turns on the power for all onus.
+    [Arguments]    ${namespace}    ${olt_serial_number}    ${bbsim_pod}
     FOR    ${I}    IN RANGE    0    ${num_all_onus}
         ${src}=    Set Variable    ${hosts.src[${I}]}
-        ${result}=    Exec Pod In Kube    ${namespace}    bbsim    bbsimctl onu poweron ${src['onu']}
-        Should Contain    ${result}    successfully    msg=Can not poweron ${src['onu']}    values=False
+        Continue For Loop If    "${olt_serial_number}"!="${src['olt']}"
+        Power On ONU    ${namespace}    ${bbsim_pod}    ${src['onu']}
     END
 
 Power Off ONU Device
-    [Documentation]    This keyword turns off the power for all onus.
+    [Documentation]    This keyword turns off the power for all onus per olt.
     [Arguments]    ${namespace}
+    FOR    ${J}    IN RANGE    0    ${num_olts}
+        ${olt_serial_number}=    Set Variable    ${list_olts}[${J}][sn]
+        ${bbsim}=    Catenate    SEPARATOR=    bbsim    ${J}
+        ${bbsim_pod}=    Get Pod Name By Label    ${namespace}    release     ${bbsim}
+        Power Off ONU Device per OLT    ${namespace}   ${olt_serial_number}    ${bbsim_pod}
+    END
+
+Power Off ONU Device per OLT
+    [Documentation]    This keyword turns off the power for all onus per olt.
+    [Arguments]    ${namespace}    ${olt_serial_number}    ${bbsim_pod}
     FOR    ${I}    IN RANGE    0    ${num_all_onus}
         ${src}=    Set Variable    ${hosts.src[${I}]}
-        ${result}=    Exec Pod In Kube    ${namespace}    bbsim    bbsimctl onu shutdown ${src['onu']}
-        Should Contain    ${result}    successfully    msg=Can not shutdown ${src['onu']}    values=False
+        Continue For Loop If    "${olt_serial_number}"!="${src['olt']}"
+        Power Off ONU    ${namespace}    ${bbsim_pod}    ${src['onu']}
     END
 
 Current State Test
@@ -210,18 +230,18 @@
     log    ${jsondata}
     Run Keyword And Continue On Failure    Should Be Equal As Integers    ${length}    ${nbofetcddata}
     ...    msg=Number etcd data (${length}) does not match required (${nbofetcddata})!
-    ${pononuuniidlist}=    Create List
+    ${oltpononuuniidlist}=    Create List
     ${serialnumberlist}=    Create List
     FOR    ${INDEX}    IN RANGE    0    ${length}
         ${value}=    Get From List    ${jsondata}    ${INDEX}
         # TODO: The TP ID is hardcoded to 64 below. It is fine when testing single-tcont workflow.
         # When testing multi-tcont this may need some adjustment.
         ${tp_path}=    Get From Dictionary    ${value['uni_config'][0]['PersTpPathMap']}    64
-        ${pononuuniid}=    Read Pon Onu Uni String    ${tp_path}
-        ${list_id}=    Get Index From List    ${pononuuniidlist}   ${pononuuniid}
+        ${oltpononuuniid}=    Read Pon Onu Uni String    ${tp_path}
+        ${list_id}=    Get Index From List    ${oltpononuuniidlist}   ${oltpononuuniid}
         Should Be Equal As Integers    ${list_id}    -1
-        ...    msg=Combination of Pon, Onu and Uni (${pononuuniid}) exist multiple in etcd data!
-        Append To List    ${pononuuniidlist}    ${pononuuniid}
+        ...    msg=Combination of Pon, Onu and Uni (${oltpononuuniid}) exist multiple in etcd data!
+        Append To List    ${oltpononuuniidlist}    ${oltpononuuniid}
         Validate Onu Id    ${value}
         Validate Uni Id    ${value}
         ${serial_number}=    Get From Dictionary    ${value}    serial_number
@@ -252,7 +272,7 @@
         # TODO: The TP ID is hardcoded to 64 below. It is fine when testing single-tcont workflow.
         # When testing multi-tcont this may need some adjustment.
         ${tp_path}=    Get From Dictionary    ${value['uni_config'][0]['PersTpPathMap']}    64
-        ${pononuuniid}=    Read Pon Onu Uni String    ${tp_path}
+        ${oltpononuuniid}=    Read Pon Onu Uni String    ${tp_path}
         ${cookieslice}=    Get From Dictionary    ${value['uni_config'][0]['flow_params'][0]}    cookie_slice
         #@{cookieslicelist}=    Split String    ${cookieslice}    ,
         ${foundcookieslices}=    Get Length    ${cookieslice}
@@ -264,9 +284,9 @@
         ...    set_vid
         ${evalresult}=    Evaluate    2 <= ${setvid} <= 4095
         Should Be True    ${evalresult}    msg=set_vid out of range (${setvid})!
-        Set To Dictionary    ${vlan_rules}    ${pononuuniid}    ${setvid}
+        Set To Dictionary    ${vlan_rules}    ${oltpononuuniid}    ${setvid}
         ${oldsetvidvalid}     Set Variable If    ${prevvlanrules} is ${NONE}    False    True
-        ${prevsetvid}=    Set Variable If    ${oldsetvidvalid}    ${prevvlanrules['${pononuuniid}']}
+        ${prevsetvid}=    Set Variable If    ${oldsetvidvalid}    ${prevvlanrules['${oltpononuuniid}']}
         Run Keyword If    ${oldsetvidvalid} and ${setvidequal}
         ...               Should Be Equal As Integers    ${prevsetvid}    ${setvid}
         ...    ELSE IF    ${oldsetvidvalid} and not ${setvidequal}
@@ -312,14 +332,15 @@
     [Return]    ${string}
 
 Read Pon Onu Uni String
-    [Documentation]    This keyword builds a thre digit string using Pon, Onu and Uni value of given tp-path taken
+    [Documentation]    This keyword builds a four digit string using Olt, Pon, Onu and Uni value of given tp-path taken
     ...                taken from etcd data of onu go adapter
     [Arguments]    ${tp_path}
     ${tppathlines}=   Replace String    ${tp_path}    /    \n
+    ${olt}=    Get Value Of Tp Path Element    ${tppathlines}    olt
     ${pon}=    Get Value Of Tp Path Element    ${tppathlines}    pon
     ${onu}=    Get Value Of Tp Path Element    ${tppathlines}    onu
     ${uni}=    Get Value Of Tp Path Element    ${tppathlines}    uni
-    ${valuesid}=    Set Variable   ${pon}/${onu}/${uni}
+    ${valuesid}=    Set Variable   ${olt}/${pon}/${onu}/${uni}
     log    ${valuesid}
     [Return]    ${valuesid}
 
@@ -373,7 +394,8 @@
         ${of_id}=    Wait Until Keyword Succeeds    ${timeout}    15s    Validate OLT Device in ONOS
         ...    ${olt_serial_number}
         Set Global Variable    ${of_id}
-        Wait for Ports in ONOS    ${onos_ssh_connection}    ${count}    ${of_id}    BBSM    ${max_wait_time}
+        ${count2check}    Set Variable If    ${count}==${num_all_onus}    ${onu_count}    ${count}
+        Wait for Ports in ONOS    ${onos_ssh_connection}    ${count2check}    ${of_id}    BBSM    ${max_wait_time}
     END
 
 Wait for all ONU Ports in ONOS Disabled
diff --git a/tests/data/bbsim-kind-2OLTx2ONUx2PON.yaml b/tests/data/bbsim-kind-2OLTx2ONUx2PON.yaml
index 60c9779..8e4c2f1 100755
--- a/tests/data/bbsim-kind-2OLTx2ONUx2PON.yaml
+++ b/tests/data/bbsim-kind-2OLTx2ONUx2PON.yaml
@@ -49,6 +49,16 @@
       s_tag: '900'
       olt: 'BBSIM_OLT_10'
     -
+      onu: 'BBSM000a0101'
+      olt: 'BBSIM_OLT_10'
+      c_tag: '902'
+      s_tag: '900'
+    -
+      onu: 'BBSM000a0102'
+      olt: 'BBSIM_OLT_10'
+      c_tag: '903'
+      s_tag: '900'
+    -
       onu: 'BBSM000b0001'
       c_tag: '900'
       s_tag: '901'
@@ -58,8 +68,22 @@
       c_tag: '901'
       s_tag: '901'
       olt: 'BBSIM_OLT_11'
+    -
+      onu: 'BBSM000b0101'
+      olt: 'BBSIM_OLT_11'
+      c_tag: '902'
+      s_tag: '901'
+    -
+      onu: 'BBSM000b0102'
+      olt: 'BBSIM_OLT_11'
+      c_tag: '903'
+      s_tag: '901'
   dst:
     - ip: null
     - ip: null
     - ip: null
     - ip: null
+    - ip: null
+    - ip: null
+    - ip: null
+    - ip: null
diff --git a/tests/openonu-go-adapter/Voltha_ONUStateTests.robot b/tests/openonu-go-adapter/Voltha_ONUStateTests.robot
index 9b38ccc..e3593b5 100755
--- a/tests/openonu-go-adapter/Voltha_ONUStateTests.robot
+++ b/tests/openonu-go-adapter/Voltha_ONUStateTests.robot
@@ -30,6 +30,7 @@
 Resource          ../../libraries/utils.robot
 Resource          ../../libraries/k8s.robot
 Resource          ../../libraries/onu_utilities.robot
+Resource          ../../libraries/bbsim.robot
 Resource          ../../variables/variables.robot
 
 *** Variables ***
@@ -309,7 +310,7 @@
 
 Do Onu Port Check
     [Documentation]    Check that all the UNI ports show up in ONOS
-    Wait for Ports in ONOS for all OLTs    ${onos_ssh_connection}    ${num_all_onus}    BBSM
+    Wait for Ports in ONOS for all OLTs    ${onos_ssh_connection}    ${num_all_onus}    BBSM    ${timeout}
 
 Do Onu Etcd Data Check
     [Documentation]    Check Onu data stored in etcd
diff --git a/tests/openonu-go-adapter/Voltha_ONUTemplateTests.robot b/tests/openonu-go-adapter/Voltha_ONUTemplateTests.robot
index 1f3645a..1c5b1ac 100755
--- a/tests/openonu-go-adapter/Voltha_ONUTemplateTests.robot
+++ b/tests/openonu-go-adapter/Voltha_ONUTemplateTests.robot
@@ -32,6 +32,7 @@
 Resource          ../../libraries/utils.robot
 Resource          ../../libraries/k8s.robot
 Resource          ../../libraries/onu_utilities.robot
+Resource          ../../libraries/bbsim.robot
 Resource          ../../variables/variables.robot
 
 *** Variables ***
@@ -116,8 +117,8 @@
     # Start first Onu
     ${src}=    Set Variable    ${hosts.src[${0}]}
     Log    \r\nONU ${src['onu']}: startup with MIB upload cycle and storage of template data to etcd.    console=yes
-    ${result}=    Exec Pod In Kube    ${namespace}    bbsim    bbsimctl onu poweron ${src['onu']}
-    Should Contain    ${result}    successfully    msg=Can not poweron ${src['onu']}    values=False
+    ${bbsim_pod}=    Get Pod Name By Label    ${namespace}    release     bbsim0
+    Power On ONU    ${namespace}    ${bbsim_pod}    ${src['onu']}
     ${timeStart}=    Get Current Date
     ${firstonustartup}=    Get ONU Startup Duration    ${firstonu}    ${timeStart}
     # check MIB Template data stored in etcd
@@ -126,8 +127,8 @@
     # Start second Onu
     ${src}=    Set Variable    ${hosts.src[${1}]}
     Log    ONU ${src['onu']}: startup without MIB upload cycle by using of template data of etcd.    console=yes
-    ${result}=    Exec Pod In Kube    ${namespace}    bbsim    bbsimctl onu poweron ${src['onu']}
-    Should Contain    ${result}    successfully    msg=Can not poweron ${src['onu']}    values=False
+    ${bbsim_pod}=    Get Pod Name By Label    ${namespace}    release     bbsim0
+    Power On ONU    ${namespace}    ${bbsim_pod}    ${src['onu']}
     ${timeStart}=    Get Current Date
     ${secondonustartup}=    Get ONU Startup Duration    ${secondonu}    ${timeStart}
     # compare both durations, second onu should be at least 3 times faster