Redfish on OpenBMC

Michael E Brown Michael.E.Brown at dell.com
Tue Feb 6 15:23:11 AEDT 2018


On Thu, Feb 01, 2018 at 02:38:57PM +0530, Hariharasubramanian Ramasubramanian wrote:
>    Hi Michael,
>    Thanks for enumerating the attributes for comparison.
>    I want to list down a few additional criteria that may be evaluated:
>    1) Data-Driven Resource Discovery:
>    - The Redfish server should ideally build it's resource model from a
>    "config file". This config file could potentially be hand-coded or
>    built out of a "system definition file". The following are examples of
>    system definition files for 2 of the systems currently running OpenBMC
>    firmware.
>    [1]https://raw.githubusercontent.com/open-power/zaius-xml/master/zaius.
>    xml
>    [2]https://raw.githubusercontent.com/open-power/witherspoon-xml/master/
>    witherspoon.xml
>    The system architecture (sled vs blade etc.), number of processors,
>    number of fans etc. can be determined from the system definition file
>    to generate the config file.
>    The intent is to make the redfish implementation as system agnostic as
>    possible.

Agreed.

I think that the intent would be for the redfish implementation to
automatically discover the system configuration based on what it finds on dbus.
If we cannot configure at runtime based on DBUS apis, then I think the
deficiency would be in the DBUS apis, but I think that ought not be a problem.

>    2) Separation of the Redfish front-end (view) and back-end
>    (infrastructure) layers. The infrastructure API exposed as dbus
>    services would be one of the means to make this separation of concerns.

Agreed.

>    3) Performance :
>    - Runtime memory foot print.This could potentially have a negative
>    impact on "how fast" the server is. Hence the trade-off should consider
>    what can be cached vs what needs to be queried from the infrastructure.

Sounds good.

>    - Michael, why did you consider SSL being separately implemented by the
>    Redfish server? Would this be in the scope of the webserver ?

It's just a data point. Some redfish servers might require us to have a
frontend webserver to handle frontend SSL and proxy, while others might be
appropriate to expose directly on the network.

>    4) Eventing: Current version of the Redfish spec has left it open for
>    the OEMs to define the specific Event Messages. i.e. there is no
>    standard / common Event Registry. Redfish server implementation on the
>    OpenBMC should define this common Event Registry and perhaps accepted
>    by DMTF. Does the Eventing support filtering of events based on the
>    event type, source resource and the message Id ?

Correct, message registry would have to be delivered as part of our
implementation. Adding feature for if redfish eventing filter is supported
would be a good thing to track.

>    5) Leverage existing open source projects:
>    - Does the implementation compose existing services and frameworks ?
>    Such as a webserver(say, nginx) and a rest framework (flask).

Good.
--
Michael

>    regards,
>    Hari !
>    Inactive hide details for ---01/31/2018 10:17:36 PM---So, I think that
>    the first thing we ought to do is get a survey of the di ---01/31/2018
>    10:17:36 PM---So, I think that the first thing we ought to do is get a
>    survey of the different implementations tha
>    From: <Michael.E.Brown at dell.com>
>    To: <bradleyb at fuzziesquirrel.com>
>    Cc: <alirhas at microsoft.com>, <Balaji.B.Rao at dell.com>,
>    <Paul.Vancil at dell.com>, <ed.tanous at intel.com>, <rolfb at us.ibm.com>,
>    <jwcarman at us.ibm.com>, <hramasub at in.ibm.com>,
>    <pradeep.kumar36 at tcs.com>, <openbmc at lists.ozlabs.org>
>    Date: 01/31/2018 10:17 PM
>    Subject: RE: Redfish on OpenBMC
>    _______________________________________________________________________
> 
>    So, I think that the first thing we ought to do is get a survey of the
>    different implementations that are out there, and establish criteria
>    for judging different implementations.
>    Here would be a list of questions I would have for everybody on the
>    list. I think it would probably be best to compile all of these into a
>    wiki page somewhere.
>      - Do you have a redfish server implementation?
>      - Is it Open Source?
>    - If not, are you planning on open sourcing it?
>    - What is the license?
>    - Is it posted to github or other public source control?
>      - Does it pass the DMTF redfish service validator?
>      - What language is it written in?
>      - How big is it?
>      - Can it be easily extended/re-used by anybody else shipping
>    compliant openbmc implementations?
>    - Can you add OEM extensions to existing Redfish Resources without
>    "forking" the codebase?
>    - Can you change the implementation for a single Redfish Resource
>    Property without forking?
>    - Can you add new Redfish Resources without forking?
>      - Performance
>    - How fast is it?
>    - Does it implement SSL?
>      - Security
>    - What is the security model?
>    - Non-root support? Can it run as a non-privileged user?
>    - Does it implement basic authentication and the redfish spec
>    x-auth-token authentication?
>    - Does it implement the redfish standard privilege map model?
>      - Eventing:
>    - For writing a UI on top of redfish, something like SSE is a
>    nice-to-have to avoid polling in the browser. There are a couple of
>    proposed SSE extensions that have not yet been approved.
>    - How much work to implement SSE support to do things like watch
>    Property changes?
>    - Is the standard redfish eventing model supported?
>    - Security model integrated with eventing? Do eventing records get the
>    same security treatment as GET requests?
>      - Development: can it run outside of openbmc?
>      - Special sauce: is there anything not captured above that makes the
>    implementation special in any way?
>    --
>    Michael
>    -----Original Message-----
>    From: Brad Bishop [[3]mailto:bradleyb at fuzziesquirrel.com]
>    Sent: Tuesday, January 30, 2018 7:30 PM
>    To: Brown, Michael E <Michael_E_Brown at Dell.com>
>    Cc: alirhas at microsoft.com; Rao, Balaji B <Balaji_B_Rao at dell.com>;
>    Vancil, Paul <Paul_Vancil at Dell.com>; Tanous, Ed <ed.tanous at intel.com>;
>    rolfb at us.ibm.com; jwcarman at us.ibm.com; Hariharasubramanian
>    Ramasubramanian <hramasub at in.ibm.com>; pradeep.kumar36 at tcs.com; OpenBMC
>    Maillist <openbmc at lists.ozlabs.org>
>    Subject: Redfish on OpenBMC
>    Hi Michael
>    The project could really use someone to get everyone that has expressed
>    interest in the future of Redfish support in OpenBMC rowing in the same
>    direction.  So thank you for volunteering to lead that conversation at
>    the community call yesterday.
>    I’ve CC’ed everyone that I know of that has expressed an interest.
>    OpenBMC community: feel free to speak up if you’d like to be involved
>    and I forgot you.
>    The only thing I’d ask is to please post links to any meetings,
>    minutes, or correspondence here on the list, so everyone can easily
>    keep up with how things are going or jump in to provide feedback.
>    thanks again
>    -brad
> 
> References
> 
>    1. https://raw.githubusercontent.com/open-power/zaius-xml/master/zaius.xml
>    2. https://raw.githubusercontent.com/open-power/witherspoon-xml/master/witherspoon.xml
>    3. mailto:bradleyb at fuzziesquirrel.com




More information about the openbmc mailing list