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:
		| @@ -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] );  | ||||
| } | ||||
|  | ||||
|   | ||||
| @@ -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 {  | ||||
|   | ||||
| @@ -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 { | ||||
|   | ||||
| @@ -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; | ||||
| } | ||||
| ########################################################################## | ||||
|   | ||||
| @@ -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; | ||||
|     } | ||||
| } | ||||
|   | ||||
| @@ -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 ); | ||||
| } | ||||
|  | ||||
|   | ||||
| @@ -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; | ||||
|  | ||||
|   | ||||
| @@ -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, | ||||
|   | ||||
| @@ -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; | ||||
| } | ||||
| ########################################################################## | ||||
|   | ||||
| @@ -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; | ||||
|   | ||||
| @@ -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]] ); | ||||
|     } | ||||
| } | ||||
|   | ||||
| @@ -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 ); | ||||
| } | ||||
|  | ||||
|   | ||||
| @@ -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>] | ||||
|   | ||||
| @@ -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"; | ||||
| } | ||||
|   | ||||
		Reference in New Issue
	
	Block a user