REQUIRES ANSIBLE 2.7+
This role sets up a slurm cluster along with a database for slurm accounting. If a database exists in your environment then it will try to use that.
ONLY MYSQL/MARIADB or compliant DBs are compatible.
Have a "slurm" section to your ansible inventory. Each of the nodes listed there must be having the same name as the FQDN of your environment.
Example with a cluster node named "headnode.cluster.com" as per FQDN.
[slurm] headnode.cluster.com slurm_builder=True headnode=True
Mark one of the slurm nodes with the variable
slurm_builder=True, so that the role knows which node to build slurm on. This is also used for other things so ensure it's set in the slurm group.
Mark the headnode with the variable
headnode=True, so as to avoid deploying the slurm daemon there. THIS ROLE ONLY SUPPORTS ON HEADNODE AS OF NOW, THINGS WILL BREAK WITH MORE
Create a playbook that includes this role. E.g.:
- hosts: all become: true gather_facts: false pre_tasks: - name: Install python2 for Ansible raw: bash -c "test -e /usr/bin/python || (apt -qqy update && apt install -qqy python-minimal)" register: output changed_when: output.stdout != "" - name: Gathering Facts setup: roles: - role: ansible-role-slurm