Skip to content
Snippets Groups Projects
installMungeFromSource.yml~ 2.17 KiB
- name: test if munge is already isntalled
  stat: path="{{ munge_dir }}/bin/munge"
  register: munge_binary

- name: Create munge directory if it does not exist
  file:
    path: "{{ munge_src_dir | dirname }}"
    state: directory
    owner: "{{ ansible_user }}"
    group: root
    mode: u=rwx,g=rx,o=rx
  become: true


- name: define munge_src_url
  set_fact:
    munge_src_url: "http://consistency0/src/munge-{{ munge_version }}.tar.bz2"
  when: munge_src_url is not defined

- name: download munge
  get_url:
    url: "{{ munge_src_url }}"
    checksum: "{{ munge_src_checksum }}"
    dest: "{{ munge_src_dir | dirname }}/munge_src"
  when: munge_src_checksum is defined
- name: download munge
  get_url:
    url: "{{ munge_src_url }}"
    dest: "{{ munge_src_dir | dirname }}/munge_src"
  when: munge_src_checksum is not defined


- name: unarchive munge
  unarchive:
    src: "{{ munge_src_dir | dirname }}/munge_src"
    dest: "{{ munge_src_dir | dirname }}"
    remote_src: yes
    creates: "{{ munge_src_dir }}"


- name: build munge
  shell: ./bootstrap ; ./configure --prefix={{ munge_dir }} && make
  args:
    chdir: "{{ munge_src_dir }}"
    creates: "{{ munge_src_dir }}/src/munge/munge"
  when: not munge_binary.stat.exists

- name: install munge
  shell: make install
  become: true
  args:
    chdir: "{{ munge_src_dir }}"
    creates: "{{ munge_dir }}/bin/munge"
  when: not munge_binary.stat.exists

- name: set use_systemd Redhat
  set_fact:
    use_systemd: True
  when: (ansible_distribution == "CentOS" or ansible_distribution == "RedHat") and ( ansible_distribution_major_version == "7")

- name: set use_systemd Debian
  set_fact:
    use_systemd: True
  when: ansible_os_family == "Debian"

- name: copy init script
  template: dest=/etc/init.d/munge src=munge.initd.j2 mode=755
  become: true
  register: systemd_script_installed
  when: use_systemd is not defined

- name:  copy slurm init script if OS contains systemd
  template: dest=/etc/systemd/system/munge.service src=munge.service.j2 mode=644
  become: true
  when: use_systemd is defined

- name: reload systemd
  shell: systemctl daemon-reload
  become: true
  when: use_systemd is defined and systemd_script_installed.changed