Managing Systems and Workgroups: A Guide for HP-UX System Administrators

Configuring a System
Using Distributed Systems Administration Utilities
Chapter 3 147
The administrator can initiate synchronization operations on the
managed clients in two ways, using either a push or a pull operation.
Using the cfrun command (see the cfrun (1) manpage for more
information) from the master configuration server, the administrator
can push changes. cfrun reads the file cfrun.hosts to determine
the list of managed clients. It then invokes the cfagent command on
each managed client to perform a synchronization run. Thus, push
operations are really requests to the managed clients to perform an
immediate pull.
Pull operations are performed using cron or cfengine’s own cron-like
cfexecd daemon. Either technique invokes the cfagent command at
fixed intervals in order to perform client-initiated configuration
synchronization. The administrator defines what interval is
appropriate for each group of managed clients. For example, every
five minutes, once an hour, or once a day. The administrator can also
invoke cfagent directly for on-demand synchronization runs.
cfengine Daemons and Commands cfengine employs several
daemons and commands to perform configuration synchronization
operations. The following list describes the primary cfengine
components.
cfagent -- the cfagent command is cfengine’s workhorse. It runs on
each managed client, and bootstraps itself using the file
update.conf, which describes the set of files to transfer from the
master server to the local managed client. The files transferred
include the main policy file, cfagent.conf, and any related policy
files. In the DSAU implementation, cfagent.conf imports the file
cf.main which has examples of many cfengine features.
After the configuration files are transferred, cfagent evaluates the
configuration instructions in these files. If the client system’s current
configuration deviates from the desired configuration, cfagent
executes the defined actions to return the client to the proper state.
cfservd -- cfservd daemon has two roles:
cfservd runs on the master configuration server and is the
clearinghouse for file transfer requests from the managed clients.
cfagent on the managed clients contacts the master server’s
cfservd and requests copies of the master policy files, and copies
of any reference files that are needed as part of the defined