OSAD

OSAD is an alternative contact method between SUSE Manager and traditional clients. By default, SUSE Manager uses rhnsd, which contacts the server every four hours to execute scheduled actions. OSAD allows traditional clients to execute scheduled actions immediately.

Use OSAD in addition to rhnsd. If you disable rhnsd your client is shown as not checking in after 24 hours.

OSAD has several distinct components:

  • The osa-dispatcher service runs on the server, and uses database checks to determine if clients need to be pinged, or if actions need to be executed.

  • The osad service runs on the client. It responds to pings from osa-dispatcher and runs mgr_check to execute actions when directed to do so.

  • The jabberd service is a daemon that uses the XMPP protocol for communication between the client and the server. The jabberd service also handles authentication.

  • The mgr_check tool runs on the client to execute actions. It is triggered by communication from the osa-dispatcher service.

The osa-dispatcher periodically runs a query to check when clients last showed network activity. If it finds a client that has not shown activity recently, it uses jabberd to ping all osad instances running on all clients registered with your SUSE Manager server. The osad instances respond to the ping using jabberd, which is running in the background on the server. When the osa-dispatcher receives the response, it marks the client as online. If the osa-dispatcher fails to receive a response within a certain period of time, it marks the client as offline.

When you schedule actions on an OSAD-enabled system, the task is carried out immediately. The osa-dispatcher periodically checks clients for actions that need to be executed. If an outstanding action is found, it uses jabberd to execute mgr_check on the client, which then executes the action.

OSAD clients use the fully qualified domain name (FQDN) of the server to communicate with the osa-dispatcher service.

SSL is required for osad communication. If SSL certificates are not available, the daemon on your client systems fails to connect. Make sure your firewall rules are set to allow the required ports. For more information, see Required Network Ports.

Procedure: Enabling OSAD
  1. At the command prompt on the SUSE Manager Server, as root, start the osa-dispatcher service:

    systemctl start osa-dispatcher
  2. On each client, install the mgr-osad package from the Tools child channel. The mgr-osad package should be installed on clients only. If you install the mgr-osad package on your SUSE Manager Server, it conflicts with the osa-dispatcher package.

  3. On each client, as root, start the osad service:

    systemctl start osad

    Because osad and osa-dispatcher are run as services, you can use standard commands to manage them, including stop, restart, and status.

Each OSAD component is configured using local configuration files. We recommend you keep the default configuration parameters for all OSAD components.

Component Location Path to Configuration File

osa-dispatcher

Server

/etc/rhn/rhn.conf Section: OSA configuration

osad

Client

/etc/sysconfig/rhn/osad.conf

osad log file

Client

/var/log/osad

jabberd log file

Both

/var/log/messages

Troubleshooting OSAD

If your OSAD clients cannot connect to the server, or if the jabberd service takes a lot of time responding to port 5552, it could be because you have exceeded the open file count.

Every client needs one always-open TCP connection to the server, which consumes a single file handler. If the number of file handlers currently open exceeds the maximum number of files that jabberd is allowed to use, jabberd queues the requests, and refuses connections.

To resolve this issue, you can increase the file limits for jabberd by editing the /etc/security/limits.conf configuration file and adding these lines:

jabber soft nofile 5100
jabber hard nofile 6000

Calculate the limits required for your environment by adding 100 to the number of clients for the soft limit, and 1000 to the current number of clients for the hard limit.

In the example above, we have assumed 500 current clients, so the soft limit is 5100, and the hard limit is 6000.

You also need to update the max_fds parameter in the /etc/jabberd/c2s.xml file with your chosen hard limit:

<max_fds>6000</max_fds>