Below are the resources that need to be available out of the box in order to have a SLURM workflow up and running from scratch:
- de.NBI project with proper resource allocation.
controller
server with proper configuration to run ansible and terraform from.- Authentication token (can be generated through the Openstack dashboard)
- Quobyte volume (cannot be automated, must be created manually)
A deployment server must exist with the proper environment setup:
- Terraform
- Ansible
- Python3
The infrastructure and configuration will be performed through the deployment node. Executing the commands below is all that's needed to deploy a newly created slurm cluster:
mkdir SlurmDeployment
cd SlurmDeployment
git init
git pull https://github.com/MChehab94/slurm-deployment
python3 setup_environment.py
TerraformSlurmCluster/provider.tf
must be edited first to authenticate with Openstack. Make sure to populate the provider block:provider "openstack" { user_name = "USERNAME" tenant_name = "PROJECT_NAME" application_credential_secret = "APPLICATION_CREDENTIAL_SECRET" application_credential_id = "APPLICATION_CREDENTIAL_ID" auth_url = "OPENSTACK_AUTH_URL" region = "REGION" insecure = true }