Request to create repository google-ipmi-bmc-health
William Kennington
wak at google.com
Wed Nov 11 17:38:55 AEDT 2020
My 2c... We have plenty of blob handlers that have their own repos to keep
maintainership and purposes separate. The phosphor-ipmi-blobs
repository intends to provide a framework, not specific implementations.
On Tue, Nov 10, 2020 at 10:35 PM Vijay Khemka <vijaykhemka at fb.com> wrote:
>
>
> On 11/5/20, 3:55 PM, "Sui Chen" <suichen at google.com> wrote:
>
> On Tue, Oct 6, 2020 at 6:43 PM Patrick Williams <patrick at stwcx.xyz>
> wrote:
> >
> > On Tue, Oct 06, 2020 at 03:57:30PM -0700, Sui Chen wrote:
> > > On Fri, Oct 2, 2020 at 1:54 PM Vijay Khemka <vijaykhemka at fb.com>
> wrote:
> > > > If I understand correctly, protocol buffer will be used by
> daemon who
> > > > Is responding to the IPMI request and connecting to this daemon
> via
> > > > library call, then it is completely restricted for the use of
> protocol buffer.
> > > > If you are passing protocol buffer to this daemon then we have
> to define
> > > > some policy here.
> > >
> > > The Protocol buffer is only for serializing the data to be sent
> > > outside of the BMC. It is not used for communication inside
> > > phosphor-health-monitor and will not be passed to the daemon.
> >
> > Why isn't this part done from within an existing IPMI provider
> (ideally
> > to me a google-ipmi-* repository at this time)? I'm not especially
> keen
> > on these details leaking out into other non-IPMI repositories.
> >
> > > >
> > > > Other than these two things I think adding new metrics to
> > > > phosphor-health-monitor should be manageable. I can start by
> trying to
> > > > add the IPMI blob handler to phosphor-health-monitor; my
> first attempt
> > > > might not look very elegant, but if we find answers to the
> two
> > > > questions above, the merged result will look a lot better.
> Hopefully
> > > > we can find a solution that works well for everyone.
> > > >
> > > > I am looking forward to your patches
> > >
> > > Please check out this WIP:
> > >
> https://gerrit.openbmc-project.xyz/c/openbmc/phosphor-health-monitor/+/37092
> > >
> > > This WIP currently just adds the IPMI blob-based code to
> > > phosphor-health-monitor almost as-is.
> > > It also shows what we already have now.
> > >
> > > There will be some work to merge the daemon and the blob handler
> in an
> > > organic way, and I am open to discussion with you how to do that.
> The
> > > first step I think I can do is to put the code for extracting the
> > > metrics (metrics.cpp, blob/metric.cpp) into a single file and share
> > > that between the daemon and the IPMI blob handler.
> > >
> > > Another issue I found is I am not using the latest sdbusplus so I
> have
> > > to comment out the usage of ValueIface::Unit::Percent for now.
> > >
> > > To build this requires 1) adding a pkgconfig file to
> > > phosphor-ipmi-blobs (before
> > >
> https://gerrit.openbmc-project.xyz/c/openbmc/phosphor-ipmi-blobs/+/37133
> > > gets merged) and 2) adding phosphor-ipmi-blobs and protobuf to
> DEPENDS
> > > in phosphor-health-monitor's Bitbake recipe.
> > >
> > > Hope this WIP change illustrates our intention clearly.
> > >
> > > Thanks!
> >
> > --
> > Patrick Williams
>
>
> Hello Patrick and Vijay,
>
> As far as I know, the only two "google-ipmi-*" repositories are 1)
> google-ipmi-sys and 2) google-ipmi-i2c, and neither seem to be related
> to the health monitoring task we're doing right now.
> In my understanding one similar library is phosphor-pid-control; its
> IPMI handler is also in the repository rather than in a separate
> repository.
>
> The "health monitoring IPMI Blob Handler" (that the request in the
> first email in this thread was indended for) was a monolithic IPMI
> blob handler; it used to both generate metrics and handle IPMI
> requests.
> In the last month, I had de-coupled these two functions so the IPMI
> blob handler does not generate metrics but reads metrics from the
> daemon in phosphor-health-monitor via DBus. In other words, the
> "monolithic"
> handler has now become a thin layer. On the other hand,
> phosphor-health-monitor will have to be significantly modified to
> generate the metrics that are in a different format from what it's
> generating right now, and Vijay and I are working on that. I had
> create a chain
> of changes
> https://gerrit.openbmc-project.xyz/c/openbmc/phosphor-health-monitor/+/37659
> to illustrate what I intend to do.
> As a result, there comes the question of where the IPMI blob handler
> should live, and it appears I have the following choices:
> 1. in phosphor-health-monitor, or
> 2. some centralized location, along with many other IPMI blob
> handlers, or
> 3. as a separate, new repository, or
> 4. something else?
>
> I am facing a confusing situation as to where I should put the IPMI
> blob handler, due to conflicting opinions:
> 1. The maintainers of phosphor-ipmi-blobs told me it's not desirable
> to put all IPMI blob handlers into the same place.
> 2. By reading this email thread, I had the impression that it's not a
> good idea to create too many repositories either.
> 3. Because of #1 and #2, I felt we should put the IPMI blob handler
> into phosphor-health-monitor itself, just like phosphor-pid-control
> does.
> 4. In the last reply from Patrick it sounds it's a bad idea to put the
> IPMI blob handler into phosphor-health-monitor because of IPMI details
> leaking out into non-IPMI repositories.
> 5. Vijay seemed to prefer to have all IPMI blob handlers in one place
> based on our discussion on IRC. However, according to #1 this is going
> to face pushback. As such, I created all my changes in
> phosphor-health-monitor for review and for showing my intent on how
> the IPMI implementation is done.
> 6. Because of #4 and #5, it sounds like I can't put the IPMI blob
> handler into
> phosphor-health-monitor either.
> So now, there is no place I can place this handler, and I am now at a
> dead end.
>
> I still feel that this should go to phosphor-ipmi-blobs, you can create a
> separate
> directory (handler) under the same repo and it can become home for all the
> futures blob handler as these are going to interact with ipmi blobs anyway.
>
> I need to find a way out and would greatly appreciate it if we can
> reach a consensus here so that BMC health monitoring can move forward.
>
> Thanks!
>
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.ozlabs.org/pipermail/openbmc/attachments/20201110/9b9db3d9/attachment-0001.htm>
More information about the openbmc
mailing list