Managing License Access with Model Definitions
The license models feature available with the FlexNet Embedded license server supports defining allow and block lists based on a host ID, using a model definition.
Model definitions use the EBNF syntax (Extended Backus–Naur form). For detail, see the FlexNet Embedded License Server Administration Guide located in the installation directory at <installdir>toolworks/flexnetls-<version>/doc/.
Creating and Managing License Model Definitions
You can create either an allow list, which defines host IDs allowed to receive a license, or a block list, which blocks specific host IDs, and allows all others.
NOTE: For TotalView, provide usernames for the host ID field, rather than machine identifiers, because TotalView grants licenses based on the username sent as a secondary host ID. For example, bjones, rather than 0050569b0d74.
1. Create a model definition file
The following example creates a simple allow list with three engineering team members:
 
model "engTeam" {
on hostid("bjones",
"schang",
"msingh") {
use "default"
accept
}
on any() {
deny
}
}
 
Fields:
*model: The model definition name, as a string.
*hostid: The individual’s user ID
*use “default”: Uses the default license partition. Note that only one partition, the default, is supported in TotalView.
*accept: Accepts all identified hostids.
*on any () deny: Denies a license request for any requests that do not match the defined hostids.
To create a block list, switch the deny and accept keywords and move use "default" under on any():
 
model "engTeam" {
on hostid("bjones",
"schang",
"msingh") {
deny
}
on any() {
use "default"
accept
}
}
2. Load the file into the license server
a. Change to the flexnetls directory:
cd <installdir>/toolworks/flexnetls-<version>/linux-x86-64/bin/
b. Load the file:
sudo ./flexnetlsadmin.sh -server http://<SERVER>:<PORT>/api/1.0/instances/~ ‑model ‑load model_allow.model
where model_allow.model is the model definitions filename. Note that the prefix “.model” is not required; it can be anything you choose.
Once model definitions are loaded into the server, you can check on or delete them:
*To see the active model definition:
./flexnetlsadmin.sh -server http://<SERVER>:<PORT>/api/1.0/instances/~ ‑model
*To delete the active model definition:
./flexnetlsadmin.sh -server http://<SERVER>:<PORT>/api/1.0/instances/~ ‑model -delete