--- loncom/Attic/lonManage 2003/08/18 10:18:21 1.8 +++ loncom/Attic/lonManage 2003/08/18 10:25:46 1.9 @@ -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 @@ sub PushFile { 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: --------------------------