From: Patrick Williams <patrick@stwcx.xyz>
To: Ratan Gupta <ratagupt@linux.vnet.ibm.com>
Cc: openbmc@lists.ozlabs.org, Ed Tanous <ed@tanous.net>
Subject: Re: Using bios-settings-mgr for setting hypervisor network attributes
Date: Wed, 23 Sep 2020 14:24:57 -0500 [thread overview]
Message-ID: <20200923192457.GS6152@heinlein> (raw)
In-Reply-To: <e7dc17f5-191c-b24f-4b92-1020cf77a54a@linux.vnet.ibm.com>
[-- Attachment #1: Type: text/plain, Size: 3624 bytes --]
On Tue, Sep 22, 2020 at 02:39:04PM +0530, Ratan Gupta wrote:
> Hi All,
>
> Adding one more problem here with settings infra and with some proposed
> solutions.
>
> Problem Domain:
>
> - With multi property update from redfish , webserver updates the
> settings object
> - PLDM on bmc listens on the property update of settings object
> and notifies to Hypervisor
> - As there can be multiple properties in single PATCH operation,
> PLDM on bmc sends
> multiple Notifications to Hypervisor
> - Specifically in case of network config, single property update
> on phyp may lead to network inconsistency.
The original bios config seemed to only apply settings at specific times
(ie. when the BIOS restarts) but your problem seems to indicate that
you're immediately sending settings up to the host whenever they change?
> How can we solve this?
>
> * Proposal 1: Add one more property in the settings Dbus object itself
> which tells that it is ready to be read, PLDM on the BMC watching on
> that property and read the whole network configuration and notifies
> Hypervisor.
>
> * Proposal 2: Hypervisor runs the timer if the bios attr belongs to
> network configuration and once the timer expires,it reads the bios
> attr related to network and applies it.
>
> * Proposal 3: Add one more bios attribute in the bios table which
> tells that Bios configuration can be read and applied by the
> Hypervisor for the network configuration.
It is unfortunate that org.freedesktop.DBus.Properties doesn't have a
way to set multiple properties as the analogous operation to 'GetAll'.
In the case of networking, how do we handle this for the BMC settings?
Don't we have a similar situation where multiple properties are changed
via some interface and could leave the network in an unusual state? I'm
thinking IPMI does this.
When all of our DBus objects were serial we likely never had this issue
because the request to read the properties (to send to the hypervisor)
would come behind the signal and subsequent property updates. Now that
we're moving towards more ASIO we likely will see this kind of issue
more often. I don't like it but we could certainly proposal a
'SetMultiple' extension to org.freedesktop or create our own interface.
Proposal #2 isn't great because, well, how long do you wait? In the
case of hypervisor updates, delaying something on the order of a second
is probably sufficient for Redfish/PLDM, but that doesn't really
generally solve the problem.
We could define an interface to implement something like Proposal #1,
but we would need a new interface and not a property we tack onto
existing interfaces. We'd probably need to revisit a lot of our
interface definitions and see which ones typicallly have multi-property
updates and does an intermediate state leave us in a bad situation.
Specifically for BIOS/Hypervisor settings, I mentioned before that it
isn't clear to me what the proposal is for applying Pending to Current.
Again, this isn't general, but we could define an interface specific for
BIOS/Hypervisor settings which has a way to indicate 'Pending
transaction is complete' (set by entities like Redfish) and 'Pending
values applied to Current' (set by entities like PLDM). For the current
settings-style values though, this requires external interfaces to
somehow know that the setting is associated with the Host in order to do
the application, since BMC-owned properties won't have or need this.
--
Patrick Williams
[-- Attachment #2: signature.asc --]
[-- Type: application/pgp-signature, Size: 833 bytes --]
next prev parent reply other threads:[~2020-09-23 19:26 UTC|newest]
Thread overview: 24+ messages / expand[flat|nested] mbox.gz Atom feed top
2020-09-16 14:47 Using bios-settings-mgr for setting hypervisor network attributes manoj kiran
2020-09-16 16:26 ` Ed Tanous
2020-09-16 16:33 ` James Feist
2020-09-16 17:20 ` Patrick Williams
2020-09-16 17:44 ` Ed Tanous
2020-09-17 7:40 ` Ratan Gupta
2020-09-17 12:21 ` Deepak Kodihalli
2020-09-17 14:20 ` Thomaiyar, Richard Marian
2020-09-17 15:36 ` Patrick Williams
2020-09-19 5:41 ` Ratan Gupta
2020-09-22 9:09 ` Ratan Gupta
2020-09-22 12:08 ` Deepak Kodihalli
2020-11-05 16:48 ` Brad Bishop
2020-09-23 19:24 ` Patrick Williams [this message]
2020-09-23 20:51 ` Ed Tanous
2020-09-23 21:26 ` Patrick Williams
2020-09-24 13:08 ` Deepak Kodihalli
2020-09-24 15:36 ` Ed Tanous
2020-09-30 15:05 ` Ratan Gupta
2020-09-30 15:56 ` Ed Tanous
2020-10-01 11:17 ` Ratan Gupta
2020-10-16 11:40 ` manoj kiran
2020-10-20 10:43 ` Ratan Gupta
2020-09-24 7:30 ` Ratan Gupta
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20200923192457.GS6152@heinlein \
--to=patrick@stwcx.xyz \
--cc=ed@tanous.net \
--cc=openbmc@lists.ozlabs.org \
--cc=ratagupt@linux.vnet.ibm.com \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.