@@ -170,7 +170,7 @@ Launching container with command (next line):
170170singularity -q shell --fusemount container:cvmfs2 cvmfs-config.cern.ch /cvmfs/cvmfs-config.cern.ch --fusemount container:cvmfs2 software.eessi.io /cvmfs/software.eessi.io /tmp/eessi.ymYGaZwoWC/ghcr.io_eessi_build_node_debian11.sif
171171CernVM-FS: pre-mounted on file descriptor 3
172172CernVM-FS: loading Fuse module... done
173- host_injections latest versions
173+ README.eessi host_injections init versions
174174```
175175
176176Note that this time no interactive shell session is started in the container:
@@ -229,8 +229,10 @@ Here are the contents for the `eessi_architectures.sh` script:
229229#
230230
231231# determine list of available OS types
232- BASE=${EESSI_CVMFS_REPO:-/ cvmfs/ software.eessi.io} /latest/software
233- cd ${BASE}
232+ VERSIONS=" ${EESSI_CVMFS_REPO:-/ cvmfs/ software.eessi.io} /versions"
233+ LATEST=" $( ls " ${VERSIONS} " | sort -n | tail -n 1) "
234+ BASE=" ${VERSIONS} /${LATEST} /software"
235+ cd " ${BASE} "
234236for os_type in $( ls -d * )
235237do
236238 # determine architecture families
@@ -265,23 +267,27 @@ Run the script as follows
265267The output should be similar to
266268``` { .yaml linenums="1" }
267269Using /tmp/eessi.abc123defg as tmp storage (add '--resume /tmp/eessi.abc123defg' to resume where this session ended).$
268- Pulling container image from docker://ghcr.io/eessi/build-node:debian11 to /tmp/eessi.abc123defg/ghcr.io_eessi_build_node_debian11 .sif
270+ Pulling container image from docker://ghcr.io/eessi/build-node:debian12 to /tmp/eessi.abc123defg/ghcr.io_eessi_build_node_debian12 .sif
269271Launching container with command (next line):
270- singularity -q shell --fusemount container:cvmfs2 software.eessi.io /cvmfs/software.eessi.io /tmp/eessi.abc123defg/ghcr.io_eessi_build_node_debian11 .sif
272+ singularity -q shell --fusemount container:cvmfs2 cvmfs-config.cern.ch /cvmfs/cvmfs-config.cern.ch --fusemount container:cvmfs2 software.eessi.io /cvmfs/software.eessi.io /tmp/eessi.abc123defg/ghcr.io_eessi_build_node_debian12 .sif
271273CernVM-FS: pre-mounted on file descriptor 3
272274CernVM-FS: loading Fuse module... done
275+ linux/aarch64/a64fx
273276linux/aarch64/generic
274- linux/aarch64/graviton2
275- linux/aarch64/graviton3
276- linux/ppc64le/generic
277- linux/ppc64le/power9le
277+ linux/aarch64/neoverse_n1
278+ linux/aarch64/neoverse_v1
279+ linux/aarch64/nvidia
278280linux/x86_64/amd/zen2
279281linux/x86_64/amd/zen3
282+ linux/x86_64/amd/zen4
280283linux/x86_64/generic
284+ linux/x86_64/intel/cascadelake
281285linux/x86_64/intel/haswell
286+ linux/x86_64/intel/icelake
287+ linux/x86_64/intel/sapphirerapids
282288linux/x86_64/intel/skylake_avx512
283289```
284- Lines 6 to 15 show the output of the script ` eessi_architectures.sh ` .
290+ Lines 7 to 20 show the output of the script ` eessi_architectures.sh ` .
285291
286292If you want to use the mode ` run ` , you have to make the script's location
287293available inside the container.
@@ -315,17 +321,16 @@ We can resolve this in two ways:
315321 which should result in the output similar to
316322 ``` { .yaml .no-copy }
317323 Using /tmp/eessi.abc123defg as tmp directory (to resume session add '--resume /tmp/eessi.abc123defg').
318- Pulling container image from docker://ghcr.io/eessi/build-node:debian11 to /tmp/eessi.abc123defg/ghcr.io_eessi_build_node_debian11 .sif
324+ Pulling container image from docker://ghcr.io/eessi/build-node:debian12 to /tmp/eessi.abc123defg/ghcr.io_eessi_build_node_debian12 .sif
319325 Launching container with command (next line):
320- singularity -q shell --fusemount container:cvmfs2 software.eessi.io /cvmfs/software.eessi.io /tmp/eessi.abc123defg/ghcr.io_eessi_build_node_debian11 .sif
326+ singularity -q shell --fusemount container:cvmfs2 cvmfs-config.cern.ch /cvmfs/cvmfs-config.cern.ch --fusemount container:cvmfs2 software.eessi.io /cvmfs/software.eessi.io /tmp/eessi.abc123defg/ghcr.io_eessi_build_node_debian12 .sif
321327 CernVM-FS: pre-mounted on file descriptor 3
322328 CernVM-FS: loading Fuse module... done
323- fuse: failed to clone device fd: Inappropriate ioctl for device
324- fuse: trying to continue without -o clone_fd.
325- total 10
326- lrwxrwxrwx 1 user user 10 Jun 30 2021 host_injections -> /opt/eessi
327- lrwxrwxrwx 1 user user 16 May 4 2022 latest -> versions/2021.12
328- drwxr-xr-x 3 user user 4096 Dec 10 2021 versions
329+ total 3
330+ -rw-r--r-- 1 eessi users 565 Dec 2 2023 README.eessi
331+ lrwxrwxrwx 1 eessi users 10 Oct 3 2023 host_injections -> /opt/eessi
332+ drwxr-xr-x 3 eessi users 21 Sep 5 2024 init
333+ drwxr-xr-x 4 eessi users 21 Jul 22 2024 versions
329334 ```
3303352 . Using the flag terminator ` -- ` which tells ` eessi_container.sh ` to stop
331336parsing command line arguments. For example,
@@ -335,17 +340,17 @@ parsing command line arguments. For example,
335340 which should result in the output similar to
336341 ``` { .yaml .no-copy }
337342 Using /tmp/eessi.abc123defg as tmp directory (to resume session add '--resume /tmp/eessi.abc123defg').
338- Pulling container image from docker://ghcr.io/eessi/build-node:debian11 to /tmp/eessi.abc123defg/ghcr.io_eessi_build_node_debian11.sif
343+ Pulling container image from docker://ghcr.io/eessi/build-node:debian12 to /tmp/eessi.abc123defg/ghcr.io_eessi_build_node_debian12.sif
344+ Mounting 'software.eessi.io' 'read-only' without fuse-overlayfs.
339345 Launching container with command (next line):
340- singularity -q run --fusemount container:cvmfs2 software.eessi.io /cvmfs/software.eessi.io /tmp/eessi.abc123defg/ghcr.io_eessi_build_node_debian11 .sif ls -lH /cvmfs/software.eessi.io
346+ singularity -q shell --fusemount container:cvmfs2 cvmfs-config.cern.ch /cvmfs/cvmfs-config.cern.ch --fusemount container:cvmfs2 software.eessi.io /cvmfs/software.eessi.io /tmp/eessi.abc123defg/ghcr.io_eessi_build_node_debian12 .sif
341347 CernVM-FS: pre-mounted on file descriptor 3
342348 CernVM-FS: loading Fuse module... done
343- fuse: failed to clone device fd: Inappropriate ioctl for device
344- fuse: trying to continue without -o clone_fd.
345- total 10
346- lrwxrwxrwx 1 user user 10 Jun 30 2021 host_injections -> /opt/eessi
347- lrwxrwxrwx 1 user user 16 May 4 2022 latest -> versions/2021.12
348- drwxr-xr-x 3 user user 4096 Dec 10 2021 versions
349+ total 3
350+ -rw-r--r-- 1 eessi users 565 Dec 2 2023 README.eessi
351+ lrwxrwxrwx 1 eessi users 10 Oct 3 2023 host_injections -> /opt/eessi
352+ drwxr-xr-x 3 eessi users 21 Sep 5 2024 init
353+ drwxr-xr-x 4 eessi users 21 Jul 22 2024 versions
349354 ```
350355
351356## Running EESSI demos
@@ -364,24 +369,24 @@ The `eessi_container.sh` script may (re)-use a cache directory provided via
364369not have to be downloaded again even when starting a new session. The example
365370below illustrates this.
366371``` { .bash .copy }
367- export SINGULARITY_CACHEDIR=${PWD} /container_cache_dir
372+ export SINGULARITY_CACHEDIR=${PWD} /singularity_cache
368373time ./eessi_container.sh <<< " ls /cvmfs/software.eessi.io"
369374```
370375which should produce output similar to
371376``` { .yaml .no-copy }
372377Using /tmp/eessi.abc123defg as tmp directory (to resume session add '--resume /tmp/eessi.abc123defg').
373- Pulling container image from docker://ghcr.io/eessi/build-node:debian11 to /tmp/eessi.abc123defg/ghcr.io_eessi_build_node_debian11.sif
378+ Pulling container image from docker://ghcr.io/eessi/build-node:debian12 to /tmp/eessi.abc123defg/ghcr.io_eessi_build_node_debian12.sif
379+ Mounting 'software.eessi.io' 'read-only' without fuse-overlayfs.
374380Launching container with command (next line):
375- singularity -q shell --fusemount container:cvmfs2 software.eessi.io /cvmfs/software.eessi.io /tmp/eessi.abc123defg/ghcr.io_eessi_build_node_debian11.sif
381+ singularity -q shell --fusemount container:cvmfs2 cvmfs-config.cern.ch /cvmfs/cvmfs-config.cern.ch --fusemount container:cvmfs2 software.eessi.io /cvmfs/software.eessi.io /tmp/eessi.abc123defg/ghcr.io_eessi_build_node_debian12.sif
382+ CernVM-FS: pre-mounted on file descriptor 3
376383CernVM-FS: pre-mounted on file descriptor 3
377384CernVM-FS: loading Fuse module... done
378- fuse: failed to clone device fd: Inappropriate ioctl for device
379- fuse: trying to continue without -o clone_fd.
380- host_injections latest versions
381-
382- real m40.445s
383- user 3m2.621s
384- sys 0m7.402s
385+ CernVM-FS: loading Fuse module... done
386+ README.eessi host_injections init versions
387+ real 5m47.88s
388+ user 1m31.24s
389+ sys 0m8.91s
385390```
386391The next run using the same cache directory, e.g., by simply executing
387392``` { .bash .copy }
@@ -390,18 +395,18 @@ time ./eessi_container.sh <<< "ls /cvmfs/software.eessi.io"
390395is much faster
391396``` { .yaml .no-copy }
392397Using /tmp/eessi.abc123defg as tmp directory (to resume session add '--resume /tmp/eessi.abc123defg').
393- Pulling container image from docker://ghcr.io/eessi/build-node:debian11 to /tmp/eessi.abc123defg/ghcr.io_eessi_build_node_debian11.sif
398+ Pulling container image from docker://ghcr.io/eessi/build-node:debian12 to /tmp/eessi.abc123defg/ghcr.io_eessi_build_node_debian12.sif
399+ Mounting 'software.eessi.io' 'read-only' without fuse-overlayfs.
394400Launching container with command (next line):
395- singularity -q shell --fusemount container:cvmfs2 software.eessi.io /cvmfs/software.eessi.io /tmp/eessi.abc123defg/ghcr.io_eessi_build_node_debian11.sif
401+ singularity -q shell --fusemount container:cvmfs2 cvmfs-config.cern.ch /cvmfs/cvmfs-config.cern.ch --fusemount container:cvmfs2 software.eessi.io /cvmfs/software.eessi.io /tmp/eessi.abc123defg/ghcr.io_eessi_build_node_debian12.sif
402+ CernVM-FS: pre-mounted on file descriptor 3
396403CernVM-FS: pre-mounted on file descriptor 3
397404CernVM-FS: loading Fuse module... done
398- fuse: failed to clone device fd: Inappropriate ioctl for device
399- fuse: trying to continue without -o clone_fd.
400- host_injections latest versions
401-
402- real 0m2.781s
403- user 0m0.172s
404- sys 0m0.436s
405+ CernVM-FS: loading Fuse module... done
406+ README.eessi host_injections init versions
407+ real 0m2.23s
408+ user 0m0.17s
409+ sys 0m0.19s
405410```
406411
407412!!! Note
@@ -426,10 +431,10 @@ du -sch /tmp/eessi.*
426431```
427432which could result in output similar to
428433``` { .yaml .no-copy }
429- 333M /tmp/eessi.session123
430- 333M /tmp/eessi.session456
431- 333M /tmp/eessi.session789
432- 997M total
434+ 1.3G /tmp/eessi.o8iQEaAG5M
435+ 1.3G /tmp/eessi.obfMHealb4
436+ 1.3G /tmp/eessi.qZrmm5hEtY
437+ 3.7G total
433438```
434439Clean up disk usage by simply removing directories you do not need any longer.
435440
0 commit comments