9.11. fabric:container-create-ssh


creates one or more new containers through SSH


fabric:container-create-ssh [ --help ] [ --host host ] [ --port port ] [ --min-port minPort ] [ --max-port maxPort ] [ --path path ] [ --user user ] [ --password password ] [ --new-user newUser ] [ --new-user-password newPassword ] [ --new-user-role newRole ] [ --private-key keyPath ] [ --pass-phrase passPhrase ] [ --ssh-retries retries ] [ --proxy-uri URI ] [ --ensemble-server ] [ --profile profileID ] [ --version version ] [ -b, --bind-address bindAddress ] [ --datastore-type storeType ] [ --datastore-option storeOption ] [ --zookeeper-password zooPass ] [ --jvm-optsjvmOpts ] [ --resolver policy ] [ -m, --manual-ip IPAddr ] [ --env key=value ] [ --with-admin-access ] { Name } [ Number ]


Specifically, this command provisions the container as follows:
  1. Logs into the specified SSH host, using either the provided username and password or using the provided username and private key.
  2. Runs a script on the remote host that that downloads the container runtime to the remote host. The runtime files are downloaded through a Maven proxy server. By default, the script uses the oldest Maven proxy server in the current ensemble (every Fabric Server has a Maven proxy server deployed in it). You can optionally override the default Maven proxy by specifying the --proxy-uri option. The script would then use the specified Maven proxy server to download the container runtime.
    The ability to override the Maven proxy is important in certain cases (for example, in a cloud deployment) where the remote host might not be able to access the default Maven proxy server.
  3. Starts up the newly installed container (or containers) and installs the specified fabric profile (or profiles).
By default, the newly created containers belong to the current fabric (that is, the same fabric as the container from which you invoked the command). It is possible, however, to create a container on the remote host that acts as the seed for a completely new fabric, separate from the current one. To create a new fabric on the remote host, invoke the fabric:container-create-ssh command with the --ensemble-server flag, which makes the newly created container (or containers) a Fuse Server. The newly created Fuse Server on the remote host does not join the current ensemble: it belongs to an independent ensemble (a new fabric).


Table 9.11. fabric:container-create-ssh Arguments

--help Displays the online help for this command
--host (Required) Host name to SSH into.
--port The IP port number for the SSH connection. Default is 22.
--min-portThe minimum port number of the allowed IP port range. Default is 0.
--max-portThe maximum port number of the aollowed IP port range. Default is 65535.
--path Path on the remote filesystem where the container is to be installed.
--user (Required) User name for login.
--password Password for login. If the password is omitted, private key authentication is used instead.
--new-userThe username of a new user. The option refers to a Karaf user (ssh, http, jmx). Defaults is admin.
--new-user-passwordThe password of the new user. The option refers to a Karaf user (ssh, http, jmx).
--new-user-roleThe role of the new user. The option refers to a Karaf user (ssh, http, jmx).
--private-key Specifies the path to the private key on the local file system. The default is ~/.ssh/id_rsa on *NIX platforms or C:\Documents and Settings\UserName\.ssh\id_rsa on Windows.
--pass-phraseThe pass phrase of the key, if private key authentication is used and the private key is encrypted.
--ssh-retries Maximum number or times to retry SSH connection.
--proxy-uri URL of the Maven proxy server used to download the container runtime.
--ensemble-serverWhether the new container should be a Fabric Server.
--profileA list of profile IDs to associate with the new container.
--versionSpecifies the version of the new container (the version must be created in advance using fabric:version-create). Defaults to the current default version (use version-list to find the current default).
-b, --bind-addressSpecifies the default bind address.
--datastore-typeSpecifies the datastore type.
--datastore-optionOptions to pass to the container's datastore. To specify multiple options, use this flag multiple times.
--zookeeper-passwordUsed in combination with the --ensemble-server option. If creating an ensemble server, specifies the Zookeeper password to use (if not specified, a password is generated automatically).
--jvm-optsSpecify options to pass to the container's JVM.
--resolverSpecifies how the container will report its address to other containers. Valid values are localip, localhostname, publicip, publichostname, manualip. For more information see Section 9.20, “fabric:container-resolver-set”.
-m, --manual-ipThe IP address to use, when using the manualip resolver. Used in combination with the --resolver option.
--envSets an environment variable. To specify multiple environment variables, use this flag multiple times.
--with-admin-accessIndicates that the target user has administrative access (password-less sudo). When this option is specified, Fabric will attempt to install any missing dependencies on the target host.
Name(Required) The name of the container to create. When creating multiple containers, it serves as a prefix.
NumberThe number of containers that should be created.

Related topics

For more details about resolver policies, see: