Licensing with FlexLM
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
Since Codebeamer release 2.0, 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 variables are 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
Since Codebeamer release 2.1, 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, 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 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:
a. Primary
b. Secondary (Backup server 1)
c. 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.
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 SERVER line contains the Hostname, Host ID and 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
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, 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.
Was this helpful?