Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[WIP] EESSI compatibility layer for next version (2025.01?) #209

Draft
wants to merge 29 commits into
base: main
Choose a base branch
from
Draft
Show file tree
Hide file tree
Changes from 5 commits
Commits
Show all changes
29 commits
Select commit Hold shift + click to select a range
ae506ec
use latest bootstrap script
bedroge Dec 20, 2024
8cbb4cb
bump version to 2025.01
bedroge Dec 20, 2024
ea89f5e
bump version to 2025.01, stick to GCC 11, use latest gentoo commit, r…
bedroge Dec 20, 2024
257242e
use python 3.12
bedroge Dec 20, 2024
472ac83
log ansible output
bedroge Dec 20, 2024
635837c
add comment about commit, stick to GCC 14 for now
bedroge Dec 24, 2024
727bd47
don't enable stable prefix for x86_64
bedroge Jan 2, 2025
b84779a
remove dev-util/hermes
bedroge Jan 2, 2025
27b9ff8
overlay configuration template
bedroge Jan 2, 2025
30324be
add overlay with predefined config files
bedroge Jan 2, 2025
d836262
add comment to top of file
bedroge Jan 2, 2025
6b73f53
add spaces to comments
bedroge Jan 2, 2025
ab80d43
hardcode eessi_version to 2025.01 for now
bedroge Jan 3, 2025
c18fede
use 2025.01_set branch of fork
bedroge Jan 3, 2025
6562419
add reframe test that runs pip check
bedroge Jan 3, 2025
2018d36
disable eselect repository list step
bedroge Jan 3, 2025
5bebdd8
add space
bedroge Jan 3, 2025
0539b1b
hardcode version to 2025.01 for now
bedroge Jan 3, 2025
930abba
look for ld.bfd instead of ld.gold
bedroge Jan 3, 2025
842ae7b
sync with main
bedroge Jan 7, 2025
92b6192
try to run reframe tests with bot
bedroge Jan 7, 2025
b9feeeb
script for testing the compat layer with reframe
bedroge Jan 7, 2025
072f77d
use test_compatibility.sh, hardcode version number for now
bedroge Jan 7, 2025
6000ed3
use SLURM_JOB_ID instead of SLURM_JOBID
bedroge Jan 7, 2025
4540dba
get eessi_version from work dir
bedroge Jan 28, 2025
73e7b8c
get eessi_version from tmp dir
bedroge Jan 28, 2025
9f4464d
just find any tarball
bedroge Jan 28, 2025
41a9e41
remove typo
bedroge Jan 28, 2025
cd3f7be
set eessi_version after eessi_tmp has been set
bedroge Jan 29, 2025
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
21 changes: 7 additions & 14 deletions ansible/playbooks/roles/compatibility_layer/defaults/main.yml
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
# Defaults file for the compatibility layer role.
---
eessi_version: "2023.06"
eessi_version: "2025.01"

custom_overlays:
- name: eessi
Expand All @@ -16,24 +16,17 @@ gentoo_prefix_path: /cvmfs/{{ cvmfs_repository }}/versions/{{ eessi_version }}/c
gentoo_git_repo: https://github.com/gentoo/gentoo.git
# Select a specific commit in the gentoo_git_repo that should be used for the bootstrap,
# e.g. by checking: https://github.com/gentoo/gentoo/commits/master
# April 17 (29492845e41ea6a0a4a9769c7e0ce287d106079b) commit is after fix for Lmod
# gentoo_git_commit: 29492845e41ea6a0a4a9769c7e0ce287d106079b
# June 8 (aab8473aa90e0287553b3348a5c5b17872df4b7b) commit that was current when fetching luaposix
gentoo_git_commit: aab8473aa90e0287553b3348a5c5b17872df4b7b
gentoo_git_commit: db21a802e879f713cdb8a80235c5982ca257b63f
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Include a comment with some info on why this commit was picked (even if it simply was the latest at the time)

Once your PR to bump Lmod to latest has been merged, we'll have a clear reason...

prefix_required_space: 15 GB
prefix_user_defined_trusted_dirs:
- "/cvmfs/{{ cvmfs_repository }}/host_injections/{{ eessi_version }}/compat/{{ eessi_host_os }}/{{ eessi_host_arch }}/lib"
prefix_mask_packages: |
# stick to GCC 10.x; using a too recent compiler in the compat layer complicates stuff in the software layer,
# stick to GCC 11.x; using a too recent compiler in the compat layer may complicate stuff in the software layer,
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I would go with at least GCC 13, perhaps GCC 14 (unless that causes trouble to build GCC 13.x in software layer)

# see for example https://github.com/EESSI/software-layer/issues/151
>=sys-devel/gcc-11
# mask OpenSSL 3.x, stick to OpenSSL 1.1.x for now to avoid problems with:
# - older versions of Rust (see https://github.com/EESSI/software-layer/issues/257)
# - older versions of cryptograhy in Python (see https://github.com/EESSI/software-layer/issues/258)
>=dev-libs/openssl-3
>=sys-devel/gcc-12
prefix_unmask_packages: |
# unmask older GCC to make it installable
=sys-devel/gcc-9*
=sys-devel/gcc-11*
prefix_bootstrap_use_flags: |
# only build libnss, don't build the daemon (use the one from the host)
sys-auth/nss-pam-ldapd -nslcd
Expand All @@ -42,8 +35,8 @@ prefix_bootstrap_use_flags: |
# make sure that gold linker is installed with binutils
sys-devel/binutils gold
# only install Python 3.11
*/* PYTHON_TARGETS: -* python3_11
*/* PYTHON_SINGLE_TARGET: -* python3_11
*/* PYTHON_TARGETS: -* python3_12
*/* PYTHON_SINGLE_TARGET: -* python3_12
prefix_use_builtin_bootstrap: false
prefix_custom_bootstrap_script:
local: "{{ playbook_dir }}/../../bootstrap-prefix.sh"
Expand Down
Loading
Loading