fixed the issue that xnba,pxe,vsmppex,yaboot failed for service node when no valid nodes in the handled network
git-svn-id: https://svn.code.sf.net/p/xcat/code/xcat-core/branches/2.7@11881 8638fb3e-16cb-4fca-ae20-7b5d299a9bcd
This commit is contained in:
		@@ -3,6 +3,7 @@ package xCAT_plugin::pxe;
 | 
			
		||||
use Data::Dumper;
 | 
			
		||||
use Sys::Syslog;
 | 
			
		||||
use xCAT::Scope;
 | 
			
		||||
use xCAT::MsgUtils;
 | 
			
		||||
use Socket;
 | 
			
		||||
use File::Copy;
 | 
			
		||||
use File::Path;
 | 
			
		||||
@@ -392,15 +393,19 @@ sub process_request {
 | 
			
		||||
     if (xCAT::Utils->nodeonmynet($_)) {
 | 
			
		||||
        push @nodes,$_;
 | 
			
		||||
      } else {
 | 
			
		||||
         my $rsp;
 | 
			
		||||
         $rsp->{data}->[0]="$_: stop configuration because of none sharedtftp and not on same network with its xcatmaster";
 | 
			
		||||
         $callback->($rsp);
 | 
			
		||||
        xCAT::MsgUtils->message("S", "$_: pxe netboot: stop configuration because of none sharedtftp and not on same network with its xcatmaster.");
 | 
			
		||||
     }
 | 
			
		||||
   }
 | 
			
		||||
  } else {
 | 
			
		||||
     @nodes = @rnodes;
 | 
			
		||||
  }
 | 
			
		||||
 | 
			
		||||
  # return directly if no nodes in the same network
 | 
			
		||||
  unless (@nodes) {
 | 
			
		||||
     xCAT::MsgUtils->message("S", "xCAT: pxe netboot: no valid nodes. Stop the operation on this server.");
 | 
			
		||||
     return;
 | 
			
		||||
  }
 | 
			
		||||
 | 
			
		||||
  if (ref($request->{arg})) {
 | 
			
		||||
      @args=@{$request->{arg}};
 | 
			
		||||
  } else {
 | 
			
		||||
 
 | 
			
		||||
@@ -5,6 +5,7 @@ use Sys::Syslog;
 | 
			
		||||
use Socket;
 | 
			
		||||
use File::Copy;
 | 
			
		||||
use Getopt::Long;
 | 
			
		||||
use xCAT::MsgUtils;
 | 
			
		||||
 | 
			
		||||
my $addkcmdlinehandled;
 | 
			
		||||
my $request;
 | 
			
		||||
@@ -292,15 +293,19 @@ sub process_request {
 | 
			
		||||
     if (xCAT::Utils->nodeonmynet($_)) {
 | 
			
		||||
        push @nodes,$_;
 | 
			
		||||
      } else {
 | 
			
		||||
         my $rsp;
 | 
			
		||||
         $rsp->{data}->[0]="$_: stop configuration because of none sharedtftp and not on same network with its xcatmaster";
 | 
			
		||||
         $callback->($rsp);
 | 
			
		||||
        xCAT::MsgUtils->message("S", "$_: vsmppxe netboot: stop configuration because of none sharedtftp and not on same network with its xcatmaster.");
 | 
			
		||||
     }
 | 
			
		||||
   }
 | 
			
		||||
  } else {
 | 
			
		||||
     @nodes = @rnodes;
 | 
			
		||||
  }
 | 
			
		||||
 | 
			
		||||
  # return directly if no nodes in the same network
 | 
			
		||||
  unless (@nodes) {
 | 
			
		||||
     xCAT::MsgUtils->message("S", "xCAT: vsmppxe netboot: no valid nodes. Stop the operation on this server.");
 | 
			
		||||
     return;
 | 
			
		||||
  }
 | 
			
		||||
 | 
			
		||||
  if (ref($request->{arg})) {
 | 
			
		||||
      @args=@{$request->{arg}};
 | 
			
		||||
  } else {
 | 
			
		||||
 
 | 
			
		||||
@@ -6,6 +6,7 @@ use Socket;
 | 
			
		||||
use File::Copy;
 | 
			
		||||
use File::Path;
 | 
			
		||||
use xCAT::Scope;
 | 
			
		||||
use xCAT::MsgUtils;
 | 
			
		||||
use Getopt::Long;
 | 
			
		||||
 | 
			
		||||
my $addkcmdlinehandled;
 | 
			
		||||
@@ -416,15 +417,19 @@ sub process_request {
 | 
			
		||||
     if (xCAT::Utils->nodeonmynet($_)) {
 | 
			
		||||
        push @nodes,$_;
 | 
			
		||||
     } else {
 | 
			
		||||
        my $rsp;
 | 
			
		||||
        $rsp->{data}->[0]="$_: stop configuration because of none sharedtftp and not on same network with its xcatmaster";
 | 
			
		||||
        $callback->($rsp);
 | 
			
		||||
        xCAT::MsgUtils->message("S", "$_: xnba netboot: stop configuration because of none sharedtftp and not on same network with its xcatmaster.");
 | 
			
		||||
     }
 | 
			
		||||
   }
 | 
			
		||||
  } else {
 | 
			
		||||
     @nodes = @rnodes;
 | 
			
		||||
  }
 | 
			
		||||
 | 
			
		||||
  # return directly if no nodes in the same network
 | 
			
		||||
  unless (@nodes) {
 | 
			
		||||
     xCAT::MsgUtils->message("S", "xCAT: xnba netboot: no valid nodes. Stop the operation on this server.");
 | 
			
		||||
     return;
 | 
			
		||||
  }
 | 
			
		||||
 | 
			
		||||
  if (ref($request->{arg})) {
 | 
			
		||||
    @args=@{$request->{arg}};
 | 
			
		||||
  } else {
 | 
			
		||||
 
 | 
			
		||||
@@ -4,6 +4,7 @@ use Data::Dumper;
 | 
			
		||||
use Sys::Syslog;
 | 
			
		||||
use xCAT::Scope;
 | 
			
		||||
use xCAT::NetworkUtils;
 | 
			
		||||
use xCAT::MsgUtils;
 | 
			
		||||
use File::Path;
 | 
			
		||||
use Socket;
 | 
			
		||||
use Getopt::Long;
 | 
			
		||||
@@ -421,15 +422,18 @@ sub process_request {
 | 
			
		||||
     if (xCAT::Utils->nodeonmynet($_)) {
 | 
			
		||||
        push @nodes,$_;
 | 
			
		||||
     } else {
 | 
			
		||||
        my $rsp;
 | 
			
		||||
        $rsp->{data}->[0]="$_: stop configuration because of none sharedtftp and not on same network with its xcatmaster";
 | 
			
		||||
        $callback->($rsp);
 | 
			
		||||
        xCAT::MsgUtils->message("S", "$_: yaboot netboot: stop configuration because of none sharedtftp and not on same network with its xcatmaster.");
 | 
			
		||||
     }
 | 
			
		||||
   }
 | 
			
		||||
  } else {
 | 
			
		||||
     @nodes = @rnodes;
 | 
			
		||||
  }
 | 
			
		||||
  #print "nodes=@nodes\nrnodes=@rnodes\n";
 | 
			
		||||
 | 
			
		||||
  # return directly if no nodes in the same network
 | 
			
		||||
  unless (@nodes) {
 | 
			
		||||
     xCAT::MsgUtils->message("S", "xCAT: yaboot netboot: no valid nodes. Stop the operation on this server.");
 | 
			
		||||
     return;
 | 
			
		||||
  }
 | 
			
		||||
 | 
			
		||||
  if (ref($request->{arg})) {
 | 
			
		||||
    @args=@{$request->{arg}};
 | 
			
		||||
 
 | 
			
		||||
		Reference in New Issue
	
	Block a user