Pat Donlin
2014-07-01 14:06:12 UTC
I have developed a set of extensions to ipmitool that will operate the
Intel Node Manager using numerous keywords. I modeled this after the
DCMI extensions. In practice we have found that direct access to the
Node Manager using the published external interfaces is far more useful
and reliable compared to using DCMI. Examples of usage of this
interface are:
r1lead:~ # ipmitool -H r1i0n0-bmc -U ADMIN -P ADMIN -I lanplus -t 0x2c -b 0 nm capability
power policies: 8
max_power 32767 Watts
min_power 1 Watts
min_corr 6 secs
max_corr 600 secs
min_stats 1 secs
max_stats 3600 secs
domain scope: platform
r1lead:~ # ipmitool -H r1i0n0-bmc -U ADMIN -P ADMIN -I lanplus -t 0x2c -b 0 nm statistics power
Power domain: platform
Policy/Global Admin state Globally Enabled
Policy/Global Operational state suspended
Policy/Global Measurement state in progress
Policy Activation state not triggered
Instantaneous reading: 66 Watts
Minimum during sampling period: 38 Watts
Maximum during sampling period: 145 Watts
Average reading over sample period: 65 Watts
IPMI timestamp: Tue Jul 1 13:53:52 2014
Sampling period: 00414951 Seconds.
r1lead:~ # ipmitool -H r1i0n0-bmc -U ADMIN -P ADMIN -I lanplus -t 0x2c -b 0 nm policy get domain platform policy_id 0
Power domain: platform
Policy is enabled per Domain Globally
Policy will control power.
Policy Trigger Type: No trigger, use Power Limit
Correction Aggressiveness: use T-states
Policy Exception Actions: none
Power Limit: 500 Watts
Correction Time Limit: 10000 milliseconds
Trigger Limit: 500 units
Statistics Reporting Period: 10 seconds
r1lead:~ #
I also followed the DCMI practice of submitting a partial command, and
having the command return the list of optional sub command or needed
parameters:
r1lead:~ # ipmitool -H r1i0n0-bmc -U ADMIN -P ADMIN -I lanplus -t 0x2c -b 0 nm policy get
Missing parameters: nm policy get domain <param> policy_id <id>
Also I used the -c option to simply list the values of the power
statistics command, for easier consumption by other tools.
The number of options and parameters to implement the Node Manager 3.0
external interfaces is substantial, if all of these were added to the
man page, it would increase the man page size to be a small book. I have
not yet done that work.
Questions for the community: Is this work of interest generally? Second,
as mentioned this was modeled after DCMI and hence I simply added the
code to ipmi_dcmi.c. This could of course be its own module, or it could
move to be part of the "ime" interface. But there is a larger question
as ipmitool grows in capability, which is the options and parameters are
lengthy - should ipmitool CLI be redone to follow the organization of
ipmiutil or git?
Regards,
Pat
Intel Node Manager using numerous keywords. I modeled this after the
DCMI extensions. In practice we have found that direct access to the
Node Manager using the published external interfaces is far more useful
and reliable compared to using DCMI. Examples of usage of this
interface are:
r1lead:~ # ipmitool -H r1i0n0-bmc -U ADMIN -P ADMIN -I lanplus -t 0x2c -b 0 nm capability
power policies: 8
max_power 32767 Watts
min_power 1 Watts
min_corr 6 secs
max_corr 600 secs
min_stats 1 secs
max_stats 3600 secs
domain scope: platform
r1lead:~ # ipmitool -H r1i0n0-bmc -U ADMIN -P ADMIN -I lanplus -t 0x2c -b 0 nm statistics power
Power domain: platform
Policy/Global Admin state Globally Enabled
Policy/Global Operational state suspended
Policy/Global Measurement state in progress
Policy Activation state not triggered
Instantaneous reading: 66 Watts
Minimum during sampling period: 38 Watts
Maximum during sampling period: 145 Watts
Average reading over sample period: 65 Watts
IPMI timestamp: Tue Jul 1 13:53:52 2014
Sampling period: 00414951 Seconds.
r1lead:~ # ipmitool -H r1i0n0-bmc -U ADMIN -P ADMIN -I lanplus -t 0x2c -b 0 nm policy get domain platform policy_id 0
Power domain: platform
Policy is enabled per Domain Globally
Policy will control power.
Policy Trigger Type: No trigger, use Power Limit
Correction Aggressiveness: use T-states
Policy Exception Actions: none
Power Limit: 500 Watts
Correction Time Limit: 10000 milliseconds
Trigger Limit: 500 units
Statistics Reporting Period: 10 seconds
r1lead:~ #
I also followed the DCMI practice of submitting a partial command, and
having the command return the list of optional sub command or needed
parameters:
r1lead:~ # ipmitool -H r1i0n0-bmc -U ADMIN -P ADMIN -I lanplus -t 0x2c -b 0 nm policy get
Missing parameters: nm policy get domain <param> policy_id <id>
Also I used the -c option to simply list the values of the power
statistics command, for easier consumption by other tools.
The number of options and parameters to implement the Node Manager 3.0
external interfaces is substantial, if all of these were added to the
man page, it would increase the man page size to be a small book. I have
not yet done that work.
Questions for the community: Is this work of interest generally? Second,
as mentioned this was modeled after DCMI and hence I simply added the
code to ipmi_dcmi.c. This could of course be its own module, or it could
move to be part of the "ime" interface. But there is a larger question
as ipmitool grows in capability, which is the options and parameters are
lengthy - should ipmitool CLI be redone to follow the organization of
ipmiutil or git?
Regards,
Pat