All of lore.kernel.org
 help / color / mirror / Atom feed
From: Emily Shaffer <emilyshaffer@google.com>
To: Rebecca Broekhuis <beccabroek@gmail.com>
Cc: a.amelkin@yadro.com, openbmc@lists.ozlabs.org, a.senichev@yadro.com
Subject: Re: SOL Logging
Date: Tue, 4 Sep 2018 17:07:02 -0700	[thread overview]
Message-ID: <CAJoAoZnqL2yy3aYWqvL-FRxLtpcjuyAhFOER5ZSd=WAA9LmJfg@mail.gmail.com> (raw)
In-Reply-To: <CABzWfrmvR=qHQBgi8m6m5Zp0wGDc2--AcY1ZTTp+WfiC8cFFKg@mail.gmail.com>

[-- Attachment #1: Type: text/plain, Size: 3917 bytes --]

I wonder if there's a different and more useful way we can provide the
console scrollback. Thinking about this, it's not just a GUI issue, right -
we deliver our console over TCP to a client elsewhere and would have the
same dedupe issues if we needed to start providing backlog.  Speaking with
almost no experience implementing server-side sockets, is it possible for
us to keep that ring buffer in the console socket as well?

I'm also interested in how you all are getting the console over to webui.
Is it delivered via Redfish? (This is totally different from what we are
doing, so apologies if that's a fundamental question, but I'm certainly
keen to know now :) )

Emily

On Wed, Aug 29, 2018 at 1:09 PM Rebecca Broekhuis <beccabroek@gmail.com>
wrote:

>
> >The downside of that is the large amount of backlog to be transferred at
> >the start of the console session, which is typically when you need the
> >current data the most. In most cases, this could just be stale data from
> >a previous boot. Because of this, I think it'll be a net *loss* in
> >usability.
>
> I was looking at how AMI and supermicro's console works in the UI, and
> when the console session is started
> it is pre populated with just 30 or so log messages, nothing more. Would
> it be possible to combine both channels, replaying only the N most recent
> log statements?
> I may be misunderstanding what is possible here.
>
> I am also wondering if an implementation like this:
>  a) is adequate
>  b) would be a net gain in usability (considering the amount of backlog to
> be transferred at the start of the session would be smaller)
>
> Becca
>
> On Wed, Aug 29, 2018 at 6:37 AM Alexander Amelkin <a.amelkin@yadro.com>
> wrote:
>
>>
>> 25.08.2018 00:02, Tanous, Ed wrote:
>>
>> I would like to start a discussion around the feature of SOL logging, and
>> how to best implement it.
>>
>>
>>
>> There is a proposal here
>> https://gerrit.openbmc-project.xyz/#/c/openbmc/phosphor-webui/+/12063/
>> that proposes dumping the SOL console text buffer from Javascript into a
>> file, and presenting it to the user as a download.  On its face, it seems
>> to work as designed.  This has some pretty severe limitations, in that you
>> can only dump the console log from your session, and your session is
>> essentially destroyed when you switch pages in the webui, or hit refresh.
>> I think this is overly limiting, and of the production BMC stacks that I
>> know of, none of them implement SOL logging in this way.
>>
>>
>>
>> Instead, other BMCs implement it as a circular buffer inside the BMC
>> itself, which allows SOL to log data all the time, not just while the user
>> is logged in.  I think architecting it this way would be much more useful
>> for admins consuming OpenBMC, and make us more useful as a solution.  Doing
>> it this way also can make the SOL log available to IPMI and Redfish, as
>> well as a file download, which improves the usability quite a bit.  Most
>> places I see the SOL logging requested is for audit type purposes, which
>> the javascript based version can’t do.
>>
>>
>>
>> I’m looking for feedback from the community here.  As written, I don’t
>> think the javascript console export is a useful feature given its
>> limitations.  Do others agree?  Am I off base?  Are there use models where
>> having a log of only the current session is useful?  Should we document the
>> limitations so we can respond to bugs in the future?
>>
>>
>>
>> That's exactly what we have implemented in our BMC for YADRO VESNIN.
>> We have a circular buffer that constantly logs host console output and
>> also preserves the first several pages of each host boot. That way we
>> always have the last host boot "dmesg" as well as the very last few pages
>> before the host dies (or the logs were gathered).
>>
>> Alexander.
>>
>

[-- Attachment #2: Type: text/html, Size: 5582 bytes --]

  reply	other threads:[~2018-09-05  0:07 UTC|newest]

Thread overview: 15+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2018-08-24 21:02 SOL Logging Tanous, Ed
2018-08-25  0:32 ` Sai Dasari
2018-08-27 12:48 ` Andrew Geissler
2018-08-27 14:21   ` Rebecca Broekhuis
2018-08-27 17:00 ` Jeremy Kerr
2018-08-28 21:16   ` Rebecca Broekhuis
2018-08-28 23:00     ` Tanous, Ed
2018-08-29  2:13     ` Jeremy Kerr
2018-08-29 11:37 ` Alexander Amelkin
2018-08-29 20:08   ` Rebecca Broekhuis
2018-09-05  0:07     ` Emily Shaffer [this message]
2018-09-05  0:30       ` Ed Tanous
2018-09-05 18:23         ` Rebecca Broekhuis
2018-09-10  6:52         ` Stewart Smith
2018-09-14  2:58         ` Jeremy Kerr

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='CAJoAoZnqL2yy3aYWqvL-FRxLtpcjuyAhFOER5ZSd=WAA9LmJfg@mail.gmail.com' \
    --to=emilyshaffer@google.com \
    --cc=a.amelkin@yadro.com \
    --cc=a.senichev@yadro.com \
    --cc=beccabroek@gmail.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.