Contributors • Forks • Stargazers • Issues • MIT License • Website
A License management simulator project for testing license integration in user applications.
Report Bug
·
Request Feature
The license-manager-simulator is an application that simulates several license servers output for use in the development of applications which interface to the license servers.
There are 2 parts: the API to manage license information and the applications that simulate the license servers output.
License servers supported:
- FlexLM
- RLM
- LS-Dyna
- LM-X
To install this project, clone the repository and use docker-compose
to run it in containers:
$ docker-compose up
This will create a container for the API, and also a PostgreSQL container for the database.
The API will be available at http://localhost:8000/lm-sim
.
To use the license-manager-simulator you must have Slurm
and license-manager-agent
charms deployed with Juju
.
Instructions for this can be found at the License Manager documentation.
For each license server supported, there's a script that requests license information to the simulator API and a template
where the data will be rendered. These files need to be copied to the license-manager-agent
machine.
You also need to add licenses to the simulator API and to the Slurm cluster, and then copy an application file to the slurmd
node to run a job.
To prepare your local license-manager-agent
to use the simulator, run the simulator API, get its IP address and
pass it to the make setup
command:
$ make setup lm_sim_ip=http://127.0.0.1:8000
After executing this command, you'll be able to submit jobs that use the simulated licenses.
You can add/remove licenses from the license server API using the online interface at http://localhost:8000/lm-sim/docs
. This helps you to make requests directly with the browser into the API, with examples.
There is an application.sh
script that is intended to run in Slurm as a job that uses the licenses from the API. It is just a dummy
application for testing purposes that creates a license_in_use in the API, sleeps, then deletes the license_in_use.
There is also a batch.sh
script to run the application via sbatch
.
These files are seeded with the API IP address provided in the step above and available at /tmp
folder in the slurmd
node.
To submit the job, run:
$ juju ssh slurmd/leader sbatch /tmp/batch.sh
Distributed under the MIT License. See LICENSE
for more information.
Omnivector Solutions - www.omnivector.solutions - info@omnivector.solutions
Project Link: https://github.com/omnivector-solutions/license-manager-simulator