Collect BMC FFDC using scp
Resolves openbmc/openbmc-test-automation#1768
Signed-off-by: Steven Sombar <ssombar@us.ibm.com>
Change-Id: I2357b55dda0b20123f4bcaf4488ca8c345fc502e
diff --git a/lib/openbmc_ffdc_list.py b/lib/openbmc_ffdc_list.py
index 7d9af03..4e62954 100755
--- a/lib/openbmc_ffdc_list.py
+++ b/lib/openbmc_ffdc_list.py
@@ -36,16 +36,16 @@
'BMC FILES':
{
# File Name Command
- 'BMC_flash_side': 'cat /sys/class/watchdog/watchdog1/bootstatus',
- 'BMC_proc_list': 'top -n 1 -b',
- 'BMC_proc_fd_active_list': 'ls -Al /proc/*/fd/',
- 'BMC_journalctl_nopager': 'journalctl --no-pager',
- 'BMC_journalctl_pretty': 'journalctl -o json-pretty',
- 'BMC_dmesg': 'dmesg',
- 'BMC_procinfo': 'cat /proc/cpuinfo',
- 'BMC_meminfo': 'cat /proc/meminfo',
- 'BMC_systemd': 'systemctl status --all',
- 'SOL': 'cat /var/log/obmc-console.log',
+ 'BMC_flash_side': 'cat /sys/class/watchdog/watchdog1/bootstatus >/tmp/BMC_flash_side.txt 2>&1',
+ 'BMC_proc_list': 'top -n 1 -b >/tmp/BMC_proc_list.txt 2>&1',
+ 'BMC_proc_fd_active_list': 'ls -Al /proc/*/fd/ >/tmp/BMC_proc_fd_active_list.txt 2>&1',
+ 'BMC_journalctl_nopager': 'journalctl --no-pager >/tmp/BMC_journalctl_nopager.txt 2>&1',
+ 'BMC_journalctl_pretty': 'journalctl -o json-pretty >/tmp/BMC_journalctl_pretty.txt 2>&1',
+ 'BMC_dmesg': 'dmesg >/tmp/BMC_dmesg.txt 2>&1',
+ 'BMC_procinfo': 'cat /proc/cpuinfo >/tmp/BMC_procinfo.txt 2>&1',
+ 'BMC_meminfo': 'cat /proc/meminfo >/tmp/BMC_meminfo.txt 2>&1',
+ 'BMC_systemd': 'systemctl status --all >/tmp/BMC_systemd.txt 2>&1',
+ 'SOL': 'cat /var/log/obmc-console.log >/tmp/SOL.txt 2>&1',
},
}
# Add file name and correcponding command needed for all Linux distributions
diff --git a/lib/openbmc_ffdc_methods.robot b/lib/openbmc_ffdc_methods.robot
index 5759ab7..42b3a35 100755
--- a/lib/openbmc_ffdc_methods.robot
+++ b/lib/openbmc_ffdc_methods.robot
@@ -194,12 +194,18 @@
# entries:
# entries[0]: BMC FILES
+ scp.Open Connection
+ ... ${OPENBMC_HOST} username=${OPENBMC_USERNAME} password=${OPENBMC_PASSWORD}
+
@{ffdc_file_list}= Create List
:FOR ${index} IN @{entries}
\ ${ffdc_file_sub_list}= Create File and Write Data ${index}
\ ${ffdc_file_list}= Smart Combine Lists ${ffdc_file_list}
... ${ffdc_file_sub_list}
+ BMC Execute Command rm -rf /tmp/BMC_* /tmp/SOL.txt
+ scp.Close Connection
+
[Return] ${ffdc_file_list}
@@ -217,6 +223,7 @@
\ ${logpath}= Catenate SEPARATOR= ${LOG_PREFIX} ${cmd[0]}.txt
\ ${ffdc_file_sub_list}= Execute Command and Write FFDC ${cmd[0]}
... ${cmd[1]} ${logpath}
+ \ Run Key U scp.Get File \ /tmp/${cmd[0]}.txt \ ${LOG_PREFIX}${cmd[0]}.txt
\ ${ffdc_file_list}= Smart Combine Lists ${ffdc_file_list}
... ${ffdc_file_sub_list}
@@ -317,8 +324,7 @@
\ ${ffdc_file_sub_list}= Execute Command and Write FFDC ${cmd[0]}
... ${cmd[1]} ${logpath} target=OS
\ # scp it to the LOG_PREFIX ffdc directory.
- \ Log To Console scp.Get File /tmp/${cmd[0]}.txt ${LOG_PREFIX}${cmd[0]}.txt
- \ scp.Get File /tmp/${cmd[0]}.txt ${LOG_PREFIX}${cmd[0]}.txt
+ \ Run Key U scp.Get File \ /tmp/${cmd[0]}.txt \ ${LOG_PREFIX}${cmd[0]}.txt
\ ${ffdc_file_list}= Smart Combine Lists ${ffdc_file_list}
... ${ffdc_file_sub_list}
@@ -341,8 +347,7 @@
\ ${logpath}= Catenate SEPARATOR= ${LOG_PREFIX} ${cmd[0]}.txt
\ ${ffdc_file_sub_list}= Execute Command and Write FFDC ${cmd[0]}
... ${cmd[1]} ${logpath} target=OS
- \ Log To Console scp.Get File /tmp/${cmd[0]}.txt ${LOG_PREFIX}${cmd[0]}.txt
- \ scp.Get File /tmp/${cmd[0]}.txt ${LOG_PREFIX}${cmd[0]}.txt
+ \ Run Key U scp.Get File \ /tmp/${cmd[0]}.txt \ ${LOG_PREFIX}${cmd[0]}.txt
\ ${ffdc_file_list}= Smart Combine Lists ${ffdc_file_list}
... ${ffdc_file_sub_list}