fix some minor problems

git-svn-id: https://svn.code.sf.net/p/xcat/code/xcat-core/trunk@4176 8638fb3e-16cb-4fca-ae20-7b5d299a9bcd
This commit is contained in:
daniceexi 2009-09-21 11:30:05 +00:00
parent 00ce996d74
commit 45d902c128
4 changed files with 30 additions and 29 deletions

View File

@ -1,4 +1,4 @@
# IBM(c) 2007 EPL license http://www.eclipse.org/legal/epl-v10.html
# IBM(c) 2009 EPL license http://www.eclipse.org/legal/epl-v10.html
package xCAT::PPCenergy;
@ -116,7 +116,7 @@ sub parse_args {
return (&usage());
}
if (!grep (/$q_attr/, @no_dup_query_list)) {
if (!grep (/^$q_attr$/, @no_dup_query_list)) {
push @no_dup_query_list, $q_attr;
}
}
@ -159,6 +159,7 @@ sub parse_args {
push @notfspnodes, $node;
}
}
$nodetype_tb->close();
if (@notfspnodes) {
return (1, "Error: The hardware type of following nodes are not fsp: ".join(',', @notfspnodes));
@ -205,7 +206,7 @@ sub renergy {
# Check the existence of cim client
if ( (! -f $::CIM_CLIENT_PATH)
|| (! -x $::CIM_CLIENT_PATH) ) {
return ([[$node, "ERROR: Cannot find the xCAT CIM Client [$::CIM_CLIENT_PATH]. Please install the xCAT_cim_client package correctly.", 1]]);
return ([[$node, "ERROR: Cannot find the xCAT CIM Client [$::CIM_CLIENT_PATH] or it's NOT executable. Please install the xCAT-cimclient package correctly.", 1]]);
}
# Generate the url path for CIM communication
@ -233,15 +234,14 @@ sub renergy {
$SIG{CHLD} = ();
# Call the xCAT_cim_client to query or set the energy capabilities
my @result = `$cmd 2>&1`;
my $rc = $? >> 8;
my @result = xCAT::Utils->runcmd("$cmd", -1);
foreach my $line (@result) {
chomp($line);
if ($line =~ /^\s*$/) {
next;
}
push @return_msg, [$node, $line, $rc];
push @return_msg, [$node, $line, $::RUNCMD_RC];
}
return \@return_msg;

View File

@ -25,23 +25,23 @@ a machine. Presently, it only supports IBM POWER6 rack-mounted servers.
Note: The keyword 'server' in this document is identical to
'rack-mounted server'.
The parameter 'noderange' can be a list of server's name (CEC's name).
Note: Lpar's name is not acceptable.
The parameter 'noderange' can be a list of node names (CEC's name).
Note: Lpar name is not acceptable.
Renergy command can accept multiple attributes to query. If only
B<renergy> command can accept multiple attributes to query. If only
keywords list is specified, without the '=', it displays the current
value.
Renergy command only can set one attribute once running.
B<energy> command can only set one attribute once running.
For the attributes that not supported by certain server, the return
For the attributes that are not supported by certain server, the return
value will be 'na'.
Prerequisite:
Before running the Renergy command, a prerequisite package
B<xCAT_cim_client> needs to be downloaded form IBM web site and installed.
Before running the B<energy> command, a prerequisite package
B<xCAT-cimclient> needs to be downloaded from IBM web site and installed.
Note:
Each query operation for attribute CPUspeed, averageAC or averageDC
costs about 30 Second to complete the operation. Query others attributes
costs about 30 seconds to complete. Query for the others attributes
will get response immediately.
@ -54,7 +54,7 @@ The energy capability of specific hardware:
Supports attributes: savingstatus,CPUspeed,ambienttemp,
exhausttemp,averageAC
9117-MMA (cpu speed should quicker than 4G)
9117-MMA (cpu speed should greater than 4.0 GHz)
Supports attributes: powersaving
=head1 B<OPTIONS>
@ -66,7 +66,7 @@ The energy capability of specific hardware:
Display the version information.
-V
Display the Verbose information.
Verbose output.
all
@ -86,7 +86,7 @@ savingstatus={on | off}
cappingstatus
Query the Power Capping status. The result should be
'on' of 'off'.
'on' or 'off'.
cappingstatus={on | off}
Set the Power Capping status. The value must be 'on'
@ -95,16 +95,16 @@ cappingstatus={on | off}
cappingwatt=watt
Set the Power Capping value base on the watt unit.
If the 'watt' > maximum of cappingmaxmin or 'watt'
< minimum of cappingmaxmim, The setting operation
< minimum of cappingmaxmim, the setting operation
will fail.
cappingperc=percentage
Set the Power Capping value base on the percentage of
the max-min capping value.
the max-min of capping value.
cappingmaxmin
Query the maximum and minimum of Power Capping value
that can be set for a machine. (Unit is watt)
that can be set for a CEC. (Unit is watt)
cappingvalue
Query the current Power Capping value. (Unit is watt)
@ -115,7 +115,7 @@ cappingsoftmin
averageAC
Query the average power consumed (Input). (Unit is watt)
Note: For HI and HE server, the value of attribute
Note: For 9125 and 9119 server, the value of attribute
averageAC is the aggregate for all of the servers in the
rack.
@ -124,10 +124,10 @@ averageDC
watt)
ambienttemp
Query the current ambient temperature. (Unit is B0C)
Query the current ambient temperature. (Unit is centigrade)
exhausttemp
Query the current exhaust temperature. (Unit is B0C)
Query the current exhaust temperature. (Unit is centigrade)
CPUspeed
Query the effective CPU speed. (Unit is MHz)
@ -187,7 +187,7 @@ CPUspeed
4. Set the Power Capping value base on the percentage of the
max-min capping value
B<renergy> CEC1 -s cappingperc=50
B<renergy> CEC1 cappingperc=50
If the maximum capping value of the CEC1 is 850w, and the
minimum capping value of the CEC1 is 782w, the Power Capping

View File

@ -133,6 +133,7 @@ ln -sf ../bin/xcatclient $RPM_BUILD_ROOT/%{prefix}/bin/lsvm
ln -sf ../bin/xcatclient $RPM_BUILD_ROOT/%{prefix}/bin/chvm
ln -sf ../bin/xcatclient $RPM_BUILD_ROOT/%{prefix}/bin/tabgrep
ln -sf ../bin/xcatclient $RPM_BUILD_ROOT/%{prefix}/bin/updatenode
ln -sf ../bin/xcatclient $RPM_BUILD_ROOT/%{prefix}/bin/renergy
ln -sf ../bin/xcatclientnnr $RPM_BUILD_ROOT/%{prefix}/bin/lsslp
ln -sf ../bin/xcatclientnnr $RPM_BUILD_ROOT/%{prefix}/sbin/tabdump
ln -sf ../bin/xcatclientnnr $RPM_BUILD_ROOT/%{prefix}/sbin/packimage

View File

@ -1038,11 +1038,11 @@ sub invoke_cmd {
########################################
# Format and send back to parent
########################################
foreach ( @$result ) {
foreach my $line ( @$result ) {
my %output;
$output{node}->[0]->{name}->[0] = @$_[0];
$output{node}->[0]->{data}->[0]->{contents}->[0] = @$_[1];
$output{errorcode} = @$_[2];
$output{node}->[0]->{name}->[0] = @$line[0];
$output{node}->[0]->{data}->[0]->{contents}->[0] = @$line[1];
$output{errorcode} = @$line[2];
push @outhash, \%output;
}
my $out = $request->{pipe};