X-Git-Url: https://git.arvados.org/arvados.git/blobdiff_plain/45fdc95efb2467b0ad7d21d82aa08b26a43cfaa0..5c549965a11b6a2ce789c1e0db9e418f695aed84:/services/nodemanager/doc/gce.example.cfg diff --git a/services/nodemanager/doc/gce.example.cfg b/services/nodemanager/doc/gce.example.cfg index d969336261..06fcdff155 100644 --- a/services/nodemanager/doc/gce.example.cfg +++ b/services/nodemanager/doc/gce.example.cfg @@ -2,17 +2,25 @@ # All times are in seconds unless specified otherwise. [Daemon] -# 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. +# running at all times. By default, these will be the cheapest node size. max_nodes = 8 # Poll compute nodes and Arvados for new information every N seconds. poll_time = 60 +# 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 + # Polls have exponential backoff when services fail to respond. # This is the longest time to wait between polls. max_poll_time = 300 @@ -65,34 +73,42 @@ insecure = no [Cloud] provider = gce -# XXX(twp): figure out good default settings for GCE -# It's usually most cost-effective to shut down compute nodes during narrow -# windows of time. For example, EC2 bills each node by the hour, so the best -# time to shut down a node is right before a new hour of uptime starts. -# Shutdown windows define these periods of time. These are windows in -# full minutes, separated by commas. Counting from the time the node is -# booted, the node WILL NOT shut down for N1 minutes; then it MAY shut down -# for N2 minutes; then it WILL NOT shut down for N3 minutes; and so on. -# For example, "54, 5, 1" means the node may shut down from the 54th to the -# 59th minute of each hour of uptime. -# Specify at least two windows. You can add as many as you need beyond that. -shutdown_windows = 54, 5, 1 +# Shutdown windows define periods of time when a node may and may not +# be shut down. These are windows in full minutes, separated by +# commas. Counting from the time the node is booted, the node WILL +# NOT shut down for N1 minutes; then it MAY shut down for N2 minutes; +# then it WILL NOT shut down for N3 minutes; and so on. For example, +# "54, 5, 1" means the node may shut down from the 54th to the 59th +# minute of each hour of uptime. +# GCE bills by the minute, and does not provide information about when +# a node booted. Node Manager will store this information in metadata +# when it boots a node; if that information is not available, it will +# assume the node booted at the epoch. These shutdown settings are +# very aggressive. You may want to adjust this if you want more +# continuity of service from a single node. +shutdown_windows = 20, 999999 [Cloud Credentials] -json_credential_file = /path/to/credential_file.json +user_id = client_email_address@developer.gserviceaccount.com +key = path_to_certificate.pem project = project-id-from-google-cloud-dashboard timeout = 60 +# Valid location (zone) names: https://cloud.google.com/compute/docs/zones +datacenter = us-central1-a + # Optional settings. For full documentation see # http://libcloud.readthedocs.org/en/latest/compute/drivers/gce.html#libcloud.compute.drivers.gce.GCENodeDriver # -# datacenter = us-central1-a # auth_type = SA # SA, IA or GCE # scopes = https://www.googleapis.com/auth/compute # credential_file = [Cloud List] -# Keywords here will be used to populate the metadata field for a GCE node. +# A comma-separated list of tags that must be applied to a node for it to +# be considered a compute node. +# The driver will automatically apply these tags to nodes it creates. +tags = zyxwv, compute [Cloud Create] # New compute nodes will send pings to Arvados at this host. @@ -103,20 +119,17 @@ ping_host = hostname:port # ssh_key = path # The GCE image name and network zone name to use when creating new nodes. -# * Valid image aliases: https://cloud.google.com/sdk/gcloud/reference/compute/instances/create -# * Valid network zones: https://cloud.google.com/compute/docs/zones -image_id = debian-7 -network_id = us-central1-a +image = debian-7 +# network = your_network_name # JSON string of service account authorizations for this cluster. # See http://libcloud.readthedocs.org/en/latest/compute/drivers/gce.html#specifying-service-account-scopes # service_accounts = [{'email':'account@example.com', 'scopes':['storage-ro']}] -[Size n1-standard-2] + # You can define any number of Size sections to list node 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). +# can run jobs in the queue. # # The Size fields are interpreted the same way as with a libcloud NodeSize: # http://libcloud.readthedocs.org/en/latest/compute/api.html#libcloud.compute.base.NodeSize @@ -129,6 +142,15 @@ network_id = us-central1-a # this setting). # You may also want to define the amount of scratch space (expressed # in GB) for Crunch jobs. +# You can also override Google's provided data fields (such as price per hour) +# by setting them here. + +[Size n1-standard-2] cores = 2 +price = 0.076 scratch = 100 -ram = 512 + +[Size n1-standard-4] +cores = 4 +price = 0.152 +scratch = 200 \ No newline at end of file