Parrot + CVMFS + Singularity

20 views
Skip to first unread message

Steffen Bollmann

unread,
Feb 2, 2022, 5:54:30 PM2/2/22
to Cooperative Computing Tools
Dear Cooperative Computing Tools Community,

I would like to use Parrot to mount a CVMFS repository which contains unpacked singularity containers that I would like to run in singularity without suid.

I got quite far, but opening a shell into such a container gets stuck and I don't know why. Could anyone point me into the right direction? Does it even work what I am trying?

This is what I did:
cd ~/tools wget http://ccl.cse.nd.edu/software/files/cctools-7.4.2-x86_64-centos7.tar.gz tar xvf cctools-7.4.2-x86_64-centos7.tar.gz export PATH=~/tools/cctools-7.4.2-x86_64-centos7.tar.gz-dir/bin:$PATH export PYTHONPATH=~/tools/cctools-7.4.2-x86_64-centos7.tar.gz-dir/lib/python3.6/site-packages:${PYTHONPATH} export PARROT_ALLOW_SWITCHING_CVMFS_REPOSITORIES=yes export HTTP_PROXY='DIRECT;' export NEURODESK_S1="http://152.67.114.42/cvmfs" export PARROT_CVMFS_REPO=" neurodesk.ardc.edu.au:url=${NEURODESK_S1}/neurodesk.ardc.edu.au,pubkey=~/tools/neurodesk.ardc.edu.au.pub" echo "-----BEGIN PUBLIC KEY----- MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAwUPEmxDp217SAtZxaBep Bi2TQcLoh5AJ//HSIz68ypjOGFjwExGlHb95Frhu1SpcH5OASbV+jJ60oEBLi3sD qA6rGYt9kVi90lWvEjQnhBkPb0uWcp1gNqQAUocybCzHvoiG3fUzAe259CrK09qR pX8sZhgK3eHlfx4ycyMiIQeg66AHlgVCJ2fKa6fl1vnh6adJEPULmn6vZnevvUke I6U1VcYTKm5dPMrOlY/fGimKlyWvivzVv1laa5TAR2Dt4CfdQncOz+rkXmWjLjkD 87WMiTgtKybsmMLb2yCGSgLSArlSWhbMA0MaZSzAwE9PJKCCMvTANo5644zc8jBe NQIDAQAB -----END PUBLIC KEY-----" | tee ~/tools/neurodesk.ardc.edu.au.pub parrot_run bash ls /cvmfs/neurodesk.ardc.edu.au


#This works :)

#now I build singularity without SUID to be able to run it within parrot:

export SINGULARITY_VERSION=3.9.3 VERSION=1.17.2 OS=linux ARCH=amd64
wget -q https://dl.google.com/go/go$VERSION.$OS-$ARCH.tar.gz
tar -C ~/tools/ -xzvf go$VERSION.$OS-$ARCH.tar.gz
rm go$VERSION.$OS-$ARCH.tar.gz
export GOPATH=~/tools/go
export PATH=~/tools/go/bin:${PATH}:${GOPATH}/bin
mkdir -p $GOPATH/src/github.com/sylabs
cd $GOPATH/src/github.com/sylabs
wget -q https://github.com/sylabs/singularity/releases/download/v${SINGULARITY_VERSION}/singularity-ce-${SINGULARITY_VERSION}.tar.gz
tar -xzvf singularity-ce-${SINGULARITY_VERSION}.tar.gz
cd singularity-ce-${SINGULARITY_VERSION}
./mconfig --without-suid --prefix=~/tools/singularity
make -C builddir
make -C builddir install
export PATH=~/tools/singularity/bin:${PATH}

# This works as well :)

# This is where I am stuck:
parrot_run -d remote singularity shell /cvmfs/neurodesk.ardc.edu.au/containers/itksnap_3.8.0_20201208/itksnap_3.8.0_20201208.simg
2022/02/03 08:52:00.44 parrot_run[8175] <child:8207> cvmfs: Using libcvmfs version: 2
2022/02/03 08:52:00.44 parrot_run[8175] <child:8207> cvmfs: setenv CERNVM_UUID=`parrot-7-4-2'
2022/02/03 08:52:00.44 parrot_run[8175] <child:8207> debug: Using CVMFS global options: CVMFS_ALIEN_CACHE=/tmp/parrot.1536055/cvmfs    # from @INTERNAL@
CVMFS_CACHE_DIR=/tmp/parrot.1536055/cvmfs    # from @INTERNAL@
CVMFS_MOUNT_DIR=/cvmfs    # from @INTERNAL@
CVMFS_SYSLOG_LEVEL=3    # from @INTERNAL@
CVMFS_SYSLOG_PREFIX=libcvmfs    # from @INTERNAL@
CVMFS_WORKSPACE=/tmp/parrot.1536055/parrot-instance.LzCi1C/cvmfs_locks_MUmKO0    # from @INTERNAL@
LibCvmfs version 2.8, revision 30
2022/02/03 08:52:00.44 parrot_run[8175] <child:8207> cvmfs: filesystem configured * with repo path  and options repo_name=,timeout=300,timeout_direct=300,proxies=DIRECT;,
2022/02/03 08:52:00.44 parrot_run[8175] <child:8207> cvmfs: filesystem configured *.cern.ch with repo path  and options repo_name=.cern.ch,timeout=300,timeout_direct=300,proxies=DIRECT;,pubkey=<BUILTIN-cern.ch.pub>:<BUILTIN-cern-it1.ch.pub>:<BUILTIN-cern-it4.ch.pub>:<BUILTIN-cern-it5.ch.pub>,url=http://cvmfs-stratum-one.cern.ch/cvmfs/.cern.ch;http://cernvmfs.gridpp.rl.ac.uk/cvmfs/.cern.ch;http://cvmfs.racf.bnl.gov/cvmfs/.cern.ch
2022/02/03 08:52:00.44 parrot_run[8175] <child:8207> cvmfs: filesystem configured *.opensciencegrid.org with repo path  and options repo_name=.opensciencegrid.org,timeout=300,timeout_direct=300,proxies=DIRECT;,pubkey=<BUILTIN-opensciencegrid.org.pub>,url=http://oasis-replica.opensciencegrid.org:8000/cvmfs/;http://cvmfs.fnal.gov:8000/cvmfs/;http://cvmfs.racf.bnl.gov:8000/cvmfs/
2022/02/03 08:52:00.44 parrot_run[8175] <child:8207> cvmfs: filesystem configured  neurodesk.ardc.edu.au with repo path  and options repo_name=neurodesk.ardc.edu.au,timeout=300,timeout_direct=300,proxies=DIRECT;,url=http://152.67.114.42/cvmfs/neurodesk.ardc.edu.au,pubkey=/clusterdata/uqsbollm/tools/neurodesk.ardc.edu.au.pub
2022/02/03 08:52:00.44 parrot_run[8175] <child:8207> cvmfs: activating repository neurodesk.ardc.edu.au
2022/02/03 08:52:00.44 parrot_run[8175] <child:8207> cvmfs: cvmfs_attach_repo_v2(CVMFS_ALIEN_CACHE=/tmp/parrot.1536055/cvmfs    # from @INTERNAL@
CVMFS_CACHE_DIR=/tmp/parrot.1536055/cvmfs    # from @INTERNAL@
CVMFS_FALLBACK_PROXY=    # from @INTERNAL@
CVMFS_FQRN=neurodesk.ardc.edu.au    # from @INTERNAL@
CVMFS_HTTP_PROXY='DIRECT;'    # from @INTERNAL@
CVMFS_MOUNT_DIR=/cvmfs    # from @INTERNAL@
CVMFS_PUBLIC_KEY=/clusterdata/uqsbollm/tools/neurodesk.ardc.edu.au.pub    # from @INTERNAL@
CVMFS_SERVER_URL=http://152.67.114.42/cvmfs/neurodesk.ardc.edu.au    # from @INTERNAL@
CVMFS_SYSLOG_LEVEL=3    # from @INTERNAL@
CVMFS_SYSLOG_PREFIX=libcvmfs    # from @INTERNAL@
CVMFS_TIMEOUT=300    # from @INTERNAL@
CVMFS_TIMEOUT_DIRECT=300    # from @INTERNAL@
CVMFS_WORKSPACE=/tmp/parrot.1536055/parrot-instance.LzCi1C/cvmfs_locks_MUmKO0    # from @INTERNAL@
)
2022/02/03 08:52:00.49 parrot_run[8175] <child:8207> cvmfs: lstat(/)
2022/02/03 08:52:00.49 parrot_run[8175] <child:8207> cvmfs: lstat(/containers)
2022/02/03 08:52:00.49 parrot_run[8175] <child:8234> cvmfs: lstat(/containers/itksnap_3.8.0_20201208)
2022/02/03 08:52:00.49 parrot_run[8175] <child:8234> cvmfs: lstat(/containers/itksnap_3.8.0_20201208/itksnap_3.8.0_20201208.simg)
2022/02/03 08:52:00.49 parrot_run[8175] <child:8234> cvmfs: lstat(/containers/itksnap_3.8.0_20201208/itksnap_3.8.0_20201208.simg)
2022/02/03 08:52:00.49 parrot_run[8175] <child:8234> cvmfs: stat(/containers/itksnap_3.8.0_20201208/itksnap_3.8.0_20201208.simg)
2022/02/03 08:52:00.49 parrot_run[8175] <child:8234> cvmfs: stat(/containers/itksnap_3.8.0_20201208/itksnap_3.8.0_20201208.simg)
2022/02/03 08:52:00.49 parrot_run[8175] <child:8234> cvmfs: getdir(/containers/itksnap_3.8.0_20201208/itksnap_3.8.0_20201208.simg)
2022/02/03 08:52:00.49 parrot_run[8175] <child:8234> cvmfs: stat(/containers/itksnap_3.8.0_20201208/itksnap_3.8.0_20201208.simg)
2022/02/03 08:52:00.49 parrot_run[8175] <child:8234> cvmfs: lstat(/containers/itksnap_3.8.0_20201208/itksnap_3.8.0_20201208.simg)
2022/02/03 08:52:00.49 parrot_run[8175] <child:8234> cvmfs: stat(/containers/itksnap_3.8.0_20201208/itksnap_3.8.0_20201208.simg)

It doens't continue from here and doesn't give any errors. Just stuck.

Thank you for any hints / thoughts / ideas / or telling me that what I am trying is stupid and can never work.

Reply all
Reply to author
Forward
0 new messages