RFC Adding Interfaces to OpenBMC

Rick Altherr raltherr at google.com
Thu Sep 21 03:27:37 AEST 2017


Agree.

On Wed, Sep 20, 2017 at 7:04 AM, Kenneth Wilke <kenneth.wilke at rackspace.com>
wrote:

> It is a pretty common practice to terminate SSL at a reverse proxy like
> NGINX. I think this model of routing http to the other daemons listening on
> localhost sockets should work well for OpenBMC.
>
>
> Kenneth
> ------------------------------
> *From:* openbmc <openbmc-bounces+kenneth.wilke=rackspace.com at lists.
> ozlabs.org> on behalf of Chris Austen <austenc at us.ibm.com>
> *Sent:* Tuesday, September 19, 2017 1:19:12 PM
> *To:* openbmc at lists.ozlabs.org
> *Subject:* Re: RFC Adding Interfaces to OpenBMC
>
>
> After some discussion that did not make it to the mailing list I am
> revising the RFC to integrate with Nginx technology.  The theme is the
> same; create interfaces in a way that anyone can add/remove/replace per
> their business needs through with a prescriptive process
>
>
> Request - https ---> Nginx (Reverse-Proxy)
>                  |
>                   |http
>                   |
>                 /|\
>                 | | `-> rest_dbus   127.0.0.1:8081
>                 |  `--> webui       127.0.0.1:8082
>                  `----> redfish     127.0.0.1:8083
>
> With Nginx accepting https would there be a need for localhost
> applications incur the cost of secure https too?
>
>
> Chris Austen/Austin/IBM wrote on 09/01/2017 10:54:06 AM:
>
> > From: Chris Austen/Austin/IBM
> > To: openbmc at lists.ozlabs.org
> > Date: 09/01/2017 10:54 AM
> > Subject: RFC Adding Interfaces to OpenBMC
> >
> > I'd like to get some feed back on draft...
> >
> > It should not be any surprise that we are trying to implement a web
> > user interface and Redfish.  I think requiring every implementation
> > of OpenBMC to now support a webui and Redfish goes against the basic
> > principals of the project.  A better approach would be to allow the
> > machine configuration to determine what features/apps to support.
> > The OpenBMC core would provide the infrastructure to reverse(?)
> > proxy incoming requests to the various applications based on the
> > application defining which routes it can handle.  With those
> > thoughts in mind, the current design needs to be tweaked slightly.
> >
> > FROM:
> > | server | app (dbus) |
> > TO:
> > | server | reverse | app (dbus)    |
> > |        |  proxy  | app (web)     |
> > |        |         | app (redfish) |
> > |        |         | app (...)     |
> > Route handler added at service startup to create the proxy environment
> > (figure 1: In todays design the single app defines all routes at
> > compile time.  Adding routes to that single app forces all OpenBMC
> > machines to pick up the new routes which is undesirable)
> >
> > Note: due to legacy decisions the '/' and '/xyz' route are owned by
> > the dbus app.  (Could the dbus route be helpful here?  All browsers
> > use 'text/html' and our rest uses 'application/json', perhaps a
> > nudge/redirect the user to the correct uri)
> >
> > Security:
> > ~~~~~~~~
> > None at the proxy level
> >
> > Registering Routes:
> > ~~~~~~~~~~~~~~~
> > Route registration will happen at service start up.  An application
> > configuration file placed in to a predetermined location will be
> > parsed by the proxy code
> >
> > Application Requirements:
> > ~~~~~~~~~~~~~~~~~~~~~~
> > 1) The cfg file will be based on a common xxx format
> > - likely need a decision as to proxy or reverse proxy before
> > declaring config format type
> >
> > 2) Create a bb file in the appropriate layer.  Keep in mind the openbmc/
> > meta-phosphor/common/recipes-phosphor/interfaces/ is for core
> > functionality only.
> > i.e.    PROVIDES = 'phosphor-webui'
> >          <example of how to copy the apps config file to the correct
> > route registration location>
> >
> > 3) Declare in the appropriate machine conf file the bb file which
> > contains your application
> > i.e.    OBMC_MACHINE_FEATURES += 'phosphor-webui'
> >
> >
> > Chris Austen
> > POWER Systems Enablement Manager
> > (512) 286-5184 (T/L: 363-5184)
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.ozlabs.org/pipermail/openbmc/attachments/20170920/afce4a44/attachment.html>


More information about the openbmc mailing list