-
Notifications
You must be signed in to change notification settings - Fork 68
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Signed-off-by: Ralph Castain <[email protected]>
- Loading branch information
Showing
1 changed file
with
313 additions
and
0 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,313 @@ | ||
{% extends "layout.html" %} | ||
{% set title = 'PRRTE DVM Configuration Tool' %} | ||
{% block body %} | ||
<!-- | ||
Copyright (C) 2023 Nanook Consulting. All rights reserved | ||
This file is part of the PMIx Reference RunTime Environment (PRRTE), an | ||
RTE that provides full PMIx support. For details, see the repository | ||
at <https://github.com/openpmix/prrte/>. | ||
PRRTE is free software distributed under the 3-clause BSD license. It | ||
is distributed in the hope that it will be useful, but WITHOUT ANY | ||
WARRANTY or implied warranty of MERCHANTABILITY or FITNESS | ||
FOR A PARTICULAR PURPOSE. See the full license statement at | ||
<https://docs.prrte.org/en/latest/license.html> for details. | ||
--> | ||
<html lang="en"> | ||
<head> | ||
<meta charset="UTF-8" /> | ||
<meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1"> | ||
<meta name="viewport" content="width=device-width, initial-scale=1.0"> | ||
<title>PRRTE DVM Configuration Tool</title> | ||
<meta name="description" content="PRRTE DVM Configuration Tool: An easy way to create a PRRTE configuration file" /> | ||
<style> | ||
.onoffswitch { | ||
position: relative; width: 90px; | ||
-webkit-user-select:none; -moz-user-select:none; -ms-user-select: none; | ||
} | ||
.onoffswitch-checkbox { | ||
display: none; | ||
} | ||
.onoffswitch-label { | ||
display: block; overflow: hidden; cursor: pointer; | ||
border: 2px solid #999999; border-radius: 20px; | ||
} | ||
.onoffswitch-inner { | ||
display: block; width: 200%; margin-left: -100%; | ||
transition: margin 0.3s ease-in 0s; | ||
} | ||
.onoffswitch-inner:before, .onoffswitch-inner:after { | ||
display: block; float: left; width: 50%; height: 30px; padding: 0; line-height: 30px; | ||
font-size: 14px; color: white; font-family: Trebuchet, Arial, sans-serif; font-weight: bold; | ||
box-sizing: border-box; | ||
} | ||
.onoffswitch-inner:before { | ||
content: "ON"; | ||
padding-left: 10px; | ||
background-color: #34A7C1; color: #FFFFFF; | ||
} | ||
.onoffswitch-inner:after { | ||
content: "OFF"; | ||
padding-right: 10px; | ||
background-color: #EEEEEE; color: #999999; | ||
text-align: right; | ||
} | ||
.onoffswitch-switch { | ||
display: block; width: 18px; margin: 6px; | ||
background: #FFFFFF; | ||
position: absolute; top: 0; bottom: 0; | ||
right: 56px; | ||
border: 2px solid #999999; border-radius: 20px; | ||
transition: all 0.3s ease-in 0s; | ||
} | ||
.onoffswitch-checkbox:checked + .onoffswitch-label .onoffswitch-inner { | ||
margin-left: 0; | ||
} | ||
.onoffswitch-checkbox:checked + .onoffswitch-label .onoffswitch-switch { | ||
right: 0px; | ||
} | ||
</style> | ||
</head> | ||
|
||
<SCRIPT type="text/javascript"> | ||
<!-- | ||
function get_field(name,form) | ||
{ | ||
if (form.value) { | ||
return name + "=" + form.value | ||
} | ||
return "#" + name + "=" | ||
} | ||
|
||
function get_checkbox_value(form) | ||
{ | ||
if (form.checked) { | ||
return "ON" | ||
} else { | ||
return "OFF" | ||
} | ||
} | ||
|
||
function displayfile() | ||
{ | ||
var printme = "# prte.conf file generated by prte-configurator.html.<br>" + | ||
"# Put this file on all nodes of your cluster.<br>" + | ||
"# See the prte.conf documentation for more information.<br>" + | ||
"#<br>" + | ||
"# Bootstrap Options<br>" + | ||
get_field("ClusterName",document.config.cluster_name) + "<br>" + | ||
get_field("DVMControllerHost",document.config.controller_host) + "<br>" + | ||
get_field("DVMControllerPort",document.config.controller_port) + "<br>" + | ||
get_field("PRTEDPort",document.config.prted_port) + "<br>" + | ||
get_field("DVMNodes",document.config.dvm_nodes) + "<br>" + | ||
"# <br>" + | ||
"# Operational Options<br>" + | ||
get_field("DVMTempDir",document.config.dvm_tmpdir) + "<br>" + | ||
get_field("SessionTmpDir",document.config.session_tmpdir) + "<br>" + | ||
"# <br>" + | ||
"# Logging Options<br>" + | ||
"ControllerLogJobState=" + get_checkbox_value(document.config.ctrlr_logjobstate) + "<br>" + | ||
"ControllerLogProcState=" + get_checkbox_value(document.config.ctrlr_logprocstate) + "<br>" + | ||
get_field("ControllerLogPath",document.config.ctrlr_logpath) + "<br>" + | ||
"PRTEDLogJobState=" + get_checkbox_value(document.config.prted_logjobstate) + "<br>" + | ||
"PRTEDLogProcState=" + get_checkbox_value(document.config.prted_logprocstate) + "<br>" + | ||
get_field("PRTEDLogPath",document.config.prted_logpath) + "<br>" | ||
|
||
document.open(); | ||
document.write(printme); | ||
document.close(); | ||
} | ||
|
||
--> | ||
</SCRIPT> | ||
<!-- <div style='visibility:hidden;text-align:left;background:#ccc;border:1px solid black;position: absolute;left:100;z-index:1;padding:5;' id='out_box'></div> --> | ||
<form name=config> | ||
<H1>PRRTE Version v{{ release }} DVM Configuration Tool</H1> | ||
<P>This configuration tool is intended to help system administrators create | ||
a PRRTE configuration file that sets important configuration parameters.</P> | ||
|
||
<P>While every attempt is made to maintain compatibility of the PRRTE | ||
configuration tool and options across versions, we recommend that the | ||
configuration file be built using the tool distributed with the version | ||
being installed on your cluster. Some parameters will be set to default | ||
values, but you can manually edit the resulting <I>prte.conf</I> file as desired | ||
for greater flexibility. See the PRRTE documentation at <A HREF="https://docs.prrte.org">https://docs.prrte.org</A>, | ||
or your locally generated docs (if available), for more | ||
details about the configuration parameters for this version.</P> | ||
|
||
<P>Note that while PRRTE daemons create log files and other files as needed, | ||
they treat the lack of parent directories (e.g., the specified "DVMTempDir") | ||
as a fatal error. This prevents the daemons from running if critical file | ||
systems are not mounted.</P> | ||
|
||
<P>After you have filled in the fields of interest, use the | ||
"Submit" button on the bottom of the page to display the resulting | ||
<I>prte.conf</I> file. It will appear on your web browser. Save the file | ||
in text format as <I>prte.conf</I> for use by the DVM. | ||
|
||
<P><B>NOTE:</B> Hostname values should not be specified as fully qualified domain | ||
names (e.g. use <I>foo</I> rather than <I>foo.bar.com</I>). | ||
</P> | ||
|
||
<P><B>NOTE:</B> This configuration file must be installed as <I>prte.conf</I> in the | ||
<I>etc</I> directory under the PRRTE installation location on all nodes in your cluster. | ||
For example, if PRRTE was installed in <I>/prrte</I>, then the configuration file | ||
must be stored as <I>/prrte/etc/prte.conf</I> so that all prted daemons can find it. | ||
</P> | ||
|
||
<H2>Supported Options</H2> | ||
The following options are supported by PRRTE v{{ release }}. | ||
|
||
<H3>Bootstrap Options</H3> | ||
|
||
<b>ClusterName</b>: <input type="text" name="cluster_name" value="cluster"> | ||
<BR> | ||
The name of the cluster upon which the DVM is executing. This is used by PRRTE | ||
to form the namespace for the DVM daemons, which is taken as <I><clustername>-prte-dvm</I>. | ||
Using different names for each of your clusters is important if you use a single | ||
database to record information from multiple PRRTE-managed clusters. | ||
<BR> | ||
<BR> | ||
|
||
<b>DVMControllerHost</b>: <input type="text" name="controller_host" value="host0"> | ||
<BR> | ||
The host upon which the DVM controller will be executing. The <I>prted</I> that | ||
finds itself booting onto this host will declare itself to be the system controller | ||
and will initialize itself accordingly. | ||
<BR> | ||
<BR> | ||
|
||
<b>DVMControllerPort</b>: <input type="text" name="controller_port" value="7817"> | ||
<BR> | ||
The TCP port upon which the | ||
DVM controller will be listening for connections from its <I>prted</I> daemons | ||
on the remaining system nodes. | ||
<BR> | ||
<BR> | ||
|
||
<b>PRTEDPort</b>: <input type="text" name="prted_port" value="7818"> | ||
<BR> | ||
The TCP port upon which each | ||
<I>prted</I> daemon will be listening for connections from its peer daemons | ||
on the other system nodes. | ||
<BR> | ||
<BR> | ||
|
||
<b>DVMNodes</b>: <input type="text" name="dvm_nodes" value=""> | ||
<BR> | ||
Provides a regular expression | ||
identifying the nodes that upon which user applications can run. IP addresses can | ||
be provided in place of hostnames if desired.The regular expression can consist of | ||
a simple comma-delimited list of hostnames, or a comma-delimited list of hostname | ||
ranges (e.g., "linux0,linux[2-10]"), or a PMIx "native" regular expression. | ||
<BR> | ||
<BR> | ||
|
||
|
||
<H3>Operational Options</H3> | ||
|
||
<b>DVMTempDir</b>: <input type="text" name="dvm_tmpdir" value="/tmp"> | ||
<BR> | ||
The temporary directory that the | ||
DVM daemons and controller are to use as the base for their session directories. | ||
Working files/directories for the DVM will be placed under this location. | ||
<BR> | ||
<BR> | ||
|
||
<b>SessionTmpDir</b>: <input type="text" name="session_tmpdir" value="/tmp"> | ||
<BR> | ||
The temporary directory that | ||
the DVM daemons are to use as the base for session directories for all | ||
application sessions. Working files for each session will be placed under | ||
this location, separated out into a directory for each session. | ||
<BR> | ||
<BR> | ||
|
||
<H3>Logging Options</H3> | ||
|
||
<b>ControllerLogJobState</b>: | ||
<div class="onoffswitch"> | ||
<input type="checkbox" name="ctrlr_logjobstate" class="onoffswitch-checkbox" id="ControllerLogJobState" checked> | ||
<label class="onoffswitch-label" for="ControllerLogJobState"> | ||
<span class="onoffswitch-inner"></span> | ||
<span class="onoffswitch-switch"></span> | ||
</label> | ||
</div> | ||
Directs the DVM | ||
controller to log each DVM-launched job state transition. Log entry includes | ||
the namespace of the job, the state to which it is transitioning, and the | ||
date/time stamp when the transition was ordered. | ||
<BR> | ||
<BR> | ||
|
||
<b>ControllerLogProcState</b>: | ||
<div class="onoffswitch"> | ||
<input type="checkbox" name="ctrlr_logprocstate" class="onoffswitch-checkbox" id="ControllerLogProcState" checked> | ||
<label class="onoffswitch-label" for="ControllerLogProcState"> | ||
<span class="onoffswitch-inner"></span> | ||
<span class="onoffswitch-switch"></span> | ||
</label> | ||
</div> | ||
Directs the DVM | ||
controller to log each process (in a DVM-launched job) state transition. | ||
Log entry includes the namespace and rank of the process, the state to | ||
which it is transitioning, and the date/time stamp when the transition was | ||
ordered. | ||
<BR> | ||
<BR> | ||
|
||
<b>ControllerLogPath</b>: <input type="text" name="ctrlr_logpath" value=""> | ||
<BR> | ||
Path to where the logs are to be written. If a relative path is provided, | ||
then the directory will be created under the <I>DVMTempDir</I> location. The | ||
path defaults to the specified SessionTmpDir in the absence of any input | ||
to this field. The log filename is formatted as <I>prtectrlr-<hostname>-log</I>. | ||
<BR> | ||
<BR> | ||
|
||
<b>PRTEDLogJobState</b>: | ||
<div class="onoffswitch"> | ||
<input type="checkbox" name="prted_logjobstate" class="onoffswitch-checkbox" id="PRTEDLogJobState" checked> | ||
<label class="onoffswitch-label" for="PRTEDLogJobState"> | ||
<span class="onoffswitch-inner"></span> | ||
<span class="onoffswitch-switch"></span> | ||
</label> | ||
</div> | ||
Directs each <I>prted</I> | ||
in the DVM to log each DVM-launched job state transition. Log entry includes | ||
the namespace of the job, the state to which it is transitioning, and the | ||
date/time stamp when the transition was ordered. | ||
<BR> | ||
<BR> | ||
|
||
<b>PRTEDLogProcState</b>: | ||
<div class="onoffswitch"> | ||
<input type="checkbox" name="prted_logprocstate" class="onoffswitch-checkbox" id="PRTEDLogProcState" checked> | ||
<label class="onoffswitch-label" for="PRTEDLogProcState"> | ||
<span class="onoffswitch-inner"></span> | ||
<span class="onoffswitch-switch"></span> | ||
</label> | ||
</div> | ||
Directs each <I>prted</I> | ||
in the DVM to log each process (in a DVM-launched job) state transition. | ||
Log entry includes the namespace and rank of the process, the state to | ||
which it is transitioning, and the date/time stamp when the transition was | ||
ordered. | ||
<BR> | ||
<BR> | ||
|
||
<b>PRTEDLogPath</b>: <input type="text" name="prted_logpath" value=""> | ||
<BR> | ||
Path to where the logs are to be written. If a relative path is provided, | ||
then the directory will be created under the <I>DVMTempDir</I> location. The | ||
path defaults to the specified SessionTmpDir in the absence of any input | ||
to this field. The log filename is formatted as <I>prted-<hostname>-log</I>. | ||
|
||
<BR> | ||
<BR> | ||
<input type=button value="Submit" onClick="javascript:displayfile()"> | ||
<input type=reset value="Reset Form"> | ||
</form> | ||
{% endblock %} |