diff --git a/continuousintegration/docker/buildtree_runner/cc7/opt/run/bin/mkSymlinks.sh b/continuousintegration/docker/buildtree_runner/cc7/opt/run/bin/mkSymlinks.sh index 1aabd39bbaf88fdfa724d9e22282cf3ab03dacb7..c74dcab238bbf73ba0edd1af2444c5614478379c 100755 --- a/continuousintegration/docker/buildtree_runner/cc7/opt/run/bin/mkSymlinks.sh +++ b/continuousintegration/docker/buildtree_runner/cc7/opt/run/bin/mkSymlinks.sh @@ -33,6 +33,4 @@ ln -s -v -t /usr/bin \ ${BUILDTREE_BASE}/${BUILDTREE_SUBDIR}/mediachanger/cta-mediachanger-mount \ ${BUILDTREE_BASE}/${BUILDTREE_SUBDIR}/disk/xrdclfsopaquetest \ ${BUILDTREE_BASE}/${BUILDTREE_SUBDIR}/xroot-client-test/xrootHammer -ln -s -v -t /usr/lib64 \ - ${BUILDTREE_BASE}/${BUILDTREE_SUBDIR}/xroot_plugins/libXrdCtaOfs.so - +find ${BUILDTREE_BASE}/${BUILDTREE_SUBDIR} | grep '.so$' | xargs -itoto ln -s -v -t /usr/lib64 toto diff --git a/continuousintegration/docker/ctafrontend/cc7/buildtree-stage1-rpms/Dockerfile b/continuousintegration/docker/ctafrontend/cc7/buildtree-stage1-rpms/Dockerfile index 4f4dbf3ed2a25393b6f23a8e10251a64e36013a4..164cb21a87d4941f0bc4f26c6881e5e48ca462ab 100644 --- a/continuousintegration/docker/ctafrontend/cc7/buildtree-stage1-rpms/Dockerfile +++ b/continuousintegration/docker/ctafrontend/cc7/buildtree-stage1-rpms/Dockerfile @@ -26,7 +26,7 @@ FROM gitlab-registry.cern.ch/linuxsupport/cc7-base # my environment variables ENV ORCHESTRATIONDIR="continuousintegration/orchestration/pods" \ LOCALORCHESTRATIONDIR="/opt/ci" \ - BASEDIR="continuousintegration/docker/buildtree_runner/cc7" \ + BASEDIR="continuousintegration/docker/ctafrontend/cc7" \ CTAREPODIR="/tmp/repo" # Manage repos before running yum diff --git a/continuousintegration/docker/ctafrontend/cc7/buildtree-stage2-scripts/Dockerfile b/continuousintegration/docker/ctafrontend/cc7/buildtree-stage2-scripts/Dockerfile index 6a3ac9d4c9a5b0b670d0a37a8fa88a77dde09e8e..94f040db2501a499f46d95af2a5548fa4cc7e715 100644 --- a/continuousintegration/docker/ctafrontend/cc7/buildtree-stage2-scripts/Dockerfile +++ b/continuousintegration/docker/ctafrontend/cc7/buildtree-stage2-scripts/Dockerfile @@ -26,7 +26,7 @@ FROM buildtree-runner-stage1 # my environment variables ENV ORCHESTRATIONDIR="continuousintegration/orchestration/pods" \ LOCALORCHESTRATIONDIR="/opt/ci" \ - BASEDIR="continuousintegration/docker/buildtree_runner/cc7" \ + BASEDIR="continuousintegration/docker/ctafrontend/cc7" \ CTAREPODIR="/tmp/repo" # Add pod specific configuration diff --git a/continuousintegration/docker/ctafrontend/cc7/opt/run/bin/client.sh b/continuousintegration/docker/ctafrontend/cc7/opt/run/bin/client.sh index 504aa72daaeb77bc2cbf5e4c393bae3eb24f8f35..0c9ad38f37e6bce1456ffbfe92caacfd5aa99cd7 100755 --- a/continuousintegration/docker/ctafrontend/cc7/opt/run/bin/client.sh +++ b/continuousintegration/docker/ctafrontend/cc7/opt/run/bin/client.sh @@ -1,6 +1,6 @@ #!/bin/bash -/opt/run/bin/init_pod.sh +. /opt/run/bin/init_pod.sh yum-config-manager --enable cta-artifacts yum-config-manager --enable ceph diff --git a/continuousintegration/docker/ctafrontend/cc7/opt/run/bin/ctacli.sh b/continuousintegration/docker/ctafrontend/cc7/opt/run/bin/ctacli.sh index 12089d411afdb0e6fc5aec97d3562f44a989d62a..62d034794f3e9d420adb988219d559c0b57599c9 100755 --- a/continuousintegration/docker/ctafrontend/cc7/opt/run/bin/ctacli.sh +++ b/continuousintegration/docker/ctafrontend/cc7/opt/run/bin/ctacli.sh @@ -1,6 +1,6 @@ #!/bin/bash -/opt/run/bin/init_pod.sh +. /opt/run/bin/init_pod.sh yum-config-manager --enable cta-artifacts yum-config-manager --enable ceph diff --git a/continuousintegration/docker/ctafrontend/cc7/opt/run/bin/ctaeos-mgm.sh b/continuousintegration/docker/ctafrontend/cc7/opt/run/bin/ctaeos-mgm.sh index a9cbb5a19b27c083f024d184fa1a4ac9016d913a..118d0d15855bbee251a8e47f004a107669cb25a5 100755 --- a/continuousintegration/docker/ctafrontend/cc7/opt/run/bin/ctaeos-mgm.sh +++ b/continuousintegration/docker/ctafrontend/cc7/opt/run/bin/ctaeos-mgm.sh @@ -1,6 +1,6 @@ -#!/bin/sh +#!/bin/bash -/opt/run/bin/init_pod.sh +. /opt/run/bin/init_pod.sh yum-config-manager --enable cta-artifacts yum-config-manager --enable eos-citrine-commit @@ -84,6 +84,16 @@ echo -n '0 u:daemon g:daemon n:ctaeos+ N:6361884315374059521 c:1481241620 e:0 f: mkdir -p /fst chown daemon:daemon /fst/ + +# Waiting for /CANSTART file before starting eos +echo -n "Waiting for /CANSTART before going further" +for ((i=0;i<600;i++)); do + test -f /CANSTART && break + sleep 1 + echo -n . +done +test -f /CANSTART && echo OK || exit 1 + # start and setup eos for xrdcp to the ${CTA_TEST_DIR} #/etc/init.d/eos start /usr/bin/xrootd -n mq -c /etc/xrd.cf.mq -l /var/log/eos/xrdlog.mq -b -Rdaemon diff --git a/continuousintegration/docker/ctafrontend/cc7/opt/run/bin/ctafrontend.sh b/continuousintegration/docker/ctafrontend/cc7/opt/run/bin/ctafrontend.sh index 852b16b7a68eaed05f15cf089d38da9f4ca650e2..29a6fbc7c7aecb242557880ff51be8c6bd4b2f27 100755 --- a/continuousintegration/docker/ctafrontend/cc7/opt/run/bin/ctafrontend.sh +++ b/continuousintegration/docker/ctafrontend/cc7/opt/run/bin/ctafrontend.sh @@ -1,6 +1,6 @@ -#!/bin/sh +#!/bin/bash -/opt/run/bin/init_pod.sh +. /opt/run/bin/init_pod.sh yum-config-manager --enable cta-artifacts yum-config-manager --enable ceph diff --git a/continuousintegration/docker/ctafrontend/cc7/opt/run/bin/init.sh b/continuousintegration/docker/ctafrontend/cc7/opt/run/bin/init.sh index 6a9143eae8e41df91fd1e030168d9d8d54f8e74f..c2448aba64149bb93269168604cc461f4940277c 100755 --- a/continuousintegration/docker/ctafrontend/cc7/opt/run/bin/init.sh +++ b/continuousintegration/docker/ctafrontend/cc7/opt/run/bin/init.sh @@ -1,6 +1,6 @@ -#!/bin/sh +#!/bin/bash -/opt/run/bin/init_pod.sh +. /opt/run/bin/init_pod.sh # enable cta repository from previously built artifacts yum-config-manager --enable cta-artifacts diff --git a/continuousintegration/docker/ctafrontend/cc7/opt/run/bin/init_pod.sh b/continuousintegration/docker/ctafrontend/cc7/opt/run/bin/init_pod.sh index 418e26abc2788f3efdb9d864ea6d6d6c3dcea264..f7915854c541a01a4005cf277f728fe9a6fb322a 100755 --- a/continuousintegration/docker/ctafrontend/cc7/opt/run/bin/init_pod.sh +++ b/continuousintegration/docker/ctafrontend/cc7/opt/run/bin/init_pod.sh @@ -1,4 +1,5 @@ -#!/bin/bash +# This file must be sourced from another shell script +# . /opt/run/bin/init_pod.sh LOGMOUNT=/mnt/logs @@ -26,3 +27,11 @@ echo "DONE" #echo -n "Yum should resolve names using IPv4 DNS: " #echo "ip_resolve=IPv4" >> /etc/yum.conf #echo "DONE" + +# redefining yum commands if in BUILDTREE environment +if [[ -n ${BUILDTREE_BASE} ]]; then + echo "Configuring BUILDTREE environment" + yum-config-manager() { echo "Skipping yum-config-manager $@"; } + yum() { echo "Skipping yum $@"; } + /opt/run/bin/mkSymlinks.sh +fi diff --git a/continuousintegration/docker/ctafrontend/cc7/opt/run/bin/kdc.sh b/continuousintegration/docker/ctafrontend/cc7/opt/run/bin/kdc.sh index d95482d88c964ed77b58277d6a3e0d78378d4658..711919e619db06a3f09797dea99de413f972b485 100755 --- a/continuousintegration/docker/ctafrontend/cc7/opt/run/bin/kdc.sh +++ b/continuousintegration/docker/ctafrontend/cc7/opt/run/bin/kdc.sh @@ -1,6 +1,6 @@ #!/bin/bash -/opt/run/bin/init_pod.sh +. /opt/run/bin/init_pod.sh # Install missing RPMs (kdc) yum -y install heimdal-server heimdal-workstation diff --git a/continuousintegration/docker/ctafrontend/cc7/opt/run/bin/mkSymlinks.sh b/continuousintegration/docker/ctafrontend/cc7/opt/run/bin/mkSymlinks.sh new file mode 100755 index 0000000000000000000000000000000000000000..2d21b1d61d53cdf32714dac27f48098bed9d500f --- /dev/null +++ b/continuousintegration/docker/ctafrontend/cc7/opt/run/bin/mkSymlinks.sh @@ -0,0 +1,36 @@ +#!/bin/bash + +# make symbolic links to all CTA binaries. + +# Following binary list is build from (run in the build tree): +# find -type f -executable | egrep -v "\.so$" | egrep -v "\.sh$" | grep -v RPM/BUILD | grep -v CMake | grep -v CPack + +echo Creating symlinks for CTA binaries and symlinks. +ln -s -v -t /usr/bin \ + ${BUILDTREE_BASE}/${BUILDTREE_SUBDIR}/catalogue/cta-catalogue-admin-host-create \ + ${BUILDTREE_BASE}/${BUILDTREE_SUBDIR}/catalogue/cta-database-poll \ + ${BUILDTREE_BASE}/${BUILDTREE_SUBDIR}/catalogue/cta-catalogue-admin-user-create \ + ${BUILDTREE_BASE}/${BUILDTREE_SUBDIR}/catalogue/cta-catalogue-schema-create \ + ${BUILDTREE_BASE}/${BUILDTREE_SUBDIR}/catalogue/cta-catalogue-schema-drop \ + ${BUILDTREE_BASE}/${BUILDTREE_SUBDIR}/cmdline/cta \ + ${BUILDTREE_BASE}/${BUILDTREE_SUBDIR}/objectstore/dumpObject \ + ${BUILDTREE_BASE}/${BUILDTREE_SUBDIR}/objectstore/listObjectStore \ + ${BUILDTREE_BASE}/${BUILDTREE_SUBDIR}/objectstore/makeMinimalVFS \ + ${BUILDTREE_BASE}/${BUILDTREE_SUBDIR}/objectstore/cta-objectstore-dump-object \ + ${BUILDTREE_BASE}/${BUILDTREE_SUBDIR}/objectstore/cta-objectstore-list \ + ${BUILDTREE_BASE}/${BUILDTREE_SUBDIR}/objectstore/cta-objectstore-initialize \ + ${BUILDTREE_BASE}/${BUILDTREE_SUBDIR}/nameserver/makeMockNameServerBasePath \ + ${BUILDTREE_BASE}/${BUILDTREE_SUBDIR}/tapeserver/castor/tape/tapeserver/drive/TapeDriveReadWriteTest \ + ${BUILDTREE_BASE}/${BUILDTREE_SUBDIR}/tapeserver/castor/tape/tapeserver/daemon/cta-tapeserverd \ + ${BUILDTREE_BASE}/${BUILDTREE_SUBDIR}/tapeserver/cta-taped \ + ${BUILDTREE_BASE}/${BUILDTREE_SUBDIR}/tests/cta-systemTests \ + ${BUILDTREE_BASE}/${BUILDTREE_SUBDIR}/tests/cta-catalogueUnitTests \ + ${BUILDTREE_BASE}/${BUILDTREE_SUBDIR}/tests/cta-unitTests \ + ${BUILDTREE_BASE}/${BUILDTREE_SUBDIR}/tests/cta-unitTests-multiProcess \ + ${BUILDTREE_BASE}/${BUILDTREE_SUBDIR}/tests/cta-oraUnitTests \ + ${BUILDTREE_BASE}/${BUILDTREE_SUBDIR}/xroot_plugins/cta-xrootd_plugins-fakeeos \ + ${BUILDTREE_BASE}/${BUILDTREE_SUBDIR}/mediachanger/cta-mediachanger-dismount \ + ${BUILDTREE_BASE}/${BUILDTREE_SUBDIR}/mediachanger/cta-mediachanger-mount \ + ${BUILDTREE_BASE}/${BUILDTREE_SUBDIR}/disk/xrdclfsopaquetest \ + ${BUILDTREE_BASE}/${BUILDTREE_SUBDIR}/xroot-client-test/xrootHammer +find ${BUILDTREE_BASE}/${BUILDTREE_SUBDIR} | grep '.so$' | xargs -itoto ln -s -v -t /usr/lib64 toto diff --git a/continuousintegration/docker/ctafrontend/cc7/opt/run/bin/rmcd.sh b/continuousintegration/docker/ctafrontend/cc7/opt/run/bin/rmcd.sh index 6c95c1dfbd45e46742ce88083002de4c38f191f2..7f6fd7d68c32ccd8120b6a115ee5ce4dfb9cae7a 100755 --- a/continuousintegration/docker/ctafrontend/cc7/opt/run/bin/rmcd.sh +++ b/continuousintegration/docker/ctafrontend/cc7/opt/run/bin/rmcd.sh @@ -1,6 +1,6 @@ -#!/bin/sh +#!/bin/bash -/opt/run/bin/init_pod.sh +. /opt/run/bin/init_pod.sh yum-config-manager --enable cta-artifacts yum-config-manager --enable ceph diff --git a/continuousintegration/docker/ctafrontend/cc7/opt/run/bin/taped.sh b/continuousintegration/docker/ctafrontend/cc7/opt/run/bin/taped.sh index b5e2298d92f04be0e0135abcb20c6463979df9ef..309402867bd7992879a2af99ddf19bdda86f7400 100755 --- a/continuousintegration/docker/ctafrontend/cc7/opt/run/bin/taped.sh +++ b/continuousintegration/docker/ctafrontend/cc7/opt/run/bin/taped.sh @@ -1,6 +1,6 @@ -#!/bin/sh +#!/bin/bash -/opt/run/bin/init_pod.sh +. /opt/run/bin/init_pod.sh yum-config-manager --enable cta-artifacts yum-config-manager --enable ceph diff --git a/continuousintegration/orchestration/create_instance.sh b/continuousintegration/orchestration/create_instance.sh index f6e8b10c7c16a0bdfbd991483f65f4ae18f8d3ad..e78733357fef22624a03fe04d405abb1a373c5bb 100755 --- a/continuousintegration/orchestration/create_instance.sh +++ b/continuousintegration/orchestration/create_instance.sh @@ -240,6 +240,12 @@ kubectl --namespace=${instance} exec kdc cat /root/eos-server.keytab | kubectl - kubectl --namespace=${instance} exec ctacli -- kinit -kt /root/ctaadmin1.keytab ctaadmin1@TEST.CTA kubectl --namespace=${instance} exec client -- kinit -kt /root/user1.keytab user1@TEST.CTA + + +# allow eos to start +kubectl --namespace=${instance} exec ctaeos -- touch /CANSTART + + # create users on the mgm # this is done in ctaeos-mgm.sh as the mgm needs this to setup the ACLs