Skip to content
Snippets Groups Projects
main.yml 3.57 KiB
Newer Older
Andreas Hamacher's avatar
Andreas Hamacher committed
- name: see if /raid exists
  stat:
    path: /raid
  register: raiddir

- name: Set /mnt/nvme as spankprivatetmpdir if present
  file:
    src: /mnt/nvme
    dest: "{{ spankprivatetmpmount }}"
    owner: root
    group: root
    mode: u=rwx,g=rx,o=rx
    state: link
  become: true
  when: hostvars[inventory_hostname]['ansible_devices']['nvme0n1'] is defined

- name: Link /raid as spankprivatetmpdir if present
  file:
    src: /raid
    dest: "{{ spankprivatetmpmount }}"
    owner: root
    group: root
    mode: u=rwx,g=rx,o=rx
    state: link
  become: true
Andreas Hamacher's avatar
Andreas Hamacher committed
  when: raiddir.stat.isdir is defined and raiddir.stat.isdir == True
Andreas Hamacher's avatar
Andreas Hamacher committed

- name: create spankprivatetmpdir as directory  if there is not a fast drive present
  file:
    path: "{{ spankprivatetmpmount }}"
    owner: root
    group: root
    mode: u=rwx,g=rx,o=rx
    state: directory
  become: true
Andreas Hamacher's avatar
Andreas Hamacher committed
  when: hostvars[inventory_hostname]['ansible_devices']['nvme0n1'] is not defined and raiddir.stat.isdir is not defined
Andreas Hamacher's avatar
Andreas Hamacher committed

- name: create munge group
  group: name=munge system=yes gid=498

- name: create munge user
  user: name=munge group=munge system=yes createhome=no uid=498

- name: create slurm group
  group: name=slurm system=yes gid=497

- name: create slurm user
  user: name=slurm group=slurm system=yes createhome=no uid=497
  package:
    state: present
    name:
      - 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
Andreas Hamacher's avatar
Andreas Hamacher committed
      - python3
  when: ansible_os_family == "RedHat"

- name: install deps
Andreas Hamacher's avatar
Andreas Hamacher committed
    state: present
    name:
      - 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
      - liblua5.2-dev
      - hwloc
      - libhwloc-dev
Andreas Hamacher's avatar
Andreas Hamacher committed
      - python3
  when: ansible_os_family == "Debian"

- include: installMungeFromSource.yml

- name: chown mungedir
  file: path={{ munge_dir }} state=directory owner=munge recurse=yes

- name: make munge logdir
  file: path={{ munge_dir }}/var/log/munge state=directory owner=munge mode=700

- name: install munge key
  template: src=munge_key.j2 dest={{ munge_dir }}/etc/munge/munge.key owner=munge mode=600
- name: enable munge on boot
  service: name=munge enabled=yes
- name: get cpu count
  shell: 'lscpu | grep "On-line CPU" | cut -f 2 -d ":" | sed "s/\ *//g"'
  register: cpucount
  check_mode: no
- 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

- name: install slurm epilog
  template: src=slurm.epilog.j2 dest=/opt/slurm/etc/slurm.epilog mode=755
- name: install slurmctld prolog
  file: src=files/slurmctld.prolog dest=/opt/slurm-latest/etc/slurmctld.prolog mode=755
  become: true
  when: inventory_hostname in groups.ManagementNodes
- name: setup envirnment variables
  template: src=slurm_setup.sh.j2 dest=/etc/profile.d/slurm_setup.sh
- include: installCgroup.yml

Andreas Hamacher's avatar
Andreas Hamacher committed
- include: spankprivatetmpdir.yml