--- # tasks file for openmpi - name: Make sure source dir exists file: args: path: "{{ builddir }}/src" state: directory - name: Download openmpi get_url: args: url: http://www.open-mpi.org/software/ompi/v1.8/downloads/openmpi-{{ openmpi_version }}.tar.bz2 dest: "{{ builddir }}/src/openmpi-{{ openmpi_version }}.tar.bz2" - name: Untar openmpi command: tar -xjf openmpi-{{ openmpi_version }}.tar.bz2 args: chdir: "{{ builddir }}/src" - name: make build scripts template: args: src: build.sh dest: "{{ builddir }}/src/openmpi-{{ openmpi_version }}/build_{{ item.compiler }}-{{ item.version }}.sh" with_items: compilers - name: make env scripts template: args: src: env.sh dest: "{{ builddir }}/src/openmpi-{{ openmpi_version }}/env_{{ item.compiler }}-{{ item.version }}.sh" with_items: compilers - name: Make executable file: path: "{{ builddir }}/src/openmpi-{{ openmpi_version }}/build_{{ item.compiler }}-{{ item.version }}.sh" mode: 0755 with_items: compilers - name: Build openmpi shell: "./build_{{ item.compiler }}-{{ item.version }}.sh &> build_{{ item.compiler }}-{{ item.version }}.log" args: chdir: "{{ builddir }}/src/openmpi-{{ openmpi_version }}" creates: "/opt/openmpi/{{ openmpi_path }}" with_items: compilers - name: Create module directory file: path: /opt/modules/openmpi state: directory - name: Build module shell: /usr/share/Modules/bin/createmodule.py ./env_{{ item.compiler }}-{{ item.version }}.sh > /opt/modules/openmpi/{{ openmpi_path }} args: chdir: "{{ builddir }}/src/openmpi-{{ openmpi_version }}" with_items: compilers