ArrowCluster Tool Commands

This chapter covers the various command line tools to run the deployment to setup ArrowCloud, ArrowDB, and ArrowCluster on your nodes.

Deployment tools

The arrowcluster command contains several subcommands: deployverify, upgrade, downgrade, add-host, and info. Each subcommand has a help feature that displays its usage, flags, and brief descriptions. "-h" or "--help" can be used with any command or subcommand to view details on how to use it. To view the version of the arrow cluster tool, use "-v" or "--version".

 arrowcluster -h
 Usage: arrowcluster COMMAND [command-specific-options]
 Deploy and manage on-premise arrowcloud cluster. Type "arrowcluster COMMAND -h" for more details.
 Commands:
  deploy
deploy a new arrowcloud cluster
  verify
perform optional sanity checks before and after cluster installation
  upgrade
upgrade an arrowcloud cluster to a new version
  downgrade downgrade an arrowcloud cluster to a new version
  add-host add new hosts to cluster
  info collect and show cluster information
 Options:
  -h, --help
output usage information
  -v, --version
output the version of the cli

Deploy

To perform the initial deployment of an ArrowCloud to an on-premise cluster, use the deploy subcommand with the config file of user_input.json as the argument. Re-deployment can also happen using --force.

 arrowcluster deploy
 arrowcluster deploy -h
 Usage: arrowcluster deploy [options]
 Install a new arrowcloud cluster.

 Options:
  -c, --config-file [config-file]  (required)
a json file contains hosts, domain and db information about the new cluster
  -f, --force
if a cluster is already installed, force reinstall to the existing cluster

Verify

Perform various sanity checks before and after installation. Verify contains three subcommands: configpreinstall, and postinstall.

arrowcluster verify -h

 Usage: arrowcluster verify SUBCOMMANDS [subcommand-specific-options]

 Perform various sanity checks before and after installation.
Type "arrowcluster deploy [SUBCOMMAND] -h" for more details. Sub-commands:
  config
perform syntax check of a json formatted config file
  preinstall
perform memory/disk/cpu/network check on a new arrowcloud cluster before installation
  postinstall
perform sanity check on a running arrowcloud cluster after installation
 Options:
  -h, --help
output usage information

Config

The config subcommand performs a sanity check on the provided config file. It will check to see if the required fields in the user_input are complete and that the IP's provided are in the correct place. 

Expected outcome: Terminal output stating if the user_input verification passed or failed. Upon failure, it will print out the errors.

arrowcluster verify config
arrowcluster verify config -h

 Usage: arrowcluster verify config [options]
 Perform syntax check of a json formatted config file.

 Required Options:
  -c, --config-file [config-file]
a json file contains hosts, domain and db information about the new cluster

Preinstall

The preinstall subcommand runs a pre-deployment memory/disk/cpu/network check on the cluster to ensure it is satisfactory for deployment including hardware and port checks.

Expected outcome: Terminal output stating if the preinstall passed or failed. If it fails, it will point to the detailed log file.

arrowcluster verify preinstall
arrowcluster verify preinstall -h
 
 Usage: arrowcluster verify preinstall [options]
 perform memory/disk/cpu/network check on a new arrowcloud cluster before installation.

 Required Options:
  -c, --config-file [config-file]
a json file contains hosts, domain and db information about the new cluster

Postinstall

Postinstall subcommand runs role specific checks to ensure all components have been installed correctly. If it fails, it will display a warning stating that components have not been installed correctly.

Expected outcome: Terminal output stating if the postinstall passed or failed. If it fails, it will point to the detailed log file.

arrowcluster verify postinstall
arrowcluster verify postinstall -h

 Usage: arrowcluster verify postinstall [options]
 Perform sanity check of an arrowcloud cluster.

 Required Options:
  -i, --host [host ip]
ip of any host in arrowcloud cluster
  -u, --ssh-username [ssh username]
username to ssh connect to remote machine
  -w, --ssh-password [ssh password]
password to ssh connect to remote machine
  -k, --ssh-pem [ssh pem]
pem file to ssh connect to remote machine
  -p, --ssh-port [ssh port]
port to ssh connect to remote machine

Upgrade

Upgrades a cluster to a new version.

arrowcluster upgrade
arrowcluster upgrade -h Usage: arrowcluster upgrade [options] Upgrade an arrowcloud cluster to a new version. Required Options:
  --ssh-username [user]
the username to log in as on the remote machine
  --ssh-password [pass]
the password to log in to the remote machine
  --ssh-pem [pem]
the pem file to log in to the remote machine. Can be used instead of pem key
  --ssh-port [port]
the port to log in to the remote machine, default is 22
  --docker-registry-username [user]
optional username for Arrowcloud image docker registry
  --docker-registry-password [pass]
optional password for Arrowcloud image docker registry
  --version [version]
the version to upgrade to
  --host [ip]
ip of any host in arrowcloud cluster
 Options:
  -h, --help
output usage information

Downgrade

Downgrades a cluster to an old version.

arrowcluster downgrade
arrowcluster downgrade -h

 Usage: arrowcluster downgrade [options]

 Downgrade an arrowcloud cluster to an old version.

 Required Options:           
  --ssh-username [user]
the username to log in as on the remote machine
  --ssh-password [pass]
the password to log in to the remote machine
  --ssh-pem [pem]
the pem file to log in to the remote machine. Can be used instead of pem key
  --ssh-port [port]
the port to log in to the remote machine, default is 22
  --docker-registry-username [user]
optional username for Arrowcloud image docker registry
  --docker-registry-password [pass]
optional password for Arrowcloud image docker registry
  --version [version]
the version to downgrade to
  --host [ip]
ip of any host in arrowcloud cluster

Add-host

Adds a new hosts to cluster.

arrowcluster add-host
arrowcluster add-host -h

Usage: arrowcluster add-host [options]

 Add new hosts to cluster.

Required Options:
  --ssh-username [user]
the user to log in as on the remote machine
  --ssh-password [pass]
the password to log in to the remote machine
  --ssh-pem [pem]
the pem file to log in to the remote machine. Can be used instead of password
  --ssh-port [port]
the port to log in to the remote machine, default is 22
  --docker-registry-username [user]
optional username for Arrowcloud image docker registry
  --docker-registry-password [pass]
optional password for Arrowcloud image docker registry
  --new-arrowcloud-hosts [host1[,host2]...]
the ip addresses of new arrowcloud service hosts separated by a comma
  --new-app-hosts [host1[,host2]...]
the ip addresses of new app container hosts separated by a comma
  --host [ip]
ip of any host in arrowcloud cluster
  --proxy-url [url]
optional proxy url which will be applied to newly added hosts, should be in the format of: http://user:pass@proxy.com:1080

Info

Gets the information for the cluster.

arrowcluster info
arrowcluster info -h

Usage: arrowcluster info [options]

 Get arrowcloud cluster's information.

 Required Options:
  -u, --ssh-username [user]
the username to log in as on the remote machine
  -w, --ssh-password [pass]
the password to log in to the remote machine
  -k, --ssh-pem [pem]
pem file to ssh connect to remote machine. Can be used instead of password
  -p, --ssh-port [port]
the port to log in to the remote machine, default is 22
  -i, --host [ip]
ip of any host in arrowcloud cluster

Note: Each flag has a short flag, using the first letter of the flag (e.g -u instead of -username).

Related Links