Planetary scale Event Propagation and Routing
pldeploy - utility to deploy, configure and control PlanetLab services
pldeploy [command] [options]
pldeploy is a tool for deploying, configuring and managing service on PlanetLab. PlanetLab services run in a ``slice'', a collection of virtual machines running on one or more PlanetLab nodes. Each virtual machine can be configured with one or more ``cogs'', a particular component service. In the most common case, a service consists of a single cog that runs on all virtual machines.
--failed <file> -- name of a file for list of failed nodes
--proxy <host:port> -- specify an http proxy for ssh connections
--root <directory> -- specify the slice root directory
--set <param>=<value> -- specify a pass-on parameter
--timeout <seconds> -- specify the number of seconds to wait for ssh
--thread <count> -- specify the number of threads to use
--verbose -- show lots of useful information
--slice <slicename> -- name of the PlanetLab slice
--cog <cogname> -- name of the cog to create
--cog <cogname> -- name of the cog, defaults to all cogs
--node <nodename> -- name of the node, can specify multiple
--node @<file> -- name of a file with node names, one per line
--node "--" -- read a list of nodes from stdin, one per line
--deploy -- deploy the cog(s) on all nodes after creating
--start -- start the cog(s) on the node(s) after deploy
=head3 remove -- remove one or more nodes from a cog
--cog <cogname> -- name of the cog, defaults to all cogs
--node <nodename> -- name of the node, can specify multiple
--node @<file> -- name of a file with node names, one per line
--node "--" -- read a list of nodes from stdin, one per line
--stop -- stop the cog(s) before removing
--clean -- cleanup on the node after the cog is stopped
--force -- force removal of all nodes from a cog
--cog <cogname> -- name of the cog, defaults to all cogs
--node <nodename> -- name of the node, can specify multiple
--node @<file> -- name of a file with node names, one per line
--node "--" -- read a list of nodes from stdin, one per line
--stop -- stop the cog(s) before deploy
--start -- start the cog(s) on the node(s) after deploy
=head3 clean -- remove files from the node
--cog <cogname> -- name of the cog, defaults to all cogs
--node <nodename> -- name of the node, can specify multiple
--node @<file> -- name of a file with node names, one per line
--node "--" -- read a list of nodes from stdin, one per line
--old -- pass version information to the node
=head3 stamp -- set the version stamp in local cog directory
--cog <cogname> -- name of the cog to timestamp
--cog <cogname> -- name of the cog, defaults to all cogs
--node <nodename> -- name of the node, can specify multiple
--node @<file> -- name of a file with node names, one per line
--node "--" -- read a list of nodes from stdin, one per line
--old -- pass version information to the node
=head3 start -- start the service on the node
--cog <cogname> -- name of the cog, defaults to all cogs
--node <nodename> -- name of the node, can specify multiple
--node @<file> -- name of a file with node names, one per line
--node "--" -- read a list of nodes from stdin, one per line
--old -- pass version information to the node
=head3 stop -- stop the service on the node
--cog <cogname> -- name of the cog, defaults to all cogs
--node <nodename> -- name of the node, can specify multiple
--node @<file> -- name of a file with node names, one per line
--node "--" -- read a list of nodes from stdin, one per line
--old -- pass version information to the node
=head3 status -- check the service status
--cog <cogname> -- name of the cog, defaults to all cogs
--node <nodename> -- name of the node, can specify multiple
--node @<file> -- name of a file with node names, one per line
--node "--" -- read a list of nodes from stdin, one per line
--old -- pass version information to the node
=head3 pull -- retrieve data stored in the OUTBOUND directory
--cog <cogname> -- name of the cog, defaults to all cogs
--node <nodename> -- name of the node, can specify multiple
--node @<file> -- name of a file with node names, one per line
--node "--" -- read a list of nodes from stdin, one per line
--cog <cogname> -- name of the cog, defaults to all cogs
--node <nodename> -- name of the node, can specify multiple
--node @<file> -- name of a file with node names, one per line
--node "--" -- read a list of nodes from stdin, one per line
--exec <command> -- a command to invoke on the node through ssh
Behavior of pldeploy can be customized in the SD configuration file stored in the local control directory. Each line in the file contains a configuration directive consisting of a field and a value separated by a ``:''. Blank lines and lines that begin with ``#'' are ignored.
The following directives are understood:
slice -- string, slice name
failed-file -- file name, place to record list of failed nodes
proxy -- host:port, http proxy server
verbose -- 1|0, show debugging information
nocheck -- host, do not verify working ssh on the host
suspend -- host, ignore all ops on the host
timeout -- integer, seconds to wait for completion of a command
threads -- integer, number of threads to create
Additional documentation for building and deploying a service with deploy can be found in the accompanying ``HOWTO'' guide.
See http://www.planet-lab.org/ for more information.
Mic Bowman, <mic.bowman@intel.com>