1---
2# This yaml formatted file contains defaults items to collect FFDC for the targeted system
3# COMMANDS - List of commands to be run on the corresponding targeted system (inband)
4#            to generate and/or collect data
5# FILES    - List of files; with complete path; on the corresponding targeted system
6#            to be copied to external destination
7# PROTOCOL - Protocol used to communicate with targeted system; ssh, Rest, redfish, etc
8#
9# Note: Items in COMMANDS and FILES are not necessarily one-to-one correspondence.
10#       For example, a file could have been created by an internal process,
11#       and is listed in FILES to be collected.
12#
13
14# Commands and Files to collect for a given OpenBMC system.
15OPENBMC:
16    # Commands and File to take snapshot of linux based system.
17    # Filename is <OS>_general.txt, where <OS> is in [OPENBMC, RHEL, UBUNTU]
18    GENERAL:
19        COMMANDS:
20            - 'rm -rf /tmp/*BMC_* /tmp/PEL_* /tmp/pldm* /tmp/PLDM* /tmp/GUARD* /tmp/fan_* /tmp/DEVTREE'
21            - 'echo "++++++++++ cat /etc/os-release ++++++++++" >> /tmp/OPENBMC_general.txt'
22            - 'cat /etc/os-release >> /tmp/OPENBMC_general.txt'
23            - 'echo -e "\n++++++++++ cat /etc/timestamp ++++++++++" >> /tmp/OPENBMC_general.txt'
24            - 'cat /etc/timestamp >> /tmp/OPENBMC_general.txt'
25            - 'echo -e "\n++++++++++ uname -a ++++++++++" >> /tmp/OPENBMC_general.txt'
26            - 'uname -a >> /tmp/OPENBMC_general.txt'
27            - 'echo -e "\n++++++++++ cat /etc/timestamp ++++++++++" >> /tmp/OPENBMC_general.txt'
28            - 'cat /etc/timestamp >> /tmp/OPENBMC_general.txt'
29            - 'echo -e "\n++++++++++ uptime;cat /proc/uptime ++++++++++" >> /tmp/OPENBMC_general.txt'
30            - 'uptime >> /tmp/OPENBMC_general.txt'
31            - 'cat /proc/uptime >> /tmp/OPENBMC_general.txt'
32            - 'echo -e "\n++++++++++ df -hT ++++++++++" >> /tmp/OPENBMC_general.txt'
33            - 'df -hT >> /tmp/OPENBMC_general.txt'
34            - 'echo -e "\n++++++++++ date;/sbin/hwclock --show ++++++++++" >> /tmp/OPENBMC_general.txt'
35            - 'date >> /tmp/OPENBMC_general.txt'
36            - '/sbin/hwclock --show >> /tmp/OPENBMC_general.txt'
37            - '/usr/bin/timedatectl >> /tmp/OPENBMC_general.txt'
38            - 'echo -e "\n++++++++++ /usr/bin/obmcutil state ++++++++++" >> /tmp/OPENBMC_general.txt'
39            - '/usr/bin/obmcutil state >> /tmp/OPENBMC_general.txt'
40            - 'echo -e "\n++++++++++ bmcweb session data ++++++++++" >> /tmp/OPENBMC_general.txt'
41            - 'for f in `find /var/lib/bmcweb/ -name "*.json"`; do (echo $f; cat $f) done >> /tmp/OPENBMC_general.txt'
42        FILES:
43            - '/tmp/OPENBMC_general.txt'
44        PROTOCOL:
45            - 'SSH'
46
47    OPENBMC_LOGS:
48        COMMANDS:
49            - 'cat /sys/class/watchdog/watchdog1/bootstatus >/tmp/BMC_flash_side.txt'
50            - 'grep -r . /sys/class/hwmon/* >/tmp/BMC_hwmon.txt'
51            - 'top -n 1 -b >/tmp/BMC_proc_list.txt'
52            - 'ls -Al /proc/*/fd/ >/tmp/BMC_proc_fd_active_list.txt'
53            - 'journalctl --no-pager >/tmp/BMC_journalctl_nopager.txt'
54            - 'journalctl -o json-pretty >/tmp/BMC_journalctl_pretty.json'
55            - 'dmesg >/tmp/BMC_dmesg.txt'
56            - 'cat /proc/cpuinfo >/tmp/BMC_procinfo.txt'
57            - 'cat /proc/meminfo >/tmp/BMC_meminfo.txt'
58            - 'systemctl status --all >/tmp/BMC_systemd.txt'
59            - 'systemctl list-units --failed >/tmp/BMC_failed_service.txt'
60            - 'systemctl list-jobs >/tmp/BMC_list_service.txt'
61            - 'cat /var/log/obmc-console.log >/tmp/BMC_obmc_console.txt'
62            - 'cat /var/log/obmc-console1.log >/tmp/BMC_obmc_console1.txt'
63            - 'peltool -l >/tmp/PEL_logs_list.json'
64            - {'peltool -a >/tmp/PEL_logs_display.json':600}
65            - {'peltool  -l -a -f >/tmp/PEL_logs_complete_list.json 2>&1':1200}
66            - {'peltool -a -f -h>/tmp/PEL_logs_complete_display.json 2>&1':1200}
67            - {'strace -p $(pidof pldmd) -o /tmp/pldmd_strace.txt & sleep 60 ; kill $!':70}
68            - 'hexdump -C /var/lib/phosphor-logging/extensions/pels/badPEL >/tmp/PEL_logs_badPEL.txt'
69            - 'export PDBG_DTB=/var/lib/phosphor-software-manager/pnor/rw/DEVTREE; guard -l >/tmp/GUARD_list.txt'
70            - 'pldmtool fru getfrurecordtable>/tmp/PLDM_fru_record.txt'
71            - 'killall -s SIGUSR1 pldmd; sleep 5'
72            - 'fanctl dump'
73            - 'cp /var/lib/phosphor-software-manager/pnor/rw/DEVTREE /tmp/DEVTREE'
74        FILES:
75            - '/tmp/BMC_flash_side.txt'
76            - '/tmp/BMC_hwmon.txt'
77            - '/tmp/BMC_proc_list.txt'
78            - '/tmp/BMC_proc_fd_active_list.txt'
79            - '/tmp/BMC_journalctl_nopager.txt'
80            - '/tmp/BMC_journalctl_pretty.json'
81            - '/tmp/BMC_dmesg.txt'
82            - '/tmp/BMC_procinfo.txt'
83            - '/tmp/BMC_meminfo.txt'
84            - '/tmp/BMC_systemd.txt'
85            - '/tmp/BMC_failed_service.txt'
86            - '/tmp/BMC_list_service.txt'
87            - '/tmp/BMC_obmc_console.txt'
88            - '/tmp/BMC_obmc_console1.txt'
89            - '/tmp/PEL_logs_list.json'
90            - '/tmp/PEL_logs_complete_list.json'
91            - '/tmp/PEL_logs_complete_display.json'
92            - '/tmp/PEL_logs_display.json'
93            - '/tmp/pldmd_strace.txt'
94            - '/tmp/PEL_logs_badPEL.txt'
95            - '/tmp/GUARD_list.txt'
96            - '/tmp/PLDM_fru_record.txt'
97            - '/tmp/pldm_flight_recorder'
98            - '/tmp/fan_control_dump.json'
99            - '/tmp/DEVTREE'
100        PROTOCOL:
101            - 'SSH'
102
103    # DUMP_LOGS: This section provides option to 'SCP if file exist'.
104    #     COMMANDS: filename is preceded by ls -AX '.
105    #     FILES: is not needed and is ignored if exists.
106    DUMP_LOGS:
107        COMMANDS:
108            - 'ls -AX /var/lib/systemd/coredump/core.*'
109            - 'ls -AX /var/lib/phosphor-debug-collector/dumps/*/*'
110            - 'ls -AX /var/lib/phosphor-debug-collector/hostbootdump/*/*'
111        PROTOCOL:
112            - 'SCP'
113
114    # URLs and Files for OPENBMC redfish
115    # URLs and Files are one-to-one corresponding.
116    # File contains the data returned from 'redfishtool GET URL'
117    REDFISH_LOGS:
118        COMMANDS:
119            - redfishtool -u ${username} -p ${password} -r ${hostname} -S Always raw GET /redfish/v1/AccountService/Accounts
120            - redfishtool -u ${username} -p ${password} -r ${hostname} -S Always raw GET /redfish/v1/Managers/bmc/LogServices/Dump/Entries
121            - redfishtool -u ${username} -p ${password} -r ${hostname} -S Always raw GET /redfish/v1/Systems/system/LogServices/Dump/Entries
122            - redfishtool -u ${username} -p ${password} -r ${hostname} -S Always raw GET /redfish/v1/Systems/system/LogServices/EventLog/Entries
123            - plugin:
124              - plugin_name: plugin.redfish.enumerate_request
125              - plugin_args:
126                - ${hostname}
127                - ${username}
128                - ${password}
129                - /redfish/v1/
130                - json
131        FILES:
132            - 'REDFISH_bmc_user_accounts.json'
133            - 'REDFISH_bmc_dump_entries.json'
134            - 'REDFISH_system_dumps_entries.json'
135            - 'REDFISH_event_log_entries.json'
136            - 'REDFISH_enumerate_v1.json'
137        PROTOCOL:
138            - 'REDFISH'
139
140    # Commands and Files to collect for via out of band IPMI.
141    IPMI_LOGS:
142        COMMANDS:
143            - ipmitool -I lanplus -C 17 -U ${username} -P ${password} -H ${hostname} lan print
144            - ipmitool -I lanplus -C 17 -U ${username} -P ${password} -H ${hostname} fru list
145            - ipmitool -I lanplus -C 17 -U ${username} -P ${password} -H ${hostname} user list
146        FILES:
147            - 'IPMI_LAN_print.txt'
148            - 'IPMI_FRU_list.txt'
149            - 'IPMI_USER_list.txt'
150        PROTOCOL:
151            - 'IPMI'
152
153# Commands and Files to collect for all Linux distributions
154LINUX:
155    LINUX_LOGS:
156        COMMANDS:
157            - 'cat /sys/firmware/opal/msglog >/tmp/OS_msglog.txt'
158            - 'ppc64_cpu --frequency >/tmp/OS_cpufrequency.txt'
159            - 'dmesg >/tmp/OS_dmesg.txt'
160            - 'cat /var/log/opal-prd* >/tmp/OS_opal_prd.txt'
161            - 'cat /var/log/boot.log >/tmp/OS_boot.txt'
162            - 'cat /proc/cpuinfo >/tmp/OS_procinfo.txt'
163            - 'cat /proc/meminfo >/tmp/OS_meminfo.txt'
164            - 'netstat -a >/tmp/OS_netstat.txt'
165            - 'lspci >/tmp/OS_lspci.txt'
166            - 'lscpu >/tmp/OS_lscpu.txt'
167            - 'lscfg >/tmp/OS_lscfg.txt'
168            - 'journalctl --no-pager -b > /tmp/OS_journalctl_nopager.txt '
169        FILES:
170            - '/tmp/OS_msglog.txt'
171            - '/tmp/OS_cpufrequency.txt'
172            - '/tmp/OS_dmesg.txt'
173            - '/tmp/OS_opal_prd.txt'
174            - '/tmp/OS_boot.txt'
175            - '/tmp/OS_procinfo.txt'
176            - '/tmp/OS_meminfo.txt'
177            - '/tmp/OS_netstat.txt'
178            - '/tmp/OS_lspci.txt'
179            - '/tmp/OS_lscpu.txt'
180            - '/tmp/OS_lscfg.txt'
181            - '/tmp/OS_journalctl_nopager.txt'
182        PROTOCOL:
183            - 'SSH'
184
185# Commands and Files to collect for Ubuntu Linux only
186UBUNTU:
187    GENERAL:
188        COMMANDS:
189            - 'rm -rf /tmp/UBUNTU_general.txt'
190            - 'echo "++++++++++ UBUNTU Rleasae ++++++++++" > /tmp/UBUNTU_general.txt'
191            - 'cat /etc/os-release >> /tmp/UBUNTU_general.txt'
192            - 'echo "\n++++++++++ Time stamp ++++++++++" >> /tmp/UBUNTU_general.txt'
193            - 'date >> /tmp/UBUNTU_general.txt'
194            - 'echo  "\n++++++++++ uname -a ++++++++++" >> /tmp/UBUNTU_general.txt'
195            - 'uname -a >> /tmp/UBUNTU_general.txt'
196            - 'echo "\n++++++++++ uptime ++++++++++" >> /tmp/UBUNTU_general.txt'
197            - 'uptime >> /tmp/UBUNTU_general.txt'
198        FILES:
199            - '/tmp/UBUNTU_general.txt'
200        PROTOCOL:
201            - 'SSH'
202    UBUNTU_LOGS:
203        COMMANDS:
204            - '{ cat /etc/os-release; uname -a; rpm -qa ; } >/tmp/OS_info.txt'
205            - 'tail -n 200000 /var/log/messages >/tmp/OS_syslog.txt'
206            - 'rm -rf /tmp/sosreport*FFDC*'
207            - {'sosreport --batch --tmp-dir /tmp --label FFDC >/tmp/OS_sosreport.txt': 1200}
208            - 'tar -zcvf /tmp/crash.tar.gz /var/crash'
209        FILES:
210            - '/tmp/OS_info.txt'
211            - '/tmp/OS_syslog.txt'
212            - '/tmp/OS_sosreport.txt'
213            - '/tmp/sosreport*.tar.xz'
214            - '/tmp/crash.tar.gz'
215        PROTOCOL:
216            - 'SSH'
217    DUMP_LOGS:
218        COMMANDS:
219            - 'ls -AX /tmp/htx/htxerr'
220            - 'ls -AX /tmp/htx/htxmsg'
221        PROTOCOL:
222            - 'SCP'
223
224# Commands and Files to collect for RHE Linux only
225RHEL:
226    GENERAL:
227        COMMANDS:
228            - 'rm -rf /tmp/RHEL_general.txt'
229            - 'echo "++++++++++ RHEL Rleasae ++++++++++" > /tmp/RHEL_general.txt'
230            - 'cat /etc/os-release >> /tmp/RHEL_general.txt'
231            - 'echo -e "\n++++++++++ Time stamp ++++++++++" >> /tmp/RHEL_general.txt'
232            - 'date >> /tmp/RHEL_general.txt'
233            - 'echo -e "\n++++++++++ uname -a ++++++++++" >> /tmp/RHEL_general.txt'
234            - 'uname -a >> /tmp/RHEL_general.txt'
235            - 'echo -e "\n++++++++++ uptime ++++++++++" >> /tmp/RHEL_general.txt'
236            - 'uptime >> /tmp/RHEL_general.txt'
237        FILES:
238            - '/tmp/RHEL_general.txt'
239        PROTOCOL:
240            - 'SSH'
241    RHEL_LOGS:
242        COMMANDS:
243            - '{ cat /etc/os-release; uname -a; rpm -qa ; } >/tmp/OS_info.txt'
244            - 'tail -n 200000 /var/log/messages >/tmp/OS_syslog.txt'
245            - 'rm -rf /tmp/sosreport*FFDC*'
246            - {'sosreport --batch --tmp-dir /tmp --label FFDC >/tmp/OS_sosreport.txt': 1200}
247            - 'tar -zcvf /tmp/crash.tar.gz /var/crash'
248        FILES:
249            - '/tmp/OS_info.txt'
250            - '/tmp/OS_syslog.txt'
251            - '/tmp/OS_sosreport.txt'
252            - '/tmp/sosreport*.tar.xz'
253            - '/tmp/crash.tar.gz'
254        PROTOCOL:
255            - 'SSH'
256    DUMP_LOGS:
257        COMMANDS:
258            - 'ls -AX /tmp/htx/htxerr'
259            - 'ls -AX /tmp/htx/htxmsg'
260        PROTOCOL:
261            - 'SCP'
262
263# Commands and Files to collect for SLES Linux only
264SLES:
265    GENERAL:
266        COMMANDS:
267            - 'rm -rf /tmp/SLES_general.txt'
268            - 'echo "++++++++++ SLES Rleasae ++++++++++" > /tmp/SLES_general.txt'
269            - 'cat /etc/os-release >> /tmp/SLES_general.txt'
270            - 'echo "\n++++++++++ Time stamp ++++++++++" >> /tmp/SLES_general.txt'
271            - 'date >> /tmp/SLES_general.txt'
272            - 'echo "\n++++++++++ uname -a ++++++++++" >> /tmp/SLES_general.txt'
273            - 'uname -a >> /tmp/SLES_general.txt'
274            - 'echo "\n++++++++++ uptime ++++++++++" >> /tmp/SLES_general.txt'
275            - 'uptime >> /tmp/SLES_general.txt'
276        FILES:
277            - '/tmp/SLES_general.txt'
278        PROTOCOL:
279            - 'SSH'
280    SLES_LOGS:
281        COMMANDS:
282            - '{ cat /etc/os-release; uname -a; rpm -qa ; } >/tmp/OS_info.txt'
283            - 'tail -n 200000 /var/log/messages >/tmp/OS_syslog.txt'
284            - 'rm -rf /tmp/scc*.txz.md5'
285            - {'supportconfig >/tmp/OS_supportconfig.txt': 1200}
286            - 'cp /var/log/scc*.txz.md5 /tmp/'
287            - 'tar -zcvf /tmp/crash.tar.gz /var/crash'
288        FILES:
289            - '/tmp/OS_info.txt'
290            - '/tmp/OS_syslog.txt'
291            - '/tmp/OS_supportconfig.txt'
292            - '/tmp/scc*.txz.md5'
293            - '/tmp/crash.tar.gz'
294        PROTOCOL:
295            - 'SSH'
296    DUMP_LOGS:
297        COMMANDS:
298            - 'ls -AX /tmp/htx/htxerr'
299            - 'ls -AX /tmp/htx/htxmsg'
300        PROTOCOL:
301            - 'SCP'
302
303# Commands and Files to collect for AIX only
304AIX:
305    GENERAL:
306        COMMANDS:
307            - 'rm -rf /tmp/AIX_general.txt'
308            - 'echo "++++++++++ AIX Release ++++++++++" > /tmp/AIX_general.txt'
309            - 'cat /proc/version | tail -1 >> /tmp/AIX_general.txt'
310            - 'echo "\n++++++++++ Time stamp ++++++++++" >> /tmp/AIX_general.txt'
311            - 'date >> /tmp/AIX_general.txt'
312            - 'echo  "\n++++++++++ uname -a ++++++++++" >> /tmp/AIX_general.txt'
313            - 'uname -a >> /tmp/AIX_general.txt'
314            - 'echo "\n++++++++++ uptime ++++++++++" >> /tmp/AIX_general.txt'
315            - 'uptime >> /tmp/AIX_general.txt'
316            - 'echo "\n++++++++++ System Info ++++++++++" >> /tmp/AIX_general.txt'
317            - 'prtconf | head -15 >> /tmp/AIX_general.txt'
318        FILES:
319            - '/tmp/AIX_general.txt'
320        PROTOCOL:
321            - 'SSH'
322    AIX_LOGS:
323        COMMANDS:
324            - 'errpt -a >/tmp/OS_errpt.txt ; errclear 0;'
325            - 'bindprocessor -q >/tmp/OS_processors.txt'
326        FILES:
327            - '/tmp/OS_errpt.txt'
328            - '/tmp/OS_processors.txt'
329        PROTOCOL:
330            - 'SSH'
331    DUMP_LOGS:
332        COMMANDS:
333            - 'ls -AX /tmp/htx/htxerr'
334            - 'ls -AX /tmp/htx/htxmsg'
335        PROTOCOL:
336            - 'SCP'
337