--- # tasks file for SlurmDBD - name: Create/Update Users template: dest: /etc/cron.d/slurm_users_groups src: ../../SlurmCtl/templates/etc/cron.d/slurm_users_groups owner: root group: root mode: 0600 force: yes - name: Get slurm database password register: password_results shell: cmd: | set -eo pipefail aws secretsmanager get-secret-value --secret-id {{SlurmDBSecretName}} --query 'SecretString' --output text | jq '.password' - debug: var=password_results - name: Set SlurmDBPassword set_fact: SlurmDBPassword: "{{password_results.stdout_lines[0]}}" - name: Install epel from amazon-linux-extras when: ansible_facts['distribution'] == 'Amazon' shell: cmd: amazon-linux-extras install -y epel creates: /etc/yum.repos.d/epel.repo - name: Install SlurmDBD packages yum: state: present disablerepo: "{{yum_disablerepo|default(omit)}}" name: - emacs - environment-modules - figlet - mailx - mariadb - munge - munge-libs - munge-devel - name: Create slurm user user: name: slurm system: yes uid: '{{SlurmUid}}' create_home: no - name: Wait for {{SlurmConfigDir}}/munge.key wait_for: path: "{{SlurmConfigDir}}/munge.key" timeout: 1800 # 30 minutes - name: Copy {{SlurmConfigDir}}/munge.key to /etc/munge/munge.key copy: dest: /etc/munge/munge.key remote_src: true src: "{{SlurmConfigDir}}/munge.key" owner: munge group: munge mode: 0400 - name: Update /etc/systemd/system/munged.service template: src: ../../SlurmCtl/templates/etc/systemd/system/munged.service dest: /etc/systemd/system/munged.service owner: root group: root mode: 0644 - name: Start munged service: name: munged enabled: yes state: restarted - name: Create /etc/slurm file: path: /etc/slurm state: directory owner: slurm group: slurm mode: 0700 - name: Create {{SlurmLogsDir}} file: path: "{{SlurmLogsDir}}" state: directory owner: slurm group: slurm mode: 0755 - name: Create {{SlurmLogsDir}}/{{SlurmDbdHostname}} file: path: "{{SlurmLogsDir}}/{{SlurmDbdHostname}}" state: directory owner: slurm group: slurm mode: 0755 - name: Create /var/log/slurm file: path: /var/log/slurm src: "{{SlurmLogsDir}}/{{SlurmDbdHostname}}" state: link owner: slurm group: slurm mode: 0755 - name: Create /etc/logrotate.d/slurmdbd template: dest: /etc/logrotate.d/slurmdbd src: etc/logrotate.d/slurmdbd owner: root group: root mode: 0644 - name: Update /etc/slurm/slurmdbd.conf template: src: etc/slurm/slurmdbd.conf dest: /etc/slurm/slurmdbd.conf owner: slurm group: slurm mode: 0600 register: slurmdbd_conf - name: Update /etc/sysconfig/slurmdbd template: src: etc/sysconfig/slurmdbd dest: /etc/sysconfig/slurmdbd owner: slurm group: slurm mode: 0600 register: sysconfig_slurmdbd - name: Update /etc/systemd/system/slurmdbd.service template: dest: /etc/systemd/system/slurmdbd.service src: etc/systemd/system/slurmdbd.service owner: root group: root mode: 0644 register: slurmdbd_service - name: Get service facts service_facts: - name: Wait for {{SlurmSbinDir}}/slurmdbd wait_for: path: "{{SlurmSbinDir}}/slurmdbd" timeout: 1800 # 30 minutes - name: Restart slurmdbd when: (ansible_facts.services['slurmdbd.service']['state'] == 'running') and (slurmdbd_conf.changed or slurmdbd_service.changed or sysconfig_slurmdbd) systemd: name: slurmdbd enabled: yes daemon_reload: yes state: restarted register: slurmdbd_restarted - name: Start slurmdbd service: name: slurmdbd enabled: yes state: started - name: Configure modules template: dest: /etc/profile.d/slurm_{{ClusterName}}_modulefiles.sh src: ../../SlurmCtl/templates/etc/profile.d/slurm_modulefiles.sh owner: root group: root mode: 0644 force: yes