Configuring Local License Checking for Slurm

To configure Slurm for local license checking:

  1. A resource attribute representing each license must be defined in the queuing system configuration. The utility licutil can be used to parse your license file or query the license server and generate the configuration text that needs to be added to the queuing system configuration files. The syntax is

    $SCHRODINGER/utilities/licutil -slurmconf [-prefix slm-feature-prefix]

    The -prefix option indicates the prefix to add for each license feature to distinguish whether it is using FlexLM licenses or the Schrödinger License Manager Instructions. If no prefix is passed, the default is to use the prefix from the SCHRODINGER_QUEUE_LICENSE_PREFIX environment, or "SLM". The prefix automatically appends a "_" at the end to separate it from the actual feature name. If you are no longer using FlexLM licenses, and transitioned to use Schrodinger Licensing, you can pass "" as the value to avoid adding a prefix.

    The -prefix option indicates the prefix to add for license features from Schrodinger License Manager (SLM) servers, so those resources can be distinguished from FlexNet server licenses. The default value is “SLM”, which results in a prefix “SLM_”. This prefix (including the underscore) must match the prefix for SLM licenses set in the Job Server configuration (schrodinger_licensing_namespace in the jobserver.yml file). If you are no longer using FlexNet licenses, both settings can be an empty string.

    Note: If the default prefix is changed for Schrodinger License Manager for some reason, this should also be done in the sensor script (see Configuring the Load Scripts section)

    Your license file is in the default location, $SCHRODINGER/license, or can be specified by environment variables SCHROD_LICENSE_FILE or LM_LICENSE_FILE. If you are using Schrodinger Licensing Manager, environment variables SCHRODINGER_LICENSE_SERVERS or SCHRODINGER_LICENSE_FILE_OVERRIDE can be used. Server-based License Server Set-up.

  2. Add this list to the Slurm configuration file (e.g. /etc/slurm/slurm.conf).

  3. Make sure the following settings are also included in slurm.conf:

    JobRequeue=1
    RequeueExit=99
  4. Restart the Slurm control daemon:

    systemctl restart slurmctld

If the license gets updated, e.g. new features are added, the above steps have to be repeated.

Next, follow the steps mentioned in Turning On License Checking in Job Server