| <?xml version="1.0" encoding="iso-8859-1"?> |
| <!-- |
| Licensed to the Apache Software Foundation (ASF) under one or more |
| contributor license agreements. See the NOTICE file distributed with |
| this work for additional information regarding copyright ownership. |
| The ASF licenses this file to You under the Apache License, Version 2.0 |
| (the "License"); you may not use this file except in compliance with |
| the License. You may obtain a copy of the License at |
| |
| http://www.apache.org/licenses/LICENSE-2.0 |
| |
| Unless required by applicable law or agreed to in writing, software |
| distributed under the License is distributed on an "AS IS" BASIS, |
| WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. |
| See the License for the specific language governing permissions and |
| limitations under the License. |
| --> |
| <document xmlns="http://maven.apache.org/XDOC/2.0" |
| xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" |
| xsi:schemaLocation="http://maven.apache.org/XDOC/2.0 http://maven.apache.org/xsd/xdoc-2.0.xsd"> |
| <properties></properties> |
| <body> |
| <section name="Whirr™ Configuration Guide"></section> |
| <p>Whirr is configured using a properties file, and optionally using command line arguments |
| when using the CLI. Command line arguments take precedence over properties specified in a |
| properties file.</p> |
| <p>For example working configurations, please see the recipes in the |
| <i>recipes</i> directory of the distribution.</p> |
| <subsection name="General Options"></subsection> |
| <table border="0"> |
| <tr valign="top"> |
| <th> |
| <b>Name</b> |
| </th> |
| <th> |
| <b>Command line option</b> |
| </th> |
| <th> |
| <b>Default</b> |
| </th> |
| <th> |
| <b>Description</b> |
| </th> |
| </tr> |
| <tr valign="top"> |
| <td> |
| <tt>whirr.config</tt> |
| </td> |
| <td> |
| <tt>--config</tt> |
| </td> |
| <td>none</td> |
| <td>A filename of a properties file containing properties in this table. |
| Note that Whirr properties specified in this file all have a |
| <tt>whirr.</tt>prefix.</td> |
| </tr> |
| <tr valign="top"> |
| <td> |
| <tt>whirr.service-name</tt> |
| </td> |
| <td> |
| <tt>--service-name</tt> |
| </td> |
| <td>The default service for launching clusters</td> |
| <td>The name of the service to use. You only need to set this if you want to |
| use a non-standard service launcher.</td> |
| </tr> |
| <tr valign="top"> |
| <td> |
| <tt>whirr.cluster-name</tt> |
| </td> |
| <td> |
| <tt>--cluster-name</tt> |
| </td> |
| <td>none</td> |
| <td>The name of the cluster to operate on. E.g. |
| <tt>hadoopcluster</tt>. The cluster name is used to tag the instances in some |
| cloud-specific way. For example, in Amazon it is used to form the security group name.</td> |
| </tr> |
| <tr valign="top"> |
| <td> |
| <tt>whirr.terminate-all-on-launch-failure</tt> |
| </td> |
| <td> |
| <tt>--terminate-all-on-launch-failure</tt> |
| </td> |
| <td>true</td> |
| <td>Whether or not to automatically terminate all nodes when cluster |
| launch fails for some reason.</td> |
| </tr> |
| <tr valign="top"> |
| <td> |
| <tt>whirr.quiet</tt> |
| </td> |
| <td> |
| <tt>--quiet</tt> |
| </td> |
| <td>false</td> |
| <td>Adjust user level, console logging verbosity. System level logs controlled via <tt>conf/log4j-cli.xml</tt>.</td> |
| </tr> |
| </table> |
| <subsection name="Instance Templates Options"></subsection> |
| <table border="0"> |
| <tr valign="top"> |
| <th> |
| <b>Name</b> |
| </th> |
| <th> |
| <b>Command line option</b> |
| </th> |
| <th> |
| <b>Default</b> |
| </th> |
| <th> |
| <b>Description</b> |
| </th> |
| </tr> |
| <tr valign="top"> |
| <td> |
| <tt>whirr.instance-templates</tt> |
| </td> |
| <td> |
| <tt>--instance-templates</tt> |
| </td> |
| <td>none</td> |
| <td>The number of instances to launch for each set of roles in a service. |
| E.g. |
| <tt>1 nn+jt,10 dn+tt</tt>means one instance with the roles |
| <tt>nn</tt>(namenode) and |
| <tt>jt</tt>(jobtracker), and ten instances each with the roles |
| <tt>dn</tt>(datanode) and |
| <tt>tt</tt>(tasktracker). Note that currently a role may only be specified in a single |
| group.</td> |
| </tr> |
| <tr valign="top"> |
| <td> |
| <tt>whirr.instance-templates-max-percent-failures</tt> |
| </td> |
| <td> |
| <tt>--instance-templates-max-percent-failures</tt> |
| </td> |
| <td>none</td> |
| <td>The percentage of successfully started instances for each set of roles. |
| E.g. |
| <tt>100 nn+jt,60 dn+tt</tt>means all instances with the roles |
| <tt>nn</tt>(namenode) and |
| <tt>jt</tt>(jobtracker) has to be successfully started, and 60% of instances has to be |
| successfully started each with the roles |
| <tt>dn</tt>(datanode) and |
| <tt>tt</tt>(tasktracker), otherwise a retry step is initiated with the number of nodes |
| equal with the missing nodes per role compared to |
| <tt>instance-templates</tt>value. If after the retry the percentage of successfully started |
| instances is still behind the limit, then the cluster startup is considered invalid. In a |
| valid cluster startup, with or without retry mechanism, all the failed nodes will be |
| cleaned up immediately. Only the completely failed cluster may leave unterminated failed |
| nodes. Default value is 100 for each roles, in that case we don't need to use this |
| parameter at all. In case we would like to lower the limit from 100% to 60% for only the |
| <tt>dd</tt>(datanode) and |
| <tt>tt</tt>(tasktracker), then we can specify |
| <tt>60 dn+tt</tt>for the parameter and we may left the |
| <tt>100 nn+jt,</tt>from the beginning of the value.</td> |
| </tr> |
| <tr valign="top"> |
| <td> |
| <tt>whirr.instance-templates-minimum-number-of-instances</tt> |
| </td> |
| <td> |
| <tt>--instance-templates-minimum-number-of-instances</tt> |
| </td> |
| <td>none</td> |
| <td>The minimum number of successfully started instances for each set of |
| roles. E.g. |
| <tt>1 nn+jt,6 dn+tt</tt>means 1 instance with the roles |
| <tt>nn</tt>(namenode) and |
| <tt>jt</tt>(jobtracker) has to be successfully started, and 6 instances has to be |
| successfully started each with the roles |
| <tt>dn</tt>(datanode) and |
| <tt>tt</tt>(tasktracker), otherwise a retry step is initiated with the number of nodes |
| equal with the missing nodes per role compared to |
| <tt>instance-templates</tt>value. If after the retry the number of successfully started |
| instances i still behind the limit, then the cluster startup is considered invalid. In a |
| valid cluster startup, with or without retry mechanism, all the failed nodes will be |
| cleaned up immediately. Only the completely failed cluster may leave unterminated failed |
| nodes. Note that we may specify only |
| <tt>6 dd+tt</tt>, in that case the limit will be applied only to the specified role. |
| Default value is 100 for each roles, in that case we don't need to use this parameter at |
| all. In case we would like to lower the limit for only the |
| <tt>dd</tt>(datanode) and |
| <tt>tt</tt>(tasktracker), then we can specify |
| <tt>60 dn+tt</tt>for the parameter, skipping the |
| <tt>100 nn+jt</tt>.</td> |
| </tr> |
| <tr valign="top"> |
| <td> |
| <tt>whirr.max-startup-retries</tt> |
| </td> |
| <td> |
| <tt>--max-startup-retries</tt> |
| </td> |
| <td> |
| <tt>1</tt> |
| </td> |
| <td>The number of retries in case of insufficient successfully started |
| instances.</td> |
| </tr> |
| <tr valign="top"> |
| <td> |
| <tt>whirr.aws-ec2-spot-price</tt> |
| </td> |
| <td> |
| <tt>--aws-ec2-spot-price</tt> |
| </td> |
| <td> |
| <tt>none</tt> |
| </td> |
| <td> |
| Spot instance price. If the price isn't fulfilled it times out after 20 minutes |
| (<tt>jclouds.compute.timeout.node-running</tt>). We recommended that you set the spot price |
| to current real price so that you will always save money while keeping the instances |
| running because you will still pay the spot price and not the max value you put in. Keep |
| in mind that price spikes can still take out some instances, or prevent requests being |
| filled, but it works well most of the time. Note: this is an EC2 specific option. |
| </td> |
| </tr> |
| </table> |
| <subsection name="Cloud Provider Options"></subsection> |
| <table border="0"> |
| <tr valign="top"> |
| <th> |
| <b>Name</b> |
| </th> |
| <th> |
| <b>Command line option</b> |
| </th> |
| <th> |
| <b>Default</b> |
| </th> |
| <th> |
| <b>Description</b> |
| </th> |
| </tr> |
| <tr valign="top"> |
| <td> |
| <tt>whirr.provider</tt> |
| </td> |
| <td> |
| <tt>--provider</tt> |
| </td> |
| <td> |
| <tt>aws-ec2</tt> |
| </td> |
| <td>The name of the cloud provider. See the |
| <a href="#cloud-provider-config">table below</a> for possible provider names.</td> |
| </tr> |
| <tr valign="top"> |
| <td> |
| <tt>whirr.location-id</tt> |
| </td> |
| <td> |
| <tt>--location-id</tt> |
| </td> |
| <td>none</td> |
| <td>The location to launch instances in. If not specified then an arbitrary |
| location will be chosen.</td> |
| </tr> |
| <tr valign="top"> |
| <td> |
| <tt>whirr.endpoint</tt> |
| </td> |
| <td> |
| <tt>--endpoint</tt> |
| </td> |
| <td>none</td> |
| <td>Specifies the url of the compute provider. For example, for openstack-nova, it is the keystone url, like: http://localhost:5000/v2.0/. If not specified, it is the default for the provider</td> |
| </tr> |
| <tr valign="top"> |
| <td> |
| <tt>whirr.identity</tt> |
| </td> |
| <td> |
| <tt>--identity</tt> |
| </td> |
| <td>none</td> |
| <td>The cloud identity. See the |
| <a href="#cloud-provider-config">table below</a> for how this maps to the credentials for |
| your provider.</td> |
| </tr> |
| <tr valign="top"> |
| <td> |
| <tt>whirr.credential</tt> |
| </td> |
| <td> |
| <tt>--credential</tt> |
| </td> |
| <td>none</td> |
| <td>The cloud credential. See the |
| <a href="#cloud-provider-config">table below</a> for how this maps to the credentials for |
| your provider.</td> |
| </tr> |
| <tr valign="top"> |
| <td> |
| <tt>whirr.bootstrap-user</tt> |
| </td> |
| <td> |
| <tt>--bootstrap-user</tt> |
| </td> |
| <td>none</td> |
| <td>Override the default login user used to bootstrap whirr. E.g. ubuntu or |
| myuser:mypass</td> |
| </tr> |
| </table> |
| |
| <p>You can see a list of all the available compute providers by running:</p> |
| <source>$ whirr list-providers compute</source> |
| |
| <p>Note: we are testing only on aws-ec2 and cloudserver-us.</p> |
| |
| <subsection name="BlobStore Provider Options"></subsection> |
| <table border="0"> |
| <tr valign="top"> |
| <th> |
| <b>Name</b> |
| </th> |
| <th> |
| <b>Command line option</b> |
| </th> |
| <th> |
| <b>Default</b> |
| </th> |
| <th> |
| <b>Description</b> |
| </th> |
| </tr> |
| <tr valign="top"> |
| <td> |
| <tt>whirr.blobstore-provider</tt> |
| </td> |
| <td> |
| <tt>--blobstore-provider</tt> |
| </td> |
| <td>Computed from |
| <tt>whirr.provider</tt></td> |
| <td>The name of the blobstore provider. All jclouds blobstore providers are |
| supported</td> |
| </tr> |
| <tr valign="top"> |
| <td> |
| <tt>whirr.blobstore-endpoint</tt> |
| </td> |
| <td> |
| <tt>--blobstore-endpoint</tt> |
| </td> |
| <td>none</td> |
| <td>Specifies the url of the blobstore provider. For example, for swift-keystone, it is the keystone url, like: http://localhost:5000/v2.0/. If not specified, it is the default for the provider</td> |
| </tr> |
| <tr valign="top"> |
| <td> |
| <tt>whirr.blobstore-identity</tt> |
| </td> |
| <td> |
| <tt>--blobstore-identity</tt> |
| </td> |
| <td> |
| <tt>whirr.identity</tt> |
| </td> |
| <td>The blobstore identity. See the |
| <a href="#cloud-provider-config">table below</a> for how this maps to the credentials for |
| your provider.</td> |
| </tr> |
| <tr valign="top"> |
| <td> |
| <tt>whirr.blobstore-credential</tt> |
| </td> |
| <td> |
| <tt>--blobstore-credential</tt> |
| </td> |
| <td> |
| <tt>whirr.credential</tt> |
| </td> |
| <td>The blobstore credential. See the |
| <a href="#cloud-provider-config">table below</a> for how this maps to the credentials for |
| your provider.</td> |
| </tr> |
| <tr valign="top"> |
| <td> |
| <tt>whirr.blobstore-location-id</tt> |
| </td> |
| <td> |
| <tt>--blobstore-location-id</tt> |
| </td> |
| <td>As close as possible to the compute nodes</td> |
| <td>The blobstore location ID</td> |
| </tr> |
| <tr valign="top"> |
| <td> |
| <tt>whirr.blobstore-cache-container</tt> |
| </td> |
| <td> |
| <tt>--blobstore-cache-container</tt> |
| </td> |
| <td>Random container automatically removed at the end of the session</td> |
| <td>The name of the container that Whirr should use to cache local files</td> |
| </tr> |
| </table> |
| |
| <p>You can see a list of all the available blobstore providers by running</p> |
| <source>$ whirr list-providers blobstore</source> |
| |
| <p>Note: we are testing only on aws-s3 and cloudfiles-us.</p> |
| |
| <subsection name="Cluster State Store Options"></subsection> |
| <table border="0"> |
| <tr valign="top"> |
| <th> |
| <b>Name</b> |
| </th> |
| <th> |
| <b>Command line option</b> |
| </th> |
| <th> |
| <b>Default</b> |
| </th> |
| <th> |
| <b>Description</b> |
| </th> |
| </tr> |
| <tr valign="top"> |
| <td> |
| <tt>whirr.state-store</tt> |
| </td> |
| <td> |
| <tt>--state-store</tt> |
| </td> |
| <td>local</td> |
| <td>What kind of store to use for cluster state (local, blob or none).</td> |
| </tr> |
| <tr valign="top"> |
| <td> |
| <tt>whirr.state-store-container</tt> |
| </td> |
| <td> |
| <tt>--state-store-container</tt> |
| </td> |
| <td>none</td> |
| <td>Container where to store state. Valid only for the blob state |
| store.</td> |
| </tr> |
| <tr valign="top"> |
| <td> |
| <tt>whirr.state-store-blob</tt> |
| </td> |
| <td> |
| <tt>--state-store-blob</tt> |
| </td> |
| <td>whirr-< |
| <tt>whirr.cluster-name</tt>></td> |
| <td>Blob name for state storage. Valid only for the blob state store.</td> |
| </tr> |
| </table> |
| <subsection name="Instance Login Options"></subsection> |
| <table border="0"> |
| <tr valign="top"> |
| <th> |
| <b>Name</b> |
| </th> |
| <th> |
| <b>Command line option</b> |
| </th> |
| <th> |
| <b>Default</b> |
| </th> |
| <th> |
| <b>Description</b> |
| </th> |
| </tr> |
| <tr valign="top"> |
| <td> |
| <tt>whirr.cluster-user</tt> |
| </td> |
| <td> |
| <tt>--cluster-user</tt> |
| </td> |
| <td>Current local user</td> |
| <td>The name of the user that Whirr will create on all instances. This is |
| the user you should use to access the cluster.</td> |
| </tr> |
| <tr valign="top"> |
| <td> |
| <tt>whirr.private-key-file</tt> |
| </td> |
| <td> |
| <tt>--private-key-file</tt> |
| </td> |
| <td> |
| <i>~/.ssh/id_rsa</i> |
| </td> |
| <td>The filename of the private RSA SSH key used to connect to instances. |
| Note: the public/private key must be set together, and must be passwordless.</td> |
| </tr> |
| <tr valign="top"> |
| <td> |
| <tt>whirr.public-key-file</tt> |
| </td> |
| <td> |
| <tt>--public-key-file</tt> |
| </td> |
| <td> |
| <i>~/.ssh/id_rsa</i>.pub</td> |
| <td>The filename of the public RSA SSH key used to connect to instances. |
| Note: the public/private key must be set together, and must be passwordless.</td> |
| </tr> |
| </table> |
| <subsection name="Image and Hardware Selection Options"></subsection> |
| <table border="0"> |
| <tr valign="top"> |
| <th> |
| <b>Name</b> |
| </th> |
| <th> |
| <b>Command line option</b> |
| </th> |
| <th> |
| <b>Default</b> |
| </th> |
| <th> |
| <b>Description</b> |
| </th> |
| </tr> |
| <tr valign="top"> |
| <td> |
| <tt>whirr.template</tt> |
| </td> |
| <td> |
| <tt>--template</tt> |
| </td> |
| <td>osFamily=UBUNTU,osVersionMatches=10.04,minRam=1024</td> |
| <td>The specification of requirements for instances in jclouds <a href="https://github.com/jclouds/jclouds/blob/1.5.x/compute/src/main/java/org/jclouds/compute/domain/TemplateBuilderSpec.java">TemplateBuilderSpec</a> format. For example, this can control the ram, cores, os, and login user details.</td> |
| </tr> |
| <tr valign="top"> |
| <td> |
| <tt>whirr.image-id</tt> |
| </td> |
| <td> |
| <tt>--image-id</tt> |
| </td> |
| <td>none</td> |
| <td>The ID of the image to use for instances. If not specified then a |
| vanilla Linux image is chosen.</td> |
| </tr> |
| <tr valign="top"> |
| <td> |
| <tt>whirr.hardware-id</tt> |
| </td> |
| <td> |
| <tt>--hardware-id</tt> |
| </td> |
| <td>none</td> |
| <td>The type of hardware to use for the instance. This must be compatible |
| with the image ID.</td> |
| </tr> |
| <tr valign="top"> |
| <td> |
| <tt>whirr.hardware-min-ram</tt> |
| </td> |
| <td> |
| <tt>--hardware-min-ram</tt> |
| </td> |
| <td>1024</td> |
| <td>The minimum amount of RAM each instance should have</td> |
| </tr> |
| </table> |
| <subsection name="Firewall and DNS-Related Options"></subsection> |
| <table border="0"> |
| <tr valign="top"> |
| <th> |
| <b>Name</b> |
| </th> |
| <th> |
| <b>Command line option</b> |
| </th> |
| <th> |
| <b>Default</b> |
| </th> |
| <th> |
| <b>Description</b> |
| </th> |
| </tr> |
| <tr valign="top"> |
| <td> |
| <tt>whirr.client-cidrs</tt> |
| </td> |
| <td> |
| <tt>--client-cidrs</tt> |
| </td> |
| <td>none</td> |
| <td>A comma-separated list of |
| <a class="externalLink" href="http://en.wikipedia.org/wiki/Classless_Inter-Domain_Routing"> |
| CIDR</a>blocks. E.g. |
| <tt>208.128.0.0/11,108.128.0.0/11</tt></td> |
| </tr> |
| <tr valign="top"> |
| <td> |
| <tt>whirr.firewall-rules</tt> |
| </td> |
| <td> |
| <tt>--firewall-rules</tt> |
| </td> |
| <td>none</td> |
| <td>A comma-separated list of port numbers to open. E.g. <tt>8080,8181</tt>.</td> |
| </tr> |
| <tr valign="top"> |
| <td> |
| <tt>whirr.firewall-rules.{role}</tt> |
| </td> |
| <td> |
| <tt>--firewall-rules.{role}</tt> |
| </td> |
| <td>none</td> |
| <td>A comma-separated list of port numbers to open on instances with a specific role. Replace {role} the actual role name. E.g. <tt>whirr.firewall-rules.hbase-master=10101</tt>.</td> |
| </tr> |
| <tr valign="top"> |
| <td> |
| <tt>whirr.store-cluster-in-etc-hosts</tt> |
| </td> |
| <td> |
| <tt>--store-cluster-in-etc-hosts</tt> |
| </td> |
| <td>false</td> |
| <td>Whether to store all cluster IPs and hostnames in /etc/hosts on each node.</td> |
| </tr> |
| </table> |
| <p> |
| <a name="cloud-provider-config"></a> |
| </p> |
| <subsection name="Cloud provider specific configuration"></subsection> |
| <table border="0"> |
| <tr valign="top"> |
| <th> |
| <b>Compute Service Provider</b> |
| </th> |
| <th> |
| <b> |
| <tt>whirr.provider</tt> |
| </b> |
| </th> |
| <th> |
| <b> |
| <tt>whirr.identity</tt> |
| </b> |
| </th> |
| <th> |
| <b> |
| <tt>whirr.credential</tt> |
| </b> |
| </th> |
| <th> |
| <b>Notes</b> |
| </th> |
| </tr> |
| <tr valign="top"> |
| <td>Amazon EC2</td> |
| <td> |
| <tt>aws-ec2</tt> |
| </td> |
| <td>Access Key ID</td> |
| <td>Secret Access Key</td> |
| <td>Used to form security Group (via jclouds tag)</td> |
| </tr> |
| <tr valign="top"> |
| <td>Rackspace Cloud Servers</td> |
| <td> |
| <tt>cloudservers-us</tt> |
| </td> |
| <td>Username</td> |
| <td>API Key</td> |
| <td>Warning: clusters do not run behind a firewall.</td> |
| </tr> |
| </table> |
| <p> |
| <a name="jclouds-specific-config"></a> |
| </p> |
| <subsection name="Relevant jclouds configuration options"></subsection> |
| <table border="0"> |
| <tr valign="top"> |
| <th> |
| <b>Name</b> |
| </th> |
| <th> |
| <b>Default</b> |
| </th> |
| <th> |
| <b>Unit</b> |
| </th> |
| <th> |
| <b>Description</b> |
| </th> |
| </tr> |
| <tr valign="top"> |
| <td> |
| <tt>jclouds.compute.timeout.node-terminated</tt> |
| </td> |
| <td> |
| <tt>30000 (30 sec.)</tt> |
| </td> |
| <td> |
| <tt>msec</tt> |
| </td> |
| <td>The max. time to wait for nodes to be terminated</td> |
| </tr> |
| <tr valign="top"> |
| <td> |
| <tt>jclouds.compute.timeout.node-running</tt> |
| </td> |
| <td> |
| <tt>120000 (2 min.)</tt> |
| </td> |
| <td> |
| <tt>msec</tt> |
| </td> |
| <td>The max. time to wait for nodes to be in running state</td> |
| </tr> |
| <tr valign="top"> |
| <td> |
| <tt>jclouds.compute.timeout.script-complete</tt> |
| </td> |
| <td> |
| <tt>600000 (10 min.)</tt> |
| </td> |
| <td> |
| <tt>msec</tt> |
| </td> |
| <td>The max. time to wait for a script to complete execution</td> |
| </tr> |
| <tr valign="top"> |
| <td> |
| <tt>jclouds.compute.timeout.port-open</tt> |
| </td> |
| <td> |
| <tt>30000 (30 sec.)</tt> |
| </td> |
| <td> |
| <tt>msec</tt> |
| </td> |
| <td>The max. time to wait for nodes to wait for the ssh port to open on newly |
| lauched nodes</td> |
| </tr> |
| <tr valign="top"> |
| <td> |
| <tt>jclouds.ssh.retryable-messages</tt> |
| </td> |
| <td> |
| failed to send channel request, |
| channel is not opened, |
| invalid data, |
| End of IO Stream Read, |
| Connection reset, |
| connection is closed by foreign host, |
| socket is not established |
| </td> |
| <td> |
| <tt>--</tt> |
| </td> |
| <td>Comma-separated list of error messages upon receiving which jclouds retries |
| the ssh action.</td> |
| </tr> |
| <tr valign="top"> |
| <td> |
| <tt>jclouds.ssh.max-retries</tt> |
| </td> |
| <td> |
| <tt>7</tt> |
| </td> |
| <td> |
| <tt>times</tt> |
| </td> |
| <td>The max. number of retries jclouds will attempt a failed ssh action. |
| The period between tries increases from 200ms -> 2 seconds per math.pow(attempt, 2)</td> |
| </tr> |
| <tr valign="top"> |
| <td> |
| <tt>jclouds.ssh.retry-auth</tt> |
| </td> |
| <td> |
| <tt>true</tt> |
| </td> |
| <td> |
| <tt>boolean</tt> |
| </td> |
| <td>Whether jclouds should retry ssh actions on authentication failed errors.</td> |
| </tr> |
| <tr valign="top"> |
| <td> |
| <tt>jclouds.compute.blacklist-nodes</tt> |
| </td> |
| <td> |
| </td> |
| <td> |
| <tt>--</tt> |
| </td> |
| <td>Comma-separated list of nodes that we shouldn't attempt to list |
| as they are dead in the provider for some reason.</td> |
| </tr> |
| |
| </table> |
| </body> |
| </document> |