--- - name: create munge group group: name=munge system=yes gid=498 become: true - name: create munge user user: name=munge group=munge system=yes createhome=no uid=498 become: true - name: create slurm group group: name=slurm system=yes gid=497 become: true - name: create slurm user user: name=slurm group=slurm system=yes createhome=no uid=497 become: true - include: createSlurmDirectories.yml - name: install deps yum: name={{ item }} state=present with_items: - perl - perl-DBI - openssl-devel - gcc - rpm-build - wget - openssl-devel - readline-devel - pam-devel - perl-ExtUtils-MakeMaker - bzip2-devel - hwloc - hwloc-devel - lua - lua-devel become: true when: ansible_os_family == "RedHat" - name: install deps apt: name={{ item }} state=installed update_cache=yes become: true with_items: - gcc - wget - libssl-dev # downgrade needed for bionic see https://github.com/dun/munge/issues/54 - libpam0g-dev - libbz2-dev - make - perl - libdbi-perl - lua5.2 - hwloc - libhwloc-dev when: ansible_os_family == "Debian" - include: installMungeFromSource.yml - name: chown mungedir file: path={{ munge_dir }} state=directory owner=munge recurse=yes become: true - name: make munge logdir file: path={{ munge_dir }}/var/log/munge state=directory owner=munge mode=700 become: true - name: install munge key template: src=munge_key.j2 dest={{ munge_dir }}/etc/munge/munge.key owner=munge mode=600 become: true - name: enable munge on boot service: name=munge enabled=yes become: true - include: installSlurmFromSource.yml - include: createSlurmDirectories.yml - name: check slurm generic resource shell: "{{ slurm_gres_check }}" register: slurm_generic_resource ignore_errors: true when: slurm_gres_check is defined check_mode: no changed_when: False - name: Gres - Test for Nvidia devices script: scripts/nvidia-probe.py register: probeOutput check_mode: no changed_when: False - name: get cpu count shell: 'lscpu | grep "On-line CPU" | cut -f 2 -d ":" | sed "s/\ *//g"' register: cpucount check_mode: no changed_when: False - name: "set nvidiaprobe slurm_gres_list" set_fact: "slurm_gres_list={{ probeOutput.stdout }}" - name: template gres.conf file template: src="gres.conf.j2" dest={{ slurm_dir }}/etc/gres.conf mode=644 become: true - name: make slurm prolog dir file: path=/opt/slurm/etc state=directory mode=755 become: true become_user: root - name: install slurm prolog template: src=slurm.prolog.j2 dest=/opt/slurm/etc/slurm.prolog mode=755 become: true - name: install slurm epilog template: src=slurm.epilog.j2 dest=/opt/slurm/etc/slurm.epilog mode=755 become: true - name: install slurm.conf copy: src=files/slurm.conf dest={{ slurm_dir }}/etc/slurm.conf become: true when: slurm_use_vpn==False - name: install slurm.conf template: src=slurm-vpn.conf.j2 dest={{ slurm_dir }}/etc/slurm.conf become: true when: slurm_use_vpn==True #- name: install job_submit.lua # copy: src=files/job_submit.lua dest={{ slurm_dir }}/etc/job_submit.lua # become: true # when: slurm_use_vpn==False - name: setup envirnment variables template: src=slurm_setup.sh.j2 dest=/etc/profile.d/slurm_setup.sh become: true - name: setup plugin template: src=job_submit.lua.j2 dest={{ slurm_dir }}/etc/job_submit.lua mode=755 #delegate_to: "{{ slurmctrl }}" #run_once: true become: true when: slurm_lua==True - include: installCgroup.yml