Using License Manager (beta)

The following sections describe how to use License Manager with Driverless AI. Presently it is in beta state and is optional. Please contact to get License manager artifacts.

Understanding License Manager

License Manager is a software that is used to assist in the monitoring of license usage for products. It allows for the application of a single global license that can optionally implement specific restrictions (for example, a restriction on the maximum number of concurrent Driverless AI users can be specified). The license is applied to the License Management server, not to individual products.

Configuring Driverless AI to Use License Manager

Although Driverless AI can technically be started without the license manager server running, you would not be able to log in and use the software if Driverless AI is unable to communicate with a running license management server. Therefore, it is recommended that the License Manager server be started before starting any Driverless AI instances.

To learn how to start a License Manager server and configure Driverless AI to use License Manager, refer to the following sections:

Starting a License Manager Server

To start a License Manager server, refer to the following steps:

  1. Obtain a license manager install artifact from Choose from the following:

    • DEB

    • RPM

    • Docker

    • Linux binary

  2. Install the artifact:

    • DEB - dpkg -i /path/to/lms.deb

    • RPM - rpm -ivh /path/to/lms.rpm

    • Docker - docker load < /path/to/lms.tar.gz

    • Linux binary - No install necessary. Only a Linux-based machine is required

  3. Start the License Manager server. This process may vary depending on the install type. systemd-based artifacts may require some changes to startup scripts if custom startup is needed. Custom startup can be performed with the file or environment variables. By default, the license manager UI is available at http://license-manager-ip-address:9999.

License Manager Server Setup

  1. To acquire a license, contact

  2. Create a new project or use the default project with a useful/explicit name.

  3. Enable the new project.

  4. Navigate to the Licenses panel in License Manager UI and load the license to the License Manager server. Links to the Licenses panel are located in the left-hand side bar of the interface.

Licenses panel

Starting Driverless AI with License Manager

To configure Driverless AI to use License Manager on startup, use the config.toml file. The following TOML options can also be set with environment variables.

Note: The Driverless AI instance must have the ability to communicate with the License Manager server over a network.

Sample config.toml:

# License Management
enable_license_manager = true
license_manager_address = ""
license_manager_project_name = "license-manager-test"
license_manager_lease_duration = 3600000
license_manager_ssl_certs = "/home/npng"
license_manager_worker_startup_timeout = 60000

The following are descriptions of the relevant settings:

  • enable_license_manager - In order for Driverless AI to use the license manager, this must be set to true

  • license_manager_address - The IP address and port of the license manager so that Driverless AI knows where to access the license manager

  • license_manager_project_name - Name of the newly created project with license loaded to it from above

  • license_manager_lease_duration (Optional) - How long (in milliseconds) the lease issued by the license manager remains active before requiring a renewal. This can be longer or shorter depending on your needs. Renewals are attempted multiple times throughout the lifespan of a lease unless the lease is returned to the license management server. This value defaults to 3600000 milliseconds (the equivalent of one hour).

  • license_manager_ssl_certs (Optional) - Use if license manager has been set up to use TLS

  • license_manager_worker_startup_timeout (Optional) - The Driverless AI worker needs to obtain a lease to startup. Therefore, if it is unable to, this denotes how long it will retry for before giving up (in milliseconds).