Red Hat Training

A Red Hat training course is available for Red Hat Fuse

9.30. fabric:join


join a container to an existing fabric


fabric:join [ --help ] [[ -f ] | [ --force ]] [[ -p ] | [ --profile ]Profile] [[ -n ] | [ --non-managed ]] [ --zookeeper-password zooPassword ] [[ -r ] | [ --resolver ]policy] [[ -m ] | [ --manual-ip ]ipAddress] [ --min-port port ] [ --max-port port ] URL [ ContainerName ]


The fabric:join command can be used in either of the following scenarios:
  • You have an existing fabric, A, and you want to join a standalone container to fabric A.
  • You have two separate fabrics, A and B, and you want to transfer a container from fabric B to fabric A.


Table 9.30, “fabric:join Arguments” describes the command's arguments.

Table 9.30. fabric:join Arguments

--help Displays the online help for this command.
-f, --forceForces the provided container name to be used.
-p, --profileSpecifies the profile to associate with the container after it joins the fabric. The fabric profile, which installs the Fabric Agent, is automatically assigned to all managed containers.
-n, --non-managedRegisters the container with the fabric's ensemble, but does not install a Fabric Agent into the container. The container's configuration is not managed by the fabric and continues to behave like a standalone container except that it can be discovered through the fabric's ensemble.
--zookeeper-password The ensemble password for the fabric that you are trying to join. If you do not specify this option, you will be prompted to enter the password.
-r, --resolver Specifies the local resolver policy. Possible values are: localip, localhostname, publicip, publichostname, manualip. The default is localhostname.
-m, --manual-ip If you select the manualip resolver policy (using the --resolver option), specifies the IP address to use for the resolver.
--min-port Specifies the minimum port number of the allowed IP port range. Default is 0.
--max-port Specifies the maximum port number of the allowed IP port range. Default is 65535.
URL Specifies the URL of one of the Fabric Servers, specified in the format Host[:Port]. The Port value defaults to 2181.
ContainerNameSpecifies a unique name for the container to use when joining the fabric. By default, the value of the property from the etc/ file is used.


The following command will add a standalone container to a fabric as a managed container:
fabric:join myhostA ishmael
Where myhostA is the hostname of a Fabric Server (you must connect to a Fabric Server, not an ordinary fabric container) and the container is assigned the name ishmael. You will be prompted to enter the fabric's Zookeeper password.
If the container being added to a fabric is assigned the same name as a container that is already a part of the fabric, the original container will be reset to have the same settings as the new container.
If no container name is specified as part of the command, the command will use the value of the property from the etc/ file. The default setting for this property is root. To avoid conflicts, you should either specify a container name or change the value of the property.
To make sure that the container starts up with a specific profile, you use the -p argument as follows:
fabric:join -p whaler myhostA ishmael
The container ishmael is assigned the profile, whaler, when it joins the fabric.
If you want to be able to configure the container manually, but take advantage of the fabric's discovery features, you can add the container as a non-managed container using the following command:
fabric:join -n myhostA ishmael