diff --git a/xCAT-server/lib/xcat/plugins/xdsh.pm b/xCAT-server/lib/xcat/plugins/xdsh.pm index cf221e6b6..95b698263 100644 --- a/xCAT-server/lib/xcat/plugins/xdsh.pm +++ b/xCAT-server/lib/xcat/plugins/xdsh.pm @@ -293,8 +293,11 @@ sub process_servicenodes_xdcp # run the command to each servicenode # xdcp -s -F my @sn = (); - push @sn, $node; - + # handle multiple servicenodes for one node + my @sn_list = split ',', $node; + foreach my $snode (@sn_list) { + push @sn, $snode; + } # don't use runxcmd, because can go straight to process_request, # these are all service nodes. Also servicenode is taken from # the noderes table and may not be the same name as in the nodelist @@ -379,7 +382,11 @@ sub process_servicenodes_xdcp foreach my $node (@snodes) { my @sn = (); - push @sn, $node; + # handle multiple servicenodes for one node + my @sn_list = split ',', $node; + foreach my $snode (@sn_list) { + push @sn, $snode; + } # run the command to each servicenode # to make the directory under the temporary @@ -523,7 +530,11 @@ sub process_servicenodes_xdsh # xdcp -s -F my @sn = (); - push @sn, $node; + # handle multiple servicenodes for one node + my @sn_list = split ',', $node; + foreach my $snode (@sn_list) { + push @sn, $snode; + } # don't use runxcmd, because can go straight to process_request, # these are all service nodes. Also servicenode is taken from