All of lore.kernel.org
 help / color / mirror / Atom feed
From: Ratan Gupta <ratagupt@linux.vnet.ibm.com>
To: Patrick Williams <patrick@stwcx.xyz>
Cc: openbmc@lists.ozlabs.org, Ed Tanous <ed@tanous.net>
Subject: Re: Using bios-settings-mgr for setting hypervisor network attributes
Date: Thu, 24 Sep 2020 13:00:24 +0530	[thread overview]
Message-ID: <090d9568-ad4a-68f7-b5a5-74656dc984c3@linux.vnet.ibm.com> (raw)
In-Reply-To: <20200923192457.GS6152@heinlein>

On 9/24/20 12:54 AM, Patrick Williams wrote:
> 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?
Yes, you are correct we are sending immediately to the host.
>
>> 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.

I hope you are asking for BMC network settings where we wait for a 
certain amount of time and then apply the settings,same with IPMI.

> 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.
My point was to add a property through new Dbus Interface, sorry for the 
confusion.
>
> 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.
>

      parent reply	other threads:[~2020-09-24  7:32 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
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 [this message]

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=090d9568-ad4a-68f7-b5a5-74656dc984c3@linux.vnet.ibm.com \
    --to=ratagupt@linux.vnet.ibm.com \
    --cc=ed@tanous.net \
    --cc=openbmc@lists.ozlabs.org \
    --cc=patrick@stwcx.xyz \
    /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.