Troubleshooting OSAD and jabberd

In some cases, the maximum number of files that jabber can open is lower than the number of connected OSAD clients.

If this occurs, OSAD clients cannot contact the SUSE Manager Server, and jabberd takes an excessive amount of time to respond on port 5222.

This fix is only required if you have more than 8192 clients connected using OSAD. In this case, we recommend you consider using Salt clients instead. For more information about tuning large scale installations, see Scaling Minions (Large Scale Deployments).

You can increase the number of files available to jabber by editing the jabberd local configuration file. By default, the file is located at /etc/systemd/system/jabberd.service.d/override.conf.

Procedure: Adjusting the Maximum File Count
  1. At the command prompt, as root, open the local configuration file for editing:

    systemctl edit jabberd
  2. Add or edit this section:

    [Service]
    LimitNOFILE=<soft_limit>:<hard_limit>

    The value you choose varies depending on your environment. For example, if you have 9500 clients, increase the soft value by 100 to 9600, and the hard value by 1000 to 10500:

    [Unit]
    LimitNOFILE=
    LimitNOFILE=9600:10500
  3. Save the file and exit the editor.

The default editor for systemctl files is vim. To save the file and exit, press Esc to enter normal mode, type :wq and press Enter.

Ensure you also update the max_fds parameter in /etc/jabberd/c2s.xml. For example: <max_fds>10500</max_fds>

The soft file limit is the maximum number of open files for a single process. In Uyuni the highest consuming process is c2s, which opens a connection per client. 100 additional files are added, here, to accommodate for any non-connection file that c2s requires to work correctly. The hard limit applies to all processes belonging to jabber, and also accounts for open files from the router, c2s and sm processes.