Add sosreport to OS FFDC collection

Resolves openbmc/openbmc-test-automation#1736

Signed-off-by: Steven Sombar <ssombar@us.ibm.com>
Change-Id: I9b66eb24113403bac8aefd34dc5c822818dc44f5
diff --git a/lib/openbmc_ffdc_methods.robot b/lib/openbmc_ffdc_methods.robot
index 2af265f..fa2fc04 100755
--- a/lib/openbmc_ffdc_methods.robot
+++ b/lib/openbmc_ffdc_methods.robot
@@ -351,6 +351,30 @@
     \    ${ffdc_file_list}=  Smart Combine Lists  ${ffdc_file_list}
     ...      ${ffdc_file_sub_list}
 
+    # Get the name of the sosreport file.
+    ${sosreport_file_path}  ${stderr}  ${rc}=  OS Execute Command
+    ...  ls /tmp/sosreport*FFDC*tar.xz  ignore_err=${True}
+    # Example:  sosreport_file_path="/tmp/sosreport-myhost-FFDC-2019-08-20-pbuaqtk.tar.xz".
+
+    # Return if there is no sosreport file.
+    Return From Keyword If  ${rc} != ${0}  ${ffdc_file_list}
+
+    ${sosreport_dir_path}  ${sosreport_file_name}=  Split Path  ${sosreport_file_path}
+    # Example:  sosreport_dir_path="/tmp",
+    #           sosreport_file_name="sosreport-myhost-FFDC-2019-08-20-pbuaqtk.tar.xz".
+
+    # Location where the sosreport file will be copied to.
+    ${local_sosreport_file_path}=  Set Variable  ${LOG_PREFIX}OS_${sosreport_file_name}
+
+    # Change file permissions otherwise scp will not see the file.
+    OS Execute Command  chmod 644 ${sosreport_file_path}
+
+    # SCP the sosreport file from the OS.
+    Run Key U  scp.Get File \ ${sosreport_file_path} \ ${local_sosreport_file_path}
+
+    # Add the file location to the ffdc_file_list.
+    Append To List  ${ffdc_file_list}  ${local_sosreport_file_path}
+
     [Return]  ${ffdc_file_list}
 
 
@@ -403,7 +427,7 @@
     ...      ${ffdc_file_sub_list}
 
     # Delete ffdc files still on OS and close scp.
-    OS Execute Command  rm -rf /tmp/OS_*
+    OS Execute Command  rm -rf /tmp/OS_* /tmp/sosreport*FFDC*  ignore_err=${True}
     scp.Close Connection
 
     [Return]  ${ffdc_file_list}