Table of Contents
In this chapter, we will have a more detailed view of the Rudder Agent workflow. What files and processes are created or modified at the installation of the Rudder Agent? What is happening when a new Node is created? What are the recurrent tasks performed by the Rudder Agent? How does the Rudder Server handle the requests coming from the Rudder Agent? The Rudder Agent workflow diagram summarizes the process that will be described in the next pages.
Let’s consider the Rudder Agent is installed and configured on the new Node.
The Rudder Agent is regularly launched and performs following tasks sequentially, in this order:
The first action of Rudder Agent is to fetch the tools
directory from Rudder
Server. This directory is located at /opt/rudder/share/tools
on the Rudder
Server and at /var/rudder/tools
on the Node. If this directory is already
present, only changes will be updated.
The agent then try to fetch new Applied Policies from Rudder Server. Only requests from valid Nodes will be accepted. At first run and until the Node has been validated in Rudder, this step fails.
Ensure that the CFEngine community daemons
and cf-execd
are
running. Try to start these daemons if they are not already started.cf-serverd
Daily between 5:00 and 5:05, relaunch the CFEngine Community daemons
and cf-execd
.cf-serverd
Add a line in /etc/crontab
to launch
if it’s not running.cf-execd
Ensure again that the CFEngine community daemons
and cf-execd
are running. Try to start these daemons if they are not already started.cf-serverd
Ensure the curl
package is installed. Install the package if it’s not
present.
Get the identifier of the Rudder Root Server, necessary to generate reports. The URL of the identifier is http://Rudder_root_server/uuid
If no inventory has been sent since 8 hours, or if a forced inventory has been
requested (class force_inventory
is defined), do and send an inventory to the
server.
rudder agent inventory
No reports are generated until the Node has been validated in Rudder Server.
After validation of the Node, the system log service of the Node is configured
to send reports regularly to the server. Supported system log providers are:
syslogd
, rsyslogd
and syslog-ng
.