mirror of
				https://github.com/xcat2/xcat-core.git
				synced 2025-11-04 05:12:30 +00:00 
			
		
		
		
	- fixed xdsh -K again by making Client.pm always require xCAT::NodeRange
- removed many of the v options on the tar cmds to build are not as verbose - removed an extra fi in xcat.spec %post git-svn-id: https://svn.code.sf.net/p/xcat/code/xcat-core/trunk@984 8638fb3e-16cb-4fca-ae20-7b5d299a9bcd
This commit is contained in:
		@@ -7,7 +7,7 @@ then
 | 
			
		||||
 | 
			
		||||
 	echo '.svn' > /tmp/xcat-excludes
 | 
			
		||||
    tar -X /tmp/xcat-excludes -cf /opt/freeware/src/packages/SOURCES/xCAT-client-2.0.tar xCAT-client-2.0
 | 
			
		||||
    gzip /opt/freeware/src/packages/SOURCES/xCAT-client-2.0.tar
 | 
			
		||||
    gzip -f /opt/freeware/src/packages/SOURCES/xCAT-client-2.0.tar
 | 
			
		||||
    cd ./xCAT-client-2.0
 | 
			
		||||
    rm -f /opt/freeware/src/packages/SRPMS/xCAT-client-2.0*rpm /opt/freeware/src/packages/RPMS/ppc/xCAT-client-2.0*rpm
 | 
			
		||||
    rpm -ba xCAT-client.spec
 | 
			
		||||
 
 | 
			
		||||
@@ -7,7 +7,7 @@ then
 | 
			
		||||
 | 
			
		||||
	echo '.svn' > /tmp/xcat-excludes
 | 
			
		||||
	tar -X /tmp/xcat-excludes -cf /opt/freeware/src/packages/SOURCES/perl-xCAT-2.0.tar perl-xCAT-2.0
 | 
			
		||||
	gzip /opt/freeware/src/packages/SOURCES/perl-xCAT-2.0.tar
 | 
			
		||||
	gzip -f /opt/freeware/src/packages/SOURCES/perl-xCAT-2.0.tar
 | 
			
		||||
	cd ./perl-xCAT-2.0
 | 
			
		||||
	rm -f /opt/freeware/src/packages/SRPMS/perl-xCAT-2.0*rpm /opt/freeware/src/packages/RPMS/ppc/perl-xCAT-2.0*rpm
 | 
			
		||||
	rpm -ba perl-xCAT.spec
 | 
			
		||||
 
 | 
			
		||||
@@ -10,7 +10,7 @@ then
 | 
			
		||||
    rm -f /opt/freeware/src/packages/SRPMS/xCAT-rmc*rpm /opt/freeware/src/packages/RPMS/ppc/xCAT-rmc*rpm
 | 
			
		||||
    echo '.svn' > /tmp/xcat-excludes
 | 
			
		||||
    tar -X /tmp/xcat-excludes -cf xCAT-rmc-$version.tar xCAT-rmc-$version
 | 
			
		||||
    gzip /opt/freeware/src/packages/SOURCES/xCAT-rmc-$version.tar
 | 
			
		||||
    gzip -f /opt/freeware/src/packages/SOURCES/xCAT-rmc-$version.tar
 | 
			
		||||
    cd $source/xCAT-rmc
 | 
			
		||||
    rpm -ba xCAT-rmc.spec
 | 
			
		||||
    #rpm -Uvh /opt/freeware/src/packages/RPMS/ppc/xCAT-rmc*rpm
 | 
			
		||||
 
 | 
			
		||||
@@ -7,7 +7,7 @@ then
 | 
			
		||||
 | 
			
		||||
	echo '.svn' > /tmp/xcat-excludes
 | 
			
		||||
    tar -X /tmp/xcat-excludes -cf /opt/freeware/src/packages/SOURCES/xCAT-server-2.0.tar xCAT-server-2.0
 | 
			
		||||
    gzip /opt/freeware/src/packages/SOURCES/xCAT-server-2.0.tar
 | 
			
		||||
    gzip -f /opt/freeware/src/packages/SOURCES/xCAT-server-2.0.tar
 | 
			
		||||
    cd ./xCAT-server-2.0
 | 
			
		||||
    rm -f /opt/freeware/src/packages/SRPMS/xCAT-server-2.0*rpm /opt/freeware/src/packages/RPMS/ppc/xCAT-server-2.0*rpm
 | 
			
		||||
    rpm -ba xCAT-server.spec
 | 
			
		||||
 
 | 
			
		||||
@@ -7,7 +7,7 @@ if [ "$OSNAME" = "AIX" ]
 | 
			
		||||
then
 | 
			
		||||
	echo '.svn' > /tmp/xcat-excludes
 | 
			
		||||
    tar -X /tmp/xcat-excludes -cf /opt/freeware/src/packages/SOURCES/xCAT-web.tar xCAT-web
 | 
			
		||||
    gzip /opt/freeware/src/packages/SOURCES/xCAT-web.tar
 | 
			
		||||
    gzip -f /opt/freeware/src/packages/SOURCES/xCAT-web.tar
 | 
			
		||||
    cd ./xCAT-web
 | 
			
		||||
    rm -f /opt/freeware/src/packages/SRPMS/xCAT-web*rpm /opt/freeware/src/packages/RPMS/ppc/xCAT-web*rpm
 | 
			
		||||
    rpm -ba xCAT-web.spec
 | 
			
		||||
 
 | 
			
		||||
@@ -4,17 +4,11 @@ package xCAT::Client;
 | 
			
		||||
BEGIN
 | 
			
		||||
{
 | 
			
		||||
  $::XCATROOT = $ENV{'XCATROOT'} ? $ENV{'XCATROOT'} : -d '/opt/xcat' ? '/opt/xcat' : '/usr';
 | 
			
		||||
   require lib;
 | 
			
		||||
   lib->import("$::XCATROOT/lib/perl");
 | 
			
		||||
   if ($ENV{XCATBYPASS}) {
 | 
			
		||||
      require xCAT::NodeRange; 
 | 
			
		||||
      xCAT::NodeRange->import;
 | 
			
		||||
      require xCAT::Utils;
 | 
			
		||||
      xCAT::Utils->import;
 | 
			
		||||
      require xCAT::Table;
 | 
			
		||||
      xCAT::Table->import;
 | 
			
		||||
   }
 | 
			
		||||
}
 | 
			
		||||
use lib "$::XCATROOT/lib/perl";
 | 
			
		||||
require xCAT::NodeRange;
 | 
			
		||||
require xCAT::Utils;
 | 
			
		||||
require xCAT::Table;
 | 
			
		||||
 | 
			
		||||
my $inet6support;
 | 
			
		||||
use IO::Socket::SSL;
 | 
			
		||||
@@ -32,7 +26,7 @@ unless ($inet6support) {
 | 
			
		||||
 | 
			
		||||
use XML::Simple;
 | 
			
		||||
$XML::Simple::PREFERRED_PARSER='XML::Parser';
 | 
			
		||||
use Data::Dumper;
 | 
			
		||||
require Data::Dumper;
 | 
			
		||||
use Storable qw(dclone);
 | 
			
		||||
my $xcathost='localhost:3001';
 | 
			
		||||
my $plugins_dir;
 | 
			
		||||
@@ -219,10 +213,10 @@ sub plugin_command {
 | 
			
		||||
  if ($req->{node}) {
 | 
			
		||||
    @nodes = @{$req->{node}};
 | 
			
		||||
  } elsif ($req->{noderange}) {
 | 
			
		||||
    @nodes = noderange($req->{noderange}->[0]);
 | 
			
		||||
    if (nodesmissed) {
 | 
			
		||||
#     my $rsp = {errorcode=>1,error=>"Invalid nodes in noderange:".join(',',nodesmissed)};
 | 
			
		||||
      print "Invalid nodes in noderange:".join(',',nodesmissed)."\n";
 | 
			
		||||
    @nodes = xCAT::NodeRange::noderange($req->{noderange}->[0]);
 | 
			
		||||
    if (xCAT::NodeRange::nodesmissed()) {
 | 
			
		||||
#     my $rsp = {errorcode=>1,error=>"Invalid nodes in noderange:".join(',',xCAT::NodeRange::nodesmissed)};
 | 
			
		||||
      print "Invalid nodes in noderangex:".join(',',xCAT::NodeRange::nodesmissed())."\n";
 | 
			
		||||
#     if ($sock) {
 | 
			
		||||
#       print $sock XMLout($rsp,RootName=>'xcatresponse' ,NoAttr=>1);
 | 
			
		||||
#     }
 | 
			
		||||
@@ -372,10 +366,10 @@ sub do_request {
 | 
			
		||||
  if ($cmd_handlers{$req->{command}->[0]}) {
 | 
			
		||||
     return plugin_command($req,$sock,$rsphandler);
 | 
			
		||||
  } elsif ($req->{command}->[0] eq "noderange" and $req->{noderange}) {
 | 
			
		||||
     my @nodes = noderange($req->{noderange}->[0]);
 | 
			
		||||
     my @nodes = xCAT::NodeRange::noderange($req->{noderange}->[0]);
 | 
			
		||||
     my %resp;
 | 
			
		||||
     if (nodesmissed) {
 | 
			
		||||
       $resp{warning}="Invalid nodes in noderange:".join ',',nodesmissed ."\n";
 | 
			
		||||
     if (xCAT::NodeRange::nodesmissed()) {
 | 
			
		||||
       $resp{warning}="Invalid nodes in noderange:".join ',',xCAT::NodeRange::nodesmissed() ."\n";
 | 
			
		||||
     }
 | 
			
		||||
     $resp{serverdone} = {};
 | 
			
		||||
     @{$resp{node}}=@nodes;
 | 
			
		||||
 
 | 
			
		||||
@@ -1,7 +1,7 @@
 | 
			
		||||
# IBM(c) 2007 EPL license http://www.eclipse.org/legal/epl-v10.html
 | 
			
		||||
package xCAT::NodeRange;
 | 
			
		||||
use xCAT::Table;
 | 
			
		||||
use Data::Dumper;
 | 
			
		||||
require xCAT::Table;
 | 
			
		||||
require Data::Dumper;
 | 
			
		||||
require Exporter;
 | 
			
		||||
use strict;
 | 
			
		||||
 | 
			
		||||
 
 | 
			
		||||
@@ -8,8 +8,8 @@ BEGIN
 | 
			
		||||
use lib "$::XCATROOT/lib/perl";
 | 
			
		||||
 | 
			
		||||
use File::Basename qw(fileparse);
 | 
			
		||||
use xCAT::Utils;
 | 
			
		||||
use Data::Dumper;
 | 
			
		||||
require xCAT::Utils;
 | 
			
		||||
require Data::Dumper;
 | 
			
		||||
 | 
			
		||||
#%notif is a cache that holds the info from the "notification" table.
 | 
			
		||||
#the format of it is:
 | 
			
		||||
@@ -33,13 +33,13 @@ $masterpid;
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
#--------------------------------------------------------------------------------
 | 
			
		||||
=head3  setup 
 | 
			
		||||
=head3  setup
 | 
			
		||||
      It is called by xcatd to get set the pid of the parent of all this object.
 | 
			
		||||
      Setup the signal to trap any changes in the notification table. It also
 | 
			
		||||
      initializes the cache with the current data in the notification table.
 | 
			
		||||
      table and store it into %notif variable.
 | 
			
		||||
    Arguments:
 | 
			
		||||
      pid -- the process id of the caller. 
 | 
			
		||||
      pid -- the process id of the caller.
 | 
			
		||||
    Returns:
 | 
			
		||||
      none
 | 
			
		||||
=cut
 | 
			
		||||
@@ -51,7 +51,7 @@ sub setup
 | 
			
		||||
    $masterpid=shift;
 | 
			
		||||
  }
 | 
			
		||||
  refreshNotification();
 | 
			
		||||
  
 | 
			
		||||
 | 
			
		||||
  $SIG{USR1}=\&handleNotifSignal;
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
@@ -298,7 +298,7 @@ sub notify {
 | 
			
		||||
    my ($modname, $path, $suffix) = fileparse($_, ".pm");
 | 
			
		||||
     # print "modname=$modname, path=$path, suffix=$suffix\n";
 | 
			
		||||
    if ($suffix =~ /.pm/) { #it is a perl module
 | 
			
		||||
      my $pid; 
 | 
			
		||||
      my $pid;
 | 
			
		||||
      if ($pid=xCAT::Utils->xfork()) { }
 | 
			
		||||
      elsif (defined($pid)) {
 | 
			
		||||
	my $fname;
 | 
			
		||||
@@ -309,8 +309,8 @@ sub notify {
 | 
			
		||||
          $fname = $_;
 | 
			
		||||
        }
 | 
			
		||||
        eval {require($fname)};
 | 
			
		||||
        if ($@) {   
 | 
			
		||||
          print "The file $fname cannot be located or has compiling errors.\n";          
 | 
			
		||||
        if ($@) {
 | 
			
		||||
          print "The file $fname cannot be located or has compiling errors.\n";
 | 
			
		||||
        }
 | 
			
		||||
        else {
 | 
			
		||||
          ${"xCAT_monitoring::".$modname."::"}{processTableChanges}->($action, $tablename, $old_data, $new_data);
 | 
			
		||||
 
 | 
			
		||||
@@ -288,9 +288,9 @@ osimage  => {
 | 
			
		||||
passwd => {
 | 
			
		||||
    cols => [qw(key username password comments disable)],
 | 
			
		||||
    keys => [qw(key)],
 | 
			
		||||
    table_desc => 'Contains default userids and passwords for xCAT to access cluster components.  Userids/passwords for specific cluster components can be overidden in other tables, e.g. mpa, ipmi, ppchcp, etc.',
 | 
			
		||||
    table_desc => 'Contains default userids and passwords for xCAT to access cluster components.  In most cases, xCAT will also actually set the userid/password in the relevant component when it is being configured or installed.  Userids/passwords for specific cluster components can be overidden in other tables, e.g. mpa, ipmi, ppchcp, etc.',
 | 
			
		||||
 descriptions => {
 | 
			
		||||
  key => 'The type of component this user/pw is for.  Valid values: blade (management module), ipmi (BMC), system (nodes??), omapi (DHCP), hmc, ivm, fsp.',
 | 
			
		||||
  key => 'The type of component this user/pw is for.  Valid values: blade (management module), ipmi (BMC), system (nodes), omapi (DHCP), hmc, ivm, fsp.',
 | 
			
		||||
  username => 'The default userid for this type of component',
 | 
			
		||||
  password => 'The default password for this type of component',
 | 
			
		||||
     comments => 'Any user-written notes.',
 | 
			
		||||
 
 | 
			
		||||
@@ -17,12 +17,12 @@ use lib "$::XCATROOT/lib/perl";
 | 
			
		||||
use DBI;
 | 
			
		||||
 | 
			
		||||
#use strict;
 | 
			
		||||
use Data::Dumper;
 | 
			
		||||
require Data::Dumper;
 | 
			
		||||
use Scalar::Util qw/weaken/;
 | 
			
		||||
use xCAT::Schema;
 | 
			
		||||
use xCAT::NodeRange;
 | 
			
		||||
require xCAT::Schema;
 | 
			
		||||
require xCAT::NodeRange;
 | 
			
		||||
use Text::Balanced qw(extract_bracketed);
 | 
			
		||||
use xCAT::NotifHandler;
 | 
			
		||||
require xCAT::NotifHandler;
 | 
			
		||||
 | 
			
		||||
#--------------------------------------------------------------------------------
 | 
			
		||||
 | 
			
		||||
@@ -963,7 +963,7 @@ sub getNodeAttribs
 | 
			
		||||
            $answval =~ s/$parts[0]/$retval/;
 | 
			
		||||
            $datum->{$attrib} = $answval; #$retval;
 | 
			
		||||
 | 
			
		||||
            #print Dumper(extract_bracketed($parts[1],'()',qr/[^()]*/));
 | 
			
		||||
            #print Data::Dumper::Dumper(extract_bracketed($parts[1],'()',qr/[^()]*/));
 | 
			
		||||
            #use text::balanced extract_bracketed to parse earch atom, make sure nothing but arith operators, parans, and numbers are in it to guard against code execution
 | 
			
		||||
        }
 | 
			
		||||
    }
 | 
			
		||||
@@ -1244,7 +1244,7 @@ sub getAllNodeAttribs
 | 
			
		||||
        unless ($data->{node} =~ /^$/ || !defined($data->{node}))
 | 
			
		||||
        {    #ignore records without node attrib, not possible?
 | 
			
		||||
            my @nodes =
 | 
			
		||||
              noderange($data->{node})
 | 
			
		||||
              xCAT::NodeRange::noderange($data->{node})
 | 
			
		||||
              ;    #expand node entry, to make groups expand
 | 
			
		||||
            foreach (@nodes)
 | 
			
		||||
            {
 | 
			
		||||
 
 | 
			
		||||
@@ -1,13 +1,13 @@
 | 
			
		||||
#!/usr/bin/env perl
 | 
			
		||||
# IBM(c) 2007 EPL license http://www.eclipse.org/legal/epl-v10.html
 | 
			
		||||
package xCAT::Utils;
 | 
			
		||||
use xCAT::Table;
 | 
			
		||||
require xCAT::Table;
 | 
			
		||||
use POSIX qw(ceil);
 | 
			
		||||
use Socket;
 | 
			
		||||
use xCAT::Schema;
 | 
			
		||||
use Data::Dumper;
 | 
			
		||||
use xCAT::NodeRange;
 | 
			
		||||
use DBI;
 | 
			
		||||
require xCAT::Schema;
 | 
			
		||||
require Data::Dumper;
 | 
			
		||||
require xCAT::NodeRange;
 | 
			
		||||
require DBI;
 | 
			
		||||
 | 
			
		||||
#--------------------------------------------------------------------------------
 | 
			
		||||
 | 
			
		||||
@@ -168,7 +168,7 @@ sub isLinux
 | 
			
		||||
 | 
			
		||||
=head3    make_node_list_file
 | 
			
		||||
 | 
			
		||||
        Makes a node list file.  
 | 
			
		||||
        Makes a node list file.
 | 
			
		||||
 | 
			
		||||
        Arguments:
 | 
			
		||||
                (\@list_of_nodes) - reference to an arrary of nodes.
 | 
			
		||||
@@ -179,7 +179,7 @@ sub isLinux
 | 
			
		||||
        Error:
 | 
			
		||||
                None documented
 | 
			
		||||
        Example:
 | 
			
		||||
                xCAT::Utils->make_node_list_file(\@nodelist); 
 | 
			
		||||
                xCAT::Utils->make_node_list_file(\@nodelist);
 | 
			
		||||
 | 
			
		||||
        Comments:
 | 
			
		||||
                IMPORTANT:
 | 
			
		||||
@@ -245,13 +245,13 @@ for ($nI = 0 ; $nI < 8 ; $nI++)
 | 
			
		||||
 | 
			
		||||
#-----------------------------------------------------------------------
 | 
			
		||||
 | 
			
		||||
=head3    
 | 
			
		||||
=head3
 | 
			
		||||
close_delete_file.
 | 
			
		||||
 | 
			
		||||
	Arguments:
 | 
			
		||||
		file handle,filename
 | 
			
		||||
	Returns:
 | 
			
		||||
	    none	
 | 
			
		||||
	    none
 | 
			
		||||
	Globals:
 | 
			
		||||
		none
 | 
			
		||||
	Error:
 | 
			
		||||
@@ -274,13 +274,13 @@ sub close_delete_file
 | 
			
		||||
 | 
			
		||||
#-----------------------------------------------------------------------
 | 
			
		||||
 | 
			
		||||
=head3    
 | 
			
		||||
=head3
 | 
			
		||||
 list_all_nodes
 | 
			
		||||
 | 
			
		||||
	Arguments:
 | 
			
		||||
      	
 | 
			
		||||
 | 
			
		||||
	Returns:
 | 
			
		||||
	    an array of all define nodes from the nodelist table	
 | 
			
		||||
	    an array of all define nodes from the nodelist table
 | 
			
		||||
	Globals:
 | 
			
		||||
		none
 | 
			
		||||
	Error:
 | 
			
		||||
@@ -316,13 +316,13 @@ sub list_all_nodes
 | 
			
		||||
 | 
			
		||||
#-----------------------------------------------------------------------
 | 
			
		||||
 | 
			
		||||
=head3    
 | 
			
		||||
=head3
 | 
			
		||||
 list_all_nodegroups
 | 
			
		||||
 | 
			
		||||
	Arguments:
 | 
			
		||||
      	
 | 
			
		||||
 | 
			
		||||
	Returns:
 | 
			
		||||
	    an array of all define node groups from the nodelist table	
 | 
			
		||||
	    an array of all define node groups from the nodelist table
 | 
			
		||||
	Globals:
 | 
			
		||||
		none
 | 
			
		||||
	Error:
 | 
			
		||||
@@ -369,13 +369,13 @@ sub list_all_node_groups
 | 
			
		||||
 | 
			
		||||
#-----------------------------------------------------------------------
 | 
			
		||||
 | 
			
		||||
=head3    
 | 
			
		||||
=head3
 | 
			
		||||
 list_nodes_in_nodegroup
 | 
			
		||||
 | 
			
		||||
	Arguments:  nodegroup
 | 
			
		||||
      	
 | 
			
		||||
 | 
			
		||||
	Returns:
 | 
			
		||||
	    an array of all define nodes in the node group 	
 | 
			
		||||
	    an array of all define nodes in the node group
 | 
			
		||||
 | 
			
		||||
	Globals:
 | 
			
		||||
		none
 | 
			
		||||
@@ -393,19 +393,19 @@ sub list_nodes_in_nodegroups
 | 
			
		||||
{
 | 
			
		||||
    my ($class, $group) = @_;
 | 
			
		||||
    $req->{noderange}->[0] = $group;
 | 
			
		||||
    my @nodes = noderange($req->{noderange}->[0]);
 | 
			
		||||
    my @nodes = xCAT::NodeRange::noderange($req->{noderange}->[0]);
 | 
			
		||||
    return @nodes;
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
#-----------------------------------------------------------------------
 | 
			
		||||
 | 
			
		||||
=head3    
 | 
			
		||||
  get_site_attribute 
 | 
			
		||||
=head3
 | 
			
		||||
  get_site_attribute
 | 
			
		||||
 | 
			
		||||
	Arguments:
 | 
			
		||||
      	
 | 
			
		||||
 | 
			
		||||
	Returns:
 | 
			
		||||
	    The value of the attribute requested from the site table	
 | 
			
		||||
	    The value of the attribute requested from the site table
 | 
			
		||||
	Globals:
 | 
			
		||||
		none
 | 
			
		||||
	Error:
 | 
			
		||||
@@ -443,11 +443,11 @@ sub get_site_attribute
 | 
			
		||||
 | 
			
		||||
#-----------------------------------------------------------------------
 | 
			
		||||
 | 
			
		||||
=head3    
 | 
			
		||||
=head3
 | 
			
		||||
  add_cron_job
 | 
			
		||||
     This function adds a new cron job.
 | 
			
		||||
	Arguments:
 | 
			
		||||
      	    job--- string in the crontab job format. 
 | 
			
		||||
      	    job--- string in the crontab job format.
 | 
			
		||||
	Returns:
 | 
			
		||||
	    (code, message)
 | 
			
		||||
	Globals:
 | 
			
		||||
@@ -501,12 +501,12 @@ sub add_cron_job
 | 
			
		||||
 | 
			
		||||
#-----------------------------------------------------------------------
 | 
			
		||||
 | 
			
		||||
=head3    
 | 
			
		||||
=head3
 | 
			
		||||
  remove_cron_job
 | 
			
		||||
     This function removes a new cron job.
 | 
			
		||||
	Arguments:
 | 
			
		||||
      	    job--- a substring that is contained in a crontab entry. 
 | 
			
		||||
                  (use crontab -l to see all the job entries.) 
 | 
			
		||||
      	    job--- a substring that is contained in a crontab entry.
 | 
			
		||||
                  (use crontab -l to see all the job entries.)
 | 
			
		||||
	Returns:
 | 
			
		||||
	    (code, message)
 | 
			
		||||
	Globals:
 | 
			
		||||
@@ -562,7 +562,7 @@ sub remove_cron_job
 | 
			
		||||
 | 
			
		||||
=head3    runcmd
 | 
			
		||||
   Run the given cmd and return the output in an array (already chopped).
 | 
			
		||||
   Alternately, if this function is used in a scalar context, the output 
 | 
			
		||||
   Alternately, if this function is used in a scalar context, the output
 | 
			
		||||
   is joined into a single string with the newlines separating the lines.
 | 
			
		||||
 | 
			
		||||
   Arguments:
 | 
			
		||||
@@ -570,7 +570,7 @@ sub remove_cron_job
 | 
			
		||||
   Returns:
 | 
			
		||||
	   see below
 | 
			
		||||
   Globals:
 | 
			
		||||
	   $::RUNCMD_RC  , $::CALLBACK 
 | 
			
		||||
	   $::RUNCMD_RC  , $::CALLBACK
 | 
			
		||||
   Error:
 | 
			
		||||
      Normally, if there is an error running the cmd,it will display the
 | 
			
		||||
		error and exit with the cmds exit code, unless exitcode
 | 
			
		||||
@@ -713,18 +713,18 @@ sub getHomeDir
 | 
			
		||||
 | 
			
		||||
#--------------------------------------------------------------------------------
 | 
			
		||||
 | 
			
		||||
=head3   setupSSH 
 | 
			
		||||
=head3   setupSSH
 | 
			
		||||
 | 
			
		||||
        Transfers the ssh keys to setup ssh to the input nodes.
 | 
			
		||||
 | 
			
		||||
        Arguments:
 | 
			
		||||
               Array of nodes 
 | 
			
		||||
               Array of nodes
 | 
			
		||||
        Returns:
 | 
			
		||||
              
 | 
			
		||||
 | 
			
		||||
        Globals:
 | 
			
		||||
              $::XCATROOT  ,  $::CALLBACK 
 | 
			
		||||
              $::XCATROOT  ,  $::CALLBACK
 | 
			
		||||
        Error:
 | 
			
		||||
             0=good,  1=error                
 | 
			
		||||
             0=good,  1=error
 | 
			
		||||
        Example:
 | 
			
		||||
                xCAT::Utils->setupSSH(@target_nodes);
 | 
			
		||||
        Comments:
 | 
			
		||||
@@ -765,7 +765,7 @@ sub setupSSH
 | 
			
		||||
    if ($::RUNCMD_RC != 0)
 | 
			
		||||
    {    # error
 | 
			
		||||
        my %rsp;
 | 
			
		||||
        $rsp->{data}->[0] = "remoteshell.expect failed generating keys.\n";
 | 
			
		||||
        $rsp->{data}->[0] = "remoteshell.expect failed generating keys.";
 | 
			
		||||
        xCAT::MsgUtils->message("E", $rsp, $::CALLBACK);
 | 
			
		||||
 | 
			
		||||
    }
 | 
			
		||||
@@ -793,7 +793,7 @@ umask(0077);
 | 
			
		||||
if (! -d \"\$dest_dir\" ) {
 | 
			
		||||
    # create a local directory
 | 
			
		||||
    \$cmd = \"mkdir -p \$dest_dir\";
 | 
			
		||||
    system(\"\$cmd\"); 
 | 
			
		||||
    system(\"\$cmd\");
 | 
			
		||||
    chmod 0700, \$dest_dir;
 | 
			
		||||
}
 | 
			
		||||
`cat /tmp/.ssh/authorized_keys >> \$home/.ssh/authorized_keys 2>&1`;
 | 
			
		||||
@@ -821,7 +821,7 @@ rmdir(\"/tmp/.ssh\");";
 | 
			
		||||
    if ($rc)
 | 
			
		||||
    {
 | 
			
		||||
        my %rsp;
 | 
			
		||||
        $rsp->{data}->[0] = "remoteshell.expect failed sending keys.\n";
 | 
			
		||||
        $rsp->{data}->[0] = "remoteshell.expect failed sending keys.";
 | 
			
		||||
        xCAT::MsgUtils->message("E", $rsp, $::CALLBACK);
 | 
			
		||||
 | 
			
		||||
    }
 | 
			
		||||
@@ -847,14 +847,14 @@ rmdir(\"/tmp/.ssh\");";
 | 
			
		||||
        my $nstring = join ',', @badnodes;
 | 
			
		||||
        my %rsp;
 | 
			
		||||
        $rsp->{data}->[0] =
 | 
			
		||||
          "SSH setup failed for the following nodes: $nstring.\n";
 | 
			
		||||
          "SSH setup failed for the following nodes: $nstring.";
 | 
			
		||||
        xCAT::MsgUtils->message("E", $rsp, $::CALLBACK);
 | 
			
		||||
        return @badnodes;
 | 
			
		||||
    }
 | 
			
		||||
    else
 | 
			
		||||
    {
 | 
			
		||||
        my %rsp;
 | 
			
		||||
        $rsp->{data}->[0] = "$::REMOTE_SHELL setup is complete.\n";
 | 
			
		||||
        $rsp->{data}->[0] = "$::REMOTE_SHELL setup is complete.";
 | 
			
		||||
        xCAT::MsgUtils->message("I", $rsp, $::CALLBACK);
 | 
			
		||||
        return 0;
 | 
			
		||||
    }
 | 
			
		||||
@@ -868,11 +868,11 @@ rmdir(\"/tmp/.ssh\");";
 | 
			
		||||
		/install/postscripts/.ssh.
 | 
			
		||||
 | 
			
		||||
        Arguments:
 | 
			
		||||
               directory path 
 | 
			
		||||
               directory path
 | 
			
		||||
        Returns:
 | 
			
		||||
                
 | 
			
		||||
 | 
			
		||||
        Globals:
 | 
			
		||||
              $::CALLBACK 
 | 
			
		||||
              $::CALLBACK
 | 
			
		||||
        Error:
 | 
			
		||||
 | 
			
		||||
        Example:
 | 
			
		||||
@@ -975,20 +975,20 @@ sub cpSSHFiles
 | 
			
		||||
#-------------------------------------------------------------------------------
 | 
			
		||||
 | 
			
		||||
=head3    isServiceNode
 | 
			
		||||
	checks for the /etc/xCATSN file 
 | 
			
		||||
    
 | 
			
		||||
	checks for the /etc/xCATSN file
 | 
			
		||||
 | 
			
		||||
    Arguments:
 | 
			
		||||
        none
 | 
			
		||||
    Returns:
 | 
			
		||||
        1 - localHost is ServiceNode 
 | 
			
		||||
        0 - localHost is not ServiceNode 
 | 
			
		||||
        1 - localHost is ServiceNode
 | 
			
		||||
        0 - localHost is not ServiceNode
 | 
			
		||||
    Globals:
 | 
			
		||||
        none
 | 
			
		||||
    Error:
 | 
			
		||||
        none
 | 
			
		||||
    Example:
 | 
			
		||||
	     %::XCATMasterPort defined in the caller.
 | 
			
		||||
         $return=(xCAT::Utils->isServiceNode()) 
 | 
			
		||||
         $return=(xCAT::Utils->isServiceNode())
 | 
			
		||||
    Comments:
 | 
			
		||||
        none
 | 
			
		||||
=cut
 | 
			
		||||
@@ -1011,18 +1011,18 @@ sub isServiceNode
 | 
			
		||||
 | 
			
		||||
=head3    isMN
 | 
			
		||||
	checks for the /etc/xCATMN file , if it exists it is a Management Server
 | 
			
		||||
    
 | 
			
		||||
 | 
			
		||||
    Arguments:
 | 
			
		||||
        none
 | 
			
		||||
    Returns:
 | 
			
		||||
        1 - localHost is ServiceNode 
 | 
			
		||||
        0 - localHost is not ServiceNode 
 | 
			
		||||
        1 - localHost is ServiceNode
 | 
			
		||||
        0 - localHost is not ServiceNode
 | 
			
		||||
    Globals:
 | 
			
		||||
        none
 | 
			
		||||
    Error:
 | 
			
		||||
        none
 | 
			
		||||
    Example:
 | 
			
		||||
         $return=(xCAT::Utils->isMN()) 
 | 
			
		||||
         $return=(xCAT::Utils->isMN())
 | 
			
		||||
    Comments:
 | 
			
		||||
        none
 | 
			
		||||
=cut
 | 
			
		||||
@@ -1044,7 +1044,7 @@ sub isMN
 | 
			
		||||
#-------------------------------------------------------------------------------
 | 
			
		||||
 | 
			
		||||
=head3   classful_networks_for_net_and_mask
 | 
			
		||||
    
 | 
			
		||||
 | 
			
		||||
    Arguments:
 | 
			
		||||
        network and mask
 | 
			
		||||
    Returns:
 | 
			
		||||
@@ -1106,8 +1106,8 @@ sub classful_networks_for_net_and_mask
 | 
			
		||||
 | 
			
		||||
#-------------------------------------------------------------------------------
 | 
			
		||||
 | 
			
		||||
=head3   my_hexnets    
 | 
			
		||||
    
 | 
			
		||||
=head3   my_hexnets
 | 
			
		||||
 | 
			
		||||
    Arguments:
 | 
			
		||||
        none
 | 
			
		||||
    Returns:
 | 
			
		||||
@@ -1196,8 +1196,8 @@ sub my_if_netmap
 | 
			
		||||
 | 
			
		||||
#-------------------------------------------------------------------------------
 | 
			
		||||
 | 
			
		||||
=head3   my_ip_facing    
 | 
			
		||||
    
 | 
			
		||||
=head3   my_ip_facing
 | 
			
		||||
 | 
			
		||||
    Arguments:
 | 
			
		||||
        none
 | 
			
		||||
    Returns:
 | 
			
		||||
@@ -1240,9 +1240,9 @@ sub my_ip_facing
 | 
			
		||||
 | 
			
		||||
#-------------------------------------------------------------------------------
 | 
			
		||||
 | 
			
		||||
=head3 nodeonmynet - checks to see if node is on the network 
 | 
			
		||||
=head3 nodeonmynet - checks to see if node is on the network
 | 
			
		||||
    Arguments:
 | 
			
		||||
       Node name 
 | 
			
		||||
       Node name
 | 
			
		||||
    Returns:  1 if node is on the network
 | 
			
		||||
    Globals:
 | 
			
		||||
        none
 | 
			
		||||
@@ -1293,10 +1293,10 @@ sub nodeonmynet
 | 
			
		||||
 | 
			
		||||
#-------------------------------------------------------------------------------
 | 
			
		||||
 | 
			
		||||
=head3   thishostisnot 
 | 
			
		||||
=head3   thishostisnot
 | 
			
		||||
    returns  0 if host is not the same
 | 
			
		||||
    Arguments:
 | 
			
		||||
       hostname 
 | 
			
		||||
       hostname
 | 
			
		||||
    Returns:
 | 
			
		||||
    Globals:
 | 
			
		||||
        none
 | 
			
		||||
@@ -1339,18 +1339,18 @@ sub thishostisnot
 | 
			
		||||
 | 
			
		||||
#-------------------------------------------------------------------------------
 | 
			
		||||
 | 
			
		||||
=head3   GetMasterNodeName 
 | 
			
		||||
=head3   GetMasterNodeName
 | 
			
		||||
        Reads the database for the Master node name for the input node
 | 
			
		||||
    Arguments:
 | 
			
		||||
		 Node
 | 
			
		||||
    Returns:
 | 
			
		||||
        MasterHostName 
 | 
			
		||||
        MasterHostName
 | 
			
		||||
    Globals:
 | 
			
		||||
        none
 | 
			
		||||
    Error:
 | 
			
		||||
        none
 | 
			
		||||
    Example:
 | 
			
		||||
         $master=(xCAT::Utils->GetMasterNodeName($node)) 
 | 
			
		||||
         $master=(xCAT::Utils->GetMasterNodeName($node))
 | 
			
		||||
    Comments:
 | 
			
		||||
        none
 | 
			
		||||
=cut
 | 
			
		||||
@@ -1390,7 +1390,7 @@ sub GetMasterNodeName
 | 
			
		||||
 | 
			
		||||
#-------------------------------------------------------------------------------
 | 
			
		||||
 | 
			
		||||
=head3   GetNodeOSARCH 
 | 
			
		||||
=head3   GetNodeOSARCH
 | 
			
		||||
        Reads the database for the OS and Arch of the input Node
 | 
			
		||||
    Arguments:
 | 
			
		||||
		 Node
 | 
			
		||||
@@ -1402,7 +1402,7 @@ sub GetMasterNodeName
 | 
			
		||||
    Error:
 | 
			
		||||
        none
 | 
			
		||||
    Example:
 | 
			
		||||
         $master=(xCAT::Utils->GetNodeOSARCH($node)) 
 | 
			
		||||
         $master=(xCAT::Utils->GetNodeOSARCH($node))
 | 
			
		||||
    Comments:
 | 
			
		||||
        none
 | 
			
		||||
=cut
 | 
			
		||||
@@ -1433,8 +1433,8 @@ sub GetNodeOSARCH
 | 
			
		||||
 | 
			
		||||
#-----------------------------------------------------------------------------
 | 
			
		||||
 | 
			
		||||
=head3 exportDBConfig 
 | 
			
		||||
  
 | 
			
		||||
=head3 exportDBConfig
 | 
			
		||||
 | 
			
		||||
  Reads the /etc/sysconfig/xcat file for the DB configuration and exports it
 | 
			
		||||
  in $XCATCFG
 | 
			
		||||
=cut
 | 
			
		||||
@@ -1478,8 +1478,8 @@ sub exportDBConfig
 | 
			
		||||
 | 
			
		||||
#-----------------------------------------------------------------------------
 | 
			
		||||
 | 
			
		||||
=head3 readSNInfo 
 | 
			
		||||
  
 | 
			
		||||
=head3 readSNInfo
 | 
			
		||||
 | 
			
		||||
  Read resource, NFS server, Master node, OS an ARCH from the database
 | 
			
		||||
  for the service node
 | 
			
		||||
 | 
			
		||||
@@ -1526,7 +1526,7 @@ sub readSNInfo
 | 
			
		||||
 | 
			
		||||
#-----------------------------------------------------------------------------
 | 
			
		||||
 | 
			
		||||
=head3 isServiceReq 
 | 
			
		||||
=head3 isServiceReq
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
  Checks to see if the input service is already setup on the node by
 | 
			
		||||
@@ -1535,16 +1535,16 @@ sub readSNInfo
 | 
			
		||||
  It then:
 | 
			
		||||
  Checks the database to see if the input Service should be setup on the
 | 
			
		||||
  input service node
 | 
			
		||||
  Checks the noderes to see if this service node is a service node for any 
 | 
			
		||||
  Checks the noderes to see if this service node is a service node for any
 | 
			
		||||
  node in the table.  Any node that matches, it checks the service attribute
 | 
			
		||||
  to see if this service node is the server, or if the attribute is blank, then
 | 
			
		||||
  this service node is the server.
 | 
			
		||||
  
 | 
			
		||||
 | 
			
		||||
  Input: service nodename, service,ipaddres(s) of service node
 | 
			
		||||
  Output: 
 | 
			
		||||
        0 - no service required 
 | 
			
		||||
        1 - setup service 
 | 
			
		||||
        2 - service is setup, just start the daemon 
 | 
			
		||||
  Output:
 | 
			
		||||
        0 - no service required
 | 
			
		||||
        1 - setup service
 | 
			
		||||
        2 - service is setup, just start the daemon
 | 
			
		||||
		-1 - error
 | 
			
		||||
    Globals:
 | 
			
		||||
        none
 | 
			
		||||
@@ -1672,11 +1672,11 @@ sub isServiceReq
 | 
			
		||||
#-----------------------------------------------------------------------------
 | 
			
		||||
 | 
			
		||||
=head3 determinehostname  and ip address(s)
 | 
			
		||||
  
 | 
			
		||||
 | 
			
		||||
  Used on the service node to figure out what hostname and ip address(s)
 | 
			
		||||
  the service node is in the database
 | 
			
		||||
  Input: None   
 | 
			
		||||
  Output: ipaddress(s),nodename 
 | 
			
		||||
  Input: None
 | 
			
		||||
  Output: ipaddress(s),nodename
 | 
			
		||||
=cut
 | 
			
		||||
 | 
			
		||||
#-----------------------------------------------------------------------------
 | 
			
		||||
@@ -1706,7 +1706,7 @@ sub determinehostname
 | 
			
		||||
=head3 update_xCATSN
 | 
			
		||||
  Will add the input service string to /etc/xCATSN to indicate that
 | 
			
		||||
  the service has been setup by the service node
 | 
			
		||||
  Input: service (e.g. tftp, nfs,etc) 
 | 
			
		||||
  Input: service (e.g. tftp, nfs,etc)
 | 
			
		||||
  Output: 0 = added, 1= already there
 | 
			
		||||
 | 
			
		||||
=cut
 | 
			
		||||
@@ -1732,11 +1732,11 @@ sub update_xCATSN
 | 
			
		||||
 | 
			
		||||
#-----------------------------------------------------------------------------
 | 
			
		||||
 | 
			
		||||
=head3 gethost_ips 
 | 
			
		||||
     Will use ifconfig to determine all possible ip addresses for the 
 | 
			
		||||
=head3 gethost_ips
 | 
			
		||||
     Will use ifconfig to determine all possible ip addresses for the
 | 
			
		||||
	 host it is running on
 | 
			
		||||
 | 
			
		||||
     input: 
 | 
			
		||||
     input:
 | 
			
		||||
	 output: array of ipaddress(s)
 | 
			
		||||
	 example:  @ips=xCAT::gethost_ips();
 | 
			
		||||
 | 
			
		||||
@@ -1768,12 +1768,12 @@ sub gethost_ips
 | 
			
		||||
#-----------------------------------------------------------------------------
 | 
			
		||||
 | 
			
		||||
=head3 create_postscripts_tar
 | 
			
		||||
	 
 | 
			
		||||
 | 
			
		||||
     This routine will tar and compress the /install/postscripts directory
 | 
			
		||||
	 and place in /install/autoinst/xcat_postscripts.Z
 | 
			
		||||
 | 
			
		||||
     input: none 
 | 
			
		||||
	 output: 
 | 
			
		||||
     input: none
 | 
			
		||||
	 output:
 | 
			
		||||
	 example: $rc=xCAT::create_postscripts_tar();
 | 
			
		||||
 | 
			
		||||
=cut
 | 
			
		||||
@@ -1802,7 +1802,7 @@ sub create_postscripts_tar
 | 
			
		||||
 | 
			
		||||
#-----------------------------------------------------------------------------
 | 
			
		||||
 | 
			
		||||
=head3 get_site_Master 
 | 
			
		||||
=head3 get_site_Master
 | 
			
		||||
 | 
			
		||||
     Reads the site table for the Master attribute and returns it.
 | 
			
		||||
     input: none
 | 
			
		||||
@@ -1832,13 +1832,13 @@ sub get_site_Master
 | 
			
		||||
 | 
			
		||||
#-----------------------------------------------------------------------------
 | 
			
		||||
 | 
			
		||||
=head3 get_ServiceNode 
 | 
			
		||||
=head3 get_ServiceNode
 | 
			
		||||
 | 
			
		||||
     Will get the Service node ( name or ipaddress) as known by the Management
 | 
			
		||||
	 Server or NOde for the input nodename or ipadress of the node
 | 
			
		||||
 | 
			
		||||
     input: list of nodenames and/or node ipaddresses
 | 
			
		||||
			service name 
 | 
			
		||||
			service name
 | 
			
		||||
			"MN" or "Node"  determines if you want the Service node as known
 | 
			
		||||
			 by the Management Node  or by the node.
 | 
			
		||||
 | 
			
		||||
@@ -1846,18 +1846,18 @@ sub get_site_Master
 | 
			
		||||
		nfsserver,conserver,monserver
 | 
			
		||||
 | 
			
		||||
        service "xcat" is used by command like xdsh that need to know the
 | 
			
		||||
		service node that will process the command but are not tied to a 
 | 
			
		||||
		service node that will process the command but are not tied to a
 | 
			
		||||
		specific service like tftp
 | 
			
		||||
 | 
			
		||||
		Todo:  Handle  dhcpserver and nameserver from the networks table
 | 
			
		||||
 | 
			
		||||
	 output: A hash of arrays, the key is the service node pointing to 
 | 
			
		||||
			 an array of nodes that are serviced by that service node 
 | 
			
		||||
	 output: A hash of arrays, the key is the service node pointing to
 | 
			
		||||
			 an array of nodes that are serviced by that service node
 | 
			
		||||
 | 
			
		||||
     Globals:
 | 
			
		||||
        $::ERROR_RC 
 | 
			
		||||
        $::ERROR_RC
 | 
			
		||||
     Error:
 | 
			
		||||
         $::ERROR_RC=0 no error $::ERROR_RC=1 error 
 | 
			
		||||
         $::ERROR_RC=0 no error $::ERROR_RC=1 error
 | 
			
		||||
 | 
			
		||||
	 example: $sn =xCAT::Utils->get_ServiceNode(@nodes,$service,"MN");
 | 
			
		||||
 | 
			
		||||
 
 | 
			
		||||
@@ -1,4 +1,5 @@
 | 
			
		||||
#!/usr/bin/env perl
 | 
			
		||||
#!/usr/bin/perl
 | 
			
		||||
# !/usr/bin/env perl
 | 
			
		||||
# IBM(c) 2007 EPL license http://www.eclipse.org/legal/epl-v10.html
 | 
			
		||||
BEGIN
 | 
			
		||||
{
 | 
			
		||||
@@ -8,9 +9,9 @@ use lib "$::XCATROOT/lib/perl";
 | 
			
		||||
use File::Basename;
 | 
			
		||||
#use Data::Dumper;
 | 
			
		||||
use Getopt::Long;
 | 
			
		||||
use xCAT::MsgUtils;
 | 
			
		||||
use xCAT::DSHCLI;
 | 
			
		||||
use xCAT::Client;
 | 
			
		||||
require xCAT::MsgUtils;
 | 
			
		||||
require xCAT::DSHCLI;
 | 
			
		||||
require xCAT::Client;
 | 
			
		||||
my $bname = basename($0);
 | 
			
		||||
 | 
			
		||||
#-----------------------------------------------------------------------------
 | 
			
		||||
@@ -42,25 +43,19 @@ This program is the client interface for xdsh/xdcp.
 | 
			
		||||
 | 
			
		||||
my $cmdref;
 | 
			
		||||
my $arg;
 | 
			
		||||
my @SaveARGV = @ARGV;
 | 
			
		||||
$cmdref->{command}->[0] = $bname;    # save my command name
 | 
			
		||||
my $arg = shift(@SaveARGV);
 | 
			
		||||
 | 
			
		||||
if ($arg =~ /^-/)                    # no noderange
 | 
			
		||||
{
 | 
			
		||||
    push @{$cmdref->{arg}}, $arg;
 | 
			
		||||
    foreach (@SAVEARGV)
 | 
			
		||||
    {
 | 
			
		||||
        push(@{$cmdref->{arg}}, $_);
 | 
			
		||||
    }
 | 
			
		||||
    @ARGV = @{$cmdref->{arg}};       # save just the argument to parse
 | 
			
		||||
}
 | 
			
		||||
else
 | 
			
		||||
{
 | 
			
		||||
    $cmdref->{noderange}->[0] = $arg;    # save noderange
 | 
			
		||||
    @ARGV = @SaveARGV;                   # noderange removed for parsing
 | 
			
		||||
# Pull out the 1st non-hyphen arg as the noderange
 | 
			
		||||
for (my $i=0; $i<scalar(@ARGV); $i++) {
 | 
			
		||||
	if ($ARGV[$i] !~ /^-/) {		# found the noderange
 | 
			
		||||
		$cmdref->{noderange}->[0] = splice(@ARGV, $i, 1);		# removes and returns the noderange
 | 
			
		||||
		last;
 | 
			
		||||
	}
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
# Put all the rest of the args in the structure
 | 
			
		||||
push (@{$cmdref->{arg}}, @ARGV);
 | 
			
		||||
 | 
			
		||||
# check for help, bypass, other client flags
 | 
			
		||||
if ($bname eq "xdsh")
 | 
			
		||||
{
 | 
			
		||||
@@ -71,11 +66,6 @@ else
 | 
			
		||||
    &parse_args_xdcp;
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
foreach (@SaveARGV)
 | 
			
		||||
{
 | 
			
		||||
    push(@{$cmdref->{arg}}, $_);
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
#  add environment variables, if they have not already been assigned with
 | 
			
		||||
#  command line flags
 | 
			
		||||
if (!($::NODE_RSH))
 | 
			
		||||
 
 | 
			
		||||
							
								
								
									
										16
									
								
								xCAT/mkrpm
									
									
									
									
									
								
							
							
						
						
									
										16
									
								
								xCAT/mkrpm
									
									
									
									
									
								
							@@ -8,11 +8,11 @@ then
 | 
			
		||||
    cd `dirname $0`
 | 
			
		||||
    echo '.svn' > /tmp/xcat-excludes
 | 
			
		||||
 | 
			
		||||
    tar -X /tmp/xcat-excludes -cvf /opt/freeware/src/packages/SOURCES/postscripts.tar  postscripts LICENSE.html
 | 
			
		||||
    gzip /opt/freeware/src/packages/SOURCES/postscripts.tar
 | 
			
		||||
    tar -X /tmp/xcat-excludes -cf /opt/freeware/src/packages/SOURCES/postscripts.tar  postscripts LICENSE.html
 | 
			
		||||
    gzip -f /opt/freeware/src/packages/SOURCES/postscripts.tar
 | 
			
		||||
 | 
			
		||||
    tar -X /tmp/xcat-excludes -cvf /opt/freeware/src/packages/SOURCES/templates.tar templates
 | 
			
		||||
    gzip /opt/freeware/src/packages/SOURCES/templates.tar
 | 
			
		||||
    tar -X /tmp/xcat-excludes -cf /opt/freeware/src/packages/SOURCES/templates.tar templates
 | 
			
		||||
    gzip -f /opt/freeware/src/packages/SOURCES/templates.tar
 | 
			
		||||
 | 
			
		||||
    cp xcat.conf /opt/freeware/src/packages/SOURCES
 | 
			
		||||
 | 
			
		||||
@@ -34,14 +34,14 @@ else
 | 
			
		||||
	fi
 | 
			
		||||
 | 
			
		||||
	cd `dirname $0`
 | 
			
		||||
	tar --exclude .svn -czvf /usr/src/$pkg/SOURCES/postscripts.tar.gz  postscripts LICENSE.html
 | 
			
		||||
	tar --exclude .svn -czvf /usr/src/$pkg/SOURCES/templates.tar.gz templates
 | 
			
		||||
	tar --exclude .svn -czf /usr/src/$pkg/SOURCES/postscripts.tar.gz  postscripts LICENSE.html
 | 
			
		||||
	tar --exclude .svn -czf /usr/src/$pkg/SOURCES/templates.tar.gz templates
 | 
			
		||||
	cp xcat.conf /usr/src/$pkg/SOURCES
 | 
			
		||||
	rm -f /usr/src/$pkg/SRPMS/xCAT-2.0*rpm /usr/src/$pkg/RPMS/*/xCAT-2.0*rpm
 | 
			
		||||
   if [ ! -z "$1" ]; then
 | 
			
		||||
	rpmbuild -ba xCAT.spec --target $1
 | 
			
		||||
   else 
 | 
			
		||||
	rpmbuild -ba xCAT.spec 
 | 
			
		||||
   else
 | 
			
		||||
	rpmbuild -ba xCAT.spec
 | 
			
		||||
   fi
 | 
			
		||||
	cd -
 | 
			
		||||
fi
 | 
			
		||||
 
 | 
			
		||||
@@ -15,7 +15,7 @@ Source2: postscripts.tar.gz
 | 
			
		||||
Source3: templates.tar.gz
 | 
			
		||||
 | 
			
		||||
Provides: xCAT = %{version}
 | 
			
		||||
Requires: xCAT-server xCAT-client perl-DBD-SQLite 
 | 
			
		||||
Requires: xCAT-server xCAT-client perl-DBD-SQLite
 | 
			
		||||
 | 
			
		||||
%ifos linux
 | 
			
		||||
Requires: atftp dhcp httpd nfs-utils expect conserver fping bind perl-XML-Parser
 | 
			
		||||
@@ -32,12 +32,12 @@ hardware management and software management.
 | 
			
		||||
 | 
			
		||||
%prep
 | 
			
		||||
%ifos linux
 | 
			
		||||
tar zxvf %{SOURCE2}
 | 
			
		||||
tar zxf %{SOURCE2}
 | 
			
		||||
%else
 | 
			
		||||
rm -rf postscripts
 | 
			
		||||
cp %{SOURCE2} /opt/freeware/src/packages/BUILD
 | 
			
		||||
gunzip postscripts.tar.gz 
 | 
			
		||||
tar -xvf postscripts.tar
 | 
			
		||||
gunzip -f postscripts.tar.gz
 | 
			
		||||
tar -xf postscripts.tar
 | 
			
		||||
%endif
 | 
			
		||||
 | 
			
		||||
%build
 | 
			
		||||
@@ -49,11 +49,11 @@ mkdir -p $RPM_BUILD_ROOT/%{prefix}/share/xcat/
 | 
			
		||||
cd $RPM_BUILD_ROOT/%{prefix}/share/xcat/
 | 
			
		||||
 | 
			
		||||
%ifos linux
 | 
			
		||||
tar zxvf %{SOURCE3}
 | 
			
		||||
tar zxf %{SOURCE3}
 | 
			
		||||
%else
 | 
			
		||||
cp %{SOURCE3} $RPM_BUILD_ROOT/%{prefix}/share/xcat
 | 
			
		||||
gunzip templates.tar.gz 
 | 
			
		||||
tar -xvf templates.tar
 | 
			
		||||
gunzip -f templates.tar.gz
 | 
			
		||||
tar -xf templates.tar
 | 
			
		||||
rm templates.tar
 | 
			
		||||
%endif
 | 
			
		||||
 | 
			
		||||
@@ -61,11 +61,11 @@ cd -
 | 
			
		||||
cd $RPM_BUILD_ROOT/install
 | 
			
		||||
 | 
			
		||||
%ifos linux
 | 
			
		||||
tar zxvf %{SOURCE2}
 | 
			
		||||
tar zxf %{SOURCE2}
 | 
			
		||||
%else
 | 
			
		||||
cp %{SOURCE2} $RPM_BUILD_ROOT/install
 | 
			
		||||
gunzip postscripts.tar.gz
 | 
			
		||||
tar -xvf postscripts.tar
 | 
			
		||||
gunzip -f postscripts.tar.gz
 | 
			
		||||
tar -xf postscripts.tar
 | 
			
		||||
rm postscripts.tar
 | 
			
		||||
%endif
 | 
			
		||||
 | 
			
		||||
@@ -84,7 +84,7 @@ $RPM_INSTALL_PREFIX0/sbin/xcatconfig
 | 
			
		||||
%else
 | 
			
		||||
. /etc/profile.d/xcat.sh
 | 
			
		||||
 | 
			
		||||
if [ ! -f /install/postscripts/hostkeys/ssh_host_key ]; then 
 | 
			
		||||
if [ ! -f /install/postscripts/hostkeys/ssh_host_key ]; then
 | 
			
		||||
    echo Generating SSH1 RSA Key...
 | 
			
		||||
    /usr/bin/ssh-keygen -t rsa1 -f /install/postscripts/hostkeys/ssh_host_key -C '' -N ''
 | 
			
		||||
    echo Generating SSH2 RSA Key...
 | 
			
		||||
@@ -114,7 +114,7 @@ if [ "$1" = "1" ]; then #Only if installing for the fist time..
 | 
			
		||||
	/etc/rc.d/init.d/nfs stop
 | 
			
		||||
	/etc/rc.d/init.d/nfs start
 | 
			
		||||
	exportfs -a
 | 
			
		||||
    if [ ! -r /etc/xcat/site.sqlite ]; then 
 | 
			
		||||
    if [ ! -r /etc/xcat/site.sqlite ]; then
 | 
			
		||||
      XCATROOT=$RPM_INSTALL_PREFIX0 $RPM_INSTALL_PREFIX0/sbin/chtab key=xcatdport site.value=3001
 | 
			
		||||
      XCATROOT=$RPM_INSTALL_PREFIX0 $RPM_INSTALL_PREFIX0/sbin/chtab key=xcatiport site.value=3002
 | 
			
		||||
      XCATROOT=$RPM_INSTALL_PREFIX0 $RPM_INSTALL_PREFIX0/sbin/chtab key=tftpdir site.value=/tftpboot
 | 
			
		||||
@@ -123,19 +123,19 @@ if [ "$1" = "1" ]; then #Only if installing for the fist time..
 | 
			
		||||
      XCATROOT=$RPM_INSTALL_PREFIX0 $RPM_INSTALL_PREFIX0/sbin/chtab key=installdir site.value=/install
 | 
			
		||||
      XCATROOT=$RPM_INSTALL_PREFIX0 $RPM_INSTALL_PREFIX0/sbin/chtab key=timezone site.value=`grep ^ZONE /etc/sysconfig/clock|cut -d= -f 2|sed -e 's/"//g'`
 | 
			
		||||
    fi
 | 
			
		||||
    if [ ! -r /etc/xcat/policy.sqlite ]; then 
 | 
			
		||||
    if [ ! -r /etc/xcat/policy.sqlite ]; then
 | 
			
		||||
      XCATROOT=$RPM_INSTALL_PREFIX0 $RPM_INSTALL_PREFIX0/sbin/chtab priority=1 policy.name=root policy.rule=allow
 | 
			
		||||
      XCATROOT=$RPM_INSTALL_PREFIX0 $RPM_INSTALL_PREFIX0/sbin/chtab priority=2 policy.commands=getbmcconfig policy.rule=allow
 | 
			
		||||
      XCATROOT=$RPM_INSTALL_PREFIX0 $RPM_INSTALL_PREFIX0/sbin/chtab priority=3 policy.commands=nextdestiny policy.rule=allow
 | 
			
		||||
      XCATROOT=$RPM_INSTALL_PREFIX0 $RPM_INSTALL_PREFIX0/sbin/chtab priority=4 policy.commands=getdestiny policy.rule=allow
 | 
			
		||||
    fi
 | 
			
		||||
    
 | 
			
		||||
    if [ ! -d /etc/xcat/ca ]; then 
 | 
			
		||||
 | 
			
		||||
    if [ ! -d /etc/xcat/ca ]; then
 | 
			
		||||
      yes | $RPM_INSTALL_PREFIX0/share/xcat/scripts/setup-xcat-ca.sh "xCAT CA"
 | 
			
		||||
    fi
 | 
			
		||||
    mkdir -p /install/postscripts/ca
 | 
			
		||||
    cp -r /etc/xcat/ca/* /install/postscripts/ca
 | 
			
		||||
    if [ ! -d /etc/xcat/cert ]; then 
 | 
			
		||||
    if [ ! -d /etc/xcat/cert ]; then
 | 
			
		||||
      yes | $RPM_INSTALL_PREFIX0/share/xcat/scripts/setup-server-cert.sh `hostname`
 | 
			
		||||
    fi
 | 
			
		||||
    mkdir -p /install/postscripts/cert
 | 
			
		||||
@@ -150,11 +150,11 @@ if [ "$1" = "1" ]; then #Only if installing for the fist time..
 | 
			
		||||
	then
 | 
			
		||||
    	rm /tftpboot/pxelinux.cfg/default
 | 
			
		||||
	fi
 | 
			
		||||
    # make Management Node 
 | 
			
		||||
    # make Management Node
 | 
			
		||||
	touch /etc/xCATMN
 | 
			
		||||
	# setup syslog
 | 
			
		||||
        /install/postscripts/syslog
 | 
			
		||||
    fi
 | 
			
		||||
    #fi
 | 
			
		||||
 | 
			
		||||
    XCATROOT=$RPM_INSTALL_PREFIX0 /etc/init.d/xcatd start
 | 
			
		||||
    if [ -x $RPM_INSTALL_PREFIX0/sbin/mknb ]; then
 | 
			
		||||
 
 | 
			
		||||
@@ -7,8 +7,8 @@ then
 | 
			
		||||
    cd `dirname $0`
 | 
			
		||||
    echo '.svn' > /tmp/xcat-excludes
 | 
			
		||||
 | 
			
		||||
    tar -X /tmp/xcat-excludes -cvf /opt/freeware/src/packages/SOURCES/license.tar LICENSE.html
 | 
			
		||||
    gzip /opt/freeware/src/packages/SOURCES/license.tar
 | 
			
		||||
    tar -X /tmp/xcat-excludes -cf /opt/freeware/src/packages/SOURCES/license.tar LICENSE.html
 | 
			
		||||
    gzip -f /opt/freeware/src/packages/SOURCES/license.tar
 | 
			
		||||
 | 
			
		||||
    cp xcat.conf /opt/freeware/src/packages/SOURCES
 | 
			
		||||
    rm -f /opt/freeware/src/packages/SRPMS/xCATsn-2.0*rpm /opt/freeware/src/packages/RPMS/ppc/xCATsn-2.0*rpm
 | 
			
		||||
@@ -29,7 +29,7 @@ else
 | 
			
		||||
	fi
 | 
			
		||||
 | 
			
		||||
	cd `dirname $0`
 | 
			
		||||
	tar --exclude .svn -czvf /usr/src/$pkg/SOURCES/license.tar.gz LICENSE.html
 | 
			
		||||
	tar --exclude .svn -czf /usr/src/$pkg/SOURCES/license.tar.gz LICENSE.html
 | 
			
		||||
	cp xcat.conf /usr/src/$pkg/SOURCES
 | 
			
		||||
	rm -f /usr/src/$pkg/SRPMS/xCATsn-2.0*rpm /usr/src/$pkg/RPMS/*/xCATsn-2.0*rpm
 | 
			
		||||
	rpmbuild -ba xCATsn.spec
 | 
			
		||||
 
 | 
			
		||||
		Reference in New Issue
	
	Block a user