20182: Add option to limit the number of supervisor containers
[arvados.git] / lib / config / config.default.yml
index 078dbf494eda04b95bce38a963b06a4365e7292c..882ee62c35a201efa1431ecdd9cde16d4fa82144 100644 (file)
@@ -288,6 +288,9 @@ Clusters:
       # any user with "manage" permission can un-freeze.
       UnfreezeProjectRequiresAdmin: false
 
+      # (Experimental) Use row-level locking on update API calls.
+      LockBeforeUpdate: false
+
     Users:
       # Config parameters to automatically setup new users.  If enabled,
       # this users will be able to self-activate.  Enable this if you want
@@ -803,6 +806,16 @@ Clusters:
         # Skip TLS certificate name verification.
         InsecureTLS: false
 
+        # Mininum TLS version to negotiate when connecting to server
+        # (ldaps://... or StartTLS). It may be necessary to set this
+        # to "1.1" for compatibility with older LDAP servers that fail
+        # with 'LDAP Result Code 200 "Network Error": TLS handshake
+        # failed (tls: server selected unsupported protocol version
+        # 301)'.
+        #
+        # If blank, use the recommended minimum version (1.2).
+        MinTLSVersion: ""
+
         # Strip the @domain part if a user supplies an email-style
         # username with this domain. If "*", strip any user-provided
         # domain. If "", never strip the domain part. Example:
@@ -992,13 +1005,6 @@ Clusters:
       # with the cancelled container.
       MaxRetryAttempts: 3
 
-      # The maximum number of compute nodes that can be in use simultaneously
-      # If this limit is reduced, any existing nodes with slot number >= new limit
-      # will not be counted against the new limit. In other words, the new limit
-      # won't be strictly enforced until those nodes with higher slot numbers
-      # go down.
-      MaxComputeVMs: 64
-
       # Schedule all child containers on preemptible instances (e.g. AWS
       # Spot Instances) even if not requested by the submitter.
       #
@@ -1049,6 +1055,16 @@ Clusters:
       # Container runtime: "docker" (default) or "singularity"
       RuntimeEngine: docker
 
+      # Number of "supervisor" containers eligible to run at any given
+      # time expressed as a fraction of CloudVMs.MaxInstances. A
+      # supervisor is a container who's purpose is to submit other
+      # containers, such as a container running arvados-cwl-runner.
+      # If there is a hard limit on the amount of concurrent
+      # containers that the cluster can run, it is important to avoid
+      # crowding out the containers doing useful work with containers
+      # who just create more work.
+      SupervisorFraction: 0.3
+
       # When running a container, run a dedicated keepstore process,
       # using the specified number of 64 MiB memory buffers per
       # allocated CPU core (VCPUs in the container's runtime
@@ -1314,6 +1330,15 @@ Clusters:
         # providers too, if desired.
         MaxConcurrentInstanceCreateOps: 1
 
+        # The maximum number of instances to run at a time, or 0 for
+        # unlimited.
+        #
+        # If more instances than this are already running and busy
+        # when the dispatcher starts up, the running containers will
+        # be allowed to finish before the excess instances are shut
+        # down.
+        MaxInstances: 64
+
         # Interval between cloud provider syncs/updates ("list all
         # instances").
         SyncInterval: 1m
@@ -1397,7 +1422,8 @@ Clusters:
 
           # (ec2) how often to look up spot instance pricing data
           # (only while running spot instances) for the purpose of
-          # calculating container cost estimates.
+          # calculating container cost estimates. A value of 0
+          # disables spot price lookups entirely.
           SpotPriceUpdateInterval: 24h
 
           # (ec2) per-GiB-month cost of EBS volumes. Matches
@@ -1765,9 +1791,11 @@ Clusters:
       # This feature is disabled when set to zero.
       IdleTimeout: 0s
 
-      # URL to a file that is a fragment of text or HTML which should
-      # be rendered in Workbench as a banner.
-      BannerURL: ""
+      # UUID of a collection.  This collection should be shared with
+      # all users.  Workbench will look for a file "banner.html" in
+      # this collection and display its contents (should be
+      # HTML-formatted text) when users first log in to Workbench.
+      BannerUUID: ""
 
       # Workbench welcome screen, this is HTML text that will be
       # incorporated directly onto the page.