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

add script to install CernVM-FS and configure access to EESSI on workernodes #94

Merged
merged 2 commits into from
Mar 5, 2021
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
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
4 changes: 4 additions & 0 deletions roles/packer/files/all.pkr.hcl
Original file line number Diff line number Diff line change
Expand Up @@ -151,4 +151,8 @@ build {
provisioner "shell" {
script = "/home/citc/compute_image_extra.sh"
}

provisioner "shell" {
script = "/home/citc/install_cvmfs_eessi.sh"
}
}
3 changes: 3 additions & 0 deletions roles/packer/files/compute_image_extra.sh
Original file line number Diff line number Diff line change
Expand Up @@ -6,3 +6,6 @@
# e.g.:
# sudo yum -y groupinstall "Development Tools"
# sudo yum -y install cmake gcc-gfortran

# to install CernVM-FS and configure access to EESSI, uncomment the line below:
# /home/citc/install_cvmfs_eessi.sh
39 changes: 39 additions & 0 deletions roles/packer/files/install_cvmfs_eessi.sh
Original file line number Diff line number Diff line change
@@ -0,0 +1,39 @@
#
# Script to install CernVM-FS on CentOS 8 host,
# and add configuration to access the European Environment for Scientific Software Installations (EESSI)
# (see https://eessi.github.io/docs)
#

set -eu

# install CernVM-FS
if [[ $(arch) == "aarch64" ]]; then
# no package available for CernVM-FS for CentOS 8 and aarch64 systems, so building from source...
sudo dnf install -y cmake fuse-devel fuse3-devel fuse3-libs gcc-c++ libcap-devel libuuid-devel make openssl-devel patch python2 python3-devel unzip valgrind zlib-devel
curl -OL https://github.com/cvmfs/cvmfs/archive/cvmfs-2.7.5.tar.gz
tar xfz cvmfs-2.7.5.tar.gz
cd cvmfs*2.7.5
mkdir build
cd build
cmake ..
make -j $(nproc)
sudo make install

sudo dnf install -y attr autofs
sudo dnf install -y fuse

# fuse3 must be around for building, but not at runtime (for CentOS 8);
# causes failure to mount CernVM-FS filesystems (FUSE3 version is too old?)
sudo dnf remove -y fuse3-libs fuse3-devel
else
sudo dnf install -y https://ecsft.cern.ch/dist/cvmfs/cvmfs-release/cvmfs-release-latest.noarch.rpm
sudo dnf install -y cvmfs
fi

# install CernVM-FS configuration for EESSI
sudo dnf install -y https://github.com/EESSI/filesystem-layer/releases/download/v0.2.3/cvmfs-config-eessi-0.2.3-1.noarch.rpm
Copy link
Contributor Author

Choose a reason for hiding this comment

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

This probably already needs an update, both for the CVMFS version for aarch64 (which is built from source) as well as the EESSI configuration packages (since we've released a new version which is different enough that it matters, see https://github.com/EESSI/filesystem-layer/releases/tag/v0.3.0).

We can take care of this, I'll add a TODO note in EESSI/filesystem-layer#77


# configure CernVM-FS (no proxy, 10GB quota for CernVM-FS cache)
sudo bash -c "echo 'CVMFS_HTTP_PROXY=DIRECT' > /etc/cvmfs/default.local"
sudo bash -c "echo 'CVMFS_QUOTA_LIMIT=10000' >> /etc/cvmfs/default.local"
sudo cvmfs_config setup