diff --git a/perl-xCAT/xCAT/DSHCLI.pm b/perl-xCAT/xCAT/DSHCLI.pm index 267cc349b..1c9c8af23 100644 --- a/perl-xCAT/xCAT/DSHCLI.pm +++ b/perl-xCAT/xCAT/DSHCLI.pm @@ -110,7 +110,7 @@ sub execute_dcp if (!scalar(%resolved_targets)) { my $rsp = {}; - $rsp->{error}->[0] = "No hosts in node list 1"; + $rsp->{error}->[0] = "DCP: No hosts in node list 1"; xCAT::MsgUtils->message("E", $rsp, $::CALLBACK, 1); return ++$result; } @@ -368,7 +368,7 @@ sub execute_dsh if (!scalar(%resolved_targets)) { my $rsp = {}; - $rsp->{error}->[0] = " No hosts in node list 2"; + $rsp->{error}->[0] = " DSH: No hosts in node list 2"; xCAT::MsgUtils->message("E", $rsp, $::CALLBACK, 1); return ++$result; } @@ -6300,6 +6300,7 @@ sub run_always_rsync_postscripts my @hosts = @$hostnames; my @newoutput = (); my $dshparms; + foreach my $postsfile (@::alwayspostscripts) { my $tmppostfile = $postsfile; @@ -6319,24 +6320,23 @@ sub run_always_rsync_postscripts my $index = 0; my $key1_ref = $$options{'destDir_srcFile'}{$host}->{$key}->{$key1}; if (ref $key1_ref eq 'ARRAY') { #stored as ARRAY for same_dest_name - while (my $src_file =$$options{'destDir_srcFile'}{$host}->{$key}->{$key1}->[$index] ) { + while (my $src_file =$key1_ref->[$index] ) { if ($src_file eq $tmppostfile) { push(@{ $dshparms->{'postscripts'}{$postsfile} }, $host); } $index++; } } else { #stroed as hash table for diff_dest_name - my %src_hash = %{ $$options{'destDir_srcFile'}{$host}{$key}{$key1} }; - foreach my $src_file (keys %src_hash) { + foreach my $src_file (keys %{$key1_ref}) { if ($src_file eq $tmppostfile) { push(@{ $dshparms->{'postscripts'}{$postsfile} }, $host); } } - } - } - } - } - } + } #end else + } #end if + } #end foreach key1 + } #end foreach key + } #end foreach host # now if we have postscripts to run, run xdsh my $out;