blob: 644f1d854d5c203adb1cb60817a8c8fdf1d2a353 [file] [log] [blame]
Jayanth Othayoth02dcec32017-05-18 23:31:32 -05001description: >
Patrick Williamsa1347412022-12-06 10:56:22 -06002 Implement to capture various types of dumps from the host or BMC. This
3 interface is for user to request a particular type of dump.
Dhruvaraj Subhashchandranb34d6fd2020-08-19 13:06:05 -05004
Patrick Williamsa1347412022-12-06 10:56:22 -06005 Any OpenBMC implementation should provide one implementation of
6 xyz.openbmc_project.Dump.Create per dump type on
7 /xyz/openbmc_project/dump/<dump type>. On multi-host or on multi-BMC systems
8 the instance number can be added to the path to differentiate, for example
9 /xyz/openbmc_project/dump/<dump type><instance-id>.
Dhruvaraj Subhashchandranb34d6fd2020-08-19 13:06:05 -050010
Jayanth Othayoth02dcec32017-05-18 23:31:32 -050011methods:
12 - name: CreateDump
13 description: >
Dhruvaraj Subhashchandranb34d6fd2020-08-19 13:06:05 -050014 Method to create a manual Dump.
Dhruvaraj Subhashchandrane6085092020-10-13 02:41:32 -050015 parameters:
Patrick Williams8da396c2022-03-14 14:21:02 -050016 - name: AdditionalData
17 type: dict[string, variant[string,uint64]]
18 description: >
Patrick Williamsa1347412022-12-06 10:56:22 -060019 The additional data, if any, for initiating the dump. The key in
20 this case should be an implementation specific enum defined for
21 the specific type of dump either in xyz or in a domain. The
22 values can be either a string or a 64 bit number. The
23 enum-format string is required to come from a parallel class
24 with this specific Enum name. All of the Enum strings should be
25 in the format 'domain.Dump.Create.CreateParameters.ParamName'.
Patrick Williams8da396c2022-03-14 14:21:02 -050026 e.g.:
27 {
28 "key1": "value1",
29 "key2": "value2"
30 }
31 ends up in AdditionaData like:
32 ["KEY1=value1", "KEY2=value2"]
Jayanth Othayoth02dcec32017-05-18 23:31:32 -050033 returns:
Patrick Williams8da396c2022-03-14 14:21:02 -050034 - name: Path
35 type: object_path
36 description: >
37 The object path of the object that implements
Patrick Williamsa1347412022-12-06 10:56:22 -060038 xyz.openbmc_project.Common.Progress to track the progress of the
39 dump
Jayanth Othayoth02dcec32017-05-18 23:31:32 -050040 errors:
Claire Weinanaa46bf42022-06-02 17:09:13 -070041 - xyz.openbmc_project.Common.File.Error.Open
Patrick Williams8da396c2022-03-14 14:21:02 -050042 - xyz.openbmc_project.Common.File.Error.Write
43 - xyz.openbmc_project.Dump.Create.Error.Disabled
44 - xyz.openbmc_project.Dump.Create.Error.QuotaExceeded
45 - xyz.openbmc_project.Common.Error.NotAllowed
46 - xyz.openbmc_project.Common.Error.InvalidArgument
Dhruvaraj Subhashchandranbed657a2022-04-26 08:32:08 -050047 - xyz.openbmc_project.Common.Error.Unavailable
48
Asmitha Karunanithif6db1022022-06-28 04:47:59 -050049enumerations:
50 - name: CreateParameters
51 description: >
52 Additional parameters for creating the dump.
53 values:
Patrick Williamsa1347412022-12-06 10:56:22 -060054 - name: "OriginatorId"
55 description: >
56 Unique Id of the originator of the respective operation. This
57 property is defined in xyz.openbmc_project. Common.OriginatedBy
58 interface.
59 - name: "OriginatorType"
60 description: >
61 Type of the originator that initiated the respective operation.
62 This property is defined in xyz.openbmc_project.
63 Common.OriginatedBy interface.
Dhruvaraj Subhashchandran94608092023-04-13 05:55:50 -050064 - name: "DumpType"
65 description: >
66 Type of the BMC dump to be collected
67 - name: "FilePath"
68 description: >
69 The path to a file to create the dump, for example a systemd
70 core-dump.
Dhruvaraj Subhashchandran64fcf952023-05-29 14:11:35 -050071 - name: "ErrorType"
72 description: >
73 Specifies the type of the error that triggered the BMC dump
74 collection. This is a string identifier for the error type. The
75 type of the error dictates the kind of debug data collected
76 during the dump process.
Dhruvaraj Subhashchandranf404c832023-05-30 02:00:06 -050077 - name: "EventId"
78 description: >
79 The identifier for an event that triggers the BMC dump. When a
80 BMC dump is initiated as a response to a specific system event,
81 this parameter can be supplied with the unique ID associated
82 with that event. By linking the dump to an event ID, the system
83 can collate additional, relevant diagnostic data or add this
84 into the dump to aid in providing a clearer context.
Dhruvaraj Subhashchandran94608092023-04-13 05:55:50 -050085
86 - name: DumpType
87 description: >
88 Possible types of BMC Dump.
89 values:
90 - name: "ApplicationCored"
91 description: >
92 Dump triggered due to application core.
93 - name: "UserRequested"
94 description: >
95 Dump triggered by the user.
Dhruvaraj Subhashchandran64fcf952023-05-29 14:11:35 -050096 - name: "ErrorLog"
Dhruvaraj Subhashchandran94608092023-04-13 05:55:50 -050097 description: >
Dhruvaraj Subhashchandran64fcf952023-05-29 14:11:35 -050098 This type of dump is triggered in response to a specific error
99 commit. The error type needs to be specified in the "ErrorType"
100 field. If no parameters are provided, a default dump will be
101 generated.
Dhruvaraj Subhashchandran94608092023-04-13 05:55:50 -0500102 - name: "Ramoops"
103 description: >
104 Dump triggered due to Ramoops type error commit.
Patrick Williamsa6130092024-01-17 12:12:51 -0600105
106service_names:
107 - default: xyz.openbmc_project.Dump.Manager
108
109paths:
110 - namespace: /xyz/openbmc_project/dump
111 segments:
112 - name: BMC
113 value: bmc