mirror of
				https://github.com/xcat2/xcat-core.git
				synced 2025-11-04 05:12:30 +00:00 
			
		
		
		
	
		
			
				
	
	
		
			65 lines
		
	
	
		
			1.3 KiB
		
	
	
	
		
			Perl
		
	
	
	
	
	
			
		
		
	
	
			65 lines
		
	
	
		
			1.3 KiB
		
	
	
	
		
			Perl
		
	
	
	
	
	
package xCAT_plugin::offline;
 | 
						|
 | 
						|
BEGIN
 | 
						|
{
 | 
						|
    $::XCATROOT = $ENV{'XCATROOT'} ? $ENV{'XCATROOT'} : '/opt/xcat';
 | 
						|
}
 | 
						|
use lib "$::XCATROOT/lib/perl";
 | 
						|
use xCAT::Table;
 | 
						|
use Getopt::Long;
 | 
						|
use File::Basename;
 | 
						|
use File::Path;
 | 
						|
use File::Copy;
 | 
						|
use File::Find;
 | 
						|
use Cwd;
 | 
						|
use File::Temp;
 | 
						|
use xCAT::SvrUtils;
 | 
						|
use Data::Dumper;
 | 
						|
Getopt::Long::Configure("bundling");
 | 
						|
Getopt::Long::Configure("pass_through");
 | 
						|
 | 
						|
my $verbose = "0";
 | 
						|
 | 
						|
sub handled_commands {
 | 
						|
    return {
 | 
						|
        "offline" => "offline"
 | 
						|
      }
 | 
						|
}
 | 
						|
 | 
						|
 | 
						|
# function to handle request.  Basically, get the information
 | 
						|
# about the image and then do the action on it.  Is that vague enough?
 | 
						|
sub process_request {
 | 
						|
    my $request  = shift;
 | 
						|
    my $callback = shift;
 | 
						|
    my $doreq    = shift;
 | 
						|
 | 
						|
    GetOptions(
 | 
						|
        "version|v" => \$version,
 | 
						|
    );
 | 
						|
 | 
						|
    if ($version) {
 | 
						|
        my $version = xCAT::Utils->Version();
 | 
						|
        $callback->({ info => [$version] });
 | 
						|
        return;
 | 
						|
    }
 | 
						|
    if ($help) {
 | 
						|
        $callback->({ info => ["This command really doesn't do anything"] });
 | 
						|
        return;
 | 
						|
    }
 | 
						|
 | 
						|
    if ($request->{node}) {
 | 
						|
        $noderange = $request->{node};
 | 
						|
    } else {
 | 
						|
        $callback->({ error => ["No nodes specified in request for offline"] });
 | 
						|
    }
 | 
						|
 | 
						|
 | 
						|
    my @nodes = @{$noderange};
 | 
						|
    foreach my $n (@nodes) {
 | 
						|
        $callback->({ info => ["$n: offline"] });
 | 
						|
    }
 | 
						|
}
 | 
						|
 | 
						|
1;
 |