[LON-CAPA-cvs] cvs: loncom / lonManage

foxr lon-capa-cvs@mail.lon-capa.org
Mon, 18 Aug 2003 10:43:31 -0000


foxr		Mon Aug 18 06:43:31 2003 EDT

  Modified files:              
    /loncom	lonManage 
  Log:
  Code/test ValidHost.  The hosts.tab and the perl variables are read in as 
  global hashes as a side effect.  May later want to clean this up by making
  a separate getconfig function and hoisting the config reads into that.
  
  
  
Index: loncom/lonManage
diff -u loncom/lonManage:1.9 loncom/lonManage:1.10
--- loncom/lonManage:1.9	Mon Aug 18 06:25:46 2003
+++ loncom/lonManage	Mon Aug 18 06:43:31 2003
@@ -3,9 +3,9 @@
 #
 #  lonManage supports remote management of nodes in a LonCAPA cluster.
 #
-#  $Id: lonManage,v 1.9 2003/08/18 10:25:46 foxr Exp $
+#  $Id: lonManage,v 1.10 2003/08/18 10:43:31 foxr Exp $
 #
-# $Id: lonManage,v 1.9 2003/08/18 10:25:46 foxr Exp $
+# $Id: lonManage,v 1.10 2003/08/18 10:43:31 foxr Exp $
 #
 # Copyright Michigan State University Board of Trustees
 #
@@ -50,6 +50,11 @@
 #    not the IP address of the host.
 #
 #  $Log: lonManage,v $
+#  Revision 1.10  2003/08/18 10:43:31  foxr
+#  Code/test ValidHost.  The hosts.tab and the perl variables are read in as
+#  global hashes as a side effect.  May later want to clean this up by making
+#  a separate getconfig function and hoisting the config reads into that.
+#
 #  Revision 1.9  2003/08/18 10:25:46  foxr
 #  Write ReinitProcess function in terms of ValidHost and Transact.
 #
@@ -80,9 +85,18 @@
 #  Add usage and skeleton documentation.
 #
 #
+
+# Modules required:
+
 use strict;			# Because it's good practice.
 use English;			# Cause I like meaningful names.
 use Getopt::Long;
+use LONCAPA::Configuration;	# To handle configuration I/O.
+
+# File scoped variables:
+
+my %perlvar;			# Perl variable defs from apache config.
+my %hostshash;			# Host table as a host indexed hash.
 
 sub Usage  {
     print "Usage:";
@@ -187,10 +201,31 @@
     
     return @result;
 }
+#
+#  Determine if the target host is valid.
+#  This is done by reading the current hosts.tab file.
+#  For the host to be valid, it must be inthe file.
+#
+#  Parameters:
+#     host   - Name of host to check on.
+#  Returns:
+#     true   if host is valid.
+#     false  if host is invalid.
+#
 sub ValidHost {
-    return 1;
+    my $host       = shift;
+
+    my $perlvarref = LONCAPA::Configuration::read_conf('loncapa.conf');
+    %perlvar       = %{$perlvarref};
+    my $hoststab   = LONCAPA::Configuration::read_hosts(
+					"$perlvar{'lonTabDir'}/hosts.tab");
+    %hostshash     = %{$hoststab};
+
+    return defined $hostshash{$host};
+
 }
 sub Transact {
+
 }
 #
 #   Called to push a file to the remote system.