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