galaxyproject / ansible-slurm

Ansible role for installing and managing the Slurm Workload Manager
88 stars 47 forks source link

Ability to specify Slurm version #26

Open patrick-austin opened 1 year ago

patrick-austin commented 1 year ago

When running this role, we had issues with another repo on the target which had version 21.08.8 of Slurm (compared to 20.11.8 from the Galaxy repos), so running the playbook installed the later version. However the only version of MUNGE we had was 0.5.14 (again from the Galaxy repo), which was not compatible with the later Slurm version that had been installed. Our solution was to disable the other repo in a pre-task before running the slurm role.

Would it be possible to add a variable which specifies the version of Slurm to install?

vphan13 commented 1 year ago

I have worked around this by overriding the following variable in my group_vars/slurmcluster file in my playbook

__slurm_redhat_packages:
  client: [slurm-22.05.9, munge]
  slurmctld: [munge, slurm-22.05.9, slurm-slurmctld-22.05.9]
  slurmd: [munge, slurm-22.05.9, slurm-slurmd-22.05.9]
  slurmdbd: [munge, slurm-slurmdbd-22.05.9]

Ideally I'd like to be able to do something like the below.  But being an ansible noob, this does not work. I've also tried "" between the [] but it seems my syntax is off.

__slurm_version: 22.05.9
__slurm_redhat_packages:
  client: [slurm-{{ __slurm_version }}, munge]
  slurmctld: [munge, slurm-{{ __slurm_version }}, slurm-slurmctld-{{ __slurm_version }}]
  slurmd: [munge, slurm-{{ __slurm_version }}, slurm-slurmd-{{ __slurm_version }}]
  slurmdbd: [munge, slurm-slurmdbd-{{ __slurm_version }}]