Add 'apps/arv-web/' from commit 'f9732ad8460d013c2f28363655d0d1b91894dca5'
[arvados.git] / services / nodemanager / doc / ec2.example.cfg
1 # EC2 configuration for Arvados Node Manager.
2 # All times are in seconds unless specified otherwise.
3
4 [Daemon]
5 # The dispatcher can customize the start and stop procedure for
6 # cloud nodes.  For example, the SLURM dispatcher drains nodes
7 # through SLURM before shutting them down.
8 #dispatcher = slurm
9
10 # Node Manager will ensure that there are at least this many nodes
11 # running at all times.
12 min_nodes = 0
13
14 # Node Manager will not start any compute nodes when at least this
15 # many are running.
16 max_nodes = 8
17
18 # Poll EC2 nodes and Arvados for new information every N seconds.
19 poll_time = 60
20
21 # Polls have exponential backoff when services fail to respond.
22 # This is the longest time to wait between polls.
23 max_poll_time = 300
24
25 # If Node Manager can't succesfully poll a service for this long,
26 # it will never start or stop compute nodes, on the assumption that its
27 # information is too outdated.
28 poll_stale_after = 600
29
30 # If Node Manager boots a cloud node, and it does not pair with an Arvados
31 # node before this long, assume that there was a cloud bootstrap failure and
32 # shut it down.  Note that normal shutdown windows apply (see the Cloud
33 # section), so this should be shorter than the first shutdown window value.
34 boot_fail_after = 1800
35
36 # "Node stale time" affects two related behaviors.
37 # 1. If a compute node has been running for at least this long, but it
38 # isn't paired with an Arvados node, do not shut it down, but leave it alone.
39 # This prevents the node manager from shutting down a node that might
40 # actually be doing work, but is having temporary trouble contacting the
41 # API server.
42 # 2. When the Node Manager starts a new compute node, it will try to reuse
43 # an Arvados node that hasn't been updated for this long.
44 node_stale_after = 14400
45
46 # File path for Certificate Authorities
47 certs_file = /etc/ssl/certs/ca-certificates.crt
48
49 [Logging]
50 # Log file path
51 file = /var/log/arvados/node-manager.log
52
53 # Log level for most Node Manager messages.
54 # Choose one of DEBUG, INFO, WARNING, ERROR, or CRITICAL.
55 # WARNING lets you know when polling a service fails.
56 # INFO additionally lets you know when a compute node is started or stopped.
57 level = INFO
58
59 # You can also set different log levels for specific libraries.
60 # Pykka is the Node Manager's actor library.
61 # Setting this to DEBUG will display tracebacks for uncaught
62 # exceptions in the actors, but it's also very chatty.
63 pykka = WARNING
64
65 # Setting apiclient to INFO will log the URL of every Arvados API request.
66 apiclient = WARNING
67
68 [Arvados]
69 host = zyxwv.arvadosapi.com
70 token = ARVADOS_TOKEN
71 timeout = 15
72
73 # Accept an untrusted SSL certificate from the API server?
74 insecure = no
75
76 [Cloud]
77 provider = ec2
78
79 # It's usually most cost-effective to shut down compute nodes during narrow
80 # windows of time.  For example, EC2 bills each node by the hour, so the best
81 # time to shut down a node is right before a new hour of uptime starts.
82 # Shutdown windows define these periods of time.  These are windows in
83 # full minutes, separated by commas.  Counting from the time the node is
84 # booted, the node WILL NOT shut down for N1 minutes; then it MAY shut down
85 # for N2 minutes; then it WILL NOT shut down for N3 minutes; and so on.
86 # For example, "54, 5, 1" means the node may shut down from the 54th to the
87 # 59th minute of each hour of uptime.
88 # Specify at least two windows.  You can add as many as you need beyond that.
89 shutdown_windows = 54, 5, 1
90
91 [Cloud Credentials]
92 key = KEY
93 secret = SECRET_KEY
94 region = us-east-1
95 timeout = 60
96
97 [Cloud List]
98 # This section defines filters that find compute nodes.
99 # Tags that you specify here will automatically be added to nodes you create.
100 # Replace colons in Amazon filters with underscores
101 # (e.g., write "tag:mytag" as "tag_mytag").
102 instance-state-name = running
103 tag_arvados-class = dynamic-compute
104 tag_cluster = zyxwv
105
106 [Cloud Create]
107 # New compute nodes will send pings to Arvados at this host.
108 # You may specify a port, and use brackets to disambiguate IPv6 addresses.
109 ping_host = hostname:port
110
111 # Give the name of an SSH key on AWS...
112 ex_keyname = string
113
114 # ... or a file path for an SSH key that can log in to the compute node.
115 # (One or the other, not both.)
116 # ssh_key = path
117
118 # The EC2 IDs of the image and subnet compute nodes should use.
119 image_id = idstring
120 subnet_id = idstring
121
122 # Comma-separated EC2 IDs for the security group(s) assigned to each
123 # compute node.
124 security_groups = idstring1, idstring2
125
126 [Size t2.medium]
127 # You can define any number of Size sections to list EC2 sizes you're
128 # willing to use.  The Node Manager should boot the cheapest size(s) that
129 # can run jobs in the queue (N.B.: defining more than one size has not been
130 # tested yet).
131 # Each size section MUST define the number of cores it has.  You may also
132 # want to define the number of mebibytes of scratch space for Crunch jobs.
133 # You can also override Amazon's provided data fields by setting the same
134 # names here.
135 cores = 2
136 scratch = 100