diff --git a/roles/nhc/tasks/main.yml b/roles/nhc/tasks/main.yml index bcc820f613e5205c334117e0524359366fed7912..868712bb3e024c541edfdab3f2f634221cf56f61 100644 --- a/roles/nhc/tasks/main.yml +++ b/roles/nhc/tasks/main.yml @@ -18,24 +18,24 @@ - name: unarchive nhc unarchive: args: - src: "http://consistency0/src/{{ nhc_version }}.tar.gz" + src: "https://github.com/mej/nhc/archive/refs/tags/{{ nhc_version }}.tar.gz" copy: no - dest: /tmp - creates: /tmp/nhc-{{ nhc_version }}/autogen.sh + dest: /opt/src + creates: /opt/src/nhc-{{ nhc_version }}/autogen.sh when: not nhc_binary.stat.exists - name: build nhc shell: ./autogen.sh && ./configure --prefix={{ nhc_dir }} && make args: - chdir: /tmp/nhc-{{ nhc_version }} - creates: /tmp/nhc-{{ nhc_version }}/configure + chdir: /opt/src/nhc-{{ nhc_version }} + creates: /opt/src/nhc-{{ nhc_version }}/configure when: not nhc_binary.stat.exists - name: install nhc shell: make install become: true args: - chdir: /tmp/nhc-{{ nhc_version }} + chdir: /opt/src/nhc-{{ nhc_version }} when: not nhc_binary.stat.exists - name: ensure sysconfig dir exists diff --git a/roles/slurm-common/tasks/installMungeFromSource.yml b/roles/slurm-common/tasks/installMungeFromSource.yml index cf39c3f9273c7d3c7347fd73efe5d226d5033744..4978c4dd2e6c78994b686eac23367bdbe2eeb88d 100644 --- a/roles/slurm-common/tasks/installMungeFromSource.yml +++ b/roles/slurm-common/tasks/installMungeFromSource.yml @@ -5,7 +5,8 @@ - name: unarchive munge unarchive: args: - src: "http://consistency0/src/munge-{{ munge_version }}.tar.bz2" + #src: "http://consistency0/src/munge-{{ munge_version }}.tar.bz2" + src: "https://github.com/dun/munge/releases/download/munge-{{ munge_version }}/munge-{{ munge_version }}.tar.xz" copy: no dest: /tmp creates: /tmp/munge-{{ munge_version }}/configure diff --git a/roles/slurm-common/tasks/installSlurmFromSource.yml b/roles/slurm-common/tasks/installSlurmFromSource.yml index 04304d902ea1d5abe67c6da6d17c63603d39b6ea..0f0db7832101a4fd9f6eb32743b8fea3db61302d 100644 --- a/roles/slurm-common/tasks/installSlurmFromSource.yml +++ b/roles/slurm-common/tasks/installSlurmFromSource.yml @@ -1,6 +1,16 @@ + +- name: Create ucx directory if it does not exist + file: + path: /opt/src + state: directory + owner: "{{ ansible_user }}" + group: root + mode: u=rwx,g=rx,o=rx + become: true + - name: remove all install file: - path: "/tmp/slurm-{{ slurm_version }}" + path: "/opt/src/{{ slurm_src_dir }}" state: absent become: true when: force_slurm_recompile is defined @@ -14,64 +24,62 @@ - name: unarchive slurm unarchive: - src: "http://consistency0/src/slurm-{{ slurm_version }}.tar.bz2" - dest: /tmp + src: "https://github.com/SchedMD/slurm/archive/refs/tags/slurm-{{ slurm_version_hyphen }}.tar.gz" + dest: /opt/src remote_src: yes - creates: "{{ slurm_dir }}/bin/srun" + creates: "/opt/src/{{ slurm_src_dir }}" - name: stat srun stat: path="{{ slurm_dir }}/bin/srun" register: stat_srun - name: stat ucx - stat: path="/usr/local/ucx/" + stat: + path: "{{ ucx_dir }}" register: stat_ucx - name: Create ucx directory if it does not exist file: - path: '/usr/local/ucx/' + path: "{{ ucx_dir }}" state: directory owner: root group: root - mode: u=rw,g=rx,o=rx + mode: u=rwx,g=rx,o=rx become: true when: not stat_ucx.stat.exists - name: unarchive ucx unarchive: args: - src: "http://consistency0/src/ucx_1_8_0.tar.gz" + src: "https://github.com/openucx/ucx/releases/download/v{{ ucx_version }}/ucx-{{ ucx_version }}.tar.gz" copy: no - dest: /usr/local/ucx/ - creates: /usr/local/ucx/1.8.0 + dest: /opt/src + creates: "/opt/src/ucx-{{ ucx_version }}" become: true register: newucx -- name: symlink ucx to latest - file: - src: '/usr/local/ucx/1.8.0' - dest: '/usr/local/ucx/latest' - state: link - owner: root - group: root - mode: u=rw,g=rx,o=rx +- name: install ucx + shell: "./contrib/configure-release --prefix={{ ucx_dir }} && make -j8 && make install" + args: + chdir: "/opt/src/ucx-{{ ucx_version }}" + create: " {{ ucx_dir }}/bin/ucx_info" become: true - when: newucx.changed + # when: not stat_ucx.stat.exists - name: configure slurm centos - command: /tmp/slurm-{{ slurm_version }}/configure --prefix={{ slurm_dir }} --with-munge={{ munge_dir }} --enable-pam --with-pmix=/usr/local/pmix/latest --with-ucx=/usr/local/ucx/1.8.0 + command: /opt/src/{{ slurm_src_dir }}/configure --prefix={{ slurm_dir }} --with-munge={{ munge_dir }} --enable-pam --with-pmix=/usr/local/pmix/latest --with-ucx={{ ucx_dir }} args: creates: "{{ slurm_dir }}/bin/srun" - chdir: /tmp/slurm-{{ slurm_version }} + chdir: /opt/src/{{ slurm_src_dir }} when: - force_slurm_recompile is defined or not stat_srun.stat.exists - ansible_os_family == 'RedHat' - name: configure slurm ubuntu - command: /tmp/slurm-{{ slurm_version }}/configure --prefix={{ slurm_dir }} --with-munge={{ munge_dir }} --enable-pam --with-pmix --with-ucx=/usr/local/ucx/1.8.0 + command: /opt/src/{{ slurm_src_dir }}/configure --prefix={{ slurm_dir }} --with-munge={{ munge_dir }} --enable-pam --with-pmix --with-ucx={{ ucx_dir }} args: creates: "{{ slurm_dir }}/bin/srun" - chdir: /tmp/slurm-{{ slurm_version }} + chdir: /opt/src/{{ slurm_src_dir }} when: - force_slurm_recompile is defined or not stat_srun.stat.exists - ansible_os_family == 'Debian' @@ -80,64 +88,64 @@ command: make args: creates: "{{ slurm_dir }}/bin/srun" - chdir: /tmp/slurm-{{ slurm_version }} + chdir: /opt/src/{{ slurm_src_dir }} when: force_slurm_recompile is defined or not stat_srun.stat.exists - name: install slurm shell: make install become: true args: - chdir: /tmp/slurm-{{ slurm_version }} + chdir: /opt/src/{{ slurm_src_dir }} creates: "{{ slurm_dir }}/bin/srun" when: force_slurm_recompile is defined or not stat_srun.stat.exists - name: build pmi command: make args: - chdir: /tmp/slurm-{{ slurm_version }}/contribs/pmi + chdir: /opt/src/{{ slurm_src_dir }}/contribs/pmi when: force_slurm_recompile is defined or not stat_srun.stat.exists - name: install pmi shell: make install become: true args: - chdir: /tmp/slurm-{{ slurm_version }}/contribs/pmi + chdir: /opt/src/{{ slurm_src_dir }}/contribs/pmi when: force_slurm_recompile is defined or not stat_srun.stat.exists - name: build pmi2 command: make args: - chdir: /tmp/slurm-{{ slurm_version }}/contribs/pmi2 + chdir: /opt/src/{{ slurm_src_dir }}/contribs/pmi2 when: force_slurm_recompile is defined or not stat_srun.stat.exists - name: install pmi2 shell: make install become: true args: - chdir: /tmp/slurm-{{ slurm_version }}/contribs/pmi2 + chdir: /opt/src/{{ slurm_src_dir }}/contribs/pmi2 when: force_slurm_recompile is defined or not stat_srun.stat.exists - name: build pam_slurm command: make args: - chdir: /tmp/slurm-{{ slurm_version }}/contribs/pam + chdir: /opt/src/{{ slurm_src_dir }}/contribs/pam when: force_slurm_recompile is defined or not stat_srun.stat.exists - name: install pam_slurm shell: make install become: true args: - chdir: /tmp/slurm-{{ slurm_version }}/contribs/pam + chdir: /opt/src/{{ slurm_src_dir }}/contribs/pam when: force_slurm_recompile is defined or not stat_srun.stat.exists - name: build pam_slurm_adopt make: - chdir: /tmp/slurm-{{ slurm_version }}/contribs/pam_slurm_adopt + chdir: /opt/src/{{ slurm_src_dir }}/contribs/pam_slurm_adopt when: force_slurm_recompile is defined or not stat_srun.stat.exists - name: install pam_slurm_adopt make: - chdir: /tmp/slurm-{{ slurm_version }}/contribs/pam_slurm_adopt + chdir: /opt/src/{{ slurm_src_dir }}/contribs/pam_slurm_adopt target: install when: force_slurm_recompile is defined or not stat_srun.stat.exists become: true diff --git a/roles/slurm-common/tasks/main.yml b/roles/slurm-common/tasks/main.yml index 70b22faf1de096dd56b154b4ad55783129aaa27e..225399ac72ae40369fa04765c3a6a998a69dfb18 100644 --- a/roles/slurm-common/tasks/main.yml +++ b/roles/slurm-common/tasks/main.yml @@ -82,6 +82,7 @@ state: present name: - gcc + - build-essential - wget - libssl-dev # downgrade needed for bionic see https://github.com/dun/munge/issues/54 - libpam0g-dev