[phosphor-virtual-sensor] get sensor service fail
Ed Tanous
ed at tanous.net
Fri Apr 9 05:28:36 AEST 2021
On Thu, Apr 8, 2021 at 10:11 AM Nan Zhou <nanzhou at google.com> wrote:
>
> Hi Ed,
>
> Thanks for your reply.
>
> Alan and I were talking about what attribute we should use for "the time that an event occurred", "Created" or "EventTimestamp". Both attributes in the Redfish schema are optional, my understanding after reading the description was that "Created" is when the LogEntry gets created in the LogEntryCollection in the web server (BmcWeb);
This is one interpretation, but considering the history that "Created"
came first in the schema history, I question that a little.
Regardless, in that interpretation, on OpenBMC, "Created" and
"EventTimestamp" are identical, as we create the log entry when the
event happens.
> IIUC, in BmcWeb, new Log Entries are not created until they get queried; "EventTimestamp" on the other hand is when an event originally occurred.
>
> The context is that we are implementing both the PULL model and PUSH model of Redfish POST codes and Host Serial Logs, and we care about when events occurred in both models. In the PUSH model, the web server will send an array of "Event", in which there is an "EventTimestamp" attribute that we can use for each event. In the PULL model, we will query the LogEntryCollection in LogService, and currently, there is only "Created" but not "EventTimestamp" in BmcWeb. So we are sending this email to ask for comments.
This might make sense to have Created and Timestamp be different by
some amount of skid (ie, the time it takes to persist the data), but
does it actually matter in practice? Let's say for a second that
those two timestamps were 5 minutes apart; As a client reading the
data what would that convey and what would we do with that
information?
>
>> >
>> > We think that using “EventTimestamp” will be more suitable than “Created” in LogServices.
>> Why? Can you give more details here on what you're trying to accomplish?
>
> We are talking about the following three options,
>
> 1. change all the current "Created" attributes in BmcWeb LogService to "EventTimestamp"
This breaks backward compatibility with services that expect Created
to be there, so this option is right out.
> 2. keep "Created" as is; add a new attribute "EventTimestamp"
If we went down this road, I'd really like to get some sort of Redfish
forum discussion that clarifies what the difference between these two
are, hopefully in the schema description itself. I don't feel like we
have enough background from just reading the spec.
> 3. keep everything as is; use "Created" to represent "the time that an event occurred"
I think for your use case, this is probably fine too, but I'd still
like to get clarification.
>
> We are fine with either of the three options. The email is to ask the upstream and look for opinions from people.
Just FYI, you've already included upstream, this is a good thing, no
need to email me privately before going straight to the OpenBMC
mailing list. Having context on discussions like this helps other
people a lot, and gives faster turnarounds on things that affect
everyone.
>
> Thanks,
> Nan
>
> On Thu, Apr 8, 2021 at 9:36 AM Ed Tanous <ed at tanous.net> wrote:
>>
>> On Thu, Apr 8, 2021 at 7:01 AM Alan Kuo (郭振維) <Alan_Kuo at quantatw.com> wrote:
>> >
>> > Hi all,
>> >
>> >
>> >
>> > In the current implementation of bmcweb LogServices, the time of the "Created" property is the time when the event is generated, which does not match the description of the redfish schema. The "Created" property means the date and time when the log entry was created.
>>
>> It should be noted, Created has been present since 1.0.0 of LogEntry,
>> EventTimestamp was added in LogEntry v1.1.0. Based on the
>> descriptions, it's not clear to me what the intended difference is,
>> seeing as how they're both of type Edm.DateTimeOffset. Based on the
>> description, the two would be identical on an OpenBMC system, the
>> LogEntry is "Created" at the same time it occurs.
>>
>> >
>> > We think that using “EventTimestamp” will be more suitable than “Created” in LogServices.
>>
>> Why? Can you give more details here on what you're trying to accomplish?
>>
>> >
>> >
>> >
>> > Could you give me some suggestion ? Or am I misunderstanding the definition of schema?
>>
>> This is probably a better question for the Redfish forum, unless
>> there's documentation on what the intended difference between those
>> two parameters are.
>>
>> >
>> >
>> >
>> > Here is an example:
>> >
>> > {
>> >
>> > "@odata.id": "/redfish/v1/Systems/system/LogServices/PostCodes/Entries/B5-83",
>> >
>> > "@odata.type": "#LogEntry.v1_4_0.LogEntry",
>> >
>> > "Created": "1970-01-01T00:01:43+00:00", <= It should be EventTimestamp
>> >
>> > "EntryType": "Event",
>> >
>> > "Id": "B5-83",
>> >
>> > "Message": "Boot Count: 1: TS Offset: 65.4769; POST Code: 0x01",
>> >
>> > "MessageArgs": [
>> >
>> > "1",
>> >
>> > "65.4769",
>> >
>> > "0x01"
>> >
>> > ],
>> >
>> > "MessageId": "OpenBMC.0.1.BIOSPOSTCode",
>> >
>> > "Name": "POST Code Log Entry",
>> >
>> > "Severity": "OK"
>> >
>> > }
>> >
>> >
>> >
>> > Thanks,
>> >
>> > Alan
>> >
>> >
>> >
>> > From: openbmc <openbmc-bounces+alan_kuo=quantatw.com at lists.ozlabs.org> On Behalf Of Harvey Wu (吳崇維)
>> > Sent: Monday, March 29, 2021 5:14 PM
>> > To: openbmc at lists.ozlabs.org
>> > Cc: Duke Du (杜祥嘉) <Duke.Du at quantatw.com>; Fran Hsu (徐誌謙) <Fran.Hsu at quantatw.com>; George Hung (洪忠敬) <George.Hung at quantatw.com>
>> > Subject: [phosphor-virtual-sensor] get sensor service fail
>> >
>> >
>> >
>> > Hi All,
>> >
>> >
>> >
>> > In current phosphor-virtual-sensor, the function getService will return empty string only when catch error name = “xyz.openbmc_project.Common.Error.ResourceNotFound” (https://github.com/openbmc/phosphor-virtual-sensor/blob/master/dbusUtils.hpp#L37).
>> >
>> > But in my system, when bus call didn’t get sensor service, the exception name will be “org.freedesktop.DBus.Error.FileNotFound”, and then service will be get failed.
>> >
>> > It seems need to modified the origin condition or add another elseif condition. Do I misunderstand something?
>> >
>> >
>> >
>> >
>> >
>> > Thanks.
>> >
>> >
>> >
>> > Harvey Wu
>> >
>> > Email: Harvey.Wu at quantatw.com
>> >
>> > Ext: 17408
>> >
>> >
More information about the openbmc
mailing list