TotalView® for HPC Installation Guide : Chapter 3 License Setup: Linux PowerLE & ARM64 : Reserving Licenses
Reserving Licenses
The license reservation feature available with the FlexNet Embedded license server allows the license server administrator to control the distribution of the server’s license pool. When no reservations are defined, the license server distributes licenses on a first-come, first-served basis to client devices requesting them. However, when the license server administrator defines reservations, the server can preallocate a certain number of TotalView licenses from the pool to specific entities (for example, client devices or users) to help ensure that these entities have access to the licenses they need.
For TotalView licenses, the license server administrator can choose to preallocate the entire pool of licenses, a portion of the licenses, or none of the licenses for users belonging to particular Linux/Unix groups. Any license not reserved remains in the shared pool of licenses and is available on a first-come, first-served basis. The default reservation group for TotalView licenses is "totalview_user" group and is controlled by the TV::fne_reservation_group_name variable, defined in the .tvdrc file.
1. From the <installation_dir>/toolworks/flexnetls-2016.08.1-1/linux-x86-64/bin directory, run the FNE Administration tool to generate a template JSON file.
./flexnetlsadmin.sh -server http://<SERVER>:<PORT>/api/1.0/instances/~ -reservations -genjson <file>
2. Modify the JSON file to set up reservations for a particular group.
The following example creates two reservations. The first (named group1) reserves 8 "TotalView_Team" and 10 CUDA licenses for user group "totalview". The second reserves 1 "TotalView_Team" for group "admin". Assuming, you have pool of 10 TotalView_Team and 10 CUDA license, this will also leave one “TotalView_Team” license in shared unrestricted pool.
{ "name" : "group1", "reservations"
[
{ "hostId":
{ "value" : "totalview", "type" : "USER" },
"reservationEntries": [
{ "featureName": "TotalView_Team", "featureVersion": "2020.1227","featureCount": 9 }
,
{ "featureName": "CUDA", "featureVersion": "2020.0727","featureCount": 10 }
]
},
{ "hostId":
{ "value" : "admin", "type" : "USER" },
"reservationEntries": [ { "featureName": "TotalView_Team", "featureVersion": "2020.0727","featureCount": 1 }
]
}
]
}
3. Load the reservation file into server.
sudo ./flexnetlsadmin.sh -server http://<SERVER>:<PORT>/api/1.0/instances/~ -reservations -load reservations.json
where reservations.json is the reservation filename.
Once reservations are loaded into the server, you can check on or delete them:
To check reservations:
./flexnetlsadmin.sh -server http://<SERVER>:<PORT>/api/1.0/instances/~ -reservations
or
./flexnetlsadmin.sh -server http://<SERVER>:<PORT>/api/1.0/instances/~ -reservations -group
To delete reservation groups:
./flexnetlsadmin.sh server http://<SERVER>:<PORT>/api/1.0/instances/~ -reservations -delete --group groupID