X-Git-Url: https://git.arvados.org/arvados.git/blobdiff_plain/b417e845a53ffe207314108b3d1c813fe09e32a9..4bb21138d34eb13be5974fd68d88d7e050364070:/tools/salt-install/config_examples/multi_host/aws/pillars/arvados.sls diff --git a/tools/salt-install/config_examples/multi_host/aws/pillars/arvados.sls b/tools/salt-install/config_examples/multi_host/aws/pillars/arvados.sls index f9cf537fb8..177e60cb74 100644 --- a/tools/salt-install/config_examples/multi_host/aws/pillars/arvados.sls +++ b/tools/salt-install/config_examples/multi_host/aws/pillars/arvados.sls @@ -3,6 +3,14 @@ # # SPDX-License-Identifier: AGPL-3.0 +{%- set _workers = ("__CONTROLLER_MAX_WORKERS__" or grains['num_cpus']*2)|int %} +{%- set max_workers = [_workers, 8]|max %} +{%- set max_reqs = ("__CONTROLLER_MAX_QUEUED_REQUESTS__" or 128)|int %} +{%- set database_host = ("__DATABASE_EXTERNAL_SERVICE_HOST_OR_IP__" or "__DATABASE_INT_IP__") %} +{%- set database_name = "__DATABASE_NAME__" %} +{%- set database_user = "__DATABASE_USER__" %} +{%- set database_password = "__DATABASE_PASSWORD__" %} + # The variables commented out are the default values that the formula uses. # The uncommented values are REQUIRED values. If you don't set them, running # this formula will fail. @@ -68,10 +76,10 @@ arvados: database: # max concurrent connections per arvados server daemon # connection_pool_max: 32 - name: __CLUSTER___arvados - host: __DATABASE_INT_IP__ - password: "__DATABASE_PASSWORD__" - user: __CLUSTER___arvados + name: {{ database_name }} + host: {{ database_host }} + password: {{ database_password }} + user: {{ database_user }} encoding: en_US.utf8 client_encoding: UTF8 @@ -81,6 +89,13 @@ arvados: # required to test with arvados-snakeoil certs insecure: false + resources: + virtual_machines: + shell: + name: shell.__DOMAIN__ + backend: __SHELL_INT_IP__ + port: 4200 + ### TOKENS tokens: system_root: __SYSTEM_ROOT_TOKEN__ @@ -90,7 +105,6 @@ arvados: ### KEYS secrets: blob_signing_key: __BLOB_SIGNING_KEY__ - workbench_secret_key: __WORKBENCH_SECRET_KEY__ Login: Test: @@ -100,54 +114,49 @@ arvados: Email: __INITIAL_USER_EMAIL__ Password: __INITIAL_USER_PASSWORD__ + ### API + API: + MaxConcurrentRailsRequests: {{ max_workers * 2 }} + MaxConcurrentRequests: {{ max_reqs }} + MaxQueuedRequests: {{ max_reqs }} + ### CONTAINERS + {%- set dispatcher_ssh_privkey = "__DISPATCHER_SSH_PRIVKEY__" %} Containers: MaxRetryAttempts: 10 CloudVMs: ResourceTags: Name: __CLUSTER__-compute-node BootProbeCommand: 'systemctl is-system-running' - ImageID: ami-FIXMEFIXMEFIXMEFI + ImageID: __COMPUTE_AMI__ Driver: ec2 DriverParameters: - Region: FIXME - EBSVolumeType: gp2 - AdminUsername: FIXME + Region: __COMPUTE_AWS_REGION__ + EBSVolumeType: gp3 + AdminUsername: __COMPUTE_USER__ ### This SG should allow SSH from the dispatcher to the compute nodes - SecurityGroupIDs: ['sg-FIXMEFIXMEFIXMEFI'] - SubnetID: subnet-FIXMEFIXMEFIXMEFI - DispatchPrivateKey: | - -----BEGIN OPENSSH PRIVATE KEY----- - Read https://doc.arvados.org/v2.0/install/install-dispatch-cloud.html - for details on how to create it and where to place the key - FIXMEFIXMEFIXMEFI - -----END OPENSSH PRIVATE KEY----- + SecurityGroupIDs: ['__COMPUTE_SG__'] + SubnetID: __COMPUTE_SUBNET__ + IAMInstanceProfile: __CLUSTER__-compute-node-00-iam-role + DispatchPrivateKey: {{ dispatcher_ssh_privkey|yaml_dquote }} ### VOLUMES ## This should usually match all your `keepstore` instances Volumes: # the volume name will be composed with # -nyw5e- - __CLUSTER__-nyw5e-0000000000000000: - AccessViaHosts: - 'http://__KEEPSTORE0_INT_IP__:25107': - ReadOnly: false + __CLUSTER__-nyw5e-000000000000000: Replication: 2 Driver: S3 DriverParameters: - Bucket: __CLUSTER__-nyw5e-0000000000000000-volume - IAMRole: __CLUSTER__-keepstore-00-iam-role - Region: FIXME - __CLUSTER__-nyw5e-0000000000000001: - AccessViaHosts: - 'http://__KEEPSTORE1_INT_IP__:25107': - ReadOnly: false - Replication: 2 - Driver: S3 - DriverParameters: - Bucket: __CLUSTER__-nyw5e-0000000000000001-volume - IAMRole: __CLUSTER__-keepstore-01-iam-role - Region: FIXME + Bucket: __KEEP_AWS_S3_BUCKET__ + IAMRole: __KEEP_AWS_IAM_ROLE__ + Region: __KEEP_AWS_REGION__ + # IMPORTANT: The default value for PrefixLength is 0, and should not + # be changed once the volume is in use. For new installations it's + # recommended to set it to 3 for better performance. + # See: https://doc.arvados.org/install/configure-s3-object-storage.html + PrefixLength: 3 Users: NewUsersAreActive: true @@ -157,39 +166,41 @@ arvados: Services: Controller: - ExternalURL: 'https://__CLUSTER__.__DOMAIN__:__CONTROLLER_EXT_SSL_PORT__' + ExternalURL: 'https://__DOMAIN__:__CONTROLLER_EXT_SSL_PORT__' InternalURLs: 'http://localhost:8003': {} DispatchCloud: InternalURLs: - 'http://__CONTROLLER_INT_IP__:9006': {} + 'http://__DISPATCHER_INT_IP__:9006': {} + Keepbalance: + InternalURLs: + 'http://__KEEPBALANCE_INT_IP__:9005': {} Keepproxy: - ExternalURL: 'https://keep.__CLUSTER__.__DOMAIN__:__KEEP_EXT_SSL_PORT__' + ExternalURL: 'https://keep.__DOMAIN__:__KEEP_EXT_SSL_PORT__' InternalURLs: 'http://localhost:25107': {} Keepstore: InternalURLs: 'http://__KEEPSTORE0_INT_IP__:25107': {} - 'http://__KEEPSTORE1_INT_IP__:25107': {} RailsAPI: InternalURLs: 'http://localhost:8004': {} WebDAV: - ExternalURL: 'https://*.collections.__CLUSTER__.__DOMAIN__:__KEEPWEB_EXT_SSL_PORT__/' + ExternalURL: 'https://*.collections.__DOMAIN__:__KEEPWEB_EXT_SSL_PORT__/' InternalURLs: - 'http://localhost:9002': {} + 'http://__KEEPWEB_INT_IP__:9002': {} WebDAVDownload: - ExternalURL: 'https://download.__CLUSTER__.__DOMAIN__:__KEEPWEB_EXT_SSL_PORT__' + ExternalURL: 'https://download.__DOMAIN__:__KEEPWEB_EXT_SSL_PORT__' WebShell: - ExternalURL: 'https://webshell.__CLUSTER__.__DOMAIN__:__KEEPWEB_EXT_SSL_PORT__' + ExternalURL: 'https://webshell.__DOMAIN__:__KEEPWEB_EXT_SSL_PORT__' Websocket: - ExternalURL: 'wss://ws.__CLUSTER__.__DOMAIN__/websocket' + ExternalURL: 'wss://ws.__DOMAIN__/websocket' InternalURLs: 'http://localhost:8005': {} Workbench1: - ExternalURL: 'https://workbench.__CLUSTER__.__DOMAIN__:__WORKBENCH1_EXT_SSL_PORT__' + ExternalURL: 'https://workbench.__DOMAIN__:__WORKBENCH1_EXT_SSL_PORT__' Workbench2: - ExternalURL: 'https://workbench2.__CLUSTER__.__DOMAIN__:__WORKBENCH2_EXT_SSL_PORT__' + ExternalURL: 'https://workbench2.__DOMAIN__:__WORKBENCH2_EXT_SSL_PORT__' InstanceTypes: t3small: