How to enable bmcweb in openbmc

Yuan, Yao yao.yuan at hxt-semitech.com
Mon Dec 10 13:28:59 AEDT 2018


Hi Ed & Andrew,

Thanks for your reply,

It's very helpful and I can run it on my obmc successfully now.

Thanks.

Best Regards,
Yao.


-----Original Message-----
From: Ed Tanous [mailto:ed.tanous at intel.com] 
Sent: 2018年12月8日 5:41
To: Yuan, Yao <yao.yuan at hxt-semitech.com>; openbmc at lists.ozlabs.org
Subject: Re: How to enable bmcweb in openbmc


On 12/7/18 12:36 AM, Yuan, Yao wrote:
>
> Hi all,
>
>  
>
> I’m new here and want to enable openbmc on my server.
>
>  
>
At this point, bmcweb is not the default implementation for the project.  Based on the discussions with other people, making it the default implementation seems to be the direction we're heading, but there are a few roadblocks to get through before we can make that a reality.

For the moment, there are a few different ways to run bmcweb, each have their benefits and pitfalls.

1. Standalone, as a replacement for phosphor-rest.

    This is the option I generally choose, given it's the simplest from a configuration perspective.  Adding it to your build can be accomplished temporarily by adding the below line to your build/conf/local.conf file

IMAGE_INSTALL_append = " bmcweb"

For compatibility with phosphor-rest, by default this will launch bmcweb on port 883.  If you'd like to launch it on port 443, which is more standard, override or replace this file here:

https://github.com/openbmc/openbmc/blob/298c4328fd20fcd7645da1565c143b1b668ef541/meta-phosphor/recipes-phosphor/interfaces/bmcweb/bmcweb.socket#L5

And remove phosphor-rest from your build by either commenting it out here:

https://github.com/openbmc/openbmc/blob/298c4328fd20fcd7645da1565c143b1b668ef541/meta-phosphor/recipes-phosphor/packagegroups/packagegroup-obmc-apps.bb#L40

Or add the line:

IMAGE_INSTALL_remove " phosphor-rest" to your local.conf

On the next boot after loading this, bmcweb should generate self-signed keys and boot up.  If you still have troubles, running the command "journalctl -u bmcweb" might give you some hints as to whats wrong.


2. The second option is to run bmcweb behind an nginx reverse proxy. This is how the IBM systems are set up currently.  In essence, bmcweb is proxied behind nginx for all urls matching the /redfish routes.  BMCweb is launched in http mode (not https) and all things are routed through nginx.  If you want to go this route, I'd recommend taking a look at the meta-ibm layer, in the nginx and bmcweb folders.


If you need more help in closer-to-realtime, there are several of us
that know this stuff pretty well that hang out in the IRC channel.

Good luck, and let us know if you need any more help.

-Ed



More information about the openbmc mailing list