|
49 | 49 | mpi_containers: "{{ (mpi_containers | default([]) + [dict({'os': item.1.os, 'mpi': item.1.mpi})]) | unique }}"
|
50 | 50 | loop: "{{ containers.basic.items() }}"
|
51 | 51 | - name: Try to get MPI containers from registry
|
| 52 | + vars: |
| 53 | + distro: "{{ item.os.distro | regex_replace('_', '/') }}" |
52 | 54 | shell: |
|
53 |
| - if [ ! -f {{ original_dir }}/containers/basic/{{ item.os.distro }}-{{ item.os.version }}-{{ item.mpi.implementation }}-{{ item.mpi.version }}.sif ]; then |
| 55 | + if [ ! -f {{ original_dir }}/containers/basic/{{ distro }}-{{ item.os.version }}-{{ item.mpi.implementation }}-{{ item.mpi.version }}.sif ]; then |
54 | 56 | apptainer pull \
|
55 |
| - {{ original_dir }}/containers/basic/{{ item.os.distro }}-{{ item.os.version }}-{{ item.mpi.implementation }}-{{ item.mpi.version }}.sif \ |
56 |
| - {{ pull.protocol }}://{{ pull.scope }}/{{ item.os.distro }}-{{ item.os.version }}-{{ item.mpi.implementation }}-{{ item.mpi.version }} |
| 57 | + {{ original_dir }}/containers/basic/{{ distro }}-{{ item.os.version }}-{{ item.mpi.implementation }}-{{ item.mpi.version }}.sif \ |
| 58 | + {{ pull.protocol }}://{{ pull.scope }}/{{ distro }}-{{ item.os.version }}-{{ item.mpi.implementation }}-{{ item.mpi.version }} |
57 | 59 | fi
|
58 | 60 | loop: "{{ mpi_containers }}"
|
59 | 61 | ignore_errors: yes
|
|
62 | 64 | vars:
|
63 | 65 | distro: "{{ item.os.distro | regex_replace('_', '/') }}"
|
64 | 66 | shell: |
|
65 |
| - if [ ! -f {{ original_dir }}/containers/basic/{{ item.os.distro }}-{{ item.os.version }}-{{ item.mpi.implementation }}-{{ item.mpi.version }}.sif ]; then |
| 67 | + if [ ! -f {{ original_dir }}/containers/basic/{{ distro }}-{{ item.os.version }}-{{ item.mpi.implementation }}-{{ item.mpi.version }}.sif ]; then |
66 | 68 | apptainer build \
|
67 | 69 | --warn-unused-build-args \
|
68 |
| - --build-arg OS_DISTRO={{ distro }} \ |
| 70 | + --build-arg OS_DISTRO={{ item.os.distro }} \ |
69 | 71 | --build-arg OS_VERSION={{ item.os.version }} \
|
70 | 72 | --build-arg MPI_IMPLEMENTATION={{ item.mpi.implementation }} \
|
71 | 73 | --build-arg MPI_VERSION={{ item.mpi.version }} \
|
72 |
| - {{ original_dir }}/containers/basic/{{ item.os.distro }}-{{ item.os.version }}-{{ item.mpi.implementation }}-{{ item.mpi.version }}.sif \ |
| 74 | + {{ original_dir }}/containers/basic/{{ distro }}-{{ item.os.version }}-{{ item.mpi.implementation }}-{{ item.mpi.version }}.sif \ |
73 | 75 | {{ playbook_dir }}/basic/{{ item.mpi.implementation }}.def
|
74 | 76 | else
|
75 |
| - echo "Container {{ original_dir }}/containers/basic/{{ item.os.distro }}-{{ item.os.version }}-{{ item.mpi.implementation }}-{{ item.mpi.version }}.sif already exists. Skipping build." |
| 77 | + echo "Container {{ original_dir }}/containers/basic/{{ distro }}-{{ item.os.version }}-{{ item.mpi.implementation }}-{{ item.mpi.version }}.sif already exists. Skipping build." |
76 | 78 | fi
|
77 | 79 | loop: "{{ mpi_containers }}"
|
78 | 80 | - name: Try to get base containers from registry
|
|
0 commit comments