xref: /openbmc/bmcweb/Redfish.md (revision 090ae7ba35fef7157327f3a4686fec3e8a4df66f)
1# Redfish
2
3bmcweb provides an implementation of the [Redfish][1] API. This document details
4the Redfish schemas supported by bmcweb. This document also discusses some of
5the details of that implementation and different implementations available for
6certain areas.
7
8## Redfish Schema
9
10The redfish implementation shall pass the
11[Redfish Service Validator](https://github.com/DMTF/Redfish-Service-Validator "Validator")
12with no warnings or errors
13
14The following redfish schemas and fields are targeted for OpenBMC. This is a
15living document, and these schemas are subject to change.
16
17The latest Redfish schemas can be found
18[here](https://redfish.dmtf.org/schemas/)
19
20If using a previously unused schema, you will need to add it to the included
21schema list in `scripts/update_schemas.py` and run `update_schemas.py`.
22
23Fields common to all schemas
24
25- @odata.id
26- @odata.type
27- Id
28- Name
29
30### /redfish/v1/
31
32#### ServiceRoot
33
34- AccountService
35- AggregationService
36- CertificateService
37- Chassis
38- EventService
39- JsonSchemas
40- Links/ManagerProvidingService
41- Links/Sessions
42- Managers
43- RedfishVersion
44- Registries
45- SessionService
46- Systems
47- Tasks
48- TelemetryService
49- UUID
50- UpdateService
51
52### /redfish/v1/AccountService/
53
54#### AccountService
55
56- AccountLockoutDuration
57- AccountLockoutThreshold
58- Accounts
59- Description
60- LDAP
61- MaxPasswordLength
62- MinPasswordLength
63- Oem/OpenBMC/AuthMethods/BasicAuth
64- Oem/OpenBMC/AuthMethods/Cookie
65- Oem/OpenBMC/AuthMethods/SessionToken
66- Oem/OpenBMC/AuthMethods/TLS
67- Oem/OpenBMC/AuthMethods/XToken
68- Roles
69- ServiceEnabled
70
71### /redfish/v1/AggregationService/
72
73#### AggregationService
74
75- AggregationSources
76- Description
77- ServiceEnabled
78
79### /redfish/v1/AggregationService/AggregationSources
80
81#### AggregationSourceCollection
82
83- Members
84- Members@odata.count
85
86### /redfish/v1/AggregationService/AggregationSources/{AggregationSourceId}
87
88#### AggregationSource
89
90- HostName
91- Password
92
93### /redfish/v1/AccountService/Accounts/
94
95#### ManagerAccountCollection
96
97- Description
98- Members
99- Members@odata.count
100
101### /redfish/v1/AccountService/Accounts/{ManagerAccountId}/
102
103#### ManagerAccount
104
105- AccountTypes
106- Description
107- Enabled
108- Links/Role
109- Locked
110- Locked@Redfish.AllowableValues
111- Password
112- PasswordChangeRequired
113- RoleId
114- StrictAccountTypes
115- UserName
116
117### /redfish/v1/AccountService/LDAP/Certificates/
118
119#### CertificateCollection
120
121- Description
122- Members
123- Members@odata.count
124
125### /redfish/v1/AccountService/Roles/
126
127#### RoleCollection
128
129- Description
130- Members
131  - By default will contain 3 roles, "Administrator", "Operator", and "ReadOnly"
132- Members@odata.count
133
134### /redfish/v1/AccountService/Roles/{RoleId}/
135
136#### Role
137
138- AssignedPrivileges
139  - For the default roles, the following privileges will be assigned by default
140    - Administrator: Login, ConfigureManager, ConfigureUsers, ConfigureSelf,
141      ConfigureComponents
142    - Operator: Login, ConfigureComponents, ConfigureSelf
143    - ReadOnly: Login, ConfigureSelf
144- Description
145- IsPredefined
146  - Will be set to true for all default roles. If the given role is non-default,
147    or has been modified from default, will be marked as false.
148- OemPrivileges
149- RoleId
150
151### /redfish/v1/Cables/
152
153#### CableCollection
154
155- Description
156- Members
157- Members@odata.count
158
159### /redfish/v1/Cables/{CableId}/
160
161#### Cable
162
163- CableType
164- LengthMeters
165
166### /redfish/v1/CertificateService/
167
168#### CertificateService
169
170- Actions
171- CertificateLocations
172- Description
173
174### /redfish/v1/CertificateService/CertificateLocations/
175
176#### CertificateLocations
177
178- Description
179- Links/Certificates
180- Links/Certificates@odata.count
181
182### /redfish/v1/Chassis/
183
184#### ChassisCollection
185
186- Members
187- Members@odata.count
188
189### /redfish/v1/Chassis/{ChassisId}/
190
191#### Chassis
192
193- Actions
194- ChassisType
195- HotPluggable
196- Links/ComputerSystems
197- Links/ManagedBy
198- PCIeDevices
199- Power
200  - Shall be included if component contains voltage/current sensing components,
201    otherwise will be omitted.
202- PowerState
203- Sensors
204- Status
205- Thermal
206  - Shall be included if component contains temperature sensors, otherwise shall
207    be omitted.
208
209### /redfish/v1/Chassis/{ChassisId}/Drive/
210
211#### Drive
212
213- Members (This is dependent on a entity manager association from Chassis to
214  Drives, The name of the association is `chassis<->drive`)
215
216### /redfish/v1/Chassis/{ChassisId}/Drive/{DriveId}/
217
218#### Drive
219
220- Drives
221- Drives@odata.count
222- Status (this is dependant on a entity manager association from Chassis to
223  Drives)
224
225### /redfish/v1/Chassis/{ChassisId}/EnvironmentMetrics/
226
227#### EnvironmentMetrics
228
229### /redfish/v1/Chassis/{ChassisId}/Power/
230
231#### Power
232
233- PowerControl
234- PowerSupplies
235- Redundancy
236- Voltages
237
238### /redfish/v1/Chassis/{ChassisId}/Sensors/
239
240#### SensorCollection
241
242- Description
243- Members
244- Members@odata.count
245
246### /redfish/v1/Chassis/{ChassisId}/Sensors/{Id}/
247
248#### Sensor
249
250- Reading
251- ReadingRangeMax
252- ReadingRangeMin
253- ReadingType
254- ReadingUnits
255- Status
256- Thresholds
257
258### /redfish/v1/Chassis/{ChassisId}/Thermal/
259
260#### Thermal
261
262- Fans
263- Redundancy
264- Temperatures
265
266### /redfish/v1/Chassis/{ChassisId}/Thermal#/Temperatures/{SensorName}/
267
268#### Temperature
269
270- MemberId
271- Status
272- ReadingCelsius
273- UpperThresholdNonCritical
274- UpperThresholdCritical
275- LowerThresholdNonCritical
276- LowerThresholdCritical
277- MinReadingRange
278- MaxReadingRange _threshold fields only present if defined for sensor,
279  otherwise absent_
280
281### /redfish/v1/Chassis/{ChassisId}/Thermal#/Fans/{FanName}/
282
283#### Fan
284
285- MemberId
286- Status
287- Reading
288- ReadingUnits
289- UpperThresholdNonCritical
290- UpperThresholdCritical
291- LowerThresholdNonCritical
292- LowerThresholdCritical
293- MinReadingRange
294- MaxReadingRange
295- Redundancy _threshold fields only present if defined for sensor, otherwise
296  absent_
297
298### /redfish/v1/Chassis/{ChassisId}/Thermal#/Redundancy/{RedundancyName}/
299
300#### Redundancy
301
302- MemberId
303- RedundancySet
304- Mode
305- Status
306- MinNumNeeded
307- MaxNumSupported
308
309### /redfish/v1/Chassis/{ChassisId}/ThermalSubsystem
310
311#### ThermalSubsystem
312
313- Status
314
315#### /redfish/v1/Chassis/{ChassisId}/ThermalSubsystem/Fans
316
317##### FansCollection
318
319- Description
320- Members
321- Members@odata.count
322
323#### /redfish/v1/Chassis/{ChassisId}/ThermalSubsystem/Fans/{FanName}/
324
325#### Fan
326
327- Manufacturer
328- Model
329- PartNumber
330- SerialNumber
331- SparePartNumber
332- Status
333
334### /redfish/v1/Chassis/{ChassisId}/Power#/PowerControl/{ControlName}/
335
336#### PowerControl
337
338- MemberId
339- PowerConsumedWatts
340- PowerMetrics/IntervalInMin
341- PowerMetrics/MinConsumedWatts
342- PowerMetrics/MaxConsumedWatts
343- PowerMetrics/AverageConsumedWatts
344- RelatedItem
345  - Should list systems and related chassis
346
347### /redfish/v1/Chassis/{ChassisId}/Power#/Voltages/{VoltageName}/
348
349#### Voltage
350
351- MemberId
352- Status
353- ReadingVolts
354- UpperThresholdNonCritical
355- UpperThresholdCritical
356- LowerThresholdNonCritical
357- LowerThresholdCritical
358- MinReadingRange
359- MaxReadingRange
360- PhysicalContext
361- RelatedItem
362
363### /redfish/v1/Chassis/{ChassisId}/Power#/PowerSupplies/{PSUName}/
364
365#### PowerSupply
366
367- MemberId
368- Status
369- LininputVoltage
370- Model
371- manufacturer
372- FirmwareVersion
373- SerialNumber
374- PartNumber
375- RelatedItem
376- Redundancy
377
378### /redfish/v1/Chassis/{ChassisId}/Power#/Redundancy/{RedundancyName}/
379
380#### Redundancy
381
382- MemberId
383- RedundancySet
384- Mode
385- Status
386- MinNumNeeded
387- MaxNumSupported
388
389#### /redfish/v1/Chassis/{ChassisId}/PowerSubsystem/PowerSupplies
390
391##### PowerSupplies
392
393- Description
394- Members
395- Members@odata.count
396
397#### /redfish/v1/Chassis/{ChassisId}/PowerSubsystem/PowerSupplies/{PowerSupplyId}
398
399##### PowerSupply
400
401- EfficiencyRatings
402  - EfficiencyPercent
403- FirmwareVersion
404- Location
405- Manufacturer
406- Model
407- PartNumber
408- SerialNumber
409- SparePartNumber
410- Status
411
412### /redfish/v1/EventService/
413
414#### EventService
415
416- Actions
417- DeliveryRetryAttempts
418  - Defaults to 3
419- DeliveryRetryIntervalSeconds
420- EventFormatTypes
421- RegistryPrefixes
422- ResourceTypes
423- SSEFilterPropertiesSupported
424- ServiceEnabled
425- Status
426- Subscriptions
427
428### /redfish/v1/EventService/Subscriptions/
429
430#### EventDestinationCollection
431
432- Members
433- Members@odata.count
434
435### /redfish/v1/EventService/Subscriptions/{EventName}/
436
437#### EventDestination
438
439- Id
440- Destination
441- EventTypes
442- Context
443- OriginResources
444- Protocol
445
446### /redfish/v1/JsonSchemas/
447
448#### JsonSchemaFileCollection
449
450- Description
451- Members@odata.count
452- Members
453
454### /redfish/v1/JsonSchemas/{Id}/
455
456#### JsonSchemaFile
457
458- Schema
459- Description
460- Languages
461- Languages@odata.count
462- Location
463- Location@odata.count
464
465### /redfish/v1/Managers/
466
467#### ManagerCollection
468
469- Members
470- Members@odata.count
471
472### /redfish/v1/Managers/bmc/
473
474#### Manager
475
476- Actions
477- DateTime
478- DateTimeLocalOffset
479- Description
480- EthernetInterfaces
481- FirmwareVersion
482- GraphicalConsole
483- LastResetTime
484- Links/ActiveSoftwareImage
485- Links/ManagerForChassis
486- Links/ManagerForChassis@odata.count
487- Links/ManagerForServers
488- Links/ManagerForServers@odata.count
489- Links/ManagerInChassis
490- Links/SoftwareImages
491- Links/SoftwareImages@odata.count
492- LogServices
493- ManagerType
494- Manufacturer
495- Model
496- NetworkProtocol
497- Oem
498- PartNumber
499- PowerState
500- SerialConsole
501- SerialNumber
502- ServiceEntryPointUUID
503- SparePartNumber
504- Status
505- UUID
506
507### /redfish/v1/Managers/bmc/EthernetInterfaces/
508
509#### EthernetInterfaceCollection
510
511- Description
512- Members
513- Members@odata.count
514
515### /redfish/v1/Managers/bmc/EthernetInterfaces/{EthernetInterfaceId}/
516
517#### EthernetInterface
518
519- DHCPv4
520- DHCPv6
521- Description
522- EthernetInterfaceType
523- FQDN
524- HostName
525- IPv4Addresses
526- IPv4StaticAddresses
527- IPv6AddressPolicyTable
528- IPv6Addresses
529- IPv6DefaultGateway
530- IPv6StaticAddresses
531- InterfaceEnabled
532- Links/RelatedInterfaces
533- LinkStatus
534- MACAddress
535- NameServers
536- SpeedMbps
537- StaticNameServers
538- Status
539- VLAN/VLANEnable
540- VLAN/VLANId
541- VLAN/Tagged
542
543### /redfish/v1/Managers/bmc/LogServices/
544
545The [LogService][2] resource provides properties for monitoring and configuring
546events for the service or resource to which it is associated.
547
548Within bmcweb, the LogService object resides under the System resource. It
549tracks all events for the system.
550
551The LogService supports multiple log entry types. bmcweb has support for the
552`Event` type. This is the new Redfish-defined type.
553
554bmcweb supports two different implementations of the
555`LogService/EventLog/Entries` URI.
556
557The default implementation uses rsyslog to write Redfish events from the journal
558to the persistent /var/log/ filesystem. The bmcweb software then looks for these
559files in /var/log/ and returns the appropriate Redfish EventLog Entries for
560these. More details on adding events can be found [here][3]
561
562The other implementation of EventLog Entries can be enabled by compiling bmcweb
563with the `-DBMCWEB_ENABLE_REDFISH_DBUS_LOG_ENTRIES=ON` option. This will cause
564bmcweb to look to [phosphor-logging][4] for any D-Bus log entries. These will
565then be translated to Redfish EventLog Entries.
566
567These two implementations do not work together, so choosing one will disable the
568other.
569
570#### LogServiceCollection
571
572- Description
573- Members
574- Members@odata.count
575
576### /redfish/v1/Managers/bmc/LogServices/RedfishLog/
577
578#### LogService
579
580- Entries
581- OverWritePolicy
582- Actions
583- Status
584- DateTime
585- MaxNumberOfRecords
586
587### /redfish/v1/Managers/bmc/LogServices/RedfishLog/Entries/{LogEntryId}/
588
589#### LogEntry
590
591- Message
592- Created
593- EntryType
594
595### /redfish/v1/Managers/bmc/ManagerDiagnosticData/
596
597#### ManagerDiagnosticData
598
599- ServiceRootUptimeSeconds
600
601### /redfish/v1/Managers/bmc/NetworkProtocol/
602
603#### ManagerNetworkProtocol
604
605- Description
606- FQDN
607- HTTP
608- HTTPS
609- HostName
610- IPMI
611- NTP
612- SSH
613- Status
614
615### /redfish/v1/Managers/bmc/NetworkProtocol/HTTPS/Certificates/
616
617#### CertificateCollection
618
619- Description
620- Members
621- Members@odata.count
622
623### /redfish/v1/Managers/bmc/NetworkProtocol/HTTPS/Certificates/{CertificateId}/
624
625#### Certificate
626
627- CertificateString
628- Description
629- Issuer
630- KeyUsage
631- Subject
632- ValidNotAfter
633- ValidNotBefore
634
635### /redfish/v1/Managers/bmc/Truststore/Certificates/
636
637#### CertificateCollection
638
639- Description
640- error
641
642### /redfish/v1/Registries/
643
644#### MessageRegistryFileCollection
645
646- Description
647- Members
648  - Should support Base, CommonMessages, and EventingMessages
649- Members@odata.count
650
651### /redfish/v1/Registries/{MessageRegistryFileId}/
652
653#### MessageRegistryFile
654
655- Description
656- Languages
657- Languages@odata.count
658- Location
659- Location@odata.count
660- Registry
661
662### /redfish/v1/SessionService/
663
664#### SessionService
665
666- Description
667- ServiceEnabled
668- SessionTimeout
669- Sessions
670
671### /redfish/v1/SessionService/Sessions/
672
673#### SessionCollection
674
675- Description
676- Members
677- Members@odata.count
678
679### /redfish/v1/SessionService/Sessions/{SessionId}/
680
681#### Session
682
683- ClientOriginIPAddress
684- Description
685- Oem
686- UserName
687
688### /redfish/v1/Systems/
689
690#### ComputerSystemCollection
691
692- Members
693  - Should support one system
694- Members@odata.count
695
696### /redfish/v1/Systems/system/Bios/
697
698#### Bios
699
700- Actions
701- Description
702- Links/ActiveSoftwareImage
703- Links/SoftwareImages
704- Links/SoftwareImages@odata.count
705
706### /redfish/v1/Systems/system/
707
708#### ComputerSystem
709
710- Actions
711- AssetTag
712- Bios
713- BiosVersion
714- Boot
715- BootProgress
716- Description
717- HostWatchdogTimer
718- IdlePowerSaver/Enable
719- IdlePowerSaver/EnterUtilizationPercent
720- IdlePowerSaver/EnterDwellTimeSeconds
721- IdlePowerSaver/ExitUtilizationPercent
722- IdlePowerSaver/ExitDwellTimeSeconds
723- IndicatorLED
724- LastResetTime
725- Links/Chassis
726- Links/ManagedBy
727- LocationIndicatorActive
728- LogServices
729- Manufacturer
730- Memory
731- MemorySummary
732- Model
733- PartNumber
734- PowerMode
735- PowerRestorePolicy
736- PowerState
737- ProcessorSummary
738- Processors
739- SerialNumber
740- Status
741- Storage
742- SubModel
743- SystemType
744
745### /redfish/v1/Systems/system/EthernetInterfaces/
746
747#### EthernetInterfaceCollection
748
749- Members
750- Members@odata.count
751- Description
752
753### /redfish/v1/Systems/system/FabricAdapters/
754
755#### FabricAdapterCollection
756
757- Members
758- Members@odata.count
759
760### /redfish/v1/Systems/system/FabricAdapters/{FabricAdapterId}/
761
762#### FabricAdapter
763
764- Location
765- Model
766- PartNumber
767- SerialNumber
768- SparePartNumber
769- Status
770
771### /redfish/v1/Systems/system/LogServices/
772
773#### LogServiceCollection
774
775- Description
776- Members
777  - Should default to one member, named SEL
778- Members@odata.count
779
780### /redfish/v1/Systems/system/LogServices/EventLog/
781
782#### LogService
783
784- Actions
785- DateTime
786- DateTimeLocalOffset
787- Description
788- Entries
789- OverWritePolicy
790
791### /redfish/v1/Systems/system/LogServices/EventLog/Entries/
792
793#### LogEntryCollection
794
795- Description
796- Members
797- Members@odata.count
798
799### /redfish/v1/Systems/system/LogServices/EventLog/Entries/{LogEntryId}/
800
801#### LogEntry
802
803- AdditionalDataURI
804- Created
805- EntryType
806- Message
807- Modified
808- Resolved
809- Severity
810
811### /redfish/v1/Systems/system/LogServices/SEL/Entries/
812
813#### LogEntryCollection
814
815- Members
816- Members@odata.count
817- Description
818- @odata.nextLink
819
820### /redfish/v1/Systems/system/LogServices/SEL/Entries/{LogEntryId}/
821
822#### LogEntry
823
824- MessageArgs
825- Severity
826- SensorType
827- Message
828- MessageId
829- Created
830- EntryCode
831- EntryType
832
833### /redfish/v1/Systems/system/Memory/
834
835#### MemoryCollection
836
837- Members
838- Members@odata.count
839
840### /redfish/v1/Systems/system/Memory/{MemoryId}/
841
842#### Memory
843
844- AllowedSpeedsMHz
845- BaseModuleType
846- BusWidthBits
847- CapacityMiB
848- DataWidthBits
849- ErrorCorrection
850- FirmwareRevision
851- Manufacturer
852- Model
853- OperatingSpeedMhz
854- PartNumber
855- RankCount
856- SerialNumber
857- SparePartNumber
858- Status
859
860### /redfish/v1/Systems/system/Memory/{MemoryId}/MemoryMetrics/
861
862#### MemoryMetrics
863
864- Description
865- HealthData
866
867### /redfish/v1/Systems/system/PCIeDevices/
868
869#### PCIeDeviceCollection
870
871- Description
872- Members
873- Members@odata.count
874
875### /redfish/v1/Systems/system/PCIeDevices/{PCIeDevice}/
876
877- Manufacturer
878- Model
879- PartNumber
880- PCIeInterface
881  - DeviceType
882  - LanesInUse
883  - MaxLanes
884  - MaxPCIeType
885  - PCIeType
886- SerialNumber
887- Slot
888  - Lanes
889  - PCIeType
890  - SlotType
891- SparePartNumber
892- Status
893
894### /redfish/v1/Systems/system/Processors/
895
896#### ProcessorCollection
897
898- Members
899  - Should Support CPU1 and CPU2 for dual socket systems
900- Members@odata.count
901
902### /redfish/v1/Systems/system/Processors/{ProcessorId}/
903
904#### Processor
905
906- InstructionSet
907- Manufacturer
908- MaxSpeedMHz
909- PartNumber
910- ProcessorArchitecture
911- ProcessorId
912- ProcessorType
913- SerialNumber
914- Socket
915- SparePartNumber
916- Status
917- ThrottleCauses
918- Throttled
919- TotalCores
920- TotalThreads
921- Version
922
923### /redfish/v1/Systems/system/Storage/
924
925#### StorageCollection
926
927- Members
928- Members@odata.count
929
930### /redfish/v1/Systems/system/Storage/{StorageId}/
931
932#### Storage
933
934- Drives
935- Drives@odata.count
936- Status
937
938### /redfish/v1/Systems/system/Storage/{StorageId}/Drive/{DriveId}/
939
940#### Storage
941
942- CapacityBytes
943- EncryptionStatus
944- Links
945- Status
946
947### /redfish/v1/TaskService/
948
949#### TaskService
950
951- CompletedTaskOverWritePolicy
952- DateTime
953- LifeCycleEventOnTaskStateChange
954- ServiceEnabled
955- Status
956- Tasks
957
958### /redfish/v1/TaskService/Tasks/
959
960#### TaskCollection
961
962- Members
963- Members@odata.count
964
965### /redfish/v1/TelemetryService/
966
967#### TelemetryService
968
969- MaxReports
970- MetricReportDefinitions
971- MetricReports
972- MinCollectionInterval
973- Status
974- Triggers
975- SupportedCollectionFunctions
976
977### /redfish/v1/TelemetryService/MetricReportDefinitions/
978
979#### MetricReportDefinitionCollection
980
981- Members
982- Members@odata.count
983
984### /redfish/v1/TelemetryService/MetricReportDefinitions/{MetricReportDefinitionId}/
985
986#### MetricReportDefinition
987
988- AppendLimit
989- Id
990- MetricReport
991- MetricReportDefinitionEnabled
992- MetricReportDefinitionType
993- Metrics
994- Name
995- ReportActions
996- ReportUpdates
997- Schedule
998- Status
999
1000### /redfish/v1/TelemetryService/MetricReports/
1001
1002#### MetricReportCollection
1003
1004- Members
1005- Members@odata.count
1006
1007### /redfish/v1/TelemetryService/MetricReports/{MetricReportId}/
1008
1009#### MetricReport
1010
1011- Id
1012- MetricReportDefinition
1013- MetricValues
1014- Name
1015- Timestamp
1016
1017### /redfish/v1/TelemetryService/Triggers/
1018
1019#### TriggersCollection
1020
1021- Members
1022- Members@odata.count
1023
1024### /redfish/v1/UpdateService/
1025
1026#### UpdateService
1027
1028- Actions
1029- Description
1030- FirmwareInventory
1031- HttpPushUri
1032- HttpPushUriOptions
1033- MaxImageSizeBytes
1034- ServiceEnabled
1035
1036### /redfish/v1/UpdateService/FirmwareInventory/
1037
1038#### SoftwareInventoryCollection
1039
1040- Members
1041  - Should Support BMC, ME, CPLD and BIOS
1042- Members@odata.count
1043
1044### /redfish/v1/UpdateService/FirmwareInventory/{SoftwareInventoryId}/
1045
1046#### SoftwareInventory
1047
1048- Description
1049- RelatedItem@odata.count
1050- RelatedItem
1051- Status
1052- Updateable
1053- Version
1054
1055[1]: https://www.dmtf.org/standards/redfish
1056[2]: https://redfish.dmtf.org/schemas/v1/LogService.json
1057[3]:
1058  https://github.com/openbmc/docs/blob/master/architecture/redfish-logging-in-bmcweb.md
1059[4]: https://github.com/openbmc/phosphor-logging
1060