Adding License Attributes
- SGE
- PBS Pro
- LSF
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 →