From 559ce7e0548bcfb795a8e1b24388383cf711f248 Mon Sep 17 00:00:00 2001 From: Colin Vandenhof Date: Fri, 18 Jun 2021 02:26:00 -0300 Subject: [PATCH] restart on munge key change + buster support --- .gitignore | 1 + handlers/main.yml | 37 ++++++++++++++++++++++++++----------- meta/main.yml | 1 + tasks/munge.yml | 1 + tasks/slurmctld.yml | 30 ++++++++++++++++++++++++++++++ tasks/slurmd.yml | 30 ++++++++++++++++++++++++++++++ tasks/slurmdbd.yml | 34 +++++++++++++++++++++++++++++++++- 7 files changed, 122 insertions(+), 12 deletions(-) diff --git a/.gitignore b/.gitignore index 1377554..986544f 100644 --- a/.gitignore +++ b/.gitignore @@ -1 +1,2 @@ *.swp +.idea \ No newline at end of file diff --git a/handlers/main.yml b/handlers/main.yml index 2af4d81..44ae442 100644 --- a/handlers/main.yml +++ b/handlers/main.yml @@ -1,16 +1,19 @@ --- -- name: reload slurmd - service: - name: "{{ slurmd_service_name }}" - state: reloaded - when: "'slurmexechosts' in group_names or 'exec' in slurm_roles" +- name: systemd reload + systemd: + daemon_reload: yes -- name: restart slurmd +- name: restart munge service: - name: "{{ slurmd_service_name }}" + name: munge state: restarted - when: "'slurmexechosts' in group_names or 'exec' in slurm_roles" + +- name: reload slurmdbd + service: + name: "{{ slurmdbd_service_name }}" + state: reloaded + when: "'slurmdbdservers' in group_names or 'dbd' in slurm_roles" - name: reload slurmctld service: @@ -24,8 +27,20 @@ state: restarted when: "'slurmservers' in group_names or 'controller' in slurm_roles" -- name: reload slurmdbd +- name: reload slurmd service: - name: "{{ slurmdbd_service_name }}" + name: "{{ slurmd_service_name }}" state: reloaded - when: "'slurmdbdservers' in group_names or 'dbd' in slurm_roles" + when: "'slurmexechosts' in group_names or 'exec' in slurm_roles" + +- name: restart slurmd + service: + name: "{{ slurmd_service_name }}" + state: restarted + when: "'slurmexechosts' in group_names or 'exec' in slurm_roles" + + + + + + diff --git a/meta/main.yml b/meta/main.yml index 7d84a25..cd6effd 100644 --- a/meta/main.yml +++ b/meta/main.yml @@ -45,6 +45,7 @@ galaxy_info: versions: - jessie - stretch + - buster - name: Ubuntu versions: - xenial diff --git a/tasks/munge.yml b/tasks/munge.yml index dcf7b60..ebed58d 100644 --- a/tasks/munge.yml +++ b/tasks/munge.yml @@ -16,6 +16,7 @@ group: munge mode: 0400 when: slurm_munge_key is defined + notify: restart munge - name: Ensure Munge is enabled and running service: diff --git a/tasks/slurmctld.yml b/tasks/slurmctld.yml index 62fec10..ca09f71 100644 --- a/tasks/slurmctld.yml +++ b/tasks/slurmctld.yml @@ -24,3 +24,33 @@ mode: 0755 state: directory when: slurm_create_dirs and __slurm_config_merged.SlurmctldLogFile != omit + + +- name: 'Service slurmctld : Directory of Pidfile must exist and set slurm group permission' + lineinfile: + path: /lib/systemd/system/slurmctld.service + regexp: '{{ item.regexp }}' + line: "{{ item.line }}" + insertafter: '\[Service\]' + loop: + - line : 'RuntimeDirectory={{ __slurm_config_merged.SlurmctldPidFile.split("/")[-2] }}' + regexp : '^RuntimeDirectory' + - line : "Group={{ __slurm_group_name }}" + regexp : '^Group' + - line : 'RuntimeDirectoryMode=0770' + regexp : '^RuntimeDirectoryMode' + notify: + - systemd reload + - reload slurmdbd + when: ansible_distribution == 'Debian' + +- name: Service slurmctld , option PIDFile + lineinfile: + path: /lib/systemd/system/slurmctld.service + regexp: 'PIDFile' + line: "PIDFile={{ __slurm_config_merged.SlurmctldPidFile }}" + insertafter: '\[Service\]' + when: __slurm_config_merged.SlurmctldPidFile is defined + notify: + - systemd reload + - reload slurmdbd \ No newline at end of file diff --git a/tasks/slurmd.yml b/tasks/slurmd.yml index d9e77d8..47a01f2 100644 --- a/tasks/slurmd.yml +++ b/tasks/slurmd.yml @@ -38,3 +38,33 @@ - name: cgroup.conf config: slurm_cgroup_config when: item.config in vars + + +- name: 'Service slurmd : Directory of Pidfile must exist and set slurm group permission' + lineinfile: + path: /lib/systemd/system/slurmd.service + regexp: '{{ item.regexp }}' + line: "{{ item.line }}" + insertafter: '\[Service\]' + loop: + - line: 'RuntimeDirectory={{ __slurm_config_merged.SlurmdPidFile.split("/")[-2] }}' + regexp: '^RuntimeDirectory' + - line: "Group={{ __slurm_group_name }}" + regexp: '^Group' + - line: 'RuntimeDirectoryMode=0770' + regexp: '^RuntimeDirectoryMode' + notify: + - systemd reload + - reload slurmdbd + when: ansible_distribution == 'Debian' + +- name: Service slurmctld , option PIDFile + lineinfile: + path: /lib/systemd/system/slurmd.service + regexp: 'PIDFile' + line: "PIDFile={{ __slurm_config_merged.SlurmdPidFile }}" + insertafter: '\[Service\]' + when: __slurm_config_merged.SlurmdPidFile is defined + notify: + - systemd reload + - reload slurmdbd \ No newline at end of file diff --git a/tasks/slurmdbd.yml b/tasks/slurmdbd.yml index ca4fd2f..d7c001c 100644 --- a/tasks/slurmdbd.yml +++ b/tasks/slurmdbd.yml @@ -8,10 +8,13 @@ - name: Install slurmdbd.conf template: src: generic.conf.j2 - dest: "{{ slurm_config_dir }}/slurmdbd.conf" + dest: "{{ slurm_config_dir }}/{{ item.name }}" owner: "{{ __slurm_user_name }}" group: root mode: 0400 + with_items: + - name: slurmdbd.conf + config: __slurmdbd_config_merged notify: - reload slurmdbd @@ -23,3 +26,32 @@ mode: 0755 state: directory when: slurm_create_dirs and __slurmdbd_config_merged.LogFile + +- name: 'Service slurmdbd : Directory of Pidfile must exist and set slurm group permission' + lineinfile: + path: /lib/systemd/system/slurmdbd.service + regexp: '{{ item.regexp }}' + line: "{{ item.line }}" + insertafter: '\[Service\]' + loop: + - line : 'RuntimeDirectory={{ __slurmdbd_config_merged.PidFile.split("/")[-2] }}' + regexp : '^RuntimeDirectory' + - line : "Group={{ __slurm_group_name }}" + regexp : '^Group' + - line : 'RuntimeDirectoryMode=0770' + regexp : '^RuntimeDirectoryMode' + notify: + - systemd reload + - reload slurmdbd + when: ansible_distribution == 'Debian' + +- name: Service slurmdbd , option PIDFile + lineinfile: + path: /lib/systemd/system/slurmdbd.service + regexp: 'PIDFile' + line: "PIDFile={{ __slurmdbd_config_merged.PidFile }}" + insertafter: '\[Service\]' + when: __slurmdbd_config_merged.PidFile is defined + notify: + - systemd reload + - reload slurmdbd \ No newline at end of file