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

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


foxr		Mon Aug 18 06:25:46 2003 EDT

  Modified files:              
    /loncom	lonManage 
  Log:
  Write ReinitProcess function in terms of ValidHost and Transact.
  
  
Index: loncom/lonManage
diff -u loncom/lonManage:1.8 loncom/lonManage:1.9
--- loncom/lonManage:1.8	Mon Aug 18 06:18:21 2003
+++ loncom/lonManage	Mon Aug 18 06:25:46 2003
@@ -3,9 +3,9 @@
 #
 #  lonManage supports remote management of nodes in a LonCAPA cluster.
 #
-#  $Id: lonManage,v 1.8 2003/08/18 10:18:21 foxr Exp $
+#  $Id: lonManage,v 1.9 2003/08/18 10:25:46 foxr Exp $
 #
-# $Id: lonManage,v 1.8 2003/08/18 10:18:21 foxr Exp $
+# $Id: lonManage,v 1.9 2003/08/18 10:25:46 foxr Exp $
 #
 # Copyright Michigan State University Board of Trustees
 #
@@ -50,6 +50,9 @@
 #    not the IP address of the host.
 #
 #  $Log: lonManage,v $
+#  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.
@@ -233,9 +236,36 @@
 	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 {
-    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: --------------------------