Merge branch '16470-api-rails-52'
[arvados.git] / doc / install / install-nodemanager.html.textile.liquid
index 11083b10be3e71efe0f748713951d1e5a123bda0..75e4b25131d6b490afc65a3e90873ee770bb3e3f 100644 (file)
@@ -9,13 +9,13 @@ Copyright (C) The Arvados Authors. All rights reserved.
 SPDX-License-Identifier: CC-BY-SA-3.0
 {% endcomment %}
 
-Arvados Node Manager provides elastic computing for Arvados and SLURM by creating and destroying virtual machines on demand.  Node Manager currently supports Amazon Web Services (AWS), Google Cloud Platform (GCP) and Microsoft Azure.
+Arvados Node Manager provides elastic computing for Arvados and Slurm by creating and destroying virtual machines on demand.  Node Manager currently supports Amazon Web Services (AWS), Google Cloud Platform (GCP) and Microsoft Azure.
 
-Note: node manager is only required for elastic computing cloud environments.  Fixed size clusters do not require node manager.
+Note: node manager is only required for elastic computing cloud environments.  Fixed size clusters (such as on-premise HPC) do not require node manager.
 
 h2. Install
 
-Node manager may run anywhere, however it must be able to communicate with the cloud provider's APIs, and use the command line tools @sinfo@, @squeue@ and @scontrol@ to communicate with the cluster's SLURM controller.
+Node manager may run anywhere, however it must be able to communicate with the cloud provider's APIs, and use the command line tools @sinfo@, @squeue@ and @scontrol@ to communicate with the cluster's Slurm controller.
 
 On Debian-based systems:
 
@@ -65,8 +65,8 @@ h3(#aws). Amazon Web Services
 
 [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.
+# 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
@@ -113,6 +113,15 @@ boot_fail_after = 1800
 # an Arvados node that hasn't been updated for this long.
 node_stale_after = 14400
 
+# Number of consecutive times a node must report as "idle" before it
+# will be considered eligible for shutdown.  Node status is checked
+# each poll period, and node can go idle at any point during a poll
+# period (meaning a node could be reported as idle that has only been
+# idle for 1 second).  With a 60 second poll period, three consecutive
+# status updates of "idle" suggests the node has been idle at least
+# 121 seconds.
+consecutive_idle_count = 3
+
 # 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.
@@ -199,6 +208,11 @@ subnet_id = idstring
 # compute node.
 security_groups = idstring1, idstring2
 
+# Apply an Instance Profile ARN to the newly created compute nodes
+# For more info, see:
+# https://aws.amazon.com/premiumsupport/knowledge-center/iam-policy-restrict-vpc/
+# ex_iamprofile = arn:aws:iam::ACCOUNTNUMBER:instance-profile/ROLENAME
+
 
 # You can define any number of Size sections to list EC2 sizes you're
 # willing to use.  The Node Manager should boot the cheapest size(s) that
@@ -277,6 +291,15 @@ poll_stale_after = 600
 # an Arvados node that hasn't been updated for this long.
 node_stale_after = 14400
 
+# Number of consecutive times a node must report as "idle" before it
+# will be considered eligible for shutdown.  Node status is checked
+# each poll period, and node can go idle at any point during a poll
+# period (meaning a node could be reported as idle that has only been
+# idle for 1 second).  With a 60 second poll period, three consecutive
+# status updates of "idle" suggests the node has been idle at least
+# 121 seconds.
+consecutive_idle_count = 3
+
 # 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.
@@ -362,7 +385,7 @@ ping_host = hostname:port
 # ssh_key = path
 
 # The GCE image name and network zone name to use when creating new nodes.
-image = debian-7
+image = debian
 # network = your_network_name
 
 # JSON string of service account authorizations for this cluster.
@@ -417,8 +440,8 @@ h3(#azure). Microsoft Azure
 
 [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.
+# 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
@@ -465,6 +488,15 @@ boot_fail_after = 1800
 # an Arvados node that hasn't been updated for this long.
 node_stale_after = 14400
 
+# Number of consecutive times a node must report as "idle" before it
+# will be considered eligible for shutdown.  Node status is checked
+# each poll period, and node can go idle at any point during a poll
+# period (meaning a node could be reported as idle that has only been
+# idle for 1 second).  With a 60 second poll period, three consecutive
+# status updates of "idle" suggests the node has been idle at least
+# 121 seconds.
+consecutive_idle_count = 3
+
 # 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.
@@ -522,11 +554,11 @@ 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/
+# and updated for v2 of the Azure cli tool.
 #
-# 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}/
+# az ad app create --display-name "Node Manager" --homepage "https://arvados.org" --identifier-uris "https://<Your_Application_Uri>" --password <Your_Password> --end-date <Desired_credential_expiry_date>
+# az ad sp create "<Application_Id>"
+# az role assignment create --assignee "<Application_Id>" --role Owner --resource-group "<Your_Azure_Arvados_Resource_Group>"
 #
 # Use <Application_Id> for "key" and the <Your_Password> for "secret"
 #