From bb244787a70a41398e49190a3673c98265cd1138 Mon Sep 17 00:00:00 2001 From: linggao Date: Fri, 27 Apr 2012 17:57:37 +0000 Subject: [PATCH] fixed a defect when snmove failed if the source service node is down. defect 3487610 git-svn-id: https://svn.code.sf.net/p/xcat/code/xcat-core/trunk@12377 8638fb3e-16cb-4fca-ae20-7b5d299a9bcd --- xCAT-server/lib/xcat/plugins/snmove.pm | 16 +++++++++------- xCAT/postscripts/xcatdsklspost | 25 ++++++++++++++----------- 2 files changed, 23 insertions(+), 18 deletions(-) diff --git a/xCAT-server/lib/xcat/plugins/snmove.pm b/xCAT-server/lib/xcat/plugins/snmove.pm index 8110a69bb..81ea53581 100644 --- a/xCAT-server/lib/xcat/plugins/snmove.pm +++ b/xCAT-server/lib/xcat/plugins/snmove.pm @@ -795,6 +795,7 @@ sub process_request } + #print "sn_hash=" . Dumper(%sn_hash) . "\n"; # update the node definitions #1 if (keys(%sn_hash) > 0) { @@ -809,6 +810,7 @@ sub process_request } } + # # handle conserver # @@ -824,6 +826,7 @@ sub process_request } } + #print "sn_hash=" . Dumper(%sn_hash) . "\n"; # update the node definition #2 if (keys(%sn_hash1) > 0) { @@ -975,7 +978,7 @@ sub process_request if ($::islinux) { - #tftp, dhcp and nfs (site.disjointdhcps should be set to 1) + #tftp, dhcp and nfs (site.disjointdhcps should be set to 1 ?) # get a list of nodes for each provmethod my %nodeset_hash; @@ -1011,12 +1014,11 @@ sub process_request }, $sub_req, 0, 1 ); - if ($::RUNCMD_RC != 0) - { - my $rsp; - push @{$rsp->{data}}, - "Could not run the nodeset command.\n"; - xCAT::MsgUtils->message("E", $rsp, $callback); + + my $rsp; + $rsp->{data}=$ret; + xCAT::MsgUtils->message("I", $rsp, $callback); + if ($::RUNCMD_RC != 0) { $error++; } } diff --git a/xCAT/postscripts/xcatdsklspost b/xCAT/postscripts/xcatdsklspost index caa32373f..60292e971 100755 --- a/xCAT/postscripts/xcatdsklspost +++ b/xCAT/postscripts/xcatdsklspost @@ -144,17 +144,6 @@ if [ "$MODE" = "4" ]; then # for statelite mode fi else # for common mode downloaded=0; - #open the xcatinfo file to look for the master if it is not set - if [ -f /opt/xcat/xcatinfo ]; then - SIP=`grep 'XCATSERVER' /opt/xcat/xcatinfo |cut -d= -f2` - if [ -n "$SIP" ]; then - download_postscripts $SIP - if [ $? -eq 0 ]; then - downloaded=1 - fi - fi - fi - #try the -m if it is specified, -m is passed in the updatenode command if [ $downloaded -eq 0 ]; then if [ "XX$P_SIP" != "XX" ]; then @@ -165,6 +154,20 @@ else # for common mode fi fi fi + + #open the xcatinfo file to look for the master if it is not set + if [ $downloaded -eq 0 ]; then + if [ -f /opt/xcat/xcatinfo ]; then + SIP=`grep 'XCATSERVER' /opt/xcat/xcatinfo |cut -d= -f2` + if [ -n "$SIP" ]; then + download_postscripts $SIP + if [ $? -eq 0 ]; then + downloaded=1 + fi + fi + fi + fi + #try the dhcp server, this is used for initial boot for the node. if [ $downloaded -eq 0 ]; then