[LON-CAPA-cvs] cvs: loncom / lonManage
foxr
lon-capa-cvs@mail.lon-capa.org
Tue, 28 Oct 2003 11:55:58 -0000
foxr Tue Oct 28 06:55:58 2003 EDT
Modified files:
/loncom lonManage
Log:
Add switch processing and usage for standalone mode; To invoke standalone mode
>both< of the following switches will need to be present with values:
--myname=hostname - hostname is the name lonManage will use to negotiate the
host key. This must match the hostname given to this system in
the manager table read by the associated lond.
--hosts=filename - filename will be read as the hosts.tab for this invocation
of lonc.
This will allow the program to run standalone as well as to manage nodes in a
cluster other than the one it is a member of (assuming the remote management
table allows that).
Index: loncom/lonManage
diff -u loncom/lonManage:1.17 loncom/lonManage:1.18
--- loncom/lonManage:1.17 Tue Oct 28 06:28:35 2003
+++ loncom/lonManage Tue Oct 28 06:55:58 2003
@@ -3,9 +3,9 @@
#
# lonManage supports remote management of nodes in a LonCAPA cluster.
#
-# $Id: lonManage,v 1.17 2003/10/28 11:28:35 foxr Exp $
+# $Id: lonManage,v 1.18 2003/10/28 11:55:58 foxr Exp $
#
-# $Id: lonManage,v 1.17 2003/10/28 11:28:35 foxr Exp $
+# $Id: lonManage,v 1.18 2003/10/28 11:55:58 foxr Exp $
#
# Copyright Michigan State University Board of Trustees
#
@@ -71,25 +71,28 @@
my %perlvar; # Perl variable defs from apache config.
my %hostshash; # Host table as a host indexed hash.
+my $MyHost; # Host name to use as me.
+my $ForeignHostTab; # Name of foreign hosts table.
+
#
# prints out utility's command usage info.
#
sub Usage {
print "Usage:";
print <<USAGE;
- lonManage --push=<tablename> newfile [host]
+ lonManage [--myname=host --hosts=table] --push=<tablename> newfile [host]
Push <tablename> to the lonTabs directory. Note that
<tablename> must be one of:
host (hosts.tab)
domain (domain.tab)
- lonManage --reinit=lonc [host]
+ lonManage [--myname=host --hosts=table] --reinit=lonc [host]
Causes lonc in the remote system to reread hosts.tab and
adjust the set of clients that are being maintained to match
the new file.
- lonManage --reinit=lond [host]
+ lonManage [--myname=host --hosts=table] --reinit=lond [host]
Causes lond in the remote system to reread the hosts.tab file
and adjust the set of servers to match changes in that file.
@@ -99,6 +102,10 @@
If [host] is omitted, all hosts in the hosts.tab file are iterated
over.
+ For all of the above syntaxes if --myname=host and --hosts=table are
+ supplied (both must be present), the utility runs in standalone mode
+ presenting itself to the world as 'host' and using the hosts.tab file
+ specified in the --hosts switch.
USAGE
@@ -150,12 +157,24 @@
# returns an empty list if the parse fails.
#
+
sub ParseArgs {
my $pushing = '';
my $reinitting = '';
if(!GetOptions('push=s' => \$pushing,
- 'reinit=s' => \$reinitting)) {
+ 'reinit=s' => \$reinitting,
+ 'myname=s' => \$MyHost,
+ 'hosts=s' => \$ForeignHostTab)) {
+ return ();
+ }
+ # The --myname and --hosts switch must have values and
+ # most both appear if either appears:
+
+ if(($MyHost ne "") && ($ForeignHostTab eq "")) {
+ return ();
+ }
+ if(($ForeignHostTab ne "") && ($MyHost eq "")) {
return ();
}