Skip to content

Commit

Permalink
Add missing template
Browse files Browse the repository at this point in the history
Signed-off-by: Ralph Castain <rhc@pmix.org>
  • Loading branch information
rhc54 committed Sep 14, 2023
1 parent 1f4d024 commit 6e431d5
Showing 1 changed file with 313 additions and 0 deletions.
313 changes: 313 additions & 0 deletions docs/_templates/configurator.html
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 %}

0 comments on commit 6e431d5

Please sign in to comment.