Bmcweb redfish multiple host support

Naveen Moses S naveenmoses at fb.com
Wed Jul 7 14:59:43 AEST 2021


Hi Ed,

Thanks for your insights. we will work on it accordingly.

If possible could you also clarify  the following :

In redfish, /redfish/v1/Systems/system is used to store host/server related information.
For LogServices, journal based logs are stored under the below path.
/redfish/v1/Systems/system/LogServices/EventLog/Entries
But few logs like sensor & FRU logs are related to BMC, which is displaying under system path. Could you please clarify why these logs are stored under this system path.
Whether can we take this under different path.

Thanks

On 01-Jul-2021, at 9:58 PM, Ed Tanous <ed at tanous.net<mailto:ed at tanous.net>> wrote:

On Thu, Jul 1, 2021 at 9:10 AM Naveen Moses S <naveenmoses at fb.com<mailto:naveenmoses at fb.com>> wrote:

Hello All,

I need your suggestion on implementing support for  multiple computer systems or hosts under redfish implementation of BMCWEB.

Redfish schema supports multiple computer systems under  redfish path "/redfish/v1/Systems/"

Currently in bmcweb redfish core Computer systems path are is configured for as singlehost

The redfish path computer system is given below
"/redfish/v1/Systems/system”

In case of multiple hosts can we use the following format.

"/redfish/v1/Systems/system1”
"/redfish/v1/Systems/system2”
"/redfish/v1/Systems/system3”
"/redfish/v1/Systems/system4”

these paths should be populated based on the number of available hosts/computer systems

Possible options to identify the host count are as given below:
1.pass the OBMC_HOST_INSTANCES as a macro definition to bmcweb

Please don't do this.  In general we only use configure options for
things that cannot be dynamically discovered on dbus or via the
mapper, or where different implementations of things exist that meet
the same API (like log service).  I don't think multi-host falls into
either of those categories, as it can be seen on dbus.

2.Query dbus objects which has individual instance available for each host using object mapper.

This would far and above be my preference, as it's similar to how the
rest of the bmcweb URIs function.


Is there any other alternate way available for identifying host instances at runtime under bmcweb?


if we use the above format then can we change the computer system for single host

as given below

"/redfish/v1/Systems/system0”

I would much prefer these are just based on the dbus path names
instead of trying to explicitly pick a name.  That keeps bmcweb
consistent with other resources, and systems that only implement a
single host can choose to keep the same odata.id<http://odata.id/> (system) if they
want.


Code reference : https://github.com/openbmc/bmcweb/blob/master/redfish-core/lib/systems.hpp

method : requestRoutesSystemsCollection



Thanks

Looking forward to seeing the patches.  Thanks for looking into this.

-Ed

-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.ozlabs.org/pipermail/openbmc/attachments/20210707/1e7e9b32/attachment-0001.htm>


More information about the openbmc mailing list