Diff for /loncom/Attic/lonManage between versions 1.7 and 1.9

version 1.7, 2003/08/18 09:56:01 version 1.9, 2003/08/18 10:25:46
Line 50 Line 50
 #    not the IP address of the host.  #    not the IP address of the host.
 #  #
 #  $Log$  #  $Log$
   #  Revision 1.9  2003/08/18 10:25:46  foxr
   #  Write ReinitProcess function in terms of ValidHost and Transact.
   #
   #  Revision 1.8  2003/08/18 10:18:21  foxr
   #  Completed PushFile function in terms of
   #  - ValidHost - Determines if target host is valid.
   #  - Transact  - Performs one of the valid transactions with the
   #                appropriate lonc<-->lond client/server pairs.
   #
 #  Revision 1.7  2003/08/18 09:56:01  foxr  #  Revision 1.7  2003/08/18 09:56:01  foxr
 #  1. Require to be run as root.  #  1. Require to be run as root.
 #  2. Catch case where no operation switch is supplied and put out usage.  #  2. Catch case where no operation switch is supplied and put out usage.
Line 178  sub ParseArgs { Line 187  sub ParseArgs {
           
     return @result;      return @result;
 }  }
   sub ValidHost {
       return 1;
   }
   sub Transact {
   }
 #  #
 #   Called to push a file to the remote system.  #   Called to push a file to the remote system.
 #   The only legal files to push are hosts.tab and domain.tab.  #   The only legal files to push are hosts.tab and domain.tab.
Line 199  sub PushFile { Line 213  sub PushFile {
     my $tablefile = shift;      my $tablefile = shift;
     my $host      = shift;      my $host      = shift;
           
 }      # Open the table file:
   
       if(!open(TABLEFILE, "<$tablefile")) {
    die "ENOENT - No such file or directory $tablefile";
       }
     
       # Require that the host be valid:
   
       if(!ValidHost($host)) {
    die "EHOSTINVAL - Invalid host $host"; # Ok so I invented this 'errno'.
       }
       # Read in the file.  If the table name is valid, push it.
   
       my @table = <TABLEFILE>; #  These files are pretty small.
       close TABLEFILE;
   
       if( ($tablename eq "host")    ||
    ($tablename eq "domain")) {
    Transact($host, "pushfile:$tablename:",\@table);
       } else {
    die "EINVAL - Invalid parameter. tablename: $tablename must be host or domain";
       }
   }
   #
   #   This function is called to reinitialize a server in a remote host.
   #   The servers that can be reinitialized are:
   #   - lonc   - The lonc client process.
   #   - lond   - The lond daemon.
   #  NOTE:
   #    Reinitialization in this case means re-scanning the hosts table,
   #    starting new lond/lonc's as approprate and stopping existing lonc/lond's.
   #
   #  Parameters:
   #     process - The name of the process to reinit (lonc or lond).
   #     host    - The host in which this reinit will happen.
   #
 sub ReinitProcess {  sub ReinitProcess {
     print "Reinitializing a process\n";      my $process = shift;
       my $host    = shift;
   
       #  Ensure the host is valid:
       
       if(!ValidHost($host)) {
    die "EHOSTINVAL - Invalid host $host";
       }
       # Ensure target process selector is valid:
   
       if(($process eq "lonc") ||
          ($process eq "lond")) {
    Transact($host, "reinit:$process");
       } else {
    die "EINVAL -Invalid parameter. Process $process must be lonc or lond";
       }
 }  }
 #--------------------------- Entry point: --------------------------  #--------------------------- Entry point: --------------------------
   

Removed from v.1.7  
changed lines
  Added in v.1.9


FreeBSD-CVSweb <freebsd-cvsweb@FreeBSD.org>