1description: > 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. 4 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>. 10 11methods: 12 - name: CreateDump 13 description: > 14 Method to create a manual Dump. 15 parameters: 16 - name: AdditionalData 17 type: dict[string, variant[string,uint64]] 18 description: > 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'. 26 e.g.: 27 { 28 "key1": "value1", 29 "key2": "value2" 30 } 31 ends up in AdditionaData like: 32 ["KEY1=value1", "KEY2=value2"] 33 returns: 34 - name: Path 35 type: object_path 36 description: > 37 The object path of the object that implements 38 xyz.openbmc_project.Common.Progress to track the progress of the 39 dump 40 errors: 41 - xyz.openbmc_project.Common.File.Error.Open 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 47 - xyz.openbmc_project.Common.Error.Unavailable 48 49enumerations: 50 - name: CreateParameters 51 description: > 52 Additional parameters for creating the dump. 53 values: 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. 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. 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. 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. 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. 96 - name: "ErrorLog" 97 description: > 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. 102 - name: "Ramoops" 103 description: > 104 Dump triggered due to Ramoops type error commit. 105 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 114