18113: change MaxCloudOpsPerSecond and MaxConcurrentInstanceCreateOps
[arvados.git] / lib / config / config.default.yml
index 93edae981000cc2bc5d886376054ff4e4f984640..740d75836ac4482cca86e036e7ce1cb6a39345cc 100644 (file)
@@ -52,9 +52,9 @@ Clusters:
       DispatchCloud:
         InternalURLs: {SAMPLE: {}}
         ExternalURL: "-"
-      SSO:
+      DispatchLSF:
         InternalURLs: {SAMPLE: {}}
-        ExternalURL: ""
+        ExternalURL: "-"
       Keepproxy:
         InternalURLs: {SAMPLE: {}}
         ExternalURL: ""
@@ -273,6 +273,7 @@ Clusters:
       AdminNotifierEmailFrom: arvados@example.com
       EmailSubjectPrefix: "[ARVADOS] "
       UserNotifierEmailFrom: arvados@example.com
+      UserNotifierEmailBcc: {}
       NewUserNotificationRecipients: {}
       NewInactiveUserNotificationRecipients: {}
 
@@ -459,6 +460,13 @@ Clusters:
       # long-running balancing operation.
       BalanceTimeout: 6h
 
+      # Maximum number of replication_confirmed /
+      # storage_classes_confirmed updates to write to the database
+      # after a rebalancing run. When many updates are needed, this
+      # spreads them over a few runs rather than applying them all at
+      # once.
+      BalanceUpdateLimit: 100000
+
       # Default lifetime for ephemeral collections: 2 weeks. This must not
       # be less than BlobSigningTTL.
       DefaultTrashLifetime: 336h
@@ -520,10 +528,10 @@ Clusters:
       # WebDAV would have to expose XSS vulnerabilities in order to
       # handle the redirect (see discussion on Services.WebDAV).
       #
-      # This setting has no effect in the recommended configuration,
-      # where the WebDAV is configured to have a separate domain for
-      # every collection; in this case XSS protection is provided by
-      # browsers' same-origin policy.
+      # This setting has no effect in the recommended configuration, where the
+      # WebDAV service is configured to have a separate domain for every
+      # collection and XSS protection is provided by browsers' same-origin
+      # policy.
       #
       # The default setting (false) is appropriate for a multi-user site.
       TrustAllContent: false
@@ -545,17 +553,42 @@ Clusters:
         # Approximate memory limit (in bytes) for collection cache.
         MaxCollectionBytes: 100000000
 
-        # Permission cache entries.
-        MaxPermissionEntries: 1000
-
         # UUID cache entries.
         MaxUUIDEntries: 1000
 
         # Persistent sessions.
         MaxSessions: 100
 
+      # Selectively set permissions for regular users and admins to
+      # download or upload data files using the upload/download
+      # features for Workbench, WebDAV and S3 API support.
+      WebDAVPermission:
+        User:
+          Download: true
+          Upload: true
+        Admin:
+          Download: true
+          Upload: true
+
+      # Selectively set permissions for regular users and admins to be
+      # able to download or upload blocks using arv-put and
+      # arv-get from outside the cluster.
+      KeepproxyPermission:
+        User:
+          Download: true
+          Upload: true
+        Admin:
+          Download: true
+          Upload: true
+
+      # Post upload / download events to the API server logs table, so
+      # that they can be included in the arv-user-activity report.
+      # You can disable this if you find that it is creating excess
+      # load on the API server and you don't need it.
+      WebDAVLogEvents: true
+
     Login:
-      # One of the following mechanisms (SSO, Google, PAM, LDAP, or
+      # One of the following mechanisms (Google, PAM, LDAP, or
       # LoginCluster) should be enabled; see
       # https://doc.arvados.org/install/setup-login.html
 
@@ -987,6 +1020,24 @@ Clusters:
           # (See http://ruby-doc.org/core-2.2.2/Kernel.html#method-i-format for more.)
           AssignNodeHostname: "compute%<slot_number>d"
 
+      LSF:
+        # Additional arguments to bsub when submitting Arvados
+        # containers as LSF jobs.
+        #
+        # Note that the default arguments cause LSF to write two files
+        # in /tmp on the compute node each time an Arvados container
+        # runs. Ensure you have something in place to delete old files
+        # from /tmp, or adjust these arguments accordingly.
+        BsubArgumentsList: ["-o", "/tmp/crunch-run.%J.out", "-e", "/tmp/crunch-run.%J.err"]
+
+        # Use sudo to switch to this user account when submitting LSF
+        # jobs.
+        #
+        # This account must exist on the hosts where LSF jobs run
+        # ("execution hosts"), as well as on the host where the
+        # Arvados LSF dispatcher runs ("submission host").
+        BsubSudoUser: "crunch"
+
       JobsAPI:
         # Enable the legacy 'jobs' API (crunch v1).  This value must be a string.
         #
@@ -1018,7 +1069,7 @@ Clusters:
         # Shell command to execute on each worker to determine whether
         # the worker is booted and ready to run containers. It should
         # exit zero if the worker is ready.
-        BootProbeCommand: "docker ps -q"
+        BootProbeCommand: "systemctl is-system-running"
 
         # Minimum interval between consecutive probes to a single
         # worker.
@@ -1040,13 +1091,25 @@ Clusters:
 
         # Maximum create/destroy-instance operations per second (0 =
         # unlimited).
-        MaxCloudOpsPerSecond: 0
+        MaxCloudOpsPerSecond: 10
 
-        # Maximum concurrent node creation operations (0 = unlimited). This is
-        # recommended by Azure in certain scenarios (see
-        # https://docs.microsoft.com/en-us/azure/virtual-machines/linux/capture-image)
-        # and can be used with other cloud providers too, if desired.
-        MaxConcurrentInstanceCreateOps: 0
+        # Maximum concurrent instance creation operations (0 = unlimited).
+        #
+        # MaxConcurrentInstanceCreateOps limits the number of instance creation
+        # requests that can be in flight at any one time, whereas
+        # MaxCloudOpsPerSecond limits the number of create/destroy operations
+        # that can be started per second.
+        #
+        # Because the API for instance creation on Azure is synchronous, it is
+        # recommended to increase MaxConcurrentInstanceCreateOps when running
+        # on Azure. When using managed images, a value of 20 would be
+        # appropriate. When using Azure Shared Image Galeries, it could be set
+        # higher. For more information, see
+        # https://docs.microsoft.com/en-us/azure/virtual-machines/linux/capture-image
+        #
+        # MaxConcurrentInstanceCreateOps can be increased for other cloud
+        # providers too, if desired.
+        MaxConcurrentInstanceCreateOps: 1
 
         # Interval between cloud provider syncs/updates ("list all
         # instances").
@@ -1180,6 +1243,29 @@ Clusters:
         Price: 0.1
         Preemptible: false
 
+    StorageClasses:
+
+      # If you use multiple storage classes, specify them here, using
+      # the storage class name as the key (in place of "SAMPLE" in
+      # this sample entry).
+      #
+      # Further info/examples:
+      # https://doc.arvados.org/admin/storage-classes.html
+      SAMPLE:
+
+        # Priority determines the order volumes should be searched
+        # when reading data, in cases where a keepstore server has
+        # access to multiple volumes with different storage classes.
+        Priority: 0
+
+        # Default determines which storage class(es) should be used
+        # when a user/client writes data or saves a new collection
+        # without specifying storage classes.
+        #
+        # If any StorageClasses are configured, at least one of them
+        # must have Default: true.
+        Default: true
+
     Volumes:
       SAMPLE:
         # AccessViaHosts specifies which keepstore processes can read
@@ -1203,7 +1289,9 @@ Clusters:
         ReadOnly: false
         Replication: 1
         StorageClasses:
-          default: true
+          # If you have configured storage classes (see StorageClasses
+          # section above), add an entry here for each storage class
+          # satisfied by this volume.
           SAMPLE: true
         Driver: S3
         DriverParameters:
@@ -1221,6 +1309,7 @@ Clusters:
           ConnectTimeout: 1m
           ReadTimeout: 10m
           RaceWindow: 24h
+          PrefixLength: 0
           # Use aws-s3-go (v2) instead of goamz
           UseAWSS3v2Driver: false