On Wed, May 26, 2021 at 3:13 PM Bills, Jason M < jason.m.bills@linux.intel.com> wrote: > On 5/26/2021 1:50 PM, Willy Tu wrote: > > Hi all, > > > > Main discussion: > > > https://lore.kernel.org/openbmc/CAHwn2XknKWyv6Bsq48tkvA52rHKZRFoEJgUuZUmMj6uZb584JQ@mail.gmail.com/ (a > > > bit outdated) > > > > This will be a sub-thread about logging services that will be used to > > support Drive (and could support others). > > > > For bmcweb, I am wondering if we can support custom logging services > > other than the static ones that we have in > > > https://github.com/openbmc/bmcweb/blob/master/redfish-core/lib/log_services.hpp > . > > > I am thinking about supporting custom log service at a device level that > > can be exported by different hardwares log entries that are more > > specific. Then at each device resource can link the Status.Condition to > > the LogEntries. > > > > Initial Idea, > > > > For example, I want to have log entries for Drive devices. > > > > ComputerSystemId could still be system or bmc and the Redfish > > endpoint will be something like. > > > > ``` > > /redfish/v1/Systems/system/LogServices/Drive0LogService/Entries > > ``` > Specifically regarding the endpoint, we have considered a similar > approach for publishing a LogService for a memory device. I don't know > if we have finalized our proposal to the DMTF yet, but we were thinking > it would be better to add a LogService to the individual resource rather > than keep everything under Systems/system. > > If the same idea is applied for your drive devices, each drive resource > in Redfish would also contain its own LogService. I was thinking of adding this without new Redfish changes. What changes are you suggesting for Redfish? The Drive0LogService -> {LogServiceId} can be different for each device resource. Is this what you were thinking? I think we have to keep it under one System and System/system is already used for pretty much all paths under System. Yeah, I was thinking of the same idea. Each drive resource will have its own LogService. I was thinking about having the new log service as an EntryType of OEM. Maybe need to add a new property in https://github.com/openbmc/phosphor-dbus-interfaces/blob/master/xyz/openbmc_project/Logging/Entry.interface.yaml for OemRecordFormat. > > > > > On the D-bus side, the service exporting the log can add log entry > > < > https://github.com/openbmc/phosphor-dbus-interfaces/blob/master/xyz/openbmc_project/Logging/Entry.interface.yaml > > under. > > > > We can have > > ``` > > /xyz/openbmc_project/logging/device/drive_0 > > |__/xyz/openbmc_project/logging/device/drive_0/entry/... > > ``` > > > > We can parse the `xyz.openbmc_project.ObjectMapper` at > > `/xyz/openbmc_project/logging/device` with depth of 1 to get all the new > > device log services and so on. > > > > Please let me know if there are any questions about it. If no one is > > against it, I'll work on implementing it. > > > > Best, > > > > Willy Tu > > > > > > > > > > Best, > >> Willy Tu > Willy Tu