fix defect 3552171
git-svn-id: https://svn.code.sf.net/p/xcat/code/xcat-core/trunk@13389 8638fb3e-16cb-4fca-ae20-7b5d299a9bcd
This commit is contained in:
parent
ad2cca4c3d
commit
00de172334
@ -4177,23 +4177,6 @@ sub parse_and_run_dcp
|
||||
return;
|
||||
}
|
||||
}
|
||||
if ($options{'File'})
|
||||
{
|
||||
|
||||
# input -F file is copied to tmp file on a service node
|
||||
if (xCAT::Utils->isServiceNode())
|
||||
{ # running on service node
|
||||
$options{'File'} = "/tmp/xcatrf.tmp";
|
||||
}
|
||||
my $syncfile = $options{'File'};
|
||||
if (!-f $options{'File'})
|
||||
{
|
||||
my $rsp = {};
|
||||
$rsp->{error}->[0] = "File:$syncfile does not exist.";
|
||||
xCAT::MsgUtils->message("E", $rsp, $::CALLBACK, 1);
|
||||
return;
|
||||
}
|
||||
}
|
||||
|
||||
# invalid to put the -F with the -r flag
|
||||
if ($options{'File'} && $options{'node-rcp'})
|
||||
@ -4314,6 +4297,14 @@ sub parse_and_run_dcp
|
||||
|
||||
my $rc;
|
||||
my $syncfile = $options{'File'};
|
||||
if (!-f $options{'File'})
|
||||
{
|
||||
my $rsp = ();
|
||||
$rsp->{data}->[0] = "File:$syncfile does not exist.";
|
||||
xCAT::MsgUtils->message("E", $rsp, $::CALLBACK, 1);
|
||||
return;
|
||||
}
|
||||
|
||||
# if rsyncing the nodes or service nodes
|
||||
|
||||
if ($options{'File'})
|
||||
@ -4341,7 +4332,31 @@ sub parse_and_run_dcp
|
||||
{ # running on MN
|
||||
$rc =
|
||||
&parse_rsync_input_file_on_MN(\@nodelist, \%options, $syncfile,
|
||||
$::SYNCSN, $synfiledir,$nodesyncfiledir);
|
||||
$::SYNCSN, $synfiledir,$nodesyncfiledir);
|
||||
# build a temporary syncfile for the node's synclist
|
||||
# we need to make sure the latest is on the servicenode
|
||||
# for running of the syncfiles postscript, which only pulls
|
||||
# from the service node
|
||||
my $tmpsyncfile="/tmp/xdcpsynclist.$$";
|
||||
my $syncline = "$syncfile -> $syncfile";
|
||||
open(FILE, ">$tmpsyncfile")
|
||||
or die "cannot open file $tmpsyncfile\n";
|
||||
print FILE " $syncline";
|
||||
close FILE;
|
||||
# now put the original syncfile on the queue to sync to the SN's
|
||||
$rc =
|
||||
&parse_rsync_input_file_on_MN(\@nodelist, \%options, $tmpsyncfile,
|
||||
$::SYNCSN, $synfiledir,$nodesyncfiledir);
|
||||
# cleanup
|
||||
my $cmd = "rm $tmpsyncfile";
|
||||
my @output = xCAT::Utils->runcmd($cmd, 0);
|
||||
if ($::RUNCMD_RC != 0)
|
||||
{
|
||||
my $rsp = {};
|
||||
$rsp->{data}->[0] = "Command: $cmd failed.";
|
||||
xCAT::MsgUtils->message("E", $rsp, $::CALLBACK);
|
||||
}
|
||||
|
||||
}
|
||||
if ($rc == 1)
|
||||
{
|
||||
@ -4632,6 +4647,8 @@ sub rsync_to_image
|
||||
|
||||
Globals:
|
||||
|
||||
$::SYNCSN indicates we are only syncing the files to the
|
||||
service nodes xdcp -s flag
|
||||
|
||||
Error:
|
||||
None
|
||||
@ -4639,6 +4656,8 @@ sub rsync_to_image
|
||||
Example:
|
||||
|
||||
Comments:
|
||||
We also add the original synclist file for the node to be sync'd
|
||||
to the service node
|
||||
|
||||
=cut
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user