Using Docker Compose
Pre-Installation
Before you get started, ensure you have the following pre-requisites installed on your machine:
- docker
- docker compose
Running the License Manager Composed
To get started, clone the license-manager repository from GitHub and run docker compose up.
git clone https://github.com/omnivector-solutions/license-manager
cd license-manager/lm-composed
docker compose up --build
The docker compose command will start the following services:
- License Manager API
- Postgresql database (for the License Manager API)
- License Manager Simulator API
- Postgresql database (for the License Manager Simulator API)
- License Manager Agent
- Keycloak (authentication provider for the LM API)
- Slurm cluster (Slurmctld, Slurmdbd, Slurmrestd, and two Slurmd containers)
The License Manager Agent runs as its own container, decoupled from the slurmctld container. The slurmctld container only has the
License Manager Prolog/Epilog scripts installed, which are configured to communicate directly with the License Manager API.
Submitting a job
- Log into the
slurmctldcontainer:
- Execute the job example:
The job will request 42 licenses to the License Manager Simulator API and return it after a few minutes.
It will be submitted to the Slurm cluster and the License Manager Prolog script will make a booking request to the License Manager API.
The results will be available in the slurm-fake-nfs directory.