You are not logged in. Click here to log in.

codebeamer Application Lifecycle Management (ALM)

Search In Project

Search inClear

Tags:  FlexLM Licensing

Licensing with FlexLM

Since Codebeamer release 2.0 (HUSKY), the FlexLM license server is available which enables the management of licenses for multiple servers.


Licenses

The following four licenses are available for the customers:

  • Codebeamer Collaboration
  • Codebeamer
  • Codebeamer Advanced
  • Codebeamer Premium

Out of the four licenses offered, the Codebeamer, the Codebeamer Advanced and the Codebeamer Premium licenses can be purchased individually, which cannot be combined with each other.

The Codebeamer Collaboration license in not available as a standalone license but can be purchased as an addition to the Codebeamer, the Codebeamer Advanced or the Codebeamer Premium license.


The licenses as well as the license combinations available for the customers are:


Available licenses and license combinations
Codebeamer license Codebeamer license + Codebeamer Collaboration license
Codebeamer Advanced license Codebeamer Advanced license + Codebeamer Collaboration license
Codebeamer Premium license Codebeamer Premium license + Codebeamer Collaboration license


License Types

Within the offered license packages, two types of licenses are available:


License Type Description
Registered (also known as Seat) A registered license can be assigned to and used by one single Codebeamer user.

Registered licenses:
  • Codebeamer_Collaboration_Reg
  • Codebeamer_Reg
  • Codebeamer_Advanced_Reg
  • Codebeamer_Premium_Reg
Concurrent (also known as Float) A defined number of users can log into Codebeamer with concurrent licenses. Once a user logs out, the used license in released and another user can log in with that license.

Concurrent licenses:
  • Codebeamer_Collaboration_Con
  • Codebeamer_Con
  • Codebeamer_Advanced_Con
  • Codebeamer_Premium_Con

License Management

Codebeamer 2.0 (HUSKY)

Since Codebeamer release 2.0 (HUSKY), FlexLM server is supported besides the legacy licensing.


To start Codebeamer with FlexLM, the following environment variables must be set on the instance where the Codebeamer server is running:

  • CB_FLEXLM_ENABLED - true
  • CB_FLEXLM_LICENSE_CONTENT - <Base64 version of a FlexLM license>
    or
  • CB_FLEXLM_LICENSE_PATH - the path to the file containing the license

Licenses can only be activated and managed via environment variables for which two options are available:

  • Adding the content of the license encoded into Base 64 format to the CB_FLEXLM_LICENSE_CONTENT environment variable.

  • Adding the path to the file (for example .txt or .dat) containing the license to the CB_FLEXLM_LICENSE_PATH environment variable. In this case, Base 64 encoding is not required.
Example License Description
FEATURE Codebeamer_Reg ptc_e 2.0 01-dec-2024 500 SIGN="" Codebeamer_Reg - The license type.

ptc_e - The name of the vendor.

2.0 - The supported version of the license.

01-dec-2024 - The validity date of the license which marks the day from which the license is not valid.
Note that a license is valid until the day before the marked date.
500 - The number of licenses.

SIGN= "" - The generated license code comes between the quotation marks.

The following environment variable is optional:

  • CB_FLEXLM_COMPANY_NAME - The company name the licensing is performed by that will be displayed in the footer.

In case of a running Codebeamer instance, it needs to be stopped and then restarted to process the environment variables settings, and to switch to FlexLM licensing.


Codebeamer 2.1 (IMPALA)

Since Codebeamer release 2.1 (IMPALA), the CB_FLEX_LM_LICENSE_SERVER_LINES environment variable has been introduced which allows FlexLM licensing to operate also without an actual license file stored in a file in the config folder of the installed Codebeamer instance. Instead, the license key is requested and checked online. Starting from Codebeamer release 2.1 (IMPALA), storing the license file is no longer required. If set, the CB_FLEX_LM_LICENSE_SERVER_LINES environment variable is used as it is superior to the CB_FLEXLM_LICENSE_CONTENT or CB_FLEXLM_LICENSE_PATH environment variables. However, the original FlexLM licensing configuration introduced in Codebeamer release 2.0 (HUSKY) can still be used. To start Codebeamer with this type of FlexLM licensing, the following environment variables must be set on the instance where the Codebeamer server is running:

  • CB_FLEXLM_ENABLED=true
  • CB_FLEX_LM_LICENSE_SERVER_LINES=<SERVER nodename1 id1 port-number1, SERVER nodename2 id2 port-number2, SERVER nodename3 id3 port-number3>
    • Example: CB_FLEX_LM_LICENSE_SERVER_LINES=SERVER primary 8A9ACBC9B26B 27000, SERVER backup1 8A9ACBC9B26C 27000, SERVER backup2 8A9ACBC9B26D 27000

The CB_FLEX_LM_LICENSE_SERVER_LINES environment variable can be used for a single node or for a triad where the nodes are comma-separated. The following table provides the description of the parameters.

Parameter Example Value Description
SERVER nodename1
SERVER nodename2
SERVER nodename3

SERVER primary
SERVER backup1
SERVER backup2

The hostname of the primary or master server.
The hostname of the secondary server. (Backup server 1)
The hostname of the tertiary server. (Backup server 2)

id1
id2
id3

8A9ACBC9B26B
8A9ACBC9B26C
8A9ACBC9B26D

The host ID of the primary or master server.
The host ID of the secondary server. (Backup server 1)
The host ID of the tertiary server. (Backup server 2)

port-number1
port-number2
port-number3

27000
27000
27000

The port number of the primary or master license server.
The port number of the secondary license server. (Backup server 1)
The port number of the tertiary license server. (Backup server 2)


Operation of License Servers

If one FlexLM license server is configured, Codebeamer requests and gets the license key from that one server. When the configured server fails, licenses are not served and users are not able to login to Codebeamer until the issue is fixed.


Setting up a license triad configuration helps avoid such issues.

In case of a license triad configuration, there is a primary FlexLM server, as well as a secondary and a tertiary backup server.

The license servers send so-called heartbeat messages to each other periodically to monitor the operation of the other servers. If no response is received by a license server, it shuts down the vendor daemon so that it cannot serve licenses.

By using the HEARTBEAT_INTERVAL property, the time until the license server waits for the receipt of a heartbeat can be configured by a license administrator.


One of the license servers is a master server which serves the licenses to Codebeamer and records information into the debug and report logs.

If the primary or master license server fails, the secondary license server takes over its role and becomes the master server to serve the licenses. The tertiary license server cannot be a master.

If both the primary and secondary license servers fail, licenses are no longer served to Codebeamer. The master only serves licenses if there are at least two license servers operating properly in the triad.

Configuration of License Servers

After obtaining the license server package from the publisher,

  1. Change the port number, the PRIMARY_IS_MASTER keyword and the HEARTBEAT_INTERVAL property in the license file if needed.
  2. Install the license server software package to all three systems.
  3. Start the license servers in the following order:
    1. Primary
    2. Secondary (Backup server 1)
    3. Tertiary (Backup server 2)

License File

In case one license server is used, there is one SERVER line with the details for the given server, and the license key in the generated license.

When generating a key for a triad configuration, all three servers must be defined in the license key as well.
The Hostname, Host ID, and Port number of the FlexNET server must be updated manually in the license file. Example license for a triad configuration:

SERVER primary 8A9ACBC9B26B 27000 PRIMARY_IS_MASTER
SERVER backup1 8A9ACBC9B26C 27000
SERVER backup2 8A9ACBC9B26D 27000
VENDOR ptc_e PORT=28001
FEATURE Codebeamer_Collaboration_Reg ptc_e 2.0 01-dec-2029 20 \
    SIGN=""
FEATURE Codebeamer_Collaboration_Con ptc_e 2.0 01-dec-2029 20 \
    SIGN=""
FEATURE Codebeamer_Premium_Reg ptc_e 2.0 01-dec-2029 20 SIGN=""
FEATURE Codebeamer_Premium_Con ptc_e 2.0 01-dec-2029 20 SIGN=""


The following table describes the various parts of the license file.

Line Example Value Description
SERVER
SERVER primary 8A9ACBC9B26B 27000 PRIMARY_IS_MASTER
Each SERVERline contains the
  • Hostname
  • Host ID
  • Port number
of the related server.

These details directly affect the three-server redundant configuration.

The PRIMARY_IS_MASTER property is added after the primary server details to define the master server.
VENDOR
VENDOR ptc_e PORT=28001
Required element, references the publisher's vendor daemon.
This property is used to define license rights or configure the license server, and does not affect directly the three-server redundant configuration. VENDOR lines are known as DAEMON lines in the pre-v6.0 lmgrd and vendor daemon.
  • Pre-v6.0:
    DAEMON sampled /etc/sampled \
    		/etc/sampled/licenses/sampled.opt
  • v6.0 and newer:
    VENDOR sampled
FEATURE
FEATURE Codebeamer_Premium_Reg ptc_e 2.0 01-dec-2029 20 SIGN=""
The FEATURE lines define the license rights.

License Issues

Since Codebeamer release 2.0 (HUSKY), users are not allowed to log in after a new Codebeamer installation if the CB_FLEXLM_ENABLED environment variable is set to true until the proper license is provided.

Only the Codebeamer License page is displayed in read-only mode showing the license type the user will have once Codebeamer is up and running.



FlexLM does not allow users to log in to Codebeamer in case of license issues, for example, if the license in the environment variable does not match with the one added to the FlexLM server.



To fix license issues,

  1. Stop Codebeamer.
  2. Check
    • Whether the proper license itself is added to the CB_FLEXLM_LICENSE_CONTENT environment variable.
    • Whether the correct path to the file containing the license is added if the CB_FLEXLM_LICENSE_PATH environment variable is used.
    • The network connection to the license servers in case the CB_FLEX_LM_LICENSE_SERVER_LINES environment variable is used.
  3. Check whether the license matches with the one added to the FlexLM server.
  4. Restart Codebeamer.

The used license added to the environment variable and to the FlexLM server must be the same for successful authentication.

Expired Licenses

In case of an expired license, users can still log in to Codebeamer after which a notification is displayed that the license has expired PTC needs to be contacted.

FlexLM Server

FlexLM provides detailed information about licensing.



Column Description
Feature The list of available licenses. For example: Codebeamer_Collaboration_Con.
Version The version of the license. For example: 2.0.
In Use (Available) The number of used licenses out of the available licenses. For example: 0 (500).
Expiration The expiration date of the license. For example: 2024-12-10.


In case a user with a registered license logs out of Codebeamer, that registered (seat) license is still displayed as In Use. When a user with concurrent (float) license logs out of Codebeamer, that license is released and is shown as available.


User Authentication

The FlexLM server does not provide information on who is logged in to Codebeamer, but on where the user is logged in from. The FlexLM server differentiates between the users based on the Host name of the instance and the related unique user ID to calculate the number of available licenses.


Example:

User A is logged in to Codebeamer instance A with user ID 1001. User B is logged in to Codebeamer instance B with user ID 1001.

Although, User A and User B are logged in with the same license file to the same license server with the same user ID, they are logged in to different Codebeamer instances, therefore, they use separate licenses.