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:

  1. Determine the machines for the xGT server

  2. Download the license tool package

  3. 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:

  1. Download the package

  2. 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:

  1. 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.*.*
    
  2. When you receive your license file place it in /etc/xgtd/license/. By default, it should be named xgtd.lic.

  3. 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.