Chapter 10. The tpm Deployment Command
tpm, or the Tungsten Package Manager, is a complete
configuration, installation and deployment tool for Tungsten Replicator. It
includes some utility commands to simplify those and other processes. In
order to provide a stable system, all configuration changes must be
completed using tpm. tpm makes use of
ssh enabled communication and the sudo
support as required by the Appendix C, Prerequisites.
tpm can operate in two different ways when performing a
tpm staging configuration — a
tpm configuration is created by defining the
command-line arguments that define the deployment type, structure and
any additional parameters. tpm then installs all the
software on all the required hosts by using ssh to
distribute Tungsten Replicator and the configuration, and optionally
automatically starts the services on each host. tpm
manages the entire deployment, configuration and upgrade procedure.
configuration — tpm uses an
INI file to configure the service on
the local host. The
INI file must be
create on each host that will run Tungsten Replicator. tpm
only manages the services on the local host; in a multi-host deployment,
upgrades, updates, and configuration must be handled separately on each
For a more detailed comparison of the two systems, see
Section 10.1, “Comparing Staging and
During the staging-based configuration, installation and deployment, the
tpm tool works as follows:
tpm creates a local configuration file that contains
the basic configuration information required by tpm.
This configuration declares the basic parameters, such as the list of
hosts, topology requirements, username and password information. These
parameters describe top-level information, which tpm
translates into more detailed configuration according to the topology
and other settings.
Within staging-based configuration, each host is accessed (using
ssh), and various checks are performed, for example,
checking database configuration, whether certain system parameters match
required limits, and that the environment is suitable for running
During an installation or upgrade, tpm copies the
current distribution to each remote host.
The core configuration file is then used to translate a number of
template files within the configuration of each component of the system
into the configuration properties files used by Tungsten Replicator. The
configuration information is shared on every configured host within the
service; this ensures that in the event of a host failure, the
configuration can be recovered.
The components of Tungsten Replicator are then started (installation) or
restarted according to the configuration options.
Where possible, these steps are conducted in parallel to speed up the
process and limit the interruption to services and operations.
This method of operation ensures:
Active configurations and properties are not updated until validation is
completed. This prevents a running Tungsten Replicator installation from
being affected by an incompatible or potentially dangerous change to the
Enables changes to be made to the staging configuration before the
configuration is deployed.
Services are not stopped/restarted unnecessarily.
During an upgrade or update, the time required to reconfigure and
restart is kept to a minimum.
Because of this safe approach to performing configuration, downtime is
minimized, and the configuration is always based on files that are separate
from, and independent of, the live configuration.
tpm always creates the active configuration from the
combination of the template files and parameters given to
tpm. This means that changes to the underlying property
files with the Tungsten Replicator configuration are overwritten by
tpm when the service is configured or updated.
In addition to the commands that tpm supports for the
installation and configuration, the command also supports a number of other
utility and information modes, for example, the
fetch command retrieves existing
configuration information to your staging, while
query returns information about an active
Using tpm is divided up between the commands that define
the operation the command will perform, which are covered in
Section 10.5, “tpm Commands”; configuration options, which
determine the parameters that configure individual services, which are
detailed in Section 10.7, “tpm Configuration Options”; and the
options that alter the way tpm operates, covered in
Section 10.3, “tpm Staging Configuration”.