rlsmgrd - Daemon process for the IMSS web content release manager system
rlsmgrd [ -t num ] [ -T file ] [ -f ] [ -c file ] mirror-group
The rlsmgrd tool is the first of a three-stage release management process. This tool runs in the background as a daemon process, monitoring a designated directory for incoming files, and launching sub-processes to manage the deployment of the content contained in those files into the web server areas.
The scope of rlsmgrd is strictly limited to the tasks of monitoring the incoming directory and managing child processes. No external calls to untar archives or move files is performed by this tool.
rlsmgrd requires that a mirror group be specified on the command-line. This group name uniquely identifies a group of one or more servers that handle a given externally-visible hostname. In addition to that required value, the following options are recognized:
Causes the process to fork and run as a daemon process. Performs all the tasks that a daemon should; closes all inheritied file descriptors, detaches itself from the controlling TTY, etc. This may, in the future, become the default behavior.
Specify a tracing level to be used for diagnostics (see the -T option below). The value is used internally as a bit-mask, so a value of 5 is in fact specifying the combination of 1 and 4, while exluding 2. Currently, only the first three bits are used. (A detailed description of what each bit does will soon follow.)
Specifiy the file that diagnostics are written to. Not to be confused with the general tool logfile, which generally only notes the very high-level events. If not specified, and a non-zero value for -t is specified, this will default to ``rlsmgrd-trace'' in the same logging directory as other logs are written to.
Instruct the tool to read configuration from the specified file rather than the Oracle database. This is meant mainly for debugging and for mirror groups that contain only one host. This is not a good idea for mirror groups with two or more hosts, as the database is specifically utilized so as to avoid configurations diverging from one host to the next. (Description of the configuration file format will be added later.)
In a mirror-pool environment, a host running this daemon is almost certainly monitoring a virtual hostname that differs from the physical hostname. This option specifies what the rlsmgrd process should consider the hostname to be, rather than using the system hostname.
All of the above arguments (except for -f) are passed along to the child process that gets spawned to handle an incoming package.
In order to read configuration data from the Oracle RDBMS,
the tool must have a database name/address,
and a user ID and password.
It would be insecure to pass these either on the command-line or via environment variables.
To that end,
if the tool attempts to use the Oracle data source (in the absence of a -c option,
above) then it looks for a control file in the same directory as the tool itself resides in.
The name of the control file must be the mirror group name as passed on the command line,
with a suffix of ``
The file itself should contain only one or two lines. The first line should be of the form:
The password should not be encrypted. The second line, if specified, should be the database name. If this is not specified, the value of the environment variable ORACLE_SID is used. It is assumed that the environment variable ORACLE_HOME is already set.
This specification will be used by all release manager tools located in the same directory.
$TOOL_DIR is the directory in which the tool is installed, the files that provide Oracle information, for the sake of connecting to the Oracle server. This file is not referenced if the -c option is passed.
Randy J. Ray (email@example.com)