Jayanth Othayoth | 02dcec3 | 2017-05-18 23:31:32 -0500 | [diff] [blame] | 1 | description: > |
Patrick Williams | a134741 | 2022-12-06 10:56:22 -0600 | [diff] [blame] | 2 | 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 Subhashchandran | b34d6fd | 2020-08-19 13:06:05 -0500 | [diff] [blame] | 4 | |
Patrick Williams | a134741 | 2022-12-06 10:56:22 -0600 | [diff] [blame] | 5 | 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 Subhashchandran | b34d6fd | 2020-08-19 13:06:05 -0500 | [diff] [blame] | 10 | |
Jayanth Othayoth | 02dcec3 | 2017-05-18 23:31:32 -0500 | [diff] [blame] | 11 | methods: |
| 12 | - name: CreateDump |
| 13 | description: > |
Dhruvaraj Subhashchandran | b34d6fd | 2020-08-19 13:06:05 -0500 | [diff] [blame] | 14 | Method to create a manual Dump. |
Dhruvaraj Subhashchandran | e608509 | 2020-10-13 02:41:32 -0500 | [diff] [blame] | 15 | parameters: |
Patrick Williams | 8da396c | 2022-03-14 14:21:02 -0500 | [diff] [blame] | 16 | - name: AdditionalData |
| 17 | type: dict[string, variant[string,uint64]] |
| 18 | description: > |
Patrick Williams | a134741 | 2022-12-06 10:56:22 -0600 | [diff] [blame] | 19 | 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 Williams | 8da396c | 2022-03-14 14:21:02 -0500 | [diff] [blame] | 26 | e.g.: |
| 27 | { |
| 28 | "key1": "value1", |
| 29 | "key2": "value2" |
| 30 | } |
| 31 | ends up in AdditionaData like: |
| 32 | ["KEY1=value1", "KEY2=value2"] |
Jayanth Othayoth | 02dcec3 | 2017-05-18 23:31:32 -0500 | [diff] [blame] | 33 | returns: |
Patrick Williams | 8da396c | 2022-03-14 14:21:02 -0500 | [diff] [blame] | 34 | - name: Path |
| 35 | type: object_path |
| 36 | description: > |
| 37 | The object path of the object that implements |
Patrick Williams | a134741 | 2022-12-06 10:56:22 -0600 | [diff] [blame] | 38 | xyz.openbmc_project.Common.Progress to track the progress of the |
| 39 | dump |
Jayanth Othayoth | 02dcec3 | 2017-05-18 23:31:32 -0500 | [diff] [blame] | 40 | errors: |
Claire Weinan | aa46bf4 | 2022-06-02 17:09:13 -0700 | [diff] [blame] | 41 | - xyz.openbmc_project.Common.File.Error.Open |
Patrick Williams | 8da396c | 2022-03-14 14:21:02 -0500 | [diff] [blame] | 42 | - 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 Subhashchandran | bed657a | 2022-04-26 08:32:08 -0500 | [diff] [blame] | 47 | - xyz.openbmc_project.Common.Error.Unavailable |
| 48 | |
Asmitha Karunanithi | f6db102 | 2022-06-28 04:47:59 -0500 | [diff] [blame] | 49 | enumerations: |
| 50 | - name: CreateParameters |
| 51 | description: > |
| 52 | Additional parameters for creating the dump. |
| 53 | values: |
Patrick Williams | a134741 | 2022-12-06 10:56:22 -0600 | [diff] [blame] | 54 | - 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 Subhashchandran | 9460809 | 2023-04-13 05:55:50 -0500 | [diff] [blame] | 64 | - 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 Subhashchandran | 64fcf95 | 2023-05-29 14:11:35 -0500 | [diff] [blame] | 71 | - 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 Subhashchandran | f404c83 | 2023-05-30 02:00:06 -0500 | [diff] [blame] | 77 | - 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 Subhashchandran | 9460809 | 2023-04-13 05:55:50 -0500 | [diff] [blame] | 85 | |
| 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 Subhashchandran | 64fcf95 | 2023-05-29 14:11:35 -0500 | [diff] [blame] | 96 | - name: "ErrorLog" |
Dhruvaraj Subhashchandran | 9460809 | 2023-04-13 05:55:50 -0500 | [diff] [blame] | 97 | description: > |
Dhruvaraj Subhashchandran | 64fcf95 | 2023-05-29 14:11:35 -0500 | [diff] [blame] | 98 | 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 Subhashchandran | 9460809 | 2023-04-13 05:55:50 -0500 | [diff] [blame] | 102 | - name: "Ramoops" |
| 103 | description: > |
| 104 | Dump triggered due to Ramoops type error commit. |
Patrick Williams | a613009 | 2024-01-17 12:12:51 -0600 | [diff] [blame] | 105 | |
| 106 | service_names: |
| 107 | - default: xyz.openbmc_project.Dump.Manager |
| 108 | |
| 109 | paths: |
| 110 | - namespace: /xyz/openbmc_project/dump |
| 111 | segments: |
| 112 | - name: BMC |
| 113 | value: bmc |