diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml index b576da048a94b2eaaec3f8f39b45e8793370407f..51e6a28f58b37fb9766f3d3bc99d6d96681c42db 100644 --- a/.gitlab-ci.yml +++ b/.gitlab-ci.yml @@ -168,3 +168,22 @@ nightly1: - kubernetes - mhvtl - xlarge + +regressioneos: + stage: test + only: + - triggers + - schedules + script: + - echo "Running nightly eos regression tests" + - export NAMESPACE="archiveretrieve-${CTA_BUILD_ID}-$(cat /dev/urandom | tr -dc 'a-z0-9' | fold -w 4 | head -n 1)" + - cd continuousintegration/orchestration/; ./run_systemtest.sh -n ${NAMESPACE} -p ${CI_PIPELINE_ID} -s tests/upgrade-eos.sh -O -D -S + artifacts: + when: always + expire_in: 30 days + paths: + - pod_logs + tags: + - kubernetes + - mhvtl + - xlarge diff --git a/continuousintegration/orchestration/tests/upgrade-eos.sh b/continuousintegration/orchestration/tests/upgrade-eos.sh new file mode 100755 index 0000000000000000000000000000000000000000..ed856b993d328dacb6d3ff5323e37e9037927600 --- /dev/null +++ b/continuousintegration/orchestration/tests/upgrade-eos.sh @@ -0,0 +1,50 @@ +#!/bin/bash + +usage() { cat <<EOF 1>&2 +Usage: $0 -n <namespace> +EOF +exit 1 +} + +while getopts "n:" o; do + case "${o}" in + n) + NAMESPACE=${OPTARG} + ;; + *) + usage + ;; + esac +done +shift $((OPTIND-1)) + +if [ -z "${NAMESPACE}" ]; then + usage +fi + +if [ ! -z "${error}" ]; then + echo -e "ERROR:\n${error}" + exit 1 +fi + +kubectl -n ${NAMESPACE} exec ctaeos -- yum-config-manager --disable cta-artifacts + +echo -e "[eos-ci-eos]\nname=EOS CI repo for eos packages\nbaseurl=http://storage-ci.web.cern.ch/storage-ci/eos/citrine/commit/el-7/x86_64/\npriority=4\ngpgcheck=0\nenabled=1\n\n" | kubectl -n ${NAMESPACE} exec -i ctaeos -- bash -c "cat > /etc/yum.repos.d/eos-ci.repo" +echo -e "[eos-ci-eos-depend]\nname=EOS CI repo for eos depend packages\nbaseurl=http://storage-ci.web.cern.ch/storage-ci/eos/citrine-depend/el-7/x86_64/\npriority=4\ngpgcheck=0\nenabled=1\n\n" | kubectl -n ${NAMESPACE} exec -i ctaeos -- bash -c "cat >> /etc/yum.repos.d/eos-ci.repo" + +kubectl -n ${NAMESPACE} exec ctaeos -- eos version + +kubectl -n ${NAMESPACE} exec ctaeos -- sed -i '/^.:eos.*/d' /etc/yum/pluginconf.d/versionlock.list + +kubectl -n ${NAMESPACE} exec ctaeos -- sed -i '/.*protected=1.*/d' /etc/yum.repos.d/cta-ci.repo + +kubectl -n ${NAMESPACE} exec ctaeos -- yum install -y eos-server eos-client + +kubectl -n ${NAMESPACE} exec ctaeos -- systemctl restart eos@* + +kubectl -n ${NAMESPACE} exec ctaeos -- systemctl status eos@* + +kubectl -n ${NAMESPACE} exec ctaeos -- eos version + +echo "Launching archive_retrieve.sh:" +./archive_retrieve.sh -n ${NAMESPACE}