Inserting a Redfish Aggregator
James Feist
james.feist at linux.intel.com
Thu Dec 5 07:18:40 AEDT 2019
On 12/3/19 7:14 PM, Richard Hanley wrote:
> Hi everyone,
>
>
> I’ve been thinking a bit about how to separate Redfish logic from DBus
> in bmcweb.
>
>
> As a motivating example, imagine a Redfish aggregator that has some
> chassis that is located outside of its local instance.Once the
> aggregator finds the external chassis, it needs to add it to the chassis
> collection.
>
>
> However, looking at the current implementation of the
> ChassisCollection.(located here:
> https://github.com/openbmc/bmcweb/blob/master/redfish-core/lib/chassis.hpp#L246)
> It isn’t clear to me how to add this in.
>
>
> The current implementation does some setup on the response payload, and
> then makes a DBus call to look through the entity manager.The collection
It's not entity-manager per-say, it's whatever daemon produces the
correct interface on d-bus. Entity-manager is just one option.
> it sends as a response is entirely defined by the result from the entity
> manager. I basically see three ways that this could be solved.
>
>
> 1. Move the aggregator logic down to the entity manager
> 2. Refactor the Chassis Collection to have its own data model separate
> from the entity manager.
> 3. Create some service that works on top of the bmcweb implementation
> of Redfish.
>
>
> I think this comes up to a fundamental design decision, how
> modular/flexible should the Redfish implementation be?Right now bmcweb
> provides a very sane default implementation, and is tied very closely to
> the current hardware it is running on.Whereas I am envisioning a Redfish
> implementation that is a bit more abstracted from any particular hardware.
>
Can you describe a bit more where the data would come from? Are you
thinking of multiple bmcs that are physically attached? Non-physically
attached bmcs? BMCs not running OpenBmc? One idea I had in the past was
remoting dbus from other systems in some way and creating a clone daemon
that would show the interfaces from the other systems, although I never
looked into it much.
>
> It’s taken me awhile to get up to speed with Redfish, Open BMC, and
> Google’s infrastructure; but I’m starting to get a more concrete design
> for an aggregator.However, I’m unsure about whether this should be
> framed as a new layer on top of the existing implementation, or as a
> refactor of that implementation?
>
>
> I can see some pros and cons between the two, but I’m interested in how
> everyone feels about this.
>
>
> Regards,
>
> Richard
>
More information about the openbmc
mailing list