[VOL-2431]Multiple ONU Reboot Scenario

Change-Id: I0ec6a3e80d9a266b85a8c8e99b877e8a9e6f9857
diff --git a/libraries/utils.robot b/libraries/utils.robot
index 5e0c05b..6b8b51d 100644
--- a/libraries/utils.robot
+++ b/libraries/utils.robot
@@ -281,3 +281,17 @@
     Run Keyword and Ignore Error    Get Device Output from Voltha    ${olt_device_id}
     Run Keyword and Ignore Error    Get Logical Device Output from Voltha    ${logical_id}
     Run Keyword If    ${external_libs}    Get ONOS Status    ${k8s_node_ip}
+
+Verify ping is succesful except for given device
+    [Arguments]    ${num_onus}    ${exceptional_onu_id}
+    [Documentation]    Checks that ping for all the devices are successful except the given ONU.
+    ${pingStatus}     Set Variable    True
+    FOR    ${I}    IN RANGE    0    ${num_onus}
+        ${src}=    Set Variable    ${hosts.src[${I}]}
+        ${dst}=    Set Variable    ${hosts.dst[${I}]}
+        ${onu_device_id}=    Get Device ID From SN    ${src['onu']}
+        ${pingStatus}     Run Keyword If    '${onu_device_id}' == '${exceptional_onu_id}'    Set Variable     False
+        Run Keyword And Continue On Failure    Wait Until Keyword Succeeds    60s    2s
+        ...    Check Ping    ${pingStatus}    ${dst['dp_iface_ip_qinq']}    ${src['dp_iface_name']}
+        ...    ${src['ip']}    ${src['user']}    ${src['pass']}   ${src['container_type']}    ${src['container_name']}
+    END