code for Adding verbose for xCAT commands item

git-svn-id: https://svn.code.sf.net/p/xcat/code/xcat-core/trunk@13136 8638fb3e-16cb-4fca-ae20-7b5d299a9bcd
This commit is contained in:
zhaoertao 2012-06-21 09:43:16 +00:00
parent 646386b6d2
commit 2f4cbf7dbf
14 changed files with 170 additions and 27 deletions

View File

@ -28,7 +28,7 @@ require xCAT::Schema;
require xCAT::Utils;
#use Data::Dumper;
require xCAT::NodeRange;
use xCAT::MsgUtils qw(verbose_message);
#-------------------------------------------------------------------------------
@ -285,6 +285,7 @@ sub fsp_api_action {
}
$id = $$attrs[0];
$fsp_name = $$attrs[3];
xCAT::MsgUtils->verbose_message($request, "fsp_api_action START node:$node_name,type:$$attrs[4].");
if($$attrs[4] =~ /^fsp$/ || $$attrs[4] =~ /^lpar$/ || $$attrs[4] =~ /^cec$/) {
$type = 0;
$fsp_bpa_type="fsp";
@ -307,7 +308,7 @@ sub fsp_api_action {
} else {
$fsp_ip = getIPaddress($request, $$attrs[4], $fsp_name );
}
xCAT::MsgUtils->verbose_message($request, "fsp_api_action getIPaddress:$fsp_ip.");
if(!defined($fsp_ip)) {
$res = "Failed to get IP address for $fsp_name or the related FSPs/BPAs.";
return ([$node_name, $res, -1]);
@ -371,7 +372,7 @@ sub fsp_api_action {
$cmd = "$fsp_api -a $action -T $tooltype -t $type:$fsp_ip:$id:$node_name:";
}
}
xCAT::MsgUtils->verbose_message($request, "fsp_api_action cmd:$cmd.");
#print "cmd: $cmd\n";
$SIG{CHLD} = 'DEFAULT';
# secure passwords in verbose mode
@ -393,6 +394,7 @@ sub fsp_api_action {
if(defined($res)) {
$res =~ s/$node_name: //g;
}
xCAT::MsgUtils->verbose_message($request, "fsp_api_action return:$Rc.");
return( [$node_name,$res, $Rc] );
}
@ -444,6 +446,7 @@ sub fsp_state_action {
$fsp_name = $node_name;
xCAT::MsgUtils->verbose_message($request, "fsp_state_action START node:$node_name,type:$$attrs[4].");
if( $$attrs[4] =~ /^(fsp|lpar|cec|blade)$/) {
$type = 0;
} else {
@ -459,11 +462,13 @@ sub fsp_state_action {
return ([-1, $res[0]]);
}
xCAT::MsgUtils->verbose_message($request, "fsp_state_action getIPaddress:$fsp_ip.");
#print "fsp name: $fsp_name\n";
#print "fsp ip: $fsp_ip\n";
my $cmd;
#$cmd = "$fsp_api -a $action -u $user -p $password -T $tooltype -t $type:$fsp_ip:$id:$node_name:";
$cmd = "$fsp_api -a $action -T $tooltype -t $type:$fsp_ip:$id:$node_name:";
xCAT::MsgUtils->verbose_message($request, "fsp_state_action cmd:$cmd.");
#print "cmd: $cmd\n";
$SIG{CHLD} = 'DEFAULT';
@res = xCAT::Utils->runcmd($cmd, -1);
@ -477,6 +482,7 @@ sub fsp_state_action {
if( @res ) {
$res[0] =~ s/$node_name: //g;
}
xCAT::MsgUtils->verbose_message($request, "fsp_state_action return:$Rc.");
return( [$Rc,@res] );
}

View File

@ -7,6 +7,7 @@ use Getopt::Long;
use xCAT::PPCcli qw(SUCCESS EXPECT_ERROR RC_ERROR NR_ERROR);
use xCAT::NetworkUtils;
use xCAT::FSPUtils;
use xCAT::MsgUtils qw(verbose_message);
#use Data::Dumper;
##########################################################################
@ -135,12 +136,13 @@ sub rbootseq {
#print "d";
#print Dumper($d);
xCAT::MsgUtils->verbose_message($request, "rbootseq START for node:$node_name, type=$$d[4].");
if (!($$d[4] =~ /^(lpar|blade)$/)) {
push @output, [$node_name, "\'boot\' command not supported for CEC or BPA", -1 ];
return (\@output);
}
# add checking the power state of the cec
xCAT::MsgUtils->verbose_message($request, "rbootseq check machine state for node:$node_name.");
my $power_state = xCAT::FSPUtils::fsp_api_action ($request, $node_name, $d, "cec_state", $tooltype);
if ( @$power_state[2] != 0 ) {
push @output, [$node_name, @$power_state[1], -1 ];
@ -205,14 +207,17 @@ sub rbootseq {
push @output, [$node_name, "The mac address in mac table could NOT be used for rbootseq with -net. HFI mac , or other wrong format?", -1 ];
return( \@output );
}
xCAT::MsgUtils->verbose_message($request, "rbootseq <$node_name> net=$parameter");
}
if( $opt->{hfi}) {
$parameter = "/hfi-iohub/hfi-ethernet:$o->{server},,$o->{client},$o->{gateway},$bootp_retries,$tftp_retries,$o->{netmask},$blksize";
xCAT::MsgUtils->verbose_message($request, "rbootseq <$node_name> hfi=$parameter");
}
xCAT::MsgUtils->verbose_message($request, "rbootseq set_lpar_bootstring for node:$node_name.");
my $res = xCAT::FSPUtils::fsp_api_action ($request, $node_name, $d, "set_lpar_bootstring", $tooltype, $parameter);
#print "In boot, state\n";
#print Dumper($res);
@ -222,6 +227,7 @@ sub rbootseq {
##################################
# Output error
##################################
xCAT::MsgUtils->verbose_message($request, "rbootseq return:$Rc.");
if ( $Rc != SUCCESS ) {
push @output, [$node_name,$data,$Rc];
} else {

View File

@ -9,7 +9,7 @@ use xCAT::FSPUtils;
use xCAT::PPCcfg;
#use Data::Dumper;
#use xCAT::PPCcli;
use xCAT::MsgUtils qw(verbose_message);
##########################################
# Globals
@ -466,6 +466,7 @@ sub do_query {
while (my ($mtms, $h) = each(%$hash)) {
while (my($name, $d) = each(%$h)) {
my $action = $fspapi_action{$cmd}{query}{@$d[4]};
xCAT::MsgUtils->verbose_message($request, "rspconfig :$action for node:$name.");
my $values = xCAT::FSPUtils::fsp_api_action($request, $name, $d, $action);
&do_process_query_res($name, $cmd, \@result, $values);
#my $res = &do_process_query_res($name, $cmd, \@result, $values);
@ -512,6 +513,7 @@ sub do_set {
while (my ($mtms, $h) = each(%$hash)) {
while (my($name, $d) = each(%$h)) {
my $action = $fspapi_action{$cmd}{set}{@$d[4]};
xCAT::MsgUtils->verbose_message($request, "rspconfig :$action for node:$name, param:$value.");
my $para = &do_set_get_para($name, $cmd, $value);
my $values = xCAT::FSPUtils::fsp_api_action($request, $name, $d, $action, 0, $para);
# print Dumper($values);
@ -595,6 +597,7 @@ sub passwd {
while ( my ($node,$d) = each(%$h) ) {
my $type = @$d[4];
my $fsp_api = ($::XCATROOT) ? "$::XCATROOT/sbin/fsp-api" : "/opt/xcat/sbin/fsp-api";
xCAT::MsgUtils->verbose_message($request, "rspconfig :modify password of $usr for node:$node.");
my $cmd = xCAT::FSPcfg::fsp_api_passwd ($request, $node, $d, $usr, $passwd, $newpasswd);
my $Rc = @$cmd[2];
my $data = @$cmd[1];
@ -607,6 +610,7 @@ sub passwd {
# Write the new password to table
##################################
if ( $Rc == 0 ) {
xCAT::MsgUtils->verbose_message($request, "rspconfig :update xCATdb for node:$node,ID:$usr.");
xCAT::PPCdb::update_credentials( $node, $type, $usr, $newpasswd );
}
}
@ -677,6 +681,7 @@ sub frame {
# Get frame number
#################################
#$data = xCAT::PPCcli::lssyscfg( $exp, @$d[4], @$d[2], 'frame_num' );
xCAT::MsgUtils->verbose_message($request, "rspconfig :get_frame_number for node:$node.");
$data = xCAT::FSPUtils::fsp_api_action( $request, $node, $d, "get_frame_number");
$Rc = pop(@$data);
@ -708,6 +713,7 @@ sub frame {
return( [[$node,"Cannot find frame num in database", -1]] );
}
#$data = xCAT::PPCcli::chsyscfg( $exp, "bpa", $d, "frame_num=".$ent->{id} );
xCAT::MsgUtils->verbose_message($request, "rspconfig :set_frame_number for node:$node,id:$ent->{id}.");
$data = xCAT::FSPUtils::fsp_api_action( $request, $node, $d, "set_frame_number", 0, $ent->{id});
$Rc = pop(@$data);
@ -727,6 +733,7 @@ sub frame {
# Read the frame number from opt
#################################
#$data = xCAT::PPCcli::chsyscfg( $exp, "bpa", $d, "frame_num=$value" );
xCAT::MsgUtils->verbose_message($request, "rspconfig :set_frame_number for node:$node,id:$value.");
$data = xCAT::FSPUtils::fsp_api_action( $request, $node, $d, "set_frame_number", 0, $value);
$Rc = pop(@$data);
@ -775,6 +782,7 @@ sub cec_off_policy {
#################################
# Get platform IPL parameters
#################################
xCAT::MsgUtils->verbose_message($request, "rspconfig :get_phyp_cfg_power_off_policy for node:$node.");
$data = xCAT::FSPUtils::fsp_api_action( $request, $node, $d, "get_phyp_cfg_power_off_policy");
$Rc = pop(@$data);
@ -794,6 +802,7 @@ sub cec_off_policy {
#################################
# Set cec off policy
#################################
xCAT::MsgUtils->verbose_message($request, "rspconfig :set power_off_policy for node:$node,policy:$value.");
if( $value eq "poweroff") {
$value = "cec_off_policy_poweroff";
} else {

View File

@ -8,6 +8,7 @@ use xCAT::Usage;
#use Data::Dumper;
use xCAT::FSPUtils;
use xCAT::PPCconn;
use xCAT::MsgUtils qw(verbose_message);
##############################################
# Globals
@ -56,7 +57,7 @@ sub mkhwconn_parse_args
$Getopt::Long::ignorecase = 0;
Getopt::Long::Configure( "bundling" );
if ( !GetOptions( \%opt, qw(V|verbose h|help t s:s T=s p=s P=s port=s ) )) {
if ( !GetOptions( \%opt, qw(V|Verbose h|help t s:s T=s p=s P=s port=s ) )) {
return( usage() );
}
@ -321,7 +322,7 @@ sub lshwconn_parse_args
return $opttmp;
}
if ( !GetOptions( \%opt, qw(V|verbose h|help T=s s) )) {
if ( !GetOptions( \%opt, qw(V|Verbose h|help T=s s) )) {
return( usage() );
}
return usage() if ( exists $opt{h});
@ -438,7 +439,7 @@ sub rmhwconn_parse_args
$Getopt::Long::ignorecase = 0;
Getopt::Long::Configure( "bundling" );
if ( !GetOptions( \%opt, qw(V|verbose h|help T=s s) )) {
if ( !GetOptions( \%opt, qw(V|Verbose h|help T=s s) )) {
return( usage() );
}
return usage() if ( exists $opt{h});
@ -571,7 +572,7 @@ sub mkhwconn
my $Rc = undef;
my $tooltype= $opt->{T};
xCAT::MsgUtils->verbose_message($request, "mkhwconn START.");
for my $cec_bpa ( keys %$hash)
{
my $node_hash = $hash->{$cec_bpa};
@ -596,6 +597,7 @@ sub mkhwconn
#}
xCAT::MsgUtils->verbose_message($request, "mkhwconn :add_connection for node:$node_name.");
my $res = xCAT::FSPUtils::fsp_api_action($request, $node_name, $d, "add_connection", $tooltype, $opt->{port} );
$Rc = @$res[2];
if( @$res[1] ne "") {
@ -604,6 +606,7 @@ sub mkhwconn
}
}
xCAT::MsgUtils->verbose_message($request, "mkhwconn END.");
return \@value;
}
##########################################################################

View File

@ -6,7 +6,7 @@ use strict;
use Getopt::Long;
use xCAT::PPCmac;
use xCAT::PPCcli qw(SUCCESS EXPECT_ERROR RC_ERROR NR_ERROR);
use xCAT::MsgUtils qw(verbose_message);
use xCAT::LparNetbootExp;
##########################################################################
# Parse the command line for options and operands
@ -184,6 +184,7 @@ sub do_getmacs {
# last;
# }
#}
xCAT::MsgUtils->verbose_message($request, "getmacs :lparnetbootexp for node:$node.");
my $Rc = xCAT::LparNetbootExp->lparnetbootexp(\%optarg, $request);
######################################
# Split results into array
@ -442,6 +443,7 @@ sub getmacs {
#########################################
# Connect to fsp to achieve MAC address
#########################################
xCAT::MsgUtils->verbose_message($request, "getmacs START.");
my $d = $par;
#########################################
@ -501,6 +503,7 @@ sub getmacs {
#########################################
# Manually collect MAC addresses.
#########################################
xCAT::MsgUtils->verbose_message($request, "getmacs :do_getmacs for node:$node.");
$result = do_getmacs( $request, $d, $exp, $name, $node );
#}
#$sitetab->close;
@ -575,6 +578,7 @@ sub getmacs {
writemac( $node, $value );
}
#return( [[$node,$data,$Rc]] );
xCAT::MsgUtils->verbose_message($request, "getmacs END.");
return $res;
}
}

View File

@ -16,7 +16,7 @@ use xCAT::Usage;
use xCAT::NodeRange;
use xCAT::FSPUtils;
#use Data::Dumper;
use xCAT::MsgUtils qw(verbose_message);
##############################################
# Globals
##############################################
@ -109,7 +109,7 @@ sub chvm_parse_args {
$Getopt::Long::ignorecase = 0;
Getopt::Long::Configure( "bundling" );
if ( !GetOptions( \%opt, qw(V|verbose p=s i=s m=s r=s ) )) {
if ( !GetOptions( \%opt, qw(V|Verbose p=s i=s m=s r=s ) )) {
return( usage() );
}
####################################
@ -361,7 +361,7 @@ sub mkvm_parse_args {
# if ( !GetOptions( \%opt, qw(V|verbose ibautocfg ibacap=s i=s l=s c=s p=s full) )) {
# return( usage() );
# }
if ( !GetOptions( \%opt, qw(V|verbose i=s m=s r=s ) )) {
if ( !GetOptions( \%opt, qw(V|Verbose i=s m=s r=s ) )) {
return( usage() );
}
####################################
@ -535,7 +535,7 @@ sub rmvm_parse_args {
$Getopt::Long::ignorecase = 0;
Getopt::Long::Configure( "bundling" );
if ( !GetOptions( \%opt, qw(V|verbose service r) )) {
if ( !GetOptions( \%opt, qw(V|Verbose service r) )) {
return( usage() );
}
return(usage( "rmvm doesn't support for Power 775." ));
@ -592,7 +592,7 @@ sub lsvm_parse_args {
$Getopt::Long::ignorecase = 0;
Getopt::Long::Configure( "bundling" );
if ( !GetOptions( \%opt, qw(V|verbose l|long) )) {
if ( !GetOptions( \%opt, qw(V|Verbose l|long) )) {
return( usage() );
}
####################################
@ -644,6 +644,7 @@ sub do_op_extra_cmds {
while (my ($mtms, $h) = each(%$hash)) {
while (my($name, $d) = each(%$h)) {
my $tmp_value = ($param eq '*') ? $name : $param;
xCAT::MsgUtils->verbose_message($request, "$request->{command} $action for node:$name, parm:$tmp_value.");
my $value = xCAT::FSPUtils::fsp_api_action($request, $name, $d, $action, 0, $tmp_value);
if (@$value[1] && ((@$value[1] =~ /Error/i) && (@$value[2] ne '0'))) {
return ([[$name, @$value[1], '1']]) ;
@ -698,7 +699,7 @@ sub modify_by_prof {
my %io = ();
my %lpar_state = ();
my @result;
xCAT::MsgUtils->verbose_message($request, "$request->{command} START.");
if (defined( $request->{stdin} )) {
my $p = $request->{stdin};
my @io = split(/\n/, $p) ;
@ -720,6 +721,7 @@ sub modify_by_prof {
$cec_name = @$d[3];
}
#get the current I/O slot information
xCAT::MsgUtils->verbose_message($request, "$request->{command} :get_io_slot_info for node:$cec_name.");
my $action = "get_io_slot_info";
my $values = xCAT::FSPUtils::fsp_api_action ($request, $cec_name, $td, $action);
my $Rc = $$values[2];
@ -736,6 +738,7 @@ sub modify_by_prof {
}
#get all the nodes state in the same cec
xCAT::MsgUtils->verbose_message($request, "$request->{command} :get all the nodes state for CEC:$cec_name.");
$action = "all_lpars_state";
undef($values);
my $values = xCAT::FSPUtils::fsp_state_action ($request, $cec_name, $td, $action);
@ -770,6 +773,7 @@ sub modify_by_prof {
return ( \@result );
}
xCAT::MsgUtils->verbose_message($request, "$request->{command} :set_io_slot_owner io_slot_info:$f,owner:$lpar.");
my $values = xCAT::FSPUtils::fsp_api_action ($request, $lpar, $d, $action, $tooltype, $drc_index);
#my $Rc = shift(@$values);
my $Rc = pop(@$values);
@ -781,6 +785,7 @@ sub modify_by_prof {
}
}
xCAT::MsgUtils->verbose_message($request, "$request->{command} END.");
return( \@result );
}
@ -795,6 +800,7 @@ sub enumerate {
my $type;
my @td;
xCAT::MsgUtils->verbose_message($request, "lsvm :enumerate START for mtms:$mtms.");
while (my ($name,$d) = each(%$h) ) {
$cec = @$d[3];
$type = @$d[4];
@ -802,6 +808,7 @@ sub enumerate {
}
$td[4]="cec";
xCAT::MsgUtils->verbose_message($request, "lsvm :enumerate get_io_slot_info for node:$cec.");
my $action = "get_io_slot_info";
my $values = xCAT::FSPUtils::fsp_api_action ($request, $cec, \@td, $action);
#my $Rc = shift(@$values);
@ -818,6 +825,7 @@ sub enumerate {
#}
if( $type =~ /^(fsp|cec)$/ ) {
xCAT::MsgUtils->verbose_message($request, "lsvm :enumerate query_octant_cfg for node:$cec.");
$action = "query_octant_cfg";
my $values = xCAT::FSPUtils::fsp_api_action ($request, $cec, \@td, $action);
my $Rc = pop(@$values);
@ -838,6 +846,7 @@ sub enumerate {
$outhash{ $cec } = $res;
}
xCAT::MsgUtils->verbose_message($request, "lsvm :enumerate END for mtms:$mtms.");
return( [0,\%outhash] );
}
@ -986,6 +995,7 @@ sub list {
my %lpar_huges = ();
my $l_string = "\n";
#print Dumper($hash);
xCAT::MsgUtils->verbose_message($request, "lsvm START");
while (my ($mtms,$h) = each(%$hash) ) {
my $info = enumerate($request, $h, $mtms );
my $Rc = shift(@$info);
@ -1008,7 +1018,7 @@ sub list {
# push @result, [$node_name, "Node not found",1];
# next;
# }
xCAT::MsgUtils->verbose_message($request, "lsvm :parse io info for node:$node_name.");
if( defined($msg)) {
push @result,[$node_name, $msg, 0];
} else {
@ -1083,6 +1093,7 @@ sub list {
# get the octant configuration value
if ($type=~/^(fsp|cec)$/) {
xCAT::MsgUtils->verbose_message($request, "lsvm :parse octant info for $type:$node_name.");
my $value = $data->{$cec};
if ($request->{opt}->{l}) {
my $cec_bsr = get_cec_cec_bsr($node_name, $bsr_infos);
@ -1100,6 +1111,7 @@ sub list {
$l_string = "\n";
} # end of while
}# end of while
xCAT::MsgUtils->verbose_message($request, "lsvm END.");
return( \@result );
}
@ -1193,6 +1205,7 @@ sub create {
my %node_id = ();
my @nodes = @{$opt->{target}};
xCAT::MsgUtils->verbose_message($request, "$request->{command} START.");
#print Dumper($request);
#####################################
# Get source node information
@ -1212,6 +1225,7 @@ sub create {
}
}
xCAT::MsgUtils->verbose_message($request, "$request->{command} :query_octant_cfg for CEC:$cec_name.");
my $values = xCAT::FSPUtils::fsp_api_action ($request, $cec_name, $d, "query_octant_cfg");
my $Rc = shift(@$values);
if ( $Rc != 0 ) {
@ -1288,6 +1302,7 @@ sub create {
xCAT::MsgUtils->verbose_message($request, "$request->{command} :set_octant_cfg for CEC:$cec_name,param:$parameters.");
#$values = xCAT::FSPUtils::fsp_api_create_parttion( $starting_lpar_id, $octant_cfg, $node_number, $d, "set_octant_cfg");
$values = xCAT::FSPUtils::fsp_api_action ($request,$cec_name, $d, "set_octant_cfg", 0, $parameters);
my $Rc = $$values[2];
@ -1305,6 +1320,7 @@ sub create {
}
xCAT::MsgUtils->verbose_message($request, "$request->{command} END.");
return( \@result );
}

View File

@ -710,5 +710,24 @@ sub backup_logfile
return $::OK;
}
sub verbose_message
{
shift;
my $req = shift;
my $data = shift;
if (!defined($req->{verbose})) {
return;
}
my ($sec,$min,$hour,$mday,$mon,$yr,$wday,$yday,$dst) = localtime(time);
my $time = sprintf "%04d%02d%02d.%02d:%02d:%02d", $yr+1900,$mon+1,$mday,$hour,$min,$sec;
$data = "$time ($$) ".$data;
if (defined($req->{callback})) {
my %rsp;
$rsp{data} = [$data];
xCAT::MsgUtils->message("I", \%rsp, $req->{callback});
} else {
xCAT::MsgUtils->message("I", $data);
}
}
1;

View File

@ -7,6 +7,7 @@ use xCAT::PPCcli qw(SUCCESS EXPECT_ERROR RC_ERROR NR_ERROR);
use xCAT::Usage;
use Storable qw(freeze thaw);
use POSIX "WNOHANG";
use xCAT::MsgUtils qw(verbose_message);
##########################################
# Globals
@ -359,6 +360,7 @@ sub passwd {
while ( my ($cec,$h) = each(%$hash) ) {
while ( my ($node,$d) = each(%$h) ) {
my $type = @$d[4];
xCAT::MsgUtils->verbose_message($request, "rspconfig :modify password of $usr for node:$node.");
my $data = xCAT::PPCcli::chsyspwd( $exp, $usr, $type, $cec, $passwd, $newpasswd );
my $Rc = shift(@$data);
my $usr_back = $usr;
@ -369,6 +371,7 @@ sub passwd {
# Write the new password to table
##################################
if ( $Rc == SUCCESS ) {
xCAT::MsgUtils->verbose_message($request, "rspconfig :update xCATdb for node:$node,ID:$usr_back.");
xCAT::PPCdb::update_credentials( $node, $type, $usr_back, $newpasswd );
}
}
@ -438,6 +441,7 @@ sub sshcfg {
# Determine if SSH is enabled
#####################################
if ( !defined( $mode )) {
xCAT::MsgUtils->verbose_message($request, "rspconfig :check sshcfg for user:$logon on node:$server.");
my $result = xCAT::PPCcli::send_cmd( $exp, "cat $auth" );
my $Rc = shift(@$result);
@ -460,6 +464,7 @@ sub sshcfg {
#####################################
# Enable/disable SSH
#####################################
xCAT::MsgUtils->verbose_message($request, "rspconfig :sshcfg $mode for user:$logon on node:$server.");
my $result = xCAT::PPCcli::mkauthkeys( $exp, $mode, $logon, $sshkey );
my $Rc = shift(@$result);
@ -503,6 +508,7 @@ sub frame {
#################################
# Get frame number
#################################
xCAT::MsgUtils->verbose_message($request, "rspconfig :get frame_num for node:$node.");
$data = xCAT::PPCcli::lssyscfg( $exp, @$d[4], @$d[2], 'frame_num' );
$Rc = shift(@$data);
@ -533,6 +539,7 @@ sub frame {
if ( !defined($ent) or !defined($ent->{id}) ) {
return( [[$node,"Cannot find frame num in database",RC_ERROR]] );
}
xCAT::MsgUtils->verbose_message($request, "rspconfig :set frame_num=".$ent->{id}." for node:$node.");
$data = xCAT::PPCcli::chsyscfg( $exp, "bpa", $d, "frame_num=".$ent->{id} );
$Rc = shift(@$data);
@ -550,6 +557,7 @@ sub frame {
# Set frame number
# Read the frame number from opt
#################################
xCAT::MsgUtils->verbose_message($request, "rspconfig :set frame_num=$value for node:$node.");
$data = xCAT::PPCcli::chsyscfg( $exp, "bpa", $d, "frame_num=$value" );
$Rc = shift(@$data);
@ -565,6 +573,7 @@ sub frame {
#################################
# Set frame number to database
#################################
xCAT::MsgUtils->verbose_message($request, "rspconfig : set frame_num, update node:$node attr id=$value.");
$tab->setNodeAttribs( $node, { id=>$value } );
}
}
@ -597,6 +606,7 @@ sub hostname {
#################################
# Get system name
#################################
xCAT::MsgUtils->verbose_message($request, "rspconfig :get system name for node:$node.");
$data = xCAT::PPCcli::lssyscfg( $exp, @$d[4], @$d[2], 'name' );
$Rc = shift(@$data);
@ -609,6 +619,7 @@ sub hostname {
push @$result, [$node,@$data[0],SUCCESS];
} elsif ( $value eq '*' ) {
xCAT::MsgUtils->verbose_message($request, "rspconfig :set system name:$node for node:$node.");
$data = xCAT::PPCcli::chsyscfg( $exp, @$d[4], $d, "new_name=$node" );
$Rc = shift(@$data);
@ -621,6 +632,7 @@ sub hostname {
push @$result, [$node,@$data[0],SUCCESS];
} else {
xCAT::MsgUtils->verbose_message($request, "rspconfig :set system name:$value for node:$node.");
$data = xCAT::PPCcli::chsyscfg( $exp, @$d[4], $d, "new_name=$value" );
$Rc = shift(@$data);
@ -766,6 +778,7 @@ sub doresetnet {
$targets->{$nodetype}->{$oi}->{'args'} .= ",$netinfo{$oi}{'gateway'},$netinfo{$oi}{'mask'}";
}
$ip_host->{$oi} = $name;
xCAT::MsgUtils->verbose_message($req, "rspconfig :resetnet collecting information for node:$name.");
}
$result = undef;
@ -1045,6 +1058,7 @@ sub invoke_cmd {
"sshcfg=enable",
"network_reset=$target_dev->{args}"
);
xCAT::MsgUtils->verbose_message($request, "rspconfig :doresetnet run xCAT_plugin::blade::clicmds for node:$target_dev->{name},ip:$ip.");
$result = xCAT_plugin::blade::clicmds(
$ip,
$target_dev->{username},
@ -1056,6 +1070,7 @@ sub invoke_cmd {
{
@cmds = ("network_reset=$target_dev->{args}");
#trace( $request, "sshcmds on hmc $ip");
xCAT::MsgUtils->verbose_message($request, "rspconfig :doresetnet run xCAT::PPC::sshcmds_on_hmc for node:$target_dev->{name},ip:$ip.");
$result = xCAT::PPC::sshcmds_on_hmc(
$ip,
$target_dev->{username},
@ -1066,6 +1081,7 @@ sub invoke_cmd {
{
@cmds = ("network=$ip,$target_dev->{args}");
#trace( $request, "update config on $target_dev->{'type'} $ip");
xCAT::MsgUtils->verbose_message($request, "rspconfig :doresetnet run xCAT::PPC::updconf_in_asm for node:$target_dev->{name},ip:$ip.");
$result = xCAT::PPC::updconf_in_asm(
$ip,
$target_dev,

View File

@ -7,7 +7,7 @@ use xCAT::PPCcli qw(SUCCESS EXPECT_ERROR RC_ERROR NR_ERROR);
use xCAT::Usage;
use xCAT::DBobjUtils;
use xCAT::FSPUtils;
use xCAT::MsgUtils qw(verbose_message);
##############################################
# Globals
##############################################
@ -473,6 +473,7 @@ sub mkhwconn
my @value = ();
my $Rc = undef;
xCAT::MsgUtils->verbose_message($request, "mkhwconn START.");
for my $cec_bpa ( keys %$hash)
{
my $node_hash = $hash->{$cec_bpa};
@ -501,6 +502,7 @@ sub mkhwconn
} else {
push @newnodes,$cnode;
}
xCAT::MsgUtils->verbose_message($request, "mkhwconn :mksysconn for node:$node_name.");
for my $nn ( @newnodes )
{
my $node_ip;
@ -549,6 +551,7 @@ sub mkhwconn
# }
}
}
xCAT::MsgUtils->verbose_message($request, "mkhwconn END.");
return \@value;
}
##########################################################################

View File

@ -10,7 +10,7 @@ use xCAT::PPCcli qw(SUCCESS EXPECT_ERROR RC_ERROR NR_ERROR);
use xCAT::Usage;
use Socket;
use xCAT::PPCdb;
use xCAT::MsgUtils qw(verbose_message);
##########################################
# Globals
@ -389,6 +389,7 @@ sub process_cmd {
##################################
# Run command
##################################
xCAT::MsgUtils->verbose_message($request, "$command :$_ for node:$server.");
my $res = $cmds{$command}{$_}[1]($exp, $request, $form, \%menu);
push @$res, $_;
push @result, $res;

View File

@ -7,7 +7,7 @@ use Getopt::Long;
use Data::Dumper;
use xCAT::PPCcli qw(SUCCESS EXPECT_ERROR RC_ERROR NR_ERROR);
use xCAT::NetworkUtils;
use xCAT::MsgUtils qw(verbose_message);
use xCAT::LparNetbootExp;
##########################################################################
@ -394,6 +394,7 @@ sub do_getmacs {
# last;
# }
#}
xCAT::MsgUtils->verbose_message($request, "getmacs :lparnetbootexp for node:$node.");
my $Rc = xCAT::LparNetbootExp->lparnetbootexp(\%optarg, $request);
######################################
# Split results into array
@ -631,6 +632,7 @@ sub getmacs {
#########################################
# Connect to fsp to achieve MAC address
#########################################
xCAT::MsgUtils->verbose_message($request, "getmacs START.");
my $d = $par;
#########################################
@ -651,6 +653,7 @@ sub getmacs {
# Get name known by HCP
#########################################
my $filter = "name,lpar_id";
xCAT::MsgUtils->verbose_message($request, "getmacs :lssyscfg filter '$filter'.");
my $values = xCAT::PPCcli::lssyscfg( $exp, $type, $mtms, $filter );
my $Rc = shift(@$values);
@ -694,6 +697,7 @@ sub getmacs {
#########################################
# Manually collect MAC addresses.
#########################################
xCAT::MsgUtils->verbose_message($request, "getmacs :do_getmacs for node:$node.");
$result = do_getmacs( $request, $d, $exp, $name, $node );
$Rc = shift(@$result);
}
@ -749,6 +753,7 @@ sub getmacs {
if ( !exists( $opt->{d} )) {
writemac( $node, $result );
}
xCAT::MsgUtils->verbose_message($request, "getmacs END.");
return( [[$node,$data,$Rc]] );
}
}

View File

@ -8,7 +8,7 @@ use xCAT::PPCdb;
use xCAT::Usage;
use xCAT::NodeRange;
use Data::Dumper;
use xCAT::MsgUtils qw(verbose_message);
##############################################
# Globals
@ -504,6 +504,7 @@ sub clone {
# Enumerate CECs
#####################################
my $filter = "type_model,serial_num";
xCAT::MsgUtils->verbose_message($request, "$request->{command} :lssyscfg fsps.filter:'$filter'.");
my $cecs = xCAT::PPCcli::lssyscfg( $exp, "fsps", $filter );
my $Rc = shift(@$cecs);
@ -579,6 +580,7 @@ sub clone {
$temp[2] = $destcec;
$temp[4] = 'lpar';
xCAT::MsgUtils->verbose_message($request, "$request->{command} :mksyscfg lpar.cfg:'$cfg'.");
my $result = xCAT::PPCcli::mksyscfg( $exp, "lpar", \@temp, $cfg );
$Rc = shift(@$result);
@ -618,6 +620,7 @@ sub remove {
my @lpars = ();
my @values = ();
xCAT::MsgUtils->verbose_message($request, "$request->{command} START.");
while (my ($mtms,$h) = each(%$hash) ) {
while (my ($lpar,$d) = each(%$h) ) {
my $lparid = @$d[0];
@ -641,6 +644,7 @@ sub remove {
####################################
else {
my $filter = "name,lpar_id";
xCAT::MsgUtils->verbose_message($request, "$request->{command} :lssyscfg lpar.filter:'$filter'.");
my $result = xCAT::PPCcli::lssyscfg(
$exp,
"lpar",
@ -673,6 +677,7 @@ sub remove {
###############################################
# begin to retrieve the CEC's service lpar id
###############################################
xCAT::MsgUtils->verbose_message($request, "$request->{command} :lssyscfg fsp.filter:'service_lpar_id'.");
my $service_lparid = xCAT::PPCcli::lssyscfg(
$exp,
"fsp",
@ -687,6 +692,7 @@ sub remove {
my $cfgdata = @$service_lparid[0];
if ( ($id == $cfgdata) && ($cfgdata !~ /none/) ) {
$cfgdata = "service_lpar_id=none";
xCAT::MsgUtils->verbose_message($request, "$request->{command} :lssyscfg fsp.filter:'$cfgdata'.");
my $result = xCAT::PPCcli::chsyscfg( $exp, "fsp", $d, $cfgdata );
$Rc = shift(@$result);
if ( $Rc != SUCCESS ) {
@ -703,6 +709,7 @@ sub remove {
################################
# Send remove command
################################
xCAT::MsgUtils->verbose_message($request, "$request->{command} :rmsyscfg lpar.id:$id.");
my $result = xCAT::PPCcli::rmsyscfg( $exp, \@d );
my $Rc = shift(@$result);
@ -710,6 +717,7 @@ sub remove {
# Remove LPAR from database
################################
if ( $Rc == SUCCESS and !exists( $opt->{r} ) ) {
xCAT::MsgUtils->verbose_message($request, "$request->{command} :remove lpar:$name from xCATdb.");
my $err = xCATdB( "rmvm", $name,"", $id,"", $type,"" , $lpar );
if ( defined( $err )) {
push @values, [$lpar,$err,RC_ERROR];
@ -720,6 +728,7 @@ sub remove {
}
}
}
xCAT::MsgUtils->verbose_message($request, "$request->{command} END.");
return( \@values );
}
@ -791,6 +800,7 @@ sub modify_by_attr {
my $attrstr= $opt->{a};
my @values;
xCAT::MsgUtils->verbose_message($request, "$request->{command} START.");
# attrstr will be in stdin for "cat vmdef | chvm nodename"
if (!defined($attrstr) && defined($request->{stdin})) {
my $tempattr = $request->{stdin};
@ -836,6 +846,7 @@ sub modify_by_attr {
###########################
# Get current profile
###########################
xCAT::MsgUtils->verbose_message($request, "$request->{command} :lssyscfg node.id:'@$d[0]'.");
my $cfg_res = xCAT::PPCcli::lssyscfg(
$exp,
"node",
@ -868,6 +879,7 @@ sub modify_by_attr {
}
xCAT::MsgUtils->verbose_message($request, "$request->{command} :lssyscfg prof.filter:'lpar_ids=@$d[0],profile_names=@$cfg_res[0]'.");
my $prof = xCAT::PPCcli::lssyscfg(
$exp,
"prof",
@ -893,12 +905,14 @@ sub modify_by_attr {
push @values, [$lpar, $err_msg, $Rc];
next;
}
xCAT::MsgUtils->verbose_message($request, "$request->{command} :chsyscfg prof.cfg:'$cfgdata'.");
my $result = xCAT::PPCcli::chsyscfg( $exp, "prof", $d, $cfgdata );
$Rc = shift(@$result);
push @values, [$lpar,@$result[0],$Rc];
}
}
}
xCAT::MsgUtils->verbose_message($request, "$request->{command} END.");
return (\@values);
}
@ -1004,6 +1018,7 @@ sub modify_by_prof {
my $profile = $opt->{p};
my @values;
xCAT::MsgUtils->verbose_message($request, "$request->{command} START.");
#######################################
# -p flag, find profile specified
#######################################
@ -1029,6 +1044,7 @@ sub modify_by_prof {
###########################
# Get LPAR profiles
###########################
xCAT::MsgUtils->verbose_message($request, "$request->{command} :lssyscfg prof.filter:'lpar_ids=@$d[0],profile_names=$profile'.");
my $prof = xCAT::PPCcli::lssyscfg(
$exp,
"prof",
@ -1100,6 +1116,7 @@ sub modify_by_prof {
# Send command
###############################
if ( defined( $profile )) {
xCAT::MsgUtils->verbose_message($request, "$request->{command} :mksyscfg prof.cfg:'$cfg'.");
my $result = xCAT::PPCcli::mksyscfg( $exp, "prof", $d, $cfg );
my $Rc = shift(@$result);
@ -1112,12 +1129,14 @@ sub modify_by_prof {
push @values, [$lpar,@$result[0],$Rc];
}
else {
xCAT::MsgUtils->verbose_message($request, "$request->{command} :chsyscfg prof.cfg:'$cfg'.");
my $result = xCAT::PPCcli::chsyscfg( $exp, "prof", $d, $cfg );
my $Rc = shift(@$result);
push @values, [$lpar,@$result[0],$Rc];
}
}
}
xCAT::MsgUtils->verbose_message($request, "$request->{command} END.");
return( \@values );
}
@ -1136,6 +1155,7 @@ sub list {
my @lpars = ();
my $result;
xCAT::MsgUtils->verbose_message($request, "$request->{command} START.");
while (my ($mtms,$h) = each(%$hash) ) {
while (my ($lpar,$d) = each(%$h) ) {
my $lparid = @$d[0];
@ -1161,6 +1181,7 @@ sub list {
####################################
else {
my $filter = "name,lpar_id";
xCAT::MsgUtils->verbose_message($request, "$request->{command} :lssyscfg lpar.filter:'$filter'.");
my $result = xCAT::PPCcli::lssyscfg(
$exp,
"lpar",
@ -1191,6 +1212,7 @@ sub list {
#################################
# Get source LPAR profile
#################################
xCAT::MsgUtils->verbose_message($request, "$request->{command} :lssyscfg prof.filter:'lpar_ids=$id'.");
my $prof = xCAT::PPCcli::lssyscfg(
$exp,
"prof",
@ -1244,7 +1266,7 @@ sub list {
foreach ( sort keys %$values ) {
push @value,$values->{$_};
}
xCAT::MsgUtils->verbose_message($request, "$request->{command} END.");
return( \@value );
}
##########################################################################
@ -1604,7 +1626,7 @@ sub create {
my $mtms;
my $type;
my $profile;
xCAT::MsgUtils->verbose_message($request, "$request->{command} START.");
#####################################
# Get source node information
#####################################
@ -1643,6 +1665,7 @@ sub create {
#####################################
# Get source LPAR profile
#####################################
xCAT::MsgUtils->verbose_message($request, "$request->{command} :lssyscfg prof.filter:'lpar_ids=$lparid'.");
my $prof = xCAT::PPCcli::lssyscfg(
$exp,
"prof",
@ -1721,6 +1744,7 @@ sub create {
#################################
# Create new LPAR
#################################
xCAT::MsgUtils->verbose_message($request, "$request->{command} :mksyscfg lpar.cfg:'$cfgdata'.");
$result = xCAT::PPCcli::mksyscfg( $exp, "lpar", $d, $cfgdata );
$Rc = shift(@$result);
@ -1728,6 +1752,7 @@ sub create {
# Add new LPAR to database
#################################
if ( $Rc == SUCCESS ) {
xCAT::MsgUtils->verbose_message($request, "$request->{command} :add lpar:$name from xCATdb.");
my $err = xCATdB( "mkvm", $name, $profile, $id, $d, $hwtype, $lpar);
if ( defined( $err )) {
push @values, [$name,$err,RC_ERROR];
@ -1738,6 +1763,7 @@ sub create {
push @values, [$name,@$result[0],$Rc];
$id++;
}
xCAT::MsgUtils->verbose_message($request, "$request->{command} END.");
return( \@values );
}

View File

@ -90,7 +90,7 @@ my %usage = (
"rbootseq" =>
"Usage:
Common:
rbootseq [-h|--help|-v|--version]
rbootseq [-h|--help|-v|--version|-V|--Verbose]
Blade specific:
rbootseq <noderange> [hd0|hd1|hd2|hd3|net|iscsi|usbflash|floppy|none],...
PPC (using Direct FSP Management) specific:
@ -101,7 +101,7 @@ my %usage = (
"rspconfig" =>
"Usage:
Common:
rspconfig [-h|--help|-v|--version]
rspconfig [-h|--help|-v|--version|-V|--Verbose]
BMC/MPA Common:
rspconfig <noderange> [snmpdest|alert|community] [-V|--verbose]
rspconfig <noderange> [snmpdest=<dest ip address>|alert=<on|off|en|dis|enable|disable>|community=<string>]

View File

@ -43,6 +43,8 @@ use Getopt::Long;
use xCAT::SvrUtils;
use xCAT::FSPUtils;
my $indiscover=0;
my $CALLBACK = undef;
my $verbose_cmd = undef;
sub handled_commands {
return {
@ -836,6 +838,7 @@ sub vitals {
push @vitems,split( /,/,$_);
}
}
verbose_message("slotid:$slot, options:@vitems.");
} else { #-- chassis query
foreach (@_) {
if ($_ eq 'all') {
@ -853,6 +856,7 @@ sub vitals {
push @vitems,split( /,/,$_);
}
}
verbose_message("for chassis, options:@vitems.");
}
if (grep /fan/,@vitems or grep /blower/,@vitems) { #We'll lump blowers and fans together for blades, besides, BCS fans
#use the 'blower' OIDs anyway
@ -3730,6 +3734,18 @@ sub build_more_info{
return \@moreinfo;
}
sub verbose_message {
my $data = shift;
if (!defined($CALLBACK) or !defined($verbose_cmd)) {
return;
}
my ($sec,$min,$hour,$mday,$mon,$yr,$wday,$yday,$dst) = localtime(time);
my $time = sprintf "%04d%02d%02d.%02d:%02d:%02d", $yr+1900,$mon+1,$mday,$hour,$min,$sec;
$data = "$time ($$) $verbose_cmd:".$data;
my %rsp;
$rsp{data} = [$data];
xCAT::MsgUtils->message("I", \%rsp, $CALLBACK);
}
sub process_request {
$SIG{INT} = $SIG{TERM} = sub {
foreach (keys %mm_comm_pids) {
@ -3759,6 +3775,10 @@ sub process_request {
} else {
@exargs = ($request->{arg});
}
if (grep /-V|--Verbose/, @exargs) {
$CALLBACK = $callback;
$verbose_cmd = $command;
}
my $moreinfo;
if ($request->{moreinfo}) { $moreinfo=$request->{moreinfo}; }
@ -3995,7 +4015,7 @@ sub clicmds {
my %handled = ();
my $result;
my @tcmds = qw(snmpcfg sshcfg network swnet pd1 pd2 textid network_reset rscanfsp initnetwork solcfg userpassword USERID);
verbose_message("start deal with $mptype CLI options:@{$args{cmds}}.");
# most of these commands should be able to be done
# through SNMP, but they produce various errors.
foreach my $cmd (@{$args{cmds}}) {
@ -4012,9 +4032,13 @@ sub clicmds {
next;
}
}
if ($cmd =~ /-v|--Verbose/) {
next;
}
push @unhandled,$cmd;
}
unless (%handled) {
verbose_message("no option needed to be handled with $mptype CLI.");
return([0,\@unhandled]);
}
my $curruser = $user;
@ -4050,6 +4074,7 @@ sub clicmds {
}
require xCAT::SSHInteract;
my $t;
verbose_message("start SSH mpa:$mpa session for node:$node.");
eval {
$t = new xCAT::SSHInteract(
-username=>$curruser,
@ -4087,6 +4112,7 @@ sub clicmds {
if (defined($handled{USERID})) {
$promote_pass = $handled{USERID};
}
verbose_message("deal with genesis state for mpa:$mpa.");
$t->print($currpass);
$t->waitfor(-match=>"/password:/i");
$t->print($promote_pass);
@ -4106,6 +4132,7 @@ sub clicmds {
}
$t->waitfor(match=>"/system> /");
} elsif (not $t) {#ssh failed.. fallback to a telnet attempt for older AMMs with telnet disabled by default
verbose_message("start telnet mpa:$curraddr session for node:$node.");
require Net::Telnet;
$t = new Net::Telnet(
Timeout=>15,
@ -4164,6 +4191,7 @@ sub clicmds {
push @data, "The management module has been reset to load the configuration";
}
$t->close;
verbose_message("finished SSH mpa:$curraddr session for node:$node.");
return([$Rc,\@unhandled,\@data]);
}
@ -5090,7 +5118,7 @@ sub dompa {
return;
}
}
verbose_message("start deal with SNMP session.");
$mpauser= $mpahash->{$mpa}->{username};
$mpapass = $mpahash->{$mpa}->{password};
$session = new SNMP::Session(
@ -5263,6 +5291,7 @@ sub dompa {
}
xCAT_monitoring::monitorctrl::setNodeStatusAttributes(\%old, 1);
}
verbose_message("SNMP session completed.");
#my $msgtoparent=freeze(\@outhashes); # = XMLout(\%output,RootName => 'xcatresponse');
#print $out $msgtoparent; #$node.": $_\n";
}