github.com/cloudberrydb/gpbackup@v1.0.3-0.20240118031043-5410fd45eed6/ci/scripts/gpbackup-tests.bash (about) 1 #!/bin/bash 2 3 set -ex 4 5 # setup cluster and install gpbackup tools using gppkg 6 ccp_src/scripts/setup_ssh_to_cluster.sh 7 8 GO_VERSION=1.17.6 9 GPHOME=/usr/local/greenplum-db-devel 10 11 ssh -t ${default_ami_user}@cdw " \ 12 sudo wget https://storage.googleapis.com/golang/go${GO_VERSION}.linux-amd64.tar.gz && \ 13 sudo tar -C /usr/local -xzf go${GO_VERSION}.linux-amd64.tar.gz && \ 14 sudo mkdir -p /home/gpadmin/go/src/github.com/greenplum-db && \ 15 sudo chown gpadmin:gpadmin -R /home/gpadmin" 16 17 scp -r -q gpbackup cdw:/home/gpadmin/go/src/github.com/cloudberrydb/gpbackup 18 19 if test -f dummy_seclabel/dummy_seclabel*.so; then 20 scp dummy_seclabel/dummy_seclabel*.so cdw:${GPHOME}/lib/postgresql/dummy_seclabel.so 21 scp dummy_seclabel/dummy_seclabel*.so sdw1:${GPHOME}/lib/postgresql/dummy_seclabel.so 22 fi 23 24 # Install gpbackup binaries using gppkg 25 cat << ENV_SCRIPT > /tmp/env.sh 26 export GOPATH=/home/gpadmin/go 27 source ${GPHOME}/greenplum_path.sh 28 export PGPORT=5432 29 export COORDINATOR_DATA_DIRECTORY=/data/gpdata/coordinator/gpseg-1 30 export MASTER_DATA_DIRECTORY=/data/gpdata/coordinator/gpseg-1 31 export PATH=\${GOPATH}/bin:/usr/local/go/bin:\${PATH} 32 ENV_SCRIPT 33 chmod +x /tmp/env.sh 34 scp /tmp/env.sh cdw:/home/gpadmin/env.sh 35 36 out=$(ssh -t cdw 'source env.sh && psql postgres -c "select version();"') 37 GPDB_VERSION=$(echo ${out} | sed -n 's/.*Greenplum Database \([0-9]\).*/\1/p') 38 mkdir -p /tmp/untarred 39 tar -xzf gppkgs/gpbackup-gppkgs.tar.gz -C /tmp/untarred 40 scp /tmp/untarred/gpbackup_tools*gp${GPDB_VERSION}*${OS}*.gppkg cdw:/home/gpadmin 41 ssh -t cdw "source env.sh; gppkg -i gpbackup_tools*.gppkg" 42 43 cat <<SCRIPT > /tmp/run_tests.bash 44 #!/bin/bash 45 46 set -ex 47 source env.sh 48 if [[ -f /opt/gcc_env.sh ]]; then 49 source /opt/gcc_env.sh 50 fi 51 if test -f ${GPHOME}/lib/postgresql/dummy_seclabel.so; then 52 gpconfig -c shared_preload_libraries -v dummy_seclabel 53 gpstop -ar 54 gpconfig -s shared_preload_libraries | grep dummy_seclabel 55 fi 56 57 cd \${GOPATH}/src/github.com/cloudberrydb/gpbackup 58 make depend # Needed to install ginkgo 59 60 # NOTE: This is a temporary hotfix intended to skip these tests when running on CCP cluster 61 # because the backup artifact that these tests are using only works on local clusters. 62 sed -i 's|\tIt\(.*\)\(--on-error-continue\)|\tPIt\1\2|' end_to_end/end_to_end_suite_test.go 63 sed -i 's|\tEntry\(.*\)\(-segment cluster\)|\tPEntry\1\2|' end_to_end/end_to_end_suite_test.go 64 sed -i 's|\tIt\(.*\)\(different-size cluster\)|\tPIt\1\2|' end_to_end/end_to_end_suite_test.go 65 make end_to_end 66 SCRIPT 67 68 chmod +x /tmp/run_tests.bash 69 scp /tmp/run_tests.bash cdw:/home/gpadmin/run_tests.bash 70 ssh -t cdw "/home/gpadmin/run_tests.bash"