#!/bin/sh # fetch secrets and write them to their according files cat $vhr18_db > ../env/vhr18_db.env cat $vhr18_django > ../env/vhr18_django.env cat $vhr18_obs > ../env/vhr18_obs.env cat $emg_db > ../env/emg_db.env cat $emg_django > ../env/emg_django.env cat $emg_obs > ../env/emg_obs.env # use `pvs_testing` bucket instead sed -i -e 's/emg-data/pvs_testing/g' ../env/emg.env sed -i -e 's/vhr18-data/pvs_testing/g' ../env/vhr18.env sed -i -e 's/emg-cache/pvs_testing/g' ../env/emg_obs.env sed -i -e 's/vhr18-cache/pvs_testing/g' ../env/vhr18_obs.env # source the env file set -o allexport source ../env/emg.env set +o allexport mkdir data docker swarm init docker network create -d overlay emg-extnet # create the docker secrets printf $OS_PASSWORD_DOWNLOAD | docker secret create OS_PASSWORD_DOWNLOAD - printf $DJANGO_PASSWORD | docker secret create DJANGO_PASSWORD - printf $OS_PASSWORD | docker secret create OS_PASSWORD - # create docker configs printf $sftp_users_emg | docker config create sftp_users_emg - # override preprocessor default configuration file cat ./testing_preprocessor_config.yml>../config/emg_preprocessor-config.yml # deploy the stack docker stack deploy -c ../docker-compose.emg.yml -c ../docker-compose.emg.dev.yml emg-pvs ./docker-stack-wait.sh -n renderer -n registrar -n preprocessor -n database -n sftp emg-pvs docker service ls # perform the testing bash ./preprocessor_prep.sh preprocessed_list.csv bash ./registrar_prep.sh product_list.csv pytest registrar_test.py preprocessor_test.py renderer_test.py if [ $? -ne 0 ]; then echo "Pytest fail" >&2 && exit 1; fi swift delete preprocessor_results # ingest an item python3 ingestor_prep.py # wait for the process to complete sleep 90 # test the existance of ingested item pytest ingestor_test.py swift delete preprocessor_results if [ $? -ne 0 ] then echo "Failure in tests, logging from services:" for service in $(docker service ls --format "{{.Name}}"); do docker service ps $service --no-trunc >> "/tmp/$service.log" docker service logs $service >> "/tmp/$service.log" docker service ps $service --no-trunc docker service logs $service done exit 1 fi