[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.