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

update build container to Debian 11.5 + CernVM-FS 2.10.0 + fuse-overlayfs 1.9 + awscli 1.27.8 #133

Merged
merged 2 commits into from
Nov 13, 2022
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: 2 additions & 2 deletions .github/workflows/build-publish-containers.yml
Original file line number Diff line number Diff line change
Expand Up @@ -29,7 +29,7 @@ jobs:
contents: read
strategy:
matrix:
tag: ['client-pilot:centos7', 'build-node:debian10']
tag: ['client-pilot:centos7', 'build-node:debian11']
platform: [amd64, arm64, ppc64le]

steps:
Expand Down Expand Up @@ -88,7 +88,7 @@ jobs:
contents: read
strategy:
matrix:
tag: ['client-pilot:centos7', 'build-node:debian10']
tag: ['client-pilot:centos7', 'build-node:debian11']
steps:
- name: Login to GitHub Container Registry
if: github.event_name != 'pull_request'
Expand Down
Original file line number Diff line number Diff line change
@@ -1,33 +1,32 @@
ARG cvmfsversion=2.9.4
ARG awscliversion=1.25.69
ARG cvmfsversion=2.10.0
ARG awscliversion=1.27.8
ARG fuseoverlayfsversion=1.9

FROM debian:10.11 AS prepare-deb
FROM debian:11.5 AS prepare-deb
ARG cvmfsversion
COPY ./containers/build-or-download-cvmfs-debs.sh /build-or-download-cvmfs-debs.sh
RUN sh /build-or-download-cvmfs-debs.sh ${cvmfsversion}


FROM debian:10.11
FROM debian:11.5
ARG cvmfsversion
ARG awscliversion
ARG fuseoverlayfsversion

COPY --from=prepare-deb /root/deb /root/deb

RUN apt-get update
RUN apt-get install -y sudo vim openssh-client gawk autofs curl attr uuid fuse3 libfuse2 psmisc gdb uuid-dev lsof
# python3 and jq are required for eessi-upload-to-staging script (next to awscli)
RUN apt-get install -y python3-pip jq
RUN dpkg -i /root/deb/cvmfs_${cvmfsversion}~1+debian10_$(dpkg --print-architecture).deb \
/root/deb/cvmfs-fuse3_${cvmfsversion}~1+debian10_$(dpkg --print-architecture).deb \
RUN dpkg -i /root/deb/cvmfs_${cvmfsversion}~1+debian11_$(dpkg --print-architecture).deb \
/root/deb/cvmfs-fuse3_${cvmfsversion}~1+debian11_$(dpkg --print-architecture).deb \
/root/deb/cvmfs-config-default_latest_all.deb \
/root/deb/cvmfs-config-eessi_latest_all.deb

# download binary for specific version of fuse-overlayfs
# RUN curl -L -o /usr/local/bin/fuse-overlayfs https://github.com/containers/fuse-overlayfs/releases/download/v${fuseoverlayfsversion}/fuse-overlayfs-$(uname -m) \
# && chmod +x /usr/local/bin/fuse-overlayfs
# Stick to old version of fuse-overlayfs due to issues with newer versions
# (cfr. https://github.com/containers/fuse-overlayfs/issues/232)
RUN apt-get install -y fuse-overlayfs
RUN curl -L -o /usr/local/bin/fuse-overlayfs https://github.com/containers/fuse-overlayfs/releases/download/v${fuseoverlayfsversion}/fuse-overlayfs-$(uname -m) \
&& chmod +x /usr/local/bin/fuse-overlayfs

RUN echo 'CVMFS_QUOTA_LIMIT=10000' > /etc/cvmfs/default.local \
&& echo 'CVMFS_CLIENT_PROFILE="single"' >> /etc/cvmfs/default.local \
Expand Down
2 changes: 1 addition & 1 deletion containers/README.md
Original file line number Diff line number Diff line change
Expand Up @@ -39,7 +39,7 @@ export SINGULARITY_BIND="$EESSI_TMPDIR/var-run-cvmfs:/var/run/cvmfs,$EESSI_TMPDI
export SINGULARITY_HOME="$EESSI_TMPDIR/home:/home/$USER"
export EESSI_PILOT_READONLY="container:cvmfs2 pilot.eessi-hpc.org /cvmfs_ro/pilot.eessi-hpc.org"
export EESSI_PILOT_WRITABLE_OVERLAY="container:fuse-overlayfs -o lowerdir=/cvmfs_ro/pilot.eessi-hpc.org -o upperdir=$EESSI_TMPDIR/overlay-upper -o workdir=$EESSI_TMPDIR/overlay-work /cvmfs/pilot.eessi-hpc.org"
singularity shell --fusemount "$EESSI_PILOT_READONLY" --fusemount "$EESSI_PILOT_WRITABLE_OVERLAY" docker://ghcr.io/eessi/build-node:debian10
singularity shell --fusemount "$EESSI_PILOT_READONLY" --fusemount "$EESSI_PILOT_WRITABLE_OVERLAY" docker://ghcr.io/eessi/build-node:debian11
```

For more details about building software, see: https://eessi.github.io/docs/software_layer/build_nodes/
6 changes: 4 additions & 2 deletions containers/build-or-download-cvmfs-debs.sh
Original file line number Diff line number Diff line change
@@ -1,5 +1,7 @@
#/bin/bash
cvmfsversion=$1
arch=$(dpkg --print-architecture)
os=debian11

apt-get update
apt-get install -y wget
Expand All @@ -19,8 +21,8 @@ then
else
mkdir -p /root/deb
cd /root/deb
wget https://ecsft.cern.ch/dist/cvmfs/cvmfs-${cvmfsversion}/cvmfs_${cvmfsversion}~1+debian10_${arch}.deb
wget https://ecsft.cern.ch/dist/cvmfs/cvmfs-${cvmfsversion}/cvmfs-fuse3_${cvmfsversion}~1+debian10_${arch}.deb
wget https://ecsft.cern.ch/dist/cvmfs/cvmfs-${cvmfsversion}/cvmfs_${cvmfsversion}~1+${os}_${arch}.deb
wget https://ecsft.cern.ch/dist/cvmfs/cvmfs-${cvmfsversion}/cvmfs-fuse3_${cvmfsversion}~1+${os}_${arch}.deb
fi

cd /root/deb
Expand Down