diff --git a/libraries/onu_utilities.robot b/libraries/onu_utilities.robot
index 593a964..3db563a 100755
--- a/libraries/onu_utilities.robot
+++ b/libraries/onu_utilities.robot
@@ -114,6 +114,46 @@
     # teardown is used as 'return' for result of Validate ONU Devices With Duration (used for ONUNegativeStateTests)
     [Teardown]    Run Keyword If    "${KEYWORD STATUS}"=="FAIL"    Set Suite Variable    ${StateTestAllONUs}    False
 
+Wait for ONU Adapter Reconcile
+    [Documentation]     After the OpenONU adapter is restarted waits for all the ONUs to go through the reconciling process
+    ...     till they reach the expect OpenStatus
+    [Arguments]     ${oper_status}
+    # wait for the reconcile to complete
+    # - we check that the first ONU state is set to reconciling. All of the ONUs will be set to reconciling
+    # very quickly at that point
+    # we need the Ignore Error to support he kafka case, in which the reconcile happens meanwhile we're waiting for
+    # the adapter to restart
+    Run Keyword And Ignore Error    Wait Until Keyword Succeeds    ${timeout}
+    ...     100ms  Check ONU OperStatus     ${hosts.src[0]['onu']}  RECONCILING
+    # - then we wait that all ONU move to the next state
+    ${onu_list}    Create List
+    FOR    ${I}    IN RANGE    0    ${num_all_onus}
+        ${onu_sn}=  Set Variable    ${hosts.src[${I}]['onu']}
+        # skip the check if we have already performed it for this ONU
+        ${onu_id}=    Get Index From List    ${onu_list}   ${onu_sn}
+        Continue For Loop If    -1 != ${onu_id}
+        Append To List    ${onu_list}    ${onu_sn}
+        Wait Until Keyword Succeeds    ${timeout}    100ms  Check ONU OperStatus     ${onu_sn}  ${oper_status}
+    END
+
+Check ONU OperStatus
+    [Documentation]     Checks that all ONUs OperStatus is ACTIVE
+    [Arguments]     ${sn}   ${oper_status}
+    ${List_ONU_Serial}    Create List
+    Build ONU SN List    ${List_ONU_Serial}
+    ${cmd}=    Catenate    voltctl -c ${VOLTCTL_CONFIG} device list -m 8MB -f Type=brcm_openomci_onu
+    ...    --format "{{.SerialNumber}}\t{{.AdminState}}\t{{.OperStatus}}\t{{.ConnectStatus}}\t{{.Reason}}"
+    ...     | grep -v SERIALNUMBER | grep ${sn}
+    ${rc}    ${output}=    Run and Return Rc and Output    ${cmd}
+    Should Be Equal As Integers    ${rc}    0
+    Log     ${output}
+
+    @{words}=    Split String    ${output}    \t
+    ${sn}=    Set Variable    ${words[0]}
+    ${opstatus}=    Set Variable    ${words[2]}
+    Log     OperStatus is ${opstatus} for device ${sn}
+    Should Be True      '${opstatus}' == '${oper_status}'   OperStatus ${oper_status} not matched on ONU ${sn}
+
 Log Ports
     [Documentation]    This keyword logs all port data available in ONOS of first port per ONU
     [Arguments]    ${onlyenabled}=False
