IPMI LAN command story design - try 3rd send

tomjose tomjose at linux.vnet.ibm.com
Tue Nov 8 21:45:47 AEDT 2016


Hi Patrick,

I had a discussion with xCAT team member regarding set LAN command.

xCAT does the LAN configuration from the host OS only. xCAT data to 
manage a cluster is
stored in a relational database. The xCAT tables need to be updated for 
the cluster and
nodes are rebooted into the genesis image and the following standard 
script is run.
xCAT has no usecase to run out-of-band set lan configuration commands.

  https://github.com/xcat2/xcat-core/blob/master/xCAT-genesis-scripts/bin/bmcsetup#L285

In the script the following commands are executed if the IP 
configuration is static.

/ipmitool lan set 1 ipaddr x.x.x.x//
//ipmitool lan set 1 netmask x.x.x.x//
//ipmitool lan set 1 defgw ipaddr x.x.x.x/

After the above IP settings are applied, there is a step in the script, 
which expects
that the ip settings are applied after 30 sec on OpenPower boxes and 
eventually does a
bmc reset.

/# After network commands are issued, pause to allow the BMC to apply 
(OpenPower)//
//snooze/
.
.
.
/# Cold reset the BMC//
//cold_reset_bmc/

 From this it looks like the implementation done on Barreleye would work 
straight with xCAT implementation.

The script has Open Power specific code as well to define specific 
behavior. For example cold_reset_bmc
has code specifically for OpenPower AMI boxes, there is code for OEM 
commands as well.

Since we need similar set of lan configuration commands for net-ipmid 
and host-ipmid. In the case we
support Set Channel Access or an OEM command to trigger applying the ip 
changes. It would mean we
modify the xCAT bmcsetup script.

Regards,
Tom


On Monday 07 November 2016 09:20 AM, Patrick Williams wrote:
> Tom,
>
> Thanks for the explanation.  With this website you pointed to and some
> other investigation I've done, I am comfortable with us using the 'Set
> Channel Access' as the time to apply the settings.  The documentation of
> two competition products both seem to require an 'ipmitool mc reset
> warm' for IP address changes to take effect, so we are at least better
> than that.
>
> Can you internally track down a contact on the xCAT team and verify that
> this will be ok with them?  xCAT is an open source management tool that
> uses IPMI for most of the system management and we should understand
> what process they use for applying IP address changes.  If they expect
> to do a sequence of set-lan command and then a reset, then our
> implementation using 'Set Channel Access' won't cover their cases
> either.
>
> On Fri, Nov 04, 2016 at 11:20:25PM +0530, tomjose wrote:
>> Hi Patrick,
>>
>> In the IPMI command flow that Nan mentioned in the earlier mail. Any of
>> the following ipmitool command for
>> setting the IPv4 configuration, one of the step is to 'Commit
>> Write'(Step 8 in Nan's mail).
>>
>> ipmitool lan set 1 ipaddr x.x.x.x
>> ipmitool lan set 1 netmask x.x.x.x
>> ipmitool lan set 1 defgw ipaddr x.x.x.x
>>
>> As part of the execution of any of the above commands a commit write is
>> executed. In that case we cannot use
>> 'Commit Write' as a way to denote the completion of a transaction.
>>
>> The IPMI specification expects the IP configuration parameters as
>> non-volatile parameters. The commit write
>> parameter is a way to implement rollback feature. The BMC would make a
>> copy of the existing parameters
>> when the 'Set in Progress' state is asserted.
>>
>> The Get/Set LAN Configuration commands do not provide an option to apply
>> the configuration and is identified as
>> LAN channel settings. The link below used 'Set Channel Access' command
>> to apply the settings.
>> (ipmitool lan set 1 access on). Since LAN configuration parameters are
>> channel settings, we thought of
>> applying the LAN configuration parameters as part of 'Set Channel
>> Access'. I am okie if we have
>> an OEM command to trigger applying the LAN settings.
>>
>> https://www.thomas-krenn.com/en/wiki/Configuring_IPMI_under_Linux_using_ipmitool
>>
>> In Barreleye we did not implement the 'Set Channel Access' command.
>> There was no external
>> command to trigger apply the settings. In Barreleye the LAN settings are
>> applied when all the
>> three entries(IP Address, Netmask and Gateway address) where set. So
>> only to change the
>> IP address, the netmask and gateway address need to be re-entered, which
>> was an imperfect
>> solution.
>>
>> Regards,
>> Tom
>>
>>
>>
>> On Friday 04 November 2016 07:44 PM, Patrick Williams wrote:
>>> Tom,
>>>
>>> On Fri, Nov 04, 2016 at 06:56:21PM +0530, tomjose wrote:
>>>> The Set Channel access command was decided to be used to mark the end of
>>>> a setting LAN configuration transaction.
>>> The IPMI spec for the SetLanConfig has a parameter 'Set In Progress'
>>> which states: 10b = commit write.  Why are we not utilizing that?  Maybe
>>> in addition to Set Channel Access?
>>>
>>> I don't see anything in the Set Channel Access command description that
>>> would be obvious as a mechanism for updating IP addresses.  Was that
>>> just quick behavior we decided to do for Barreleye?  Is there any reason
>>> why we would not deprecate that behavior in favor of the Set In
>>> Progress / commit write?
>>>

-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.ozlabs.org/pipermail/openbmc/attachments/20161108/28256324/attachment-0001.html>


More information about the openbmc mailing list