8442: Adding --submit support with --crunch2. General refactoring into more/smaller...
[arvados.git] / services / nodemanager / doc / azure.example.cfg
index 6bfd28b92612c4892701997ffc4d5bbe7d279de5..0b5f1d360e8887a48637b68a94908b98160bc932 100644 (file)
@@ -7,14 +7,22 @@
 # 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
 
@@ -88,18 +96,19 @@ provider = azure
 shutdown_windows = 20, 999999
 
 [Cloud Credentials]
-# Get these using "azure account list" with the azure CLI.
+# Use "azure account list" with the azure CLI to get these values.
 tenant_id = 00000000-0000-0000-0000-000000000000
 subscription_id = 00000000-0000-0000-0000-000000000000
 
-# Follow the directions on the following page to create an Active Directory
-# "service principal" that NodeManager will use to authenticate.  Note that the
-# role must be "Owner" to manipulate resources.
-#
+# The following directions are based on
 # https://azure.microsoft.com/en-us/documentation/articles/resource-group-authenticate-service-principal/
 #
-# The key is the the "Application Id" and the secret is the password provided
-# when creating the service principal.
+# azure config mode arm
+# azure ad app create --name "<Your Application Display Name>" --home-page "<https://YourApplicationHomePage>" --identifier-uris "<https://YouApplicationUri>" --password <Your_Password>
+# azure ad sp create "<Application_Id>"
+# azure role assignment create --objectId "<Object_Id>" -o Owner -c /subscriptions/{subscriptionId}/
+#
+# Use <Application_Id> for "key" and the <Your_Password> for "secret"
 #
 key = 00000000-0000-0000-0000-000000000000
 secret = PASSWORD
@@ -137,15 +146,25 @@ tag_cluster = zyxwv
 # the API server to ping
 ping_host = hostname:port
 
-[Size Standard_A2]
-# 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
+price = 0.56
+
+[Size Standard_D4]
+cores = 8
+price = 1.12