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