Skip to content
Snippets Groups Projects
Commit 1bcb29bc authored by aldbr's avatar aldbr
Browse files

Use the new cvmfs tag and specific container

parent c5c365a6
No related branches found
No related tags found
No related merge requests found
Pipeline #7044578 failed
......@@ -9,50 +9,20 @@
# or submit itself to any jurisdiction. #
###############################################################################
image: docker:19.03.1
services:
- docker:19.03.1-dind
variables:
DOCKER_TLS_CERTDIR: "/certs"
IMAGE_FOR_TESTING: gitlab-registry.cern.ch/lhcb-docker/python-singularity/9:centos7-singularity-latest
before_script:
- |
docker run -e REMOTE_SERVER \
-e SSH_PRIVATE_KEY \
-e SSH_KNOWN_HOSTS \
-d \
--name cvmfs \
--pid=host \
--user 0 \
--privileged \
--restart always \
-v /shared-mounts:/cvmfsmounts:rshared gitlab-registry.cern.ch/vcs/cvmfs-automounter:master
after_script:
- umount -l /shared-mounts/cvmfs
stages:
- run
run-pipeline:
stage: run
tags:
- docker-privileged-xl
- cvmfs
artifacts:
when: always
expire_in: 12h
paths:
- artifacts/
cache:
paths:
- cache/
script:
- |
docker run -e REMOTE_SERVER \
-e SSH_PRIVATE_KEY \
-e SSH_KNOWN_HOSTS \
--rm \
--privileged \
--security-opt seccomp:unconfined \
-v /shared-mounts/cvmfs:/cvmfs:rslave \
-v $CI_PROJECT_DIR:$CI_PROJECT_DIR \
-w $CI_PROJECT_DIR $IMAGE_FOR_TESTING ./main.sh
- ./main.sh
{
"cvmfs_extensions": {
"lhcb.cern.ch": {
"repository_name": "lhcb.cern.ch",
"url": "http://cvmfs-stratum-one.cern.ch/cvmfs/lhcb.cern.ch",
"public_key": "/cvmfs/cvmfs-config.cern.ch/etc/cvmfs/keys/cern.ch/cern-it4.cern.ch.pub"
},
"lhcb-condb.cern.ch": {
"repository_name": "lhcb-condb.cern.ch",
"url": "http://cvmfs-stratum-one.cern.ch/cvmfs/lhcb-condb.cern.ch",
"public_key": "/cvmfs/cvmfs-config.cern.ch/etc/cvmfs/keys/cern.ch/cern-it4.cern.ch.pub"
}
},
"steps": {
"trace": {
"enabled": true,
"apps_dir": "inputs",
"path_list": "namelist.txt",
"command_outputs": ["artifacts/trace.out", "artifacts/trace.err"]
},
"build": {
"enabled": true,
"path_list": ["artifacts/namelist.txt", "inputs/namelist.txt"],
"command_outputs": ["artifacts/build.out", "artifacts/build.err"]
},
"test": {
"enabled": true,
"apps_dir": "inputs",
"command_outputs": ["artifacts/test.out", "artifacts/test.err"]
},
"deploy": {
"enabled": false,
"command_outputs": ["artifacts/deploy.out", "artifacts/deploy.err"]
},
"commons": {
"subset_path": "subcvmfs"
}
},
"tools": {
"parrot": {
"http_proxy": "http://ca-proxy-lhcb.cern.ch:3128;http://ca-proxy.cern.ch:3128;DIRECT"
},
"singularity": {
"name": "/cvmfs/cernvm-prod.cern.ch/cvm4",
"bootstrap": "localimage"
},
"logging": {
"config_path": "logging_conf.yaml"
}
}
}
{
"lhcb.cern.ch": {
"url": "http://cvmfs-stratum-one.cern.ch/cvmfs/lhcb.cern.ch",
"public_key": "/cvmfs/cvmfs-config.cern.ch/etc/cvmfs/keys/cern.ch/cern-it4.cern.ch.pub"
},
"lhcb-condb.cern.ch": {
"url": "http://cvmfs-stratum-one.cern.ch/cvmfs/lhcb-condb.cern.ch",
"public_key": "/cvmfs/cvmfs-config.cern.ch/etc/cvmfs/keys/cern.ch/cern-it4.cern.ch.pub"
}
}
{
"container": "/cvmfs/lhcb.cern.ch/containers/os-base/slc6-devel/prod/amd64/"
}
\ No newline at end of file
version: 1
formatters:
simple:
format: '%(asctime)s - %(name)s - %(levelname)s - %(message)s'
handlers:
console:
class: logging.StreamHandler
level: DEBUG
formatter: simple
stream: ext://sys.stdout
root:
level: INFO
handlers: [console]
......@@ -34,7 +34,6 @@ python3 -m pip install .
cd ..
# install dependencies
yum install -y jq
yum install -y tree
yum install -y https://ecsft.cern.ch/dist/cvmfs/cvmfs-release/cvmfs-release-latest.noarch.rpm
yum install -y cvmfs-shrinkwrap
......@@ -50,41 +49,35 @@ export PERL5LIB=$PWD/cctools/lib/perl5/site_perl/5.16.3:${PERL5LIB}
# create a directory that will contain artifacts to upload
mkdir -p $PWD/artifacts
# get subset of cvmfs path
SUBCVMFS_PATH=`cat configuration.json | jq ."steps.commons.subset_path" | tr -d "\""`
###############################################################################
# SUBCVMFS STEPS
###############################################################################
ISENABLED=`cat $PWD/configuration.json | jq .'steps.trace.enabled'`
if [ $ISENABLED == 'true' ];then
subcvmfs trace $PWD/configuration.json --path-list $PWD/artifacts/namelist.txt
fi
ISENABLED=`cat $PWD/configuration.json | jq .'steps.build.enabled'`
if [ $ISENABLED == 'true' ];then
subcvmfs build $PWD/configuration.json
tree $PWD/$SUBCVMFS_PATH > $PWD/artifacts/structure.txt
fi
ISENABLED=`cat $PWD/configuration.json | jq .'steps.test.enabled'`
if [ $ISENABLED == 'true' ];then
subcvmfs test $PWD/configuration.json
fi
ISENABLED=`cat $PWD/configuration.json | jq .'steps.deploy.enabled'`
if [ $ISENABLED == 'true' ];then
set +x
set +e
'command -v ssh-agent > /dev/null || ( yum update -y && yum install openssh-client -y )'
eval $(ssh-agent -s)
echo "$SSH_PRIVATE_KEY" | tr -d '\r' | ssh-add -
mkdir -p ~/.ssh
chmod 700 ~/.ssh
echo "$SSH_KNOWN_HOSTS" >> ~/.ssh/known_hosts
chmod 644 ~/.ssh/known_hosts
set -e
subcvmfs deploy configuration.json --remote-location $REMOTE_SERVER
fi
\ No newline at end of file
# Common variables
SUBCVMFS_PATH="subcvmfs"
APPS_DIR="inputs"
# Trace
subcvmfs trace $APPS_DIR \
$PWD/cvmfs_configuration.json \
"http://ca-proxy-lhcb.cern.ch:3128" "http://ca-proxy.cern.ch:3128" "DIRECT" \
$PWD/artifacts/namelist.txt \
--stdout $PWD/artifacts/trace.out \
--stderr $PWD/artifacts/trace.err \
--debug
# Build
subcvmfs build $PWD/cvmfs_configuration.json \
$PWD/artifacts/namelist.txt $APPS_DIR/namelist.txt \
$SUBCVMFS_PATH \
--stdout $PWD/artifacts/build.out \
--stderr $PWD/artifacts/build.err \
--debug
tree $PWD/$SUBCVMFS_PATH > $PWD/artifacts/structure.txt
# Test
subcvmfs test $APPS_DIR $SUBCVMFS_PATH \
--stdout $PWD/artifacts/test.out \
--stderr $PWD/artifacts/test.err \
--debug
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment