How to deploy the workload manager

This how-to guide shows you how to deploy the workload manager of your Charmed HPC cluster.

Note

Slurm is currently the only supported workload manager implementation for Charmed HPC.

Prerequisites

To successfully deploy the workload manager of your Charmed HPC cluster, you will at least need:

Initialise the machine cloud

To initialise the machine cloud that will provide the virtual machines for your cluster, bootstrap a Juju controller on your LXD instance:

juju bootstrap localhost charmed-hpc-controller

Create a model for the cluster

After initialising the machine cloud, create a model for your cluster:

juju add-model charmed-hpc

Now deploy the workload manager for your cluster!

Deploy the workload manager

Slurm can be deployed in multiple ways using Juju.

Important

The instructions below pass virt-type=virtual-machine as a constraint to the Slurm charms to instruct LXD to provide a virtual machine rather than a system container. Slurm does not fully work within system containers unless some configuration modifications are applied to the default LXD profile.

To deploy Slurm via the Juju CLI, use the following commands:

# Deploy Slurm services.
juju deploy slurmctld --constraints="virt-type=virtual-machine"
juju deploy slurmd --constraints="virt-type=virtual-machine"
juju deploy slurmdbd --constraints="virt-type=virtual-machine"
juju deploy slurmrestd --constraints="virt-type=virtual-machine"
juju deploy mysql --channel "8.0/stable"
juju deploy mysql-router slurmdbd-mysql-router --channel "dpe/beta"

# Integrate services together.
juju integrate slurmctld:slurmd slurmd:slurmctld
juju integrate slurmctld:slurmdbd slurmdbd:slurmctld
juju integrate slurmctld:slurmrestd slurmrestd:slurmctld
juju integrate slurmdbd-mysql-router:backend-database mysql:database
juju integrate slurmdbd:database slurmdbd-mysql-router:database