Skip to content
Snippets Groups Projects
main.yml 4.79 KiB
Newer Older
- name: Populate service facts
  service_facts:

- name: stop and disable firewalld
  service:
    name: firewalld
    state: stopped
    enabled: false
  become: true
Andreas Hamacher's avatar
Andreas Hamacher committed
  when: services["firewalld.service"] is defined
- name: set use_systemd
Andreas Hamacher's avatar
Andreas Hamacher committed
  set_fact:
    use_systemd: True
  when: (ansible_distribution == "CentOS" or ansible_distribution == "RedHat") and
Andreas Hamacher's avatar
Andreas Hamacher committed
          ( ansible_distribution_major_version == "7")
- name: set slurmd_enabled (default enabled)
  set_fact:
    slurmd_enabled: True
Andreas Hamacher's avatar
Andreas Hamacher committed
  when: slurmd_enabled is not defined and start_slurmd is defined and start_slurmd
  template: src=slurmdbd.initd.j2 dest=/etc/init.d/slurmdbd mode=755
  when: use_systemd is not defined and start_slurmdbd is defined

- name:  copy slurmdbd init script if OS contains systemd
  template: dest=/etc/systemd/system/slurmdbd.service src=slurmdbd.service.j2 mode=644
  when: use_systemd is defined and start_slurmdbd is defined

- name: copy slurm init script
  template: dest=/etc/init.d/slurm src=slurm.initd.j2  mode=755
  when: use_systemd is not defined

- name:  copy slurmd.service
  template: dest=/etc/systemd/system/slurmd.service src=slurmd.service.j2 mode=644
  when: use_systemd is defined and start_slurmd is defined
- name: deploy glusterfsheltest
Andreas Hamacher's avatar
Andreas Hamacher committed
  template: dest=/etc/systemd/system/glusterfsheltest.sh src=templates/glusterfsheltest.sh.j2 mode=744
Andreas Hamacher's avatar
Andreas Hamacher committed
  when: use_systemd is defined and start_slurmctld is defined and use_glusterfs
  register: slurmctld_service_installed

- name: slurmctld.service
  template: dest=/etc/systemd/system/slurmctld.service src=slurmctld.service.j2 mode=644
  when: use_systemd is defined and start_slurmctld is defined
Andreas Hamacher's avatar
Andreas Hamacher committed
- name: reload systemd after slurmd install
  systemd:
    daemon_reload: yes
Ubuntu's avatar
Ubuntu committed
  when: use_systemd is defined and start_slurmd is defined and slurmd_service_installed.changed
Andreas Hamacher's avatar
Andreas Hamacher committed
- name: reload systemd after slurmctld _service _installed
  systemd:
    daemon_reload: yes
Ubuntu's avatar
Ubuntu committed
  when: use_systemd is defined and start_slurmctld is defined and slurmctld_service_installed.changed
Andreas Hamacher's avatar
Andreas Hamacher committed
- name: reload systemd slurmdbd_ service _installed
  systemd:
    daemon_reload: yes
Ubuntu's avatar
Ubuntu committed
  when: use_systemd is defined and start_slurmdbd is defined and slurmdbd_service_installed.changed
- name: make sure munge is started
  service: name=munge state=started enabled=yes
  become: true
  when: use_systemd is defined and start_slurmdbd is defined

  service: name=munge state=restarted enabled=yes
  when: use_systemd is defined and ( slurmdbd_service_installed.changed or slurmctld_service_installed.changed or slurmd_service_installed.changed)
- name: start slurmdbd
  service: name=slurmdbd state=started enabled={{ start_slurmdbd }}
  become: true
  when: start_slurmdbd is defined

- name: restart slurmdbd
  service: name=slurmdbd state=restarted enabled={{ start_slurmdbd }}
  when: start_slurmdbd is defined and slurmdbd_service_installed.changed
Andreas Hamacher's avatar
Andreas Hamacher committed
- name: enable slurmctld
  service: name=slurmctld state=stopped enabled={{ start_slurmctld }}
Andreas Hamacher's avatar
Andreas Hamacher committed
  become: true
Andreas Hamacher's avatar
Andreas Hamacher committed
  when: use_systemd is defined and start_slurmctld is defined and slurmctld_service_installed.changed
Andreas Hamacher's avatar
Andreas Hamacher committed

Andreas Hamacher's avatar
Andreas Hamacher committed
- name: stop slurmctld on servicefile change
  service: name=slurmctld state=stopped enabled={{ start_slurmctld }}
  when: use_systemd is defined and start_slurmctld is defined and not start_slurmctld and slurmctld_service_installed.changed

Andreas Hamacher's avatar
Andreas Hamacher committed
- name: start slurmctld
  service: name=slurmctld state=started
Andreas Hamacher's avatar
Andreas Hamacher committed
  when: use_systemd is defined and start_slurmctld is defined and start_slurmctld
- name: "count clusters in slurm db"
  shell:  "{{ slurm_dir }}/bin/sacctmgr show cluster -p | wc -l"
  register: slurm_cluster_count
  check_mode: no
  changed_when: false
  when: 'slurmctrl == inventory_hostname'

- debug:
    var: slurm_cluster_count

- name: "create cluster in slurm db"  #needs munge to run
  shell:  "{{ slurm_dir }}/bin/sacctmgr -i create cluster {{ clustername }}"
  become: true
  when: 'slurmctrl == inventory_hostname and slurm_cluster_count.stdout == "1"'
Andreas Hamacher's avatar
Andreas Hamacher committed
- name: start slurmd
Andreas Hamacher's avatar
Andreas Hamacher committed
  service: name=slurmd enabled={{ slurmd_enabled }}
Andreas Hamacher's avatar
Andreas Hamacher committed
  become: true
Andreas Hamacher's avatar
Andreas Hamacher committed
  when: use_systemd is defined and slurmd_enabled is defined
Andreas Hamacher's avatar
Andreas Hamacher committed

Andreas Hamacher's avatar
Andreas Hamacher committed
- name: restart slurmd
  service: name=slurmd state=restarted enabled={{ slurmd_enabled }}
Andreas Hamacher's avatar
Andreas Hamacher committed
  when: use_systemd is defined and start_slurmd is defined and slurmd_service_installed.changed and start_slurmd
  service: name=slurm state=restarted enabled={{ slurmd_enabled }}
Andreas Hamacher's avatar
Andreas Hamacher committed
  when: use_systemd is not defined and start_slurmd is defined