Abort FFDC collection if BMC is not online
If Ping and SSH are alive then FFDC collection proceeds else abort
the log collection as it is going to fail anyway.
Resolves openbmc/openbmc-test-automation#390
Change-Id: Ic65f3e09088355c7043c43333bcb4b97e68c5de4
Signed-off-by: George Keishing <gkeishin@in.ibm.com>
diff --git a/lib/openbmc_ffdc.py b/lib/openbmc_ffdc.py
index 3568dc6..80a5c96 100644
--- a/lib/openbmc_ffdc.py
+++ b/lib/openbmc_ffdc.py
@@ -30,6 +30,22 @@
ffdc_prefix The prefix to be given to each FFDC file name generated.
"""
+ # Check if Ping and SSH connection is alive
+ OPENBMC_HOST = BuiltIn().get_variable_value("${OPENBMC_HOST}")
+ cmd_buf = ["Ping Host", OPENBMC_HOST]
+ grp.rpissuing_keyword(cmd_buf)
+ status_ping = BuiltIn().run_keyword_and_return_status(*cmd_buf)
+ grp.rprint_var(status_ping)
+ if status_ping == True:
+ status_ssh = \
+ BuiltIn().run_keyword_and_return_status("Open Connection And Log In")
+ grp.rprint_var(status_ssh)
+ if status_ssh != True:
+ grp.rprint_error("BMC is not communicating. \
+ Aborting FFDC collection.\n")
+ BuiltIn().run_keyword_and_return_status("Close All Connections")
+ return
+
grp.rprint_timen("Collecting FFDC.")
# Note: Several subordinate functions like 'Get Test Dir and Name' and