Driverless AI Licenses¶
A valid license is required for running Driverless AI and for running the scoring pipelines.
Driverless AI is licensed per a single named user. Therefore, in order, to have different users run experiments simultaneously, they would each need a license. Driverless AI manages the GPU(s) that it is given and ensures that different experiments from different users can run safely simultaneously and don’t interfere with each other. So when two licensed users log in with different credentials, neither of them will see the other’s experiment. Similarly, if a licensed user logs in using a different set of credentials, that user will not see any previously run experiments.
Adding Licenses for the First Time¶
Specifying a License File for the Driverless AI Application¶
A license file to run Driverless AI can be added in one of three ways when starting Driverless AI.
Specifying the license.sig file during launch in native installs
Using the DRIVERLESS_AI_LICENSE_FILE and DRIVERLESS_AI_LICENSE_KEY environment variables when starting the Driverless AI Docker image
Uploading your license in the Web UI
Specifying the license.sig File During Launch¶
By default, Driverless AI looks for a license key in /opt/h2oai/dai/home/.driverlessai/license.sig. If you are installing Driverless AI programmatically, you can copy a license key file to that location. If no license key is found, the application will prompted you to add one via the Web UI.
Specifying Environment Variables¶
You can use the DRIVERLESS_AI_LICENSE_FILE or DRIVERLESS_AI_LICENSE_KEY environment variable when starting the Driverless AI Docker image. For example:
nvidia-docker run \ --pid=host \ --init \ --rm \ --shm-size=256m \ -u `id -u`:`id -g` \ -p 12345:12345 \ -e DRIVERLESS_AI_LICENSE_FILE="/license/license.sig" \ -v `pwd`/config:/config \ -v `pwd`/data:/data \ -v `pwd`/log:/log \ -v `pwd`/license:/license \ -v `pwd`/tmp:/tmp \ h2oai/dai-centos7-x86_64:TAG
nvidia-docker run \ --pid=host \ --init \ --rm \ --shm-size=256m \ -u `id -u`:`id -g` \ -p 12345:12345 \ -e DRIVERLESS_AI_LICENSE_KEY="Y0uRl1cens3KeyH3re" \ -v `pwd`/config:/config \ -v `pwd`/data:/data \ -v `pwd`/log:/log \ -v `pwd`/license:/license \ -v `pwd`/tmp:/tmp \ h2oai/dai-centos7-x86_64:TAG
Uploading Your License in the Web UI¶
If Driverless AI does not locate a license.sig file during launch, then the UI will prompt you to enter your license key after you log in the first time.
Click the Enter License button, and then paste the entire license into the provided License Key entry field. Click Save when you are done. Upon successful completion, you will be able to begin using Driverless AI.
Specifying a License for Scoring Pipelines¶
Driverless AI requires a license to be specified in order to run the Scoring Pipelines.
Python Scoring Pipeline¶
The license can be specified via an environment variable in Python:
# Set DRIVERLESS_AI_LICENSE_FILE, the path to the Driverless AI license file %env DRIVERLESS_AI_LICENSE_FILE="/home/ubuntu/license/license.sig" # Set DRIVERLESS_AI_LICENSE_KEY, the Driverless AI license key (Base64 encoded string) %env DRIVERLESS_AI_LICENSE_KEY="oLqLZXMI0y..."
You can also
export the license file when running the scoring pipeline:
export DRIVERLESS_AI_LICENSE_FILE="/path/to/license.sig" bash run_example.sh
MOJO Scoring Pipeline¶
Driverless AI requires a license to be specified in order to run the MOJO Scoring Pipeline. The license can be specified in one of the following ways:
- Via an environment variable:
DRIVERLESS_AI_LICENSE_FILE: Path to the Driverless AI license file, or
DRIVERLESS_AI_LICENSE_KEY: The Driverless AI license key (Base64 encoded string)
- Via a system property of JVM (
ai.h2o.mojos.runtime.license.file: Path to the Driverless AI license file, or
ai.h2o.mojos.runtime.license.key: The Driverless AI license key (Base64 encoded string)
- Via a system property of JVM (
- Via an application classpath:
The license is loaded from a resource called
The default resource name can be changed via the JVM system property
java -Dai.h2o.mojos.runtime.license.file=/etc/dai/license.sig -cp mojo2-runtime.jar ai.h2o.mojos.ExecuteMojo pipeline.mojo example.csv
Driverless AI Licenses in Production via AWS Lambdas¶
Driverless AI deployment pipelines to AWS Lambdas automatically set the license key as an environment variable based on the license key that was used in Driverless AI.
If your current Driverless AI license has expired, you will be required to update it in order to continue running Driverless AI, in order to run the scoring pipeline, in order to access deployed pipelines to AWS Lambdas, etc.
Updating the License for Driverless AI¶
Similar to adding a license for the first time, you can update your license for running Driverless AI either by replacing your current license.sig file or via the Web UI.
Updating the license.sig File¶
Update the license key in your /opt/h2oai/dai/home/.driverlessai/license.sig file by replacing the existing license with your new one.
Updating the License in the Web UI¶
If your license is expired, the Web UI will prompt you to enter a new one. The steps are the same as adding a license for the first time via the Driverless AI Web UI.
Updating the License for Scoring Pipelines¶
For the Python Scoring Pipeline, simply include the updated license file when setting the environment variable in Python. Refer to the above Python Scoring Pipeline section for adding licenses.
For the MOJO Scoring Pipeline, the updated license file can be specifed using an environment variable, using a system property of JVM, or via an application classpath. This is the same as adding a license for the first time. Refer to the above MOJO Scoring Pipeline section for adding licenses.
Updating Driverless AI Licenses in Production¶
The Driverless AI deployment pipeline to AWS Lambdas explicitly sets the license key as an environment variable. Replace the expired license key with your updated one.