BMC Reset Reload when host is at runtime in loop

Changes:
     - New Test and keyword to loop execution Reset Reload

Change-Id: Ie386902528de5db7549a6514c26b2b5ddd77de23
Signed-off-by: George Keishing <gkeishin@in.ibm.com>
diff --git a/extended/test_bmc_reset_loop.robot b/extended/test_bmc_reset_loop.robot
index 9a88428..e561355 100644
--- a/extended/test_bmc_reset_loop.robot
+++ b/extended/test_bmc_reset_loop.robot
@@ -54,6 +54,15 @@
     Repeat Keyword  ${LOOP_COUNT} times  BMC Reboot Cycle
 
 
+Run Multiple BMC Reset When Host Is Booted Via Redfish
+    [Documentation]  Execute multiple reboots via redfish.
+    [Tags]  Run_Multiple_BMC_Reset_When_Host_Is_Booted_Via_Redfish
+
+    # By default run test for 50 loops, else user input iteration.
+    # Fails immediately if any of the execution rounds fail and
+    # check if BMC is still pinging and FFDC is collected.
+    Repeat Keyword  ${LOOP_COUNT} times  BMC Redfish Reset Runtime Cycle
+
 *** Keywords ***
 
 Power Cycle System Via PDU
@@ -80,6 +89,20 @@
     Verify BMC RTC And UTC Time Drift
 
 
+BMC Redfish Reset Runtime Cycle
+    [Documentation]  Reset BMC via Redfish and verify required states.
+
+    Redfish OBMC Reboot (run)
+
+    ${bmc_version}=  Get BMC Version
+    Valid Value  bmc_version  valid_values=['${initial_bmc_version}']
+
+    Run Keyword If  '${CHECK_FOR_ERRORS}' == '${1}'
+    ...  Check For Regex In Journald  ${ERROR_REGEX}  error_check=${0}  boot=-b
+
+    Verify BMC RTC And UTC Time Drift
+
+
 BMC Reboot Cycle
     [Documentation]  Reboot BMC and wait for ready state.