Skip to content. Skip to navigation

ICTP Portal

Sections
You are here: Home Manuals on-line PGI Compiler flexuser chap5.htm
Personal tools
Document Actions

chap5.htm

Table of Contents * Index * Previous Chapter * Next Chapter

FLEXlm End User Manual: Chapter 5 The Options File

Chapter 5 The Options File

The options file allows the license administrator to control various operating parameters of FLEXlm. Specifically the license administrator can:

  • Allow the use of features based on user, hostname, display name, or IP-address.
  • Deny the use of features based on user, hostname, display name, or IP-address.
  • Reserve licenses based on user, hostname, display name, or IP-address.
  • Control the amount of information logged about license usage.

Options files allow you, as the license administrator, to be as secure or open with licenses as you like.

Lines in the options file were limited to 200 characters prior to FLEXlm v3.0. In v3.0 and later, the line length is 2048 characters. FLEXlm v4.0 allows the `\ character as a continuation character in options file lines.<p> <a name="5.1"></a><h2>5.1 Creating an Options File</h2> <p> To create an options file:<p> <ol><li>Use the appropriate options listed in <a href="chap5.htm#49364: 1head: 5.2 Customizing the Options File">Section 5.2, `Customizing the Options File, on page 31 to create the options file using any text editor. You can put the options file anywhere; however, we recommend that the options file for vendor xyz be placed in

       /usr/local/flexlm/options/xyz.opt (Unix)
   C:\flexlm\options\xyz.opt               (Windows/NT)
  • Add the pathname to the options file in the license file as the fourth field on the DAEMON line for the application's vendor daemon. For example,
       DAEMON xyzd /etc/xyzd /usr/local/flexlm/options/xyz.opt
    • would enable the xyzd vendor daemon to look at the specified options file.
    • In FLEXlm v5 or later, you can put `options= before the path.<li>In FLEXlm<I></I> v6 or later, adding the options path to the license file is optional. Instead, name the file <I>vendor</I>.opt, where vendor is the vendor daemon name, and place it in the same directory as the license used by lmgrd, and it will automatically be used at server startup.</ul><a name="49364: 1head: 5.2 Customizing the Options File"></a><a name="5.2"></a><h2>5.2 Customizing the Options File</h2> <p> Below is an overview of the options file syntax. See <a href="chap5.htm#94657: 1head: 5.2 Understanding Options Files">Section 5.4, `Understanding Options Files, on page 37 for examples and additional information.

      Each line of the file controls one option. The options are:

      EXCLUDE
      deny a user access to a feature.
      EXCLUDEALL
      deny a user access to all features served by this vendor daemon.
      GROUP
      define a group of users for use with any options.
      HOST_GROUP
      define a group of hosts for use with any options.
      INCLUDE
      allow a user to use a feature.
      INCLUDEALL
      allow a user to use all features served by this vendor daemon.
      LINGER
      cause licenses to be held by the vendor daemon for a

      period after the application checks them in or exits.

      MAX
      limit usage for a particular feature/group - prioritizes usage among users.
      MAX_OVERDRAFT
      limit overdraft usage to less than the amount specified in the license.
      NOLOG
      turn off logging certain items.
      REPORTLOG
      specify that a logfile be written suitable for use by the

      FLEXadmin End-User Administration Tool.

      RESERVE
      reserve licenses for a user.
      TIMEOUT
      specify idle timeout for a feature, returning it to the free pool for use by another user.
      TIMEOUTALL
      Set timeout on all features.

      You can include comments in your options file by starting each comment line with a pound sign `#. Everything in an options file is case sensitive. Be sure that user names and feature names, for example, are entered correctly.<p> <h4>Featurename specification</h4> <p> Starting with FLEXlm<I></I> v5, you can select a particular line of a given featurename, as follows:<p> <pre><I> featurename</I>:<I>name</I>=<I>value</I></pre> </ol></ul><p> For example:<p> <pre> f1:VERSION=2.0</pre> </ol></ul><p> You can specify a feature by any of the following fields:<p> <pre> VERSION HOSTID EXPDATE KEY VENDOR_STRING ISSUER NOTICE dist_info user_info asset_info</pre> </ol></ul><p> In FLEXlm<I></I> v5.11 or later, you can use a PACKAGE name in place of a feature name, and the option will apply to the whole package.<p> <h3>5.2.1 <a name="_IX_76"></a>EXCLUDE</h3> <pre>EXCLUDE <I>featurename type name</I></pre> </ol></ul><p> Excludes a user, host, display, or group from the list of who is allowed to use the feature. Excluded users will not be allowed to use the feature.<p> <ul><li><I>featurename</I> - name of the feature being affected<li><I>type</I> - one of USER, HOST, DISPLAY, GROUP, HOST_GROUP, or INTERNET (see <a href="chap5.htm#54729: 2head: 5.2.7 Group">Section 5.2.3, `GROUP</a> and Section 5.2.4, `HOST_GROUP, on page 34</a><li><I>name</I> - name of the user or group to exclude</ul><p> To exclude the user `hank from the list of users able to use feature f1:

         EXCLUDE f1 USER hank

      5.2.2 EXCLUDEALL

      EXCLUDEALL type name

    Excludes a user, host, display, or group from the list of who is allowed to use all features served by this vendor daemon.

    • type - one of USER, HOST, DISPLAY, GROUP, HOST_GROUP or INTERNET (see Section 5.2.3, `GROUP and <a href="chap5.htm#16409: 2Head: 6.2.2 HOST_GROUP">Section 5.2.4, `HOST_GROUP, on page 34
    • name - name of the user or group to exclude

    To exclude any user on the machine `chaos' from using all features served by this vendor daemon:

       EXCLUDEALL HOST chaos

    5.2.3 GROUP

    GROUP groupname usernamelist

    Defines a group of users for use in INCLUDE, INCLUDEALL, EXCLUDE, EXCLUDEALL, and RESERVE option lines.

    • groupname - name of the group being defined
    • usernamelist - list of user names in that group

    To define the group Hackers consisting of bob, howard, and james:

       GROUP Hackers bob howard james

    In FLEXlm v3.0 multiple GROUP lines will add all the users specified into the group. Pre-v3.0 FLEXlm daemons do not allow multiple GROUP lines to concatenate. In fact, the second GROUP line would re-define the GROUP.

    In FLEXlm v4.0 or later, USER_GROUP is an alias for GROUP.

    5.2.4 HOST_GROUP

    HOST_GROUP groupname hostnamelist

    Defines a group of hosts for use in INCLUDE, INCLUDEALL, EXCLUDE, EXCLUDEALL, and RESERVE option lines.

    • groupname - name of the group being defined
    • hostnamelist - list of host names in that group

    5.2.5 INCLUDE

    INCLUDE featurename type name

    Includes a user, host, display, or group in the list of who is allowed to use the feature. Anyone not in an INCLUDE statement will not be allowed to use that feature.

    • featurename - name of the feature being affected
    • type - one of USER, HOST, DISPLAY, GROUP, HOST_GROUP or INTERNET (see Section 5.2.3, `GROUP and <a href="chap5.htm#16409: 2Head: 6.2.2 HOST_GROUP">Section 5.2.4, `HOST_GROUP, on page 34
    • name - name of the user or group to include

    To include user `bob' in the list of users able to use feature f1:

       INCLUDE f1 USER bob

    INCLUDE is required for USER_BASED or HOST_BASED features. The system administrator specifies which users are allowed to use the product, via INCLUDE, and the license limits the number of users that can be INCLUDEd.

    5.2.6 INCLUDEALL

    INCLUDEALL type name

    Includes a user, host, display, or group in the list of who is allowed to use all features served by this vendor daemon. Anyone not in an INCLUDEALL statement will not be allowed to use these features.

    • type - one of USER, HOST, DISPLAY, GROUP, HOST_GROUP or INTERNET (see Section 5.2.3, `GROUP and <a href="chap5.htm#16409: 2Head: 6.2.2 HOST_GROUP">Section 5.2.4, `HOST_GROUP, on page 34
    • name - name of the user or group to include

    To allow the user `jane' to use all features served by this vendor daemon:

       INCLUDEALL USER jane

    5.2.7 LINGER

    LINGER featurename interval

    Rarely used. This causes the daemon to `hold on' to the license for featurename for interval seconds after the application checks the license in or exits. This could be useful for short-duration programs which will be used many times in a row by the same user, to ensure that the user will be able to re-acquire the license repeatedly. On the other hand, other users have to wait until the first user is completely finished, plus a linger interval. This is only useful if the application uses duplicate grouping. Otherwise, LINGER will cause you to use extra licenses. Contact your software vendor for information about how they implemented duplicate grouping in their product.

    5.2.8 MAX

    (v5.11+ vendor daemon only).

    MAX numlic featurename type name

    Limits usage for a group or user.

    • numlic - usage limit for this user or group
    • featurename - feature this limit applies to
    • type - USER, HOST, DISPLAY, GROUP, HOST_GROUP or INTERNET.
    • name - name of the user or group to limit

    5.2.9 MAX_OVERDRAFT

    MAX_OVERDRAFT featurename numlic

    Limits usage below the OVERDRAFT allowed by the license file.

    5.2.10 NOLOG

    NOLOG what

    Turns off logging of specific events by the FLEXlm daemons.

    • what - what to turn off; one of IN, OUT, DENIED, or QUEUED

    To turn off logging of checkins:

    NOLOG IN   

    To turn off logging of checkouts and queued requests two separate NOLOG lines are required:

       NOLOG DENIED
       NOLOG QUEUED

    License administrators might use this option to reduce the size of the lmgrd or `debug' log file.

    5.2.11 REPORTLOG

    REPORTLOG filename

    REPORTLOG specifies the file which will contain the report-writer log for this vendor daemon. If filename begins with a + character, the file will be opened for append, otherwise the file will be overwritten each time the daemon is started. FLEXadmin</TT>, a separate product available from Globetrotter, can be used to read and report on REPORTLOG files.<p> <p> This file is only useful with the FLEXadmin<I></I> license administration utility. <p> <a name="_IX_85"></a><h4>LM_PROJECT</h4> <p> The FLEXadmin<I></I> report writer can report on `projects. A project is set up by having all users working on a project set their LM_PROJECT environment variable (or registry on Windows) to a string that describes the project. FLEXadmin can then group usage by project, as defined by what LM_PROJECT was set to when the application was run.

    5.2.12 RESERVE

    RESERVE numlic featurename type name

    Reserves licenses for a specific user.

    • numlic - number of licenses to reserve
    • featurename - name of feature to reserve
    • type - one of USER, HOST, DISPLAY, GROUP, HOST_GROUP or INTERNET (see Section 5.2.3, `GROUP and <a href="chap5.htm#16409: 2Head: 6.2.2 HOST_GROUP">Section 5.2.4, `HOST_GROUP, on page 34
    • name - name of the user or group to reserve licenses for.

    To reserve one license of feature f1 for user `mel':

       RESERVE 1 f1 USER mel

    Any licenses reserved for a user are dedicated to that user. Even when that user is not actively using the license it will be unavailable to other users. However, a RESERVED license will not cause an overdraft to be reported by FLEXadmin if the license is not actually in use.

    5.2.13 TIMEOUT

    TIMEOUT featurename seconds

    Sets the time after which an inactive license is reclaimed by the vendor daemon.

    • featurename - name of the feature
    • seconds- number of seconds after which inactive license is reclaimed

    To set the timeout for feature f1 to one hour (3600 seconds):

       TIMEOUT f1 3600

    TIMEOUT checks in the licenses if the process has been `idle' for a period longer than the specified time period, and someone else wants the license. The daemon declares a process idle when it has not heard from the process (the client sends heartbeats). The application must explicitly declare itself idle for this to work, or (on Unix) the application must be stopped (^Z). That is, unless the application explicitly supports this feature, it will not work. Contact your software vendor for information about how they implemented this feature in their product.

    The application vendor can also disable the timeout feature, in which case the TIMEOUT option has no effect. The vendor can set a minimum value for the timeout. If you specify a timeout value smaller than the minimum, the minimum is used. The default minimum value is 900 seconds (15 minutes).

    If you do not specify a timeout value in your options file, then there will be no timeout for that feature. Before v5, licenses are only freed by TIMEOUT when a new request for a license would require a license that can be freed with TIMEOUT. With v5, licenses are freed when they are timed out.

    5.3 TIMEOUTALL

    (v5.11+ vendor daemon only)

    TIMEOUTALL seconds

    Same as TIMEOUT, but applies to all features.

    5.4 Understanding Options Files

    The following information gives an overview of the syntax of a complete options file and some samples intended to illustrate ways to effectively control access to your licenses.

    5.4.1 How the Vendor Daemon Uses the Options File

    When the vendor daemon is started by lmgrd, it is passed the location of the options file. If you modify the options file while the server is running, you must stop lmgrd, and restart it for the changes to take effect. There can only be one options file per vendor daemon and each vendor needs a separate options file.

    5.4.2 Rules of Precedence in Options Files

    Before you can use options to utilize licenses effectively you must understand the options file precedence. INCLUDE and EXCLUDE statements can be combined in the same options file and control access to the same features. When doing so, keep in mind the following:

    • If there is only an EXCLUDE list, everyone who is not on the list will be allowed to use the feature.
    • If there is only an INCLUDE list, only those users on the list will be allowed to use the feature.
    • If neither list exists, then everyone is allowed to use the feature.
    • The EXCLUDE list is checked before the INCLUDE list; so someone who is on both lists will not be allowed to use the feature.

    Once you create an INCLUDE or EXCLUDE list everyone else is implicitly `outside' the group. This feature allows you, as an administrator, the ability to control licenses without having to explicitly list each user that you wish to allow or deny access to. In other words there are two approaches; you can either:

    • Give most users access and list only the exceptions or
    • Severely limit access and list only the those users that have access privileges.

    5.4.3 Simple Options File Example

    RESERVE     1 compile      USER robert
    RESERVE     3 compile      HOST mainline
    EXCLUDE compile USER lori
    NOLOG QUEUED

    This options file would:

    • Reserve one license for the feature `compile' for the user `robert.<li>Reserve three licenses for the feature `compile for anyone on a computer with the hostname `mainline.<li>Prevent the user `lori from using the `compile' feature on any node on the network.
    • Cause QUEUED messages to be omitted from the debug log file.

    The sum total of the licenses reserved must be less than or equal to the number of licenses specified in the FEATURE line. In the example above, there must be a minimum of four licenses on the `compile' FEATURE line. If fewer licenses are available, only the first set of reservations (up to the license limit) is used.

    If this data were in file /usr/local/flexlm/options/local.options, then you would modify the license file DAEMON line as follows:

    DAEMON xyzd /usr/local/xyzd /usr/local/flexlm/options/local.options

    5.4.4 Limiting Access for Multiple Users

    Each INCLUDE, INCLUDEALL, EXCLUDE, EXCLUDEALL, and RESERVE line must have a single user name (or group) listed. To affect more than one user name create a GROUP. For example to exclude `bob, `howard, and `james' from using the feature called `toothbrush' we could create the following options file:

    EXCLUDE toothbrush USER bob
    EXCLUDE toothbrush USER howard
    EXCLUDE toothbrush USER james

    There is an easier way though. Create a GROUP and exclude the list of users from using the feature. Like the previous example, the following options file would exclude `bob', `howard' and `james' from using the feature called `toothbrush':

    # First define the group"Hackers"
    GROUP Hackers bob howard james
    # Then exclude the group
    EXCLUDE toothbrush GROUP Hackers

    Now when you want to allow or deny access to any feature to that group, you have an `alias' list to make it simple.

    The GROUP function works for a list of user names prior to FLEXlm v4.0. To control access to multiple displays (and hosts in pre-v4.0 FLEXlm) you must use multiple option lines in your options file. For example, in pre-v4.0 FLEXlm to exclude all users logged in on the hosts `fred' and `barney' from using a feature called `f1' add these lines to your options file:

    EXCLUDE f1 USER fred
    EXCLUDE f1 USER barney

    In FLEXlm v4.0, you can use HOST_GROUP to allow, deny or reserve licenses for multiple hosts. For example, to exclude all users logged in on the hosts `fred' and `barney' from using a feature called `f1' add these lines to your options file:

    HOST_GROUP writers fred barney
    EXCLUDE f1 HOST_GROUP writers

    See Section 5.2.3, `GROUP and <a href="chap5.htm#16409: 2Head: 6.2.2 HOST_GROUP">Section 5.2.4, `HOST_GROUP, on page 34 for more information about defining groups.

    5.4.5 EXCLUDE Example

    #First Define the group"painters"
    GROUP painters picasso mondrian klee
    EXCLUDE spell GROUP painters
    EXCLUDE spell USER bob
    EXCLUDE spell INTERNET 123.123.123.*

    This options file would:

    • Prevent the users `picasso, `mondrian, and `klee' from using the feature `spell' on any machine on the network.
    • Prevent the user `bob' from using the feature `spell' on any machine on the network.
    • Prevent any user logged into a host with an IP-Address in the range 123.123.123.0 through 123.123.123.255 from using the feature `spell'
    • Allow any other user, as long as they are not on the excluded IP-Addresses , and they are not a member of the `painters' GROUP and they are not `bob' to use feature `spell' (By implication.)

    Note that `bob' could have been added to the group painters. However, `painters' might be used for some other purpose in the future so the license administrator chose to handle `bob' as a special case here. In this case, the two EXCLUDE statements concatenate to create a list of four users.

    5.4.6 INCLUDE Example

    INCLUDE paint USER picasso
    INCLUDE paint USER mondrain
    INCLUDE paint HOST bigbrush

    This options file would:

    • Allow the user `picasso' to use the feature `paint' on any machine on the network.
    • Allow the user `mondrain' to use the feature `paint' on any machine on the network.
    • Allow any user, as long as they are on the host `bigbrush', to use feature `paint'
    • Deny access to the feature `paint' to anyone except `picasso', `mondrain' or anyone from the host `bigbrush' (By implication.)

    Table of Contents * Index * Previous Chapter * Next Chapter


  • Powered by Plone This site conforms to the following standards: