BMC redundancy

Brad Bishop bradleyb at fuzziesquirrel.com
Sat Feb 3 01:42:49 AEDT 2018


> On Feb 2, 2018, at 4:48 AM, Ratan Gupta <ratagupt at linux.vnet.ibm.com> wrote:
> 
> Hi Andrew,
> 
> 
> On Friday 02 February 2018 06:18 AM, Andrew Jeffery wrote:
>> Hi Deepak,
>> 
>>> So several of the existing OpenBMC apps implement specific D-Bus
>>> services. What does it take to make remote D-Bus calls to such apps?
>>> - It doesn't look like the D-Bus spec or libdbus officially has anything
>>> for D-Bus across computers. There are some good notes at
>>> https://www.freedesktop.org/wiki/Software/DBusRemote/.
>> Applications can cannect to remote dbus servers; the --address option to dbus-daemon allows it to listen on a TCP socket and setting DBUS_SESSION_BUS_ADDRESS will point applications in the right direction. So there are probably two ways we could do this:
>> 
>> 1. Slave BMCs connect to the master's DBus daemon, and applications namespace their objects appropriately. Multi-BMC aware applications on the master access the namespaced objects as required
>> 2. Slave BMCs are willfully ignorant of their role, with the master connecting to the slaves' DBus daemons to form a coherent global view of the bus for its multi-BMC aware applications, which access the remote objects as required.
>> 
>> Given the support DBus has today it might be easier to go for 1 than for 2, if we go down this path at all.
>> 
>> [1] https://dbus.freedesktop.org/doc/dbus-daemon.1.html
>> 
>>> - There are ways to achieve this via Qt D-Bus, but it would involve some
>>> amount tweaking with the D-Bus configs.
>>> - I'm not aware of any open/active project implementing remote D-Bus.
>> Here is someone's attempt at making it easier: http://gabriel.sourceforge.net/howto.html though you would struggle to say it's active given the last contribution was 2013-05-14.
> How it would be beneficial sending dbus packets over ssh v/s current REST architecture,where url is mapped with the Dbus objects?

1 - Less code maintained by us in the path.
2 - Would like to see the current REST API evolve into a development/testing/debug tool
      and not used in any other capacity (like production) - We don’t want to have to
      maintain an API contract at the DBus level.
3 - The current REST API hides DBus interface information, which will likely be needed
      in this environment.

>> 
>>> - Thoughts on doing remote D-Bus over WebSockets?
>> How do websockets come into the picture? Why do we need the extra complication vs normal sockets?
>> 
>> Cheers,
>> 
>> Andrew
>> 
> Regards
> Ratan


More information about the openbmc mailing list