Remove the 'experimental' label in our config reference from things that
authorWard Vandewege <ward@curii.com>
Thu, 7 Oct 2021 14:14:23 +0000 (10:14 -0400)
committerWard Vandewege <ward@curii.com>
Thu, 7 Oct 2021 14:17:43 +0000 (10:17 -0400)
are not (PAM login support, a-d-c, Singularity support). Update the docs
for our LSF and Singularity support along the same lines, and update
formatting a bit to make the current limitations of the implementation
clear.

No issue #

Arvados-DCO-1.1-Signed-off-by: Ward Vandewege <ward@curii.com>

doc/install/crunch2-lsf/install-dispatch.html.textile.liquid
doc/install/singularity.html.textile.liquid
lib/config/config.default.yml
lib/config/generated_config.go

index 301fd7306ac82bbec8cc90978d831097f5937e7a..6fda506888f85692a03800269dec87a010178ba1 100644 (file)
@@ -13,18 +13,17 @@ SPDX-License-Identifier: CC-BY-SA-3.0
 arvados-dispatch-lsf is only relevant for on premises clusters that will spool jobs to LSF. Skip this section if you are installing a cloud cluster.
 {% include 'notebox_end' %}
 
-Containers can be dispatched to an LSF cluster.  The dispatcher sends work to the cluster using LSF's @bsub@ command, so it works in a variety of LSF configurations.
-
-*LSF support is currently considered experimental.*
+h2(#overview). Overview
 
-Limitations include:
-* Arvados container priority is not propagated to LSF job priority. This can cause inefficient use of compute resources, and even deadlock if there are fewer compute nodes than concurrent Arvados workflows.
-* Combining LSF with docker may not work, depending on LSF configuration and user/group IDs (if LSF only sets up the configured user's primary group ID when executing the crunch-run process on a compute node, it may not have permission to connect to the docker daemon).
+Containers can be dispatched to an LSF cluster.  The dispatcher sends work to the cluster using LSF's @bsub@ command, so it works in a variety of LSF configurations.
 
 In order to run containers, you must choose a user that has permission to set up FUSE mounts and run Singularity/Docker containers on each compute node.  This install guide refers to this user as the @crunch@ user.  We recommend you create this user on each compute node with the same UID and GID, and add it to the @fuse@ and @docker@ system groups to grant it the necessary permissions.  However, you can run the dispatcher under any account with sufficient permissions across the cluster.
 
 Set up all of your compute nodes "as you would for a SLURM cluster":../crunch2-slurm/install-compute-node.html.
 
+*Current limitations*:
+* Arvados container priority is not propagated to LSF job priority. This can cause inefficient use of compute resources, and even deadlock if there are fewer compute nodes than concurrent Arvados workflows.
+* Combining LSF with docker may not work, depending on LSF configuration and user/group IDs (if LSF only sets up the configured user's primary group ID when executing the crunch-run process on a compute node, it may not have permission to connect to the docker daemon).
 
 h2(#update-config). Update config.yml
 
@@ -32,7 +31,6 @@ Arvados-dispatch-lsf reads the common configuration file at @/etc/arvados/config
 
 Review the following configuration parameters and adjust as needed.
 
-
 h3(#BsubSudoUser). Containers.LSF.BsubSudoUser
 
 arvados-dispatch-lsf uses @sudo@ to execute @bsub@, for example @sudo -E -u crunch bsub [...]@. This means the @crunch@ account must exist on the hosts where LSF jobs run ("execution hosts"), as well as on the host where you are installing the Arvados LSF dispatcher (the "submission host"). To use a user account other than @crunch@, configure @BsubSudoUser@:
index 5adf2e8c7e7d02e5c966ba8150892c74b889caf0..bd990b491b77741172d59e773673d99d97fbdc1d 100644 (file)
@@ -9,16 +9,19 @@ Copyright (C) The Arvados Authors. All rights reserved.
 SPDX-License-Identifier: CC-BY-SA-3.0
 {% endcomment %}
 
+h2(#overview). Overview
+
 Arvados can be configured to use "Singularity":https://sylabs.io/singularity/ instead of Docker to execute containers on cloud nodes or a SLURM/LSF cluster. Singularity may be preferable due to its simpler installation and lack of long-running daemon process and special system users/groups.
 
-Please note:
-* *Singularity support is currently considered experimental.*
+*Current limitations*:
 * Even when using the singularity runtime, users' container images are expected to be saved in Docker format using @arv keep docker@. Arvados converts the Docker image to Singularity format (@.sif@) at runtime as needed. Specifying a @.sif@ file as an image when submitting a container request is not yet supported.
 * Singularity does not limit the amount of memory available in a container. Each container will have access to all memory on the host where it runs, unless memory use is restricted by SLURM/LSF.
 * Programs running in containers may behave differently due to differences between Singularity and Docker.
 ** The root (image) filesystem is read-only in a Singularity container. Programs that attempt to write outside a designated output or temporary directory are likely to fail.
 ** The Docker ENTRYPOINT instruction is ignored.
-* Arvados is currently tested with Singularity version 3.7.4.
+* Arvados is tested with Singularity version 3.7.4. Other versions may not work.
+
+h2(#configuration). Configuration
 
 To use singularity, first make sure "Singularity is installed":https://sylabs.io/guides/3.7/user-guide/quick_start.html on your cloud worker image or SLURM/LSF compute nodes as applicable. Note @squashfs-tools@ is required.
 
@@ -34,7 +37,7 @@ mksquashfs version 4.3-git (2014/06/09)
 Then update @Containers.RuntimeEngine@ in your cluster configuration:
 
 <notextile>
-<pre><code>      # Container runtime: "docker" (default) or "singularity" (experimental)
+<pre><code>      # Container runtime: "docker" (default) or "singularity"
       RuntimeEngine: singularity
 </code></pre>
 </notextile>
index 5bd575b123d5aa581f95285765dbc015767aa99f..8cbe51d2045a28a0612a2bfc60ff092ed9c43338 100644 (file)
@@ -683,7 +683,7 @@ Clusters:
         AcceptAccessTokenScope: ""
 
       PAM:
-        # (Experimental) Use PAM to authenticate users.
+        # Use PAM to authenticate users.
         Enable: false
 
         # PAM service name. PAM will apply the policy in the
@@ -881,8 +881,8 @@ Clusters:
       UsePreemptibleInstances: false
 
       # PEM encoded SSH key (RSA, DSA, or ECDSA) used by the
-      # (experimental) cloud dispatcher for executing containers on
-      # worker VMs. Begins with "-----BEGIN RSA PRIVATE KEY-----\n"
+      # cloud dispatcher for executing containers on worker VMs.
+      # Begins with "-----BEGIN RSA PRIVATE KEY-----\n"
       # and ends with "\n-----END RSA PRIVATE KEY-----\n".
       DispatchPrivateKey: ""
 
@@ -908,7 +908,7 @@ Clusters:
       # Minimum time between two attempts to run the same container
       MinRetryPeriod: 0s
 
-      # Container runtime: "docker" (default) or "singularity" (experimental)
+      # Container runtime: "docker" (default) or "singularity"
       RuntimeEngine: docker
 
       Logging:
@@ -1057,7 +1057,7 @@ Clusters:
         GitInternalDir: /var/lib/arvados/internal.git
 
       CloudVMs:
-        # Enable the cloud scheduler (experimental).
+        # Enable the cloud scheduler.
         Enable: false
 
         # Name/number of port where workers' SSH services listen.
index 4e24a5c7f6a387e60f2062242b7dad90513f74be..44a58f3593518ec6865dabfe894db02f3099a265 100644 (file)
@@ -689,7 +689,7 @@ Clusters:
         AcceptAccessTokenScope: ""
 
       PAM:
-        # (Experimental) Use PAM to authenticate users.
+        # Use PAM to authenticate users.
         Enable: false
 
         # PAM service name. PAM will apply the policy in the
@@ -887,8 +887,8 @@ Clusters:
       UsePreemptibleInstances: false
 
       # PEM encoded SSH key (RSA, DSA, or ECDSA) used by the
-      # (experimental) cloud dispatcher for executing containers on
-      # worker VMs. Begins with "-----BEGIN RSA PRIVATE KEY-----\n"
+      # cloud dispatcher for executing containers on worker VMs.
+      # Begins with "-----BEGIN RSA PRIVATE KEY-----\n"
       # and ends with "\n-----END RSA PRIVATE KEY-----\n".
       DispatchPrivateKey: ""
 
@@ -914,7 +914,7 @@ Clusters:
       # Minimum time between two attempts to run the same container
       MinRetryPeriod: 0s
 
-      # Container runtime: "docker" (default) or "singularity" (experimental)
+      # Container runtime: "docker" (default) or "singularity"
       RuntimeEngine: docker
 
       Logging:
@@ -1063,7 +1063,7 @@ Clusters:
         GitInternalDir: /var/lib/arvados/internal.git
 
       CloudVMs:
-        # Enable the cloud scheduler (experimental).
+        # Enable the cloud scheduler.
         Enable: false
 
         # Name/number of port where workers' SSH services listen.