Adding License Attributes

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 -sgeconf [-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.

The output from licutil should consist of lines like the following:

    IMPACT_MAIN    IMPACT_MAIN   INT    <=    YES         YES         0   0
    MMLIBS         MMLIBS        INT    <=    YES         YES         0   0

There should be one line for each license in your license file.

To add the new license attributes:

1. Copy the existing configuration to a text file:

qconf -sc > complex.txt

where qconf is the Grid Engine queue configuration command.

2. Append the new configuration lines to complex.txt:

$SCHRODINGER/utilities/licutil -sgeconf >> complex.txt

3. Load the new configuration:

qconf -Mc complex.txt

This last command should produce a number of messages like

    user@host added "IMPACT_MAIN" to complex entry list
    user@host added "MMLIBS" to complex entry list

To verify that the attributes have been added, display the complex configuration with

qconf -sc

and make sure the new license attributes appear.

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 -pbsconf [-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.

The output from licutil should consist of lines like the following:

Copy the text between the dashed lines below into your
<PBS_HOME>/server_priv/resourcedef file.
----------------------------------------------------------------------
IMPACT_MAIN  type=long
MMLIBS  type=long
----------------------------------------------------------------------
 
Add the text between the dashed lines below to the value of
the ’resources’ parameter in your <PBS_HOME>/sched_priv/sched_config file.
E.g., if the ’resources’ line in the file was
resources: "ncpus, mem, arch"
and the text between the lines was
feature1, feature3, feature5
then the new ’resources’ line should be
resources: "ncpus, mem, arch, feature1, feature3, feature5"
----------------------------------------------------------------------
IMPACT_MAIN, MMLIBS
----------------------------------------------------------------------
 
Copy the text between the dashed lines below into your
<PBS_HOME>/sched_priv/sched_config file.
----------------------------------------------------------------------
server_dyn_res: "IMPACT_MAIN !/usr/bin/schro09/utilities/pbs_lic_sensor.pl IMPACT_MAIN"
server_dyn_res: "MMLIBS !/usr/bin/schro09/utilities/pbs_lic_sensor.pl MMLIBS"
----------------------------------------------------------------------

In the first and third parts of this output, there should be one line for each license in your license file; in the second part, one word for each license. To add the new license attributes, follow the instructions in the output. The files that you need to modify are $PBS_HOME/server_priv/resourcedef and $PBS_HOME/sched_priv/sched_config, where $PBS_HOME is the PBS home directory, often something like /var/spool/PBS on the head node of your cluster.

For the changes to take effect, you must restart PBS. The command for doing this is typically the following:

/etc/init.d/pbs restart

Refer to your PBS Administrator Guide for more information about restarting PBS.

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 -lsfconf [-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.

The output from licutil should consist of lines like the following:

  Copy the text between the dashed lines below into the "Resource" section of
  your lsf.shared file. (Don’t, however, copy the RESOURCENAME line below if
  there’s already such a line there.)
  ----------------------------------------------------------------------
  RESOURCENAME             TYPE      INTERVAL  INCREASING  DESCRIPTION
  IMPACT_MAIN              Numeric         10           N  (IMPACT_MAIN license)
  MMLIBS                   Numeric         10           N  (MMLIBS license)
  ----------------------------------------------------------------------
 
  Copy the text between the dahsed lines below into the "Parameters" section
  of your lsf.cluster.<your_cluster_name> file:
  ----------------------------------------------------------------------
  LSF_ELIM_DEBUG=y
  ----------------------------------------------------------------------
 
  Copy the text between the dahsed lines below into the "ResourceMap" section
  of your lsf.cluster.<your_cluster_name> file.  (Don’t, however, copy the
  RESOURCENAME line below if there’s already such a line there.)
  ----------------------------------------------------------------------
  RESOURCENAME             LOCATION
  IMPACT_MAIN              [all]
  MMLIBS                   [all]
  ----------------------------------------------------------------------

In the first and third parts of this output, there should be one line for each license in your license file. To add the new license attributes, follow the instructions in the output. The files you need to modify, lsf.shared and lsf.cluster.<your_cluster_name>, are located in the $LSF_CONFDIR directory, which is usually something like /usr/lsf/conf. If this directory is not cross-mounted between all of the hosts to which LSF can submit jobs, you will have to make these changes in the configuration files on each host.

To verify that the changes were made correctly, restart LSF with the commands

lsadmin reconfig
badmin mbdrestart

and then list the resources LSF recognizes using the command

lsload -l

The output should include a column for each of the new license resources, for example,

  HOST_NAME               status  <...>   mem  IMPACT_MAIN MMLIBS
  host1.mycluster.com         ok  <...>  365M            -      -
  host2.mycluster.com         ok  <...>  362M            -      -

Next: Configuring the Load Scripts