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

Switch to new infrastructure + eessi.io repo #160

Merged
merged 25 commits into from
Nov 11, 2023
Merged
Show file tree
Hide file tree
Changes from 12 commits
Commits
Show all changes
25 commits
Select commit Hold shift + click to select a range
4f6d564
eessi-hpc.org -> eessi.io
bedroge Sep 9, 2023
5c64985
prepare for eessi.io domain
bedroge Sep 9, 2023
2b2b782
add (temporary) servers and keys for eessi.io
bedroge Sep 29, 2023
85d0870
replace pilot.eessi-hpc.org by software.eessi.io
bedroge Sep 29, 2023
1f5e649
remove commented line with old stratum 0
bedroge Sep 29, 2023
9a64007
ingest to new software.eessi.io repo
bedroge Oct 2, 2023
52aa5af
update comment about generic and vendorless targets
bedroge Oct 2, 2023
1bafe5b
define files and (variant) symlinks for software.eessi.io
bedroge Oct 2, 2023
476594c
add .yml extension
bedroge Oct 3, 2023
da96037
fix loop and run as repo owner
bedroge Oct 3, 2023
d3dedc5
run create_cvmfs_content_structure role on stratum0
bedroge Oct 3, 2023
73d9312
use DNS names instad of IPs
bedroge Nov 3, 2023
83d02b0
remove 'latest' symlink
bedroge Nov 9, 2023
7f9b6c1
add description to software.eessi.io repo
bedroge Nov 9, 2023
4ea9f64
Merge branch 'main' into eessi.io
bedroge Nov 9, 2023
0090870
only use CI-enabled repos for all playbooks
bedroge Nov 9, 2023
f6383af
add ci repo
bedroge Nov 9, 2023
2de1d94
first check cvmfs_repositories, then use eessi_cvmfs_repositories
bedroge Nov 9, 2023
b04dd46
remove ci.eessi.io for now
bedroge Nov 9, 2023
cb4faee
only add the metadata for servers with at least one repo
bedroge Nov 9, 2023
d32ecba
first check cvmfs_repositories, then use eessi_cvmfs_repositories
bedroge Nov 9, 2023
27bc491
revert removal that checks for stratum1 playbook
bedroge Nov 9, 2023
45aa2ff
use localhost, since this is always running on stratum 0
bedroge Nov 10, 2023
3e21537
set default repo owner to root
bedroge Nov 10, 2023
e4f085b
use new public key
bedroge Nov 10, 2023
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
14 changes: 7 additions & 7 deletions .github/workflows/build-test-release-client-packages.yml
Original file line number Diff line number Diff line change
Expand Up @@ -147,12 +147,12 @@ jobs:
run: sudo cvmfs_config setup

- name: Test repository access
run: ls /cvmfs/pilot.eessi-hpc.org/
run: ls /cvmfs/software.eessi.io/

test-rpm-package:
needs: build-linux-packages
runs-on: ubuntu-latest
container:
container:
image: centos:centos7
options: --device /dev/fuse --privileged

Expand Down Expand Up @@ -183,10 +183,10 @@ jobs:

- name: Mount the repositories
#run: cvmfs_config setup
run: mkdir -p /cvmfs/pilot.eessi-hpc.org && mount -t cvmfs pilot.eessi-hpc.org /cvmfs/pilot.eessi-hpc.org
run: mkdir -p /cvmfs/software.eessi.io && mount -t cvmfs software.eessi.io /cvmfs/software.eessi.io

- name: Test repository access
run: ls /cvmfs/pilot.eessi-hpc.org/
run: ls /cvmfs/software.eessi.io/

test-tar-package:
needs: build-linux-packages
Expand Down Expand Up @@ -223,7 +223,7 @@ jobs:
run: sudo cvmfs_config setup

- name: Test repository access
run: ls /cvmfs/pilot.eessi-hpc.org/
run: ls /cvmfs/software.eessi.io/

# test-macos-package:
# needs: build-macos-package
Expand Down Expand Up @@ -254,10 +254,10 @@ jobs:
# run: echo "CVMFS_CLIENT_PROFILE=single" | sudo tee /etc/cvmfs/default.local
#
# - name: Mount the repositories
# run: sudo mkdir -p /Users/Shared/cvmfs/pilot.eessi-hpc.org && sudo mount -t cvmfs pilot.eessi-hpc.org /Users/Shared/cvmfs/pilot.eessi-hpc.org
# run: sudo mkdir -p /Users/Shared/cvmfs/software.eessi.io && sudo mount -t cvmfs software.eessi.io /Users/Shared/cvmfs/software.eessi.io
#
# - name: Test repository access
# run: ls /Users/Shared/cvmfs/pilot.eessi-hpc.org/
# run: ls /Users/Shared/cvmfs/software.eessi.io/

release:
#needs: [build-linux-packages, build-macos-package, test-deb-package, test-rpm-package, test-macos-package, test-tar-package]
Expand Down
90 changes: 17 additions & 73 deletions inventory/group_vars/all.yml
Original file line number Diff line number Diff line change
Expand Up @@ -8,7 +8,7 @@ eessi_cvmfs_repos_enabled: true
eessi_email: [email protected]

#
# Defaults for eessi-hpc.org repos.
# Defaults for eessi.io repos.
#

# We do not use a config repo anymore.
Expand All @@ -18,94 +18,38 @@ eessi_cvmfs_config_repo: {}
# /etc/cvmfs/keys/*.pub
# Note: you first have to run the stratum0.yml playbook once to generate the repositories and keys.
eessi_cvmfs_keys:
- path: /etc/cvmfs/keys/eessi-hpc.org/cvmfs-config.eessi-hpc.org.pub
- path: /etc/cvmfs/keys/eessi.io/software.eessi.io.pub
key: |
-----BEGIN PUBLIC KEY-----
MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAqoTBc/Eksr9ECEOoCzHA
F20UjePR7mJyWB13eTBXnjq7PLKKilfk2llLKetPIRMEmbvp97NiQ9ALe/tiGDzT
1Wg82Mf9oO4DNQYrTfE/MP5inIrMtSv1WnYJYV4Bgm24s8IhHXytIf1D4qt0x1v5
0yRui0dwaZrErWKRKufbJ6ehmEDHuVSEAujrORyig/jYFKVyTaCsXnmwFDJmX2Uw
RGCaf0M9ZLYs9t/SWA0s08rle5kH82hgBsIvUr7PLT7hbU407VK6+Y02tuxbI0JR
+hCt494UsFs3tchmTebpK+x3pVRXybQ66Qm1mQiaz+2VbUJdQEov4RCC5PcOmOOk
BwIDAQAB
-----END PUBLIC KEY-----
- path: /etc/cvmfs/keys/eessi-hpc.org/pilot.eessi-hpc.org.pub
key: |
-----BEGIN PUBLIC KEY-----
MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAommtaoqQ36Rb/cFnqUWg
8FoYCOjJWVBMQ4sVZ87oFRWehOUbcfy/ah85D9055HQws7i/hLNGJJAa7Es3E2o8
v8LtSlRdfR1A7b7LA6p3213HHz6dNU6I1riwtE2OP7/w4Q3+Agj1iRtW535GwzGo
4ZbewL8T1kbyaEm4HyefoitHXJthoPyTlYAhvAegIil1VJPhJZW+q/NWxnsd9QGJ
uAtbSICQg6mBJI50KiCBYmKHOAjH2W8qEnLWc7JoPoNvAHuMx1ya6YerBM5T9Esm
HJN0HHOVdRIwNjjPkV2jIqhJoI85no89v8/V45SFPVo+A7N0Cj4QdQrQTezpnlby
FQIDAQAB
-----END PUBLIC KEY-----
# The following (duplicate) key can be removed after this PR has been merged:
# https://github.com/galaxyproject/ansible-cvmfs/pull/32
- path: /etc/cvmfs/keys/eessi-hpc.org/data.eessi-hpc.org.pub
key: |
-----BEGIN PUBLIC KEY-----
MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAommtaoqQ36Rb/cFnqUWg
8FoYCOjJWVBMQ4sVZ87oFRWehOUbcfy/ah85D9055HQws7i/hLNGJJAa7Es3E2o8
v8LtSlRdfR1A7b7LA6p3213HHz6dNU6I1riwtE2OP7/w4Q3+Agj1iRtW535GwzGo
4ZbewL8T1kbyaEm4HyefoitHXJthoPyTlYAhvAegIil1VJPhJZW+q/NWxnsd9QGJ
uAtbSICQg6mBJI50KiCBYmKHOAjH2W8qEnLWc7JoPoNvAHuMx1ya6YerBM5T9Esm
HJN0HHOVdRIwNjjPkV2jIqhJoI85no89v8/V45SFPVo+A7N0Cj4QdQrQTezpnlby
FQIDAQAB
-----END PUBLIC KEY-----
- path: /etc/cvmfs/keys/eessi-hpc.org/ci.eessi-hpc.org.pub
key: |
-----BEGIN PUBLIC KEY-----
MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAommtaoqQ36Rb/cFnqUWg
8FoYCOjJWVBMQ4sVZ87oFRWehOUbcfy/ah85D9055HQws7i/hLNGJJAa7Es3E2o8
v8LtSlRdfR1A7b7LA6p3213HHz6dNU6I1riwtE2OP7/w4Q3+Agj1iRtW535GwzGo
4ZbewL8T1kbyaEm4HyefoitHXJthoPyTlYAhvAegIil1VJPhJZW+q/NWxnsd9QGJ
uAtbSICQg6mBJI50KiCBYmKHOAjH2W8qEnLWc7JoPoNvAHuMx1ya6YerBM5T9Esm
HJN0HHOVdRIwNjjPkV2jIqhJoI85no89v8/V45SFPVo+A7N0Cj4QdQrQTezpnlby
FQIDAQAB
-----END PUBLIC KEY-----
-----BEGIN PUBLIC KEY-----
MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAx/MGKNYeXgAzNGRmyy6c
AHPzXOfA+MPEdDsYNxz4FWCq24HqwDGCdrGFWuAPPnocumMpVqU6G4nhjYNEf7HY
VBXub9sAS7cl7jycN+n82A7hgoZqkTlRpBTCv30zAII7MsCfSakxXx5PLIWFe10i
8Cs7heb2ZAdDXPCJE1CQMnhknAu1ucKfZz5mB6DP6pGiH30rGyFiEH7M5HsfiA9T
VkfWMPmd10YmboA9GsNhng8SWoWX8rMDIupAmtYTxiS3bdslrAa7hThpymtx6Jcb
ZhEaIPp0ACctyk4+B6ZXnZX0HHtqqpyP6mo2QMMc6fQI9RlvO9hboqoESza5FzJ5
FQIDAQAB
-----END PUBLIC KEY-----

# URLs for all the Stratum 1 servers.
eessi_cvmfs_server_urls:
- domain: eessi-hpc.org
- domain: eessi.io
use_geoapi: true
urls:
- "http://rug-nl.stratum1.cvmfs.eessi-infra.org/cvmfs/@fqrn@"
- "http://bgo-no.stratum1.cvmfs.eessi-infra.org/cvmfs/@fqrn@"
- "http://azure-us-east1.stratum1.cvmfs.eessi-infra.org/cvmfs/@fqrn@"
- "http://aws-eu-west1.stratum1.cvmfs.eessi-infra.org/cvmfs/@fqrn@"
- "http://aws-eu-central-s1.eessi.science/cvmfs/@fqrn@"
- "http://azure-us-east-s1.eessi.science/cvmfs/@fqrn@"

# Configuration of all the repositories.
eessi_cvmfs_repositories:
- repository: pilot.eessi-hpc.org
stratum0: rug-nl.stratum0.cvmfs.eessi-infra.org
- repository: software.eessi.io
stratum0: rug-nl-s0.eessi.science
owner: "{{ cvmfs_repo_owner | default('root') }}"
key_dir: /etc/cvmfs/keys/eessi-hpc.org
key_dir: /etc/cvmfs/keys/eessi.io
server_options:
- CVMFS_AUTO_GC=false
- CVMFS_AUTO_TAG_TIMESPAN="30 days ago"
- CVMFS_GARBAGE_COLLECTION=true
client_options: []
use_for_ci: false
- repository: data.eessi-hpc.org
stratum0: rug-nl.stratum0.cvmfs.eessi-infra.org
owner: "{{ cvmfs_repo_owner | default('root') }}"
key_dir: /etc/cvmfs/keys/eessi-hpc.org
server_options:
- CVMFS_AUTO_GC=false
- CVMFS_AUTO_TAG_TIMESPAN="30 days ago"
- CVMFS_GARBAGE_COLLECTION=true
client_options: []
use_for_ci: false
- repository: ci.eessi-hpc.org
stratum0: rug-nl.stratum0.cvmfs.eessi-infra.org
owner: "{{ cvmfs_repo_owner | default('root') }}"
key_dir: /etc/cvmfs/keys/eessi-hpc.org
server_options:
- CVMFS_AUTO_GC=false
- CVMFS_GARBAGE_COLLECTION=true
client_options: []
use_for_ci: true

# Override all the Galaxy defaults by our EESSI defaults.
# This is required, beucase the galaxy_* variables are used inside the Ansible tasks.
Expand Down
4 changes: 2 additions & 2 deletions prepare-client-packages.yml
Original file line number Diff line number Diff line change
Expand Up @@ -40,10 +40,10 @@
- name: Make EESSI CVMFS domain configuration file
copy:
content: |
# Stratum 1 servers for the eessi-hpc.org domain
# Stratum 1 servers for the eessi.io domain
CVMFS_SERVER_URL="{{ item.urls|join(';') }}"
# Public keys for the eessi-hpc.org domain
# Public keys for the eessi.io domain
CVMFS_KEYS_DIR="/etc/cvmfs/keys/{{ item.domain }}"
# Enable or disable the Geo API, based on the configuration file
Expand Down
2 changes: 1 addition & 1 deletion roles/create_cvmfs_content_structure/files/.cvmfsdirtab
Original file line number Diff line number Diff line change
Expand Up @@ -9,7 +9,7 @@
/versions/*/software/*/*/*/*/software
/versions/*/software/*/*/*/*/software/*/*
/versions/*/software/*/*/*/*/modules
# generic and graviton2 are one level less deep
# generic and some (aarch64) targets are one level less deep
/versions/*/software/*/*/*/software
/versions/*/software/*/*/*/software/*/*
/versions/*/software/*/*/*/modules
7 changes: 4 additions & 3 deletions roles/create_cvmfs_content_structure/tasks/main.yml
Original file line number Diff line number Diff line change
Expand Up @@ -6,16 +6,17 @@
ansible.builtin.stat:
path: "{{ role_path }}/vars/{{ item.repository }}.yml"
with_items: "{{ eessi_cvmfs_repositories }}"
register: repo_vars_file
register: repo_vars_files

- name: "Apply do_repo for each repository with a vars file"
ansible.builtin.include_tasks: do_repo.yml
vars:
cvmfs_repo: "{{ repo_vars_file.item.repository }}"
when: repo_vars_file.stat.exists
with_items: "{{ repo_vars_file.results }}"
with_items: "{{ repo_vars_files.results }}"
loop_control:
loop_var: repo_vars_file
args:
apply:
become: "{{ 'yes' if repo_vars_file.item.owner == 'root' else 'no' }}"
become: "{{ 'true' if repo_vars_file.item.owner != lookup('env', 'USER') else 'false' }}"
become_user: "{{ repo_vars_file.item.owner }}"
11 changes: 11 additions & 0 deletions roles/create_cvmfs_content_structure/vars/software.eessi.io.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,11 @@
# Specifications of files and symlinks for the software.eessi.io CVMFS repository.
# Paths for files and symlinks should be relative to the root of the repository.
---
files:
- name: .cvmfsdirtab
dest: ''
mode: '644'

symlinks:
latest: versions/2023.06
bedroge marked this conversation as resolved.
Show resolved Hide resolved
host_injections: '$(EESSI_HOST_INJECTIONS:-/opt/eessi)'
2 changes: 1 addition & 1 deletion scripts/ingest-tarball.sh
Original file line number Diff line number Diff line change
Expand Up @@ -12,7 +12,7 @@

# Only if it passes these checks, the tarball gets ingested to the base dir in the repository specified below.

repo=pilot.eessi-hpc.org
repo=software.eessi.io
basedir=versions
decompress="gunzip -c"
# list of supported architectures for compat and software layers
Expand Down
1 change: 1 addition & 0 deletions stratum0.yml
Original file line number Diff line number Diff line change
Expand Up @@ -16,3 +16,4 @@
- role: geerlingguy.repo-epel
when: ansible_facts['os_family'] == 'RedHat'
- galaxyproject.cvmfs
- create_cvmfs_content_structure
Loading