All of lore.kernel.org
 help / color / mirror / Atom feed
From: "Bills, Jason M" <jason.m.bills@linux.intel.com>
To: openbmc@lists.ozlabs.org
Subject: Re: Redfish Dump Service Proposal
Date: Wed, 18 Dec 2019 14:38:34 -0800	[thread overview]
Message-ID: <62dc3198-40d4-b0f6-4c31-cf829d9311d6@linux.intel.com> (raw)
In-Reply-To: <CAK7WoshsUE2+GXGEgxe99vkz4aEYTdT_ZcNE_k4Y_6x7JLWsTQ@mail.gmail.com>



On 12/17/2019 7:25 PM, dhruvaraj S wrote:
> Hi,
> 
> I have an additional comment on creating the dump, there are some
> dumps which can take longer than an hour on certain systems and BMC
> has no control over its execution. Can we have an additional interface
> similar to approach 2 in creating a user-initiated dump named
> 'Initiate Dump'? Which just initiate the dump asynchronously, without
> returning an ID, and such dump will get generated at a later time and
> a redfish resource for that dump will be created after the generation.

I think this is a great example of where TaskService and Task Monitor 
would be used.  The response to the command to generate a dump will 
provide a URI to a Task Monitor that can be queried for status on the dump.

When the dump is completed and the new dump resource has been created, 
the Task Monitor will return the location of the dump.

I'm looking to start working on a Task Service design soon and will 
notify the mailing list before I start.

> 
> lPOST https://${bmc_ip}/redfish/v1/DumpService/Actions/InitiateDump
> dumpType=BMC/Host/<or a different type>
> 
> The main difference from approach 2 in CreateDump is, no redfish
> resource for the dump will be created after initiating but only after
> the system generated the dump.

I agree.  The new Redfish resource should only be created after the dump 
has completed.

> 
> On Sat, Dec 14, 2019 at 10:57 AM dhruvaraj S <dhruvaraj@gmail.com> wrote:
>>
>> Few comments..
>>
>> On Sat, Dec 14, 2019 at 1:32 AM Bills, Jason M
>> <jason.m.bills@linux.intel.com> wrote:
>>>
>>> I like this as well.  I'm trying to support a CPU crashdump that would
>>> fit perfectly with this proposal.
>>>
>>> A question and some comments below:
>>>
>>> Will Dump only have the two types: BMC and Host?  Could this be more
>>> flexible to allow for multiple different types of dumps from various
>>> components?
>> + I think dump types should be flexible to cover different types of
>> host or bmc dumps from different components with varying formats.
>>>
>>> On 12/12/2019 9:46 PM, Jayanth Othayoth wrote:
>>>>
>>>> Dump is an additional debug data associated  to an error event.
>>>>   From the phosphor-debug-collector  perspective,  BMC Dump collects
>>>> additional debug information, which canot be contained in the error log.
>>>> Please find my comments inline.
>>>>
>>>> On Fri, Dec 13, 2019 at 6:27 AM Richard Hanley <rhanley@google.com
>>>> <mailto:rhanley@google.com>> wrote:
>>>>
>>>>      Hi Ratan,
>>>>
>>>>      I think this service is a really good idea.  A couple of thoughts:
>>>>
>>>>      1) I don't think the semantics around the Download action are
>>>>      consistent.  Generally actions are reserved for stateful changes,
>>>>      and only have post methods.  I think this could be simplified by
>>>>      putting an @odata.id <http://odata.id> in the Dump resource that
>>>>      points to the raw dump file.  Then clients can do a normal HTTP get
>>>>      on that URL.
>>> I agree.  Currently, I have crashdump as a LogService, so it is very
>>> easy to list and download the dumps using the standard
>>> LogService/LogEntry resources.
>>>
>>>>
>>>>      2) I'm wondering what is the best way to communicate what MIME type
>>>>      the raw dump supports.  In theory that could be a part of the
>>>>      RawDump resource.  However, a case could be made that it should be
>>>>      put into the Dump resource.
>>>>
>>>>      3) Perhaps the dump service should be embedded into other resources,
>>>>      instead of being a top level service.  I'm imagining something like
>>>>      how the LogService is setup.  That way there are a lot fewer
>>>>      dumpTypes for any particular instance of the service.
>>>>          a) This could be taken to the extreme, and the DumpService could
>>>>      be integrated with the existing LogServices.  This would mean adding
>>>>      in a new log type, and having a new action >
>>>>      +Agree with this suggestion to embedding dump under log service as
>>>>      new EventType.  Also need an association  for each system generated
>>>>      dump with an error event.
>>> Yes.  I think it would be better to integrate with the existing
>>> LogServices.  The existing resources already provide a lot of what is
>>> needed, so we can leverage that.
>> +Agree with integrating dump under LogService, The id of the dump can be
>> unique to dump type, so something like Dumps/<DumpType>/<id>?
>>>
>>> The idea that I'm currently using is instead of providing the dump
>>> content directly in the LogEntry, it provides a URI where the dump can
>>> be downloaded.  I was thinking of proposing to add a "Uri" property or
>>> EntryType to LogEntry to support this.  That would allow many different
>>> types of dump data to be included without having to specify the content
>>> (similar to how the MessageRegistryFile and JsonSchemaFile resources
>>> work today, perhaps defining a DumpFile).
>>>
>>> With support for LogService, the DumpService would really only need to
>>> add support for the "Create" action and all logs would be available
>>> under the corresponding dump LogService.
>>>
>>> For the asynchronous create, the Redfish Task Monitor seems like the
>>> right solution to handle the dump as a long-running task.  That way the
>>> create command can immediately return and provide the Task Monitor to
>>> track completion.
>> +Yes, for some types of long-running dump tasks, the dump id may not be
>> available immediately, The  response body with the dump id can be returned
>> once the operation is completed successfully.
>>>
>>> In the meantime, I am using the LogService to track when the newly
>>> created entry becomes available.
>>>
>>>>
>>>>
>>>>      4) It might be a good idea to have some event support in the cases
>>>>      where a dump is created because of a machine crash.
>>> Wouldn't we also get this by leveraging the LogService?
>>>
>>>>
>>>>      Regards,
>>>>      Richard
>>>>
>>>>      On Wed, Dec 11, 2019 at 11:08 PM Devender Rao <devenrao@in.ibm.com
>>>>      <mailto:devenrao@in.ibm.com>> wrote:
>>>>
>>>>          Over all the schema looks good. Few observations for clarity,
>>>>          also how about we have multiple collection say
>>>>          HostDumpCollection, BMCDumpCollection  and also a new service
>>>>          DumpLocations similar to "CertificateLocations"
>>> If we use LogService, each of these collections could just be a separate
>>> LogService.
>>>
>>>>
>>>>          Page 17: Dump Creation flow
>>>>          1. The time line diagram should show that "Request to create
>>>>          dump" return immediatley. The redfish client will be notififed
>>>>          asynchronously when the dump is collected through DumpCollected
>>>>          event. Request for dump with resource id should be in the same
>>>>          time line when it gets notified of Dump collection completed. >         Page 19: For clarity
>>>>          "List Dumps" should be shown as part of DumpColletion rather
>>>>          than under "Operations on dump"
>>>>          "Get Dump details" should be shown under dump service
>>>>          "Delete Dumps" should be shown under DumpService
>>>>
>>>>              ----- Original message -----
>>>>              From: Ratan Gupta <ratagupt@linux.vnet.ibm.com
>>>>              <mailto:ratagupt@linux.vnet.ibm.com>>
>>>>              Sent by: "openbmc"
>>>>              <openbmc-bounces+devenrao=in.ibm.com@lists.ozlabs.org
>>>>              <mailto:in.ibm.com@lists.ozlabs.org>>
>>>>              To: "openbmc@lists.ozlabs.org
>>>>              <mailto:openbmc@lists.ozlabs.org>" <openbmc@lists.ozlabs.org
>>>>              <mailto:openbmc@lists.ozlabs.org>>
>>>>              Cc:
>>>>              Subject: [EXTERNAL] Redfish Dump Service Proposal
>>>>              Date: Thu, Dec 12, 2019 5:09 AM
>>>>              Hi All,
>>>>
>>>>              Please find the redfish dump service proposal for the DMTF
>>>>              attached.
>>>>
>>>>              Kindly review and provide your inputs.
>>>>
>>>>              Ratan
>>>>
>>>>
>>>>
>>
>>
>>
>> --
>> --------------
>> Dhruvaraj S
> 
> 
> 

  reply	other threads:[~2019-12-18 22:38 UTC|newest]

Thread overview: 21+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2019-12-10 11:21 Redfish Dump Service Proposal Ratan Gupta
2019-12-11 11:55 ` Fwd: " Ratan Gupta
2019-12-11 19:13   ` [EXTERNAL] " Neeraj Ladkani
2019-12-12  7:07 ` Devender Rao
2019-12-13  0:55   ` Richard Hanley
2019-12-13  5:46     ` Jayanth Othayoth
2019-12-13 20:01       ` Bills, Jason M
2019-12-14  5:27         ` dhruvaraj S
2019-12-18  3:25           ` dhruvaraj S
2019-12-18 22:38             ` Bills, Jason M [this message]
2020-01-07 10:11               ` Ratan Gupta
2020-01-07 20:08                 ` Bills, Jason M
2020-01-09 20:07                   ` Gunnar Mills
2020-01-16 11:01                     ` Ratan Gupta
2020-01-16 15:56                       ` Gunnar Mills
2020-01-16 16:19                         ` Brad Bishop
2020-01-22  8:19                           ` Ratan Gupta
2020-01-08 20:04         ` Brad Bishop
2020-01-08 20:42           ` Bills, Jason M
2020-01-08 23:13             ` Brad Bishop
2020-01-09  9:55               ` Lawniczak, Maciej

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=62dc3198-40d4-b0f6-4c31-cf829d9311d6@linux.intel.com \
    --to=jason.m.bills@linux.intel.com \
    --cc=openbmc@lists.ozlabs.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.