Command-Line¶
Run ferry --help to get a list of available commands.
deploy¶
Deploy a service in an operational setting
$ ferry deploy sn-fea3x --mode=local --conf=opconf
Deploying an application pushes your connector images to the cloud and enables other users to interact with your application. Deployments support multiple modes and configuration options. Use ferry deploy --help to view these options.
This feature is experimental
help¶
Print out help information. Help for specific commands can be invoked by typing ferry CMD --help.
inspect¶
Print out detailed information about an application (either running or installed)
For example:
$ ferry inspect sa-0
This command prints out detailed information regarding the service, including the list of all the docker containers that make up the service. Note that sa-0 is the unique ID of a running service.
install¶
Build or rebuild all the necessary Docker images
For example:
$ sudo ferry install -k $MY_KEY_DIRECTORY
Images can be built with a custom public/private key pair by specifying the -k parameter.
logs¶
Copy over the logs to the host directory
For example:
Usage: ferry logs sa-0 $LOGDIR
Note that sa-0 is the unique ID of a running service, and LOGDIR is a directory on the host where the logs should be copied.
ls¶
List installed applications
$ ferry ls
App Author Version Description
--- ------ ------- -----------
cassandra James Horey 0.2.0 Cassandra stack...
hadoop James Horey 0.2.0 Hadoop stack...
openmpi James Horey 0.2.0 Open MPI over Gluster...
spark James Horey 0.2.0 Spark over Hadoop...
yarn James Horey 0.2.0 Hadoop YARN over Glus...
ps¶
List the available applications
By default this command will only print out running applications. You can print out stopped and terminated applications by typing: ferry ps -a.
pull¶
Download either individual Docker images or complete Ferry applications
For example:
$ ferry pull app://<user>/<app>
$ ferry pull image://<user>/<image>
If you download an application, all the necessary images will download automatically.
push¶
Upload either individual Docker images or complete Ferry applications
For example:
$ ferry push app:///home/ferry/myapp.yml
$ ferry push image://<user>/<image>
If you upload an application, all the necessary images will be uploaded automatically to the Docker registry specified in the Ferry authorization file.
rm¶
Remove a stopped service
For example:
$ ferry rm sa-0
Note that sa-0 refers to a stopped application. Remove all data associated with the stack, including connector information. It is highly recommended to snapshot the state before removing an application. After removing the application, it may appear in the ps list for a short time.
server¶
Start the ferry daemon
$ sudo ferry server
The ferry server controls all interaction with the actual service and must be running to do anything.
ssh¶
SSH into a running connector
For example:
$ ferry ssh sa-0 client-0
Note that sa-0 refers to the unique service ID and client-0 refers to the user-defined connector name. If the connector name is not supplied, ferry will attempt to connect to the first available connector.
start¶
Start or restart an application
For example:
$ ferry start openmpi
$ ferry start sa-0
$ ferry start sn-aee3f...
The application may be new, a stopped application, or a snapshot.
stop¶
Stop, but do not delete, a running application
For example:
$ ferry stop sa-0
$ ferry ps
UUID Storage Compute Connectors Status Base Time
---- ------- --------- ---------- ------- ------- ----
sa-0 se-0 [u'se-1'] se-2 stopped hadoop --
Note that sa-0 is the unique ID of the running service. After the service is stopped, the service can be restarted. All state in the connectors are preserved across start/restart events.
snapshot¶
Take a snapshot of an application
For example:
$ ferry snapshot sa-0
Note that sa-0 refers to either a running or stopped service. A snapshot saves all the connector state associated with a running service. The user can create multiple snapshots.
snapshots¶
List all the available snapshots
For example:
$ ferry snapshots
UUID Base Date
-------------------------------------------- ------ --------------------
sn-sa-4-81a67d8e-b75b-4919-9a65-50554d183b83 hadoop 02/5/2014 (02:02 PM)
quit¶
Stop the Ferry servers
This will gracefully shutdown the servers controlling Ferry. This command must be executed via sudo.