X-Git-Url: https://git.arvados.org/arvados.git/blobdiff_plain/505be2eb9ac1f36a5e31b374451193bc1ab7e90e..55aafbb07904ca24390dd47ea960eae7cb2b909a:/services/nodemanager/doc/azure.example.cfg diff --git a/services/nodemanager/doc/azure.example.cfg b/services/nodemanager/doc/azure.example.cfg index ceeff5a729..efd2445175 100644 --- a/services/nodemanager/doc/azure.example.cfg +++ b/services/nodemanager/doc/azure.example.cfg @@ -1,20 +1,42 @@ +# Copyright (C) The Arvados Authors. All rights reserved. +# +# SPDX-License-Identifier: AGPL-3.0 + # Azure configuration for Arvados Node Manager. # All times are in seconds unless specified otherwise. +[Manage] +# The management server responds to http://addr:port/status.json with +# a snapshot of internal state. + +# Management server listening address (default 127.0.0.1) +#address = 0.0.0.0 + +# Management server port number (default -1, server is disabled) +#port = 8989 + [Daemon] # The dispatcher can customize the start and stop procedure for # cloud nodes. For example, the SLURM dispatcher drains nodes # through SLURM before shutting them down. #dispatcher = slurm -# Node Manager will ensure that there are at least this many nodes -# running at all times. +# Node Manager will ensure that there are at least this many nodes running at +# all times. If node manager needs to start new idle nodes for the purpose of +# satisfying min_nodes, it will use the cheapest node type. However, depending +# on usage patterns, it may also satisfy min_nodes by keeping alive some +# more-expensive nodes min_nodes = 0 # Node Manager will not start any compute nodes when at least this # many are running. max_nodes = 8 +# Upper limit on rate of spending (in $/hr), will not boot additional nodes +# if total price of already running nodes meets or exceeds this threshold. +# default 0 means no limit. +max_total_price = 0 + # Poll Azure nodes and Arvados for new information every N seconds. poll_time = 60 @@ -43,6 +65,12 @@ boot_fail_after = 1800 # an Arvados node that hasn't been updated for this long. node_stale_after = 14400 +# Scaling factor to be applied to nodes' available RAM size. Usually there's a +# variable discrepancy between the advertised RAM value on cloud nodes and the +# actual amount available. +# If not set, this value will be set to 0.95 +node_mem_scaling = 0.95 + # File path for Certificate Authorities certs_file = /etc/ssl/certs/ca-certificates.crt @@ -69,6 +97,8 @@ apiclient = WARNING host = zyxwv.arvadosapi.com token = ARVADOS_TOKEN timeout = 15 +jobs_queue = yes # Get work request from Arvados jobs queue (jobs API) +slurm_queue = yes # Get work request from squeue (containers API) # Accept an untrusted SSL certificate from the API server? insecure = no @@ -95,6 +125,7 @@ subscription_id = 00000000-0000-0000-0000-000000000000 # The following directions are based on # https://azure.microsoft.com/en-us/documentation/articles/resource-group-authenticate-service-principal/ # +# azure config mode arm # azure ad app create --name "" --home-page "" --identifier-uris "" --password # azure ad sp create "" # azure role assignment create --objectId "" -o Owner -c /subscriptions/{subscriptionId}/ @@ -137,16 +168,25 @@ tag_cluster = zyxwv # the API server to ping ping_host = hostname:port -[Size Standard_D3] -# You can define any number of Size sections to list Azure sizes you're -# willing to use. The Node Manager should boot the cheapest size(s) that -# can run jobs in the queue (N.B.: defining more than one size has not been -# tested yet). +# You can define any number of Size sections to list Azure sizes you're willing +# to use. The Node Manager should boot the cheapest size(s) that can run jobs +# in the queue. You must also provide price per hour as the Azure driver +# compute currently does not report prices. +# +# See https://azure.microsoft.com/en-us/pricing/details/virtual-machines/ +# for a list of known machine types that may be used as a Size parameter. +# # Each size section MUST define the number of cores are available in this # size class (since libcloud does not provide any consistent API for exposing # this setting). # You may also want to define the amount of scratch space (expressed # in GB) for Crunch jobs. You can also override Microsoft's provided -# data fields by setting the same names here. +# data fields by setting them here. + +[Size Standard_D3] cores = 4 -scratch = 200 +price = 0.56 + +[Size Standard_D4] +cores = 8 +price = 1.12