9. License Management System¶
9.1. xGT Licensing¶
xGT licensed products use a licensing scheme based on core counts.
Users will receive a license file for their specific platform and need to place this file at a specific location on their system.
The default location is /etc/xgtd/licenses/xgtd.lic
.
This section explains how the xGT Licensing Model works.
9.1.1. Core Based Licensing¶
Compute cores are the unit of the xGT licensing system. Each license contains a number of licensed cores that can be used by the xGT server.
When the xGT server launches, it will use the smallest of the following numbers of threads:
The total number of cores on the system times the threads per core
The licensed number of cores times the threads per core
The configured number of worker threads (
system.worker_threads
)
Note that generally the OS of the platform running the xGT server will have hyperthreading turned on. In which case, there will be two threads per core.
9.2. License Management System Components¶
The license management system for xGT products is X-Formation’s LM-X license manager suite.
The main components of this system are:
License file (xgtd.lic)
Supplied utilities (lmxendutil)
9.2.1. License File¶
The license file contains license information.
The two main readable fields in the license file are the date of expiration (END=2025-02-10
) and the limit on the number of cores to use (i.e., the option CoreLimit=value
).
The default name that xGT products use for this license file is xgtd.lic
.
Detailed information on the license file contents is provided in License File Format.
9.2.2. License Location Configuration¶
In order for a running instance of xGT to use a license, the application configuration value license.location
must be set to an appropriate license location.
For more information on setting xGT configuration values, please see Configuring the Server.
The configuration value license.location
should contain one or more file paths that will be used by the xGT server to find a valid license file.
Multiple license paths are allowed and should be separated by a colon (:).
A few examples of license paths:
/etc/xgtd/licenses/xgtd.lic
/etc/xgtd/licenses/xgtd.lic:/etc/xgtd/licenses/xgtd-alt.lic
Information about the license such as the expiration date, sockets, cores and threads is always logged and can be used to determine which license is being used. This information is written in the general log (see Logging and Auditing).
9.3. Preparing to Install¶
This section summarizes the procedures needed to install and successfully run the xGT license system.
The general procedures for installing and activating the license management system are:
Determine the machines for the xGT server
Download the license tool package
Obtain a valid license file for the machine
Requirements:
Access to xGT website
A valid HostID of the server machine
License file (generally received via email)
Supported platform
9.3.1. HostID¶
Trovares provides the utility lmxendutil in the RPM to obtain a HostID from the xGT server machine. Only ETHERNET values are valid for licensing.
9.4. Installing¶
In order to install you will need this RPM package provided by Trovares.
9.4.1. Install Software¶
Installing the package is fairly straight forward. On the machine intended to be used for the xgtd:
Download the package
Install the package
These can be summarized as:
Download the package from the link provided by Trovares (typically provided by email). Then install it:
sudo dnf install xgt-license-tools-X.Y.Z-1.x86_64.rpm
The package will install to
/opt/xgtd/
.
9.4.2. Install a License File¶
You will need a license supplied by Trovares, to complete the licensing process. If you do not have a license, contact gettingstarted@trovares.com with your request and provide a HostID value of the xGT server machine.
On the xGT server machine do the following steps:
To obtain the HostID run
/opt/xgtd/bin/lmxendutil -hostid
. This will list all the hostids of the machine. You should choose one listed as Ethernet that is a permanent interface. Some interfaces will be for VPNs. Do not use VPNs.A sample output from such a run:
/opt/xgtd/bin/lmxendutil -hostid LM-X End-user Utility v5.0 Copyright (C) 2002-2021 X-Formation. All rights reserved. ETHERNET: ens3 HostID: 000C2BC32G83 ETHERNET: ens4 HostID: 0A42F8D4C3F0 HOSTNAME: wyvern HostID: wyvern USERNAME: jacob HostID: jacob IPADDRESS: 192.128.121.148 HostID: 192.128.121.148 IPADDRESS: 192.138.111.* HostID: 192.138.111.* IPADDRESS: 192.118.*.* HostID: 192.118.*.*
When you receive your license file place it in
/etc/xgtd/license/
. By default, it should be namedxgtd.lic
.Change the setting in
xgtd.conf
to point to your new license file, if necessary.
9.5. License File Format¶
This section describes the basic format of the license file. The license file will look similar to below:
FEATURE xgtd
{
VENDOR=TROVARES VERSION=1.6 END=2010-02-28 OPTIONS="CoreLimit=4"
COMMENT="HOSTID=000AB2FC62785"
KEY=5UgwnMBQLeLPii1ZVIMKAnU4MA8iEa1F8n]x8yp8gI8vzepVmYAN0BzxL7WhpKTWYhM1X25SIwEqELECf8ScPwdVnhwm2]fxII2f \
coR8febhKKAwLv5R3r52cnMWYHJkad]bU1gIWzLv7uCHZDP78mBX6kLU4yIv]ShgQCa]wixHU61LBtLBBbr6EQKq90IK08A3mUM6 \
sJPj5O]LGIJE5eaQpsotAPZE[1wddNqoYbOeQ0RKdDdMM]icS02SHZqUpJijyZquw1imAtfB1Dm4HA1w8d9DhWL8CEgT2XWCaKSS \
e65xtGwybpq9c37BdeAIxMzTVk[HUQDjgy80wAJ86nAy4WxxpRuZmDqN[r[lUlw5dTPvja0Tb2[A88UOlWXhGoq9jcAJd]p1iSk8 \
NpdnQGXJ3D7nBVsuAUERoQkzIJO3CEkTn]0KtOf3Wtxx610KjYeXzc7Guy6T0uy8Ri7CKMPR25E85FluI[7LrlgO42nMEnyxzUe[ \
ABSwahyvfy7yalvFQrs8H6hH1NC1Z7jXYmR8Zd0icEM2obzGI6qNAUOk[VdEEVdxhQIXPblG
}
In this file CoreLimit is the number of cores this license contains. Version is the version of xGT that this license is for. End is the expiration date of license. A comment may be preset to indicate other information such as MAC address.
9.6. LM-X Error Messages¶
The table below lists the most common licensing error codes and their meanings.
For an exhaustive list see: Exhaustive List of LM-X Error Messages
Return Code # |
Return Code |
Description |
---|---|---|
0 |
LMX_SUCCESS |
Operation successful. |
9 |
LMX_FEATURE_NOT_FOUND |
Feature not found. |
12 |
LMX_TOO_LATE_DATE |
Software expired. |
13 |
LMX_BAD_VERSION |
Software version does not match license. |
20 |
LMX_VIRTUAL_DENY |
Feature not allowed to run on a virtual machine. |