X-Git-Url: https://git.arvados.org/arvados.git/blobdiff_plain/45e77184afd269c569745ab64fd00c2336e70c9c..2966d83fa4e18eb62d1bbb1c9a0c39d9d845112f:/tools/salt-install/config_examples/multi_host/aws/pillars/arvados.sls?ds=sidebyside 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 4ecc65e28f..064a70a8ed 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__ @@ -100,54 +115,44 @@ 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: 'sudo docker ps -q' - ImageID: ami-FIXMEFIXMEFIXMEFI + BootProbeCommand: 'systemctl is-system-running' + 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__ Users: NewUsersAreActive: true @@ -157,108 +162,100 @@ 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: ProviderType: t3.small VCPUs: 2 RAM: 2GiB - IncludedScratch: 50GB AddedScratch: 50GB Price: 0.0208 c5large: ProviderType: c5.large VCPUs: 2 RAM: 4GiB - IncludedScratch: 50GB AddedScratch: 50GB Price: 0.085 m5large: ProviderType: m5.large VCPUs: 2 RAM: 8GiB - IncludedScratch: 50GB AddedScratch: 50GB Price: 0.096 c5xlarge: ProviderType: c5.xlarge VCPUs: 4 RAM: 8GiB - IncludedScratch: 100GB AddedScratch: 100GB Price: 0.17 m5xlarge: ProviderType: m5.xlarge VCPUs: 4 RAM: 16GiB - IncludedScratch: 100GB AddedScratch: 100GB Price: 0.192 m5xlarge_extradisk: ProviderType: m5.xlarge VCPUs: 4 RAM: 16GiB - IncludedScratch: 400GB AddedScratch: 400GB Price: 0.193 c52xlarge: ProviderType: c5.2xlarge VCPUs: 8 RAM: 16GiB - IncludedScratch: 200GB AddedScratch: 200GB Price: 0.34 m52xlarge: ProviderType: m5.2xlarge VCPUs: 8 RAM: 32GiB - IncludedScratch: 200GB AddedScratch: 200GB Price: 0.384 c54xlarge: ProviderType: c5.4xlarge VCPUs: 16 RAM: 32GiB - IncludedScratch: 400GB AddedScratch: 400GB Price: 0.68 m54xlarge: ProviderType: m5.4xlarge VCPUs: 16 RAM: 64GiB - IncludedScratch: 400GB AddedScratch: 400GB Price: 0.768