Skip to content

Commit 1c925d4

Browse files
committed
Collect test logs into directory and zip it
1 parent b0a7b60 commit 1c925d4

File tree

2 files changed

+24
-17
lines changed

2 files changed

+24
-17
lines changed

Jenkinsfile

Lines changed: 12 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -104,16 +104,21 @@ void pushLogFile(String FILE_NAME) {
104104
}
105105

106106
void pushK8SLogs(String TEST_NAME) {
107-
def LOG_FILE_PATH="e2e-tests/logs/"
108-
def FILE_NAMES="logs_${TEST_NAME}_*"
107+
def LOG_FILE_PATH="e2e-tests/logs"
109108
echo "Push k8s logs to S3!"
110109

111110
withCredentials([[$class: 'AmazonWebServicesCredentialsBinding', accessKeyVariable: 'AWS_ACCESS_KEY_ID', credentialsId: 'AMI/OVF', secretKeyVariable: 'AWS_SECRET_ACCESS_KEY']]) {
112111
sh """
113-
S3_PATH=s3://percona-jenkins-artifactory/\$JOB_NAME/\$(git rev-parse --short HEAD)/logs/
114-
aws s3 ls \$S3_PATH || :
115-
aws s3 rm \$S3_PATH --recursive --exclude "*" --include "${FILE_NAMES}" || :
116-
aws s3 cp --quiet ${LOG_FILE_PATH} \$S3_PATH --recursive --exclude "*" --include "$FILE_NAMES" || :
112+
if [ -d "${LOG_FILE_PATH}/${TEST_NAME}" ]; then
113+
zip -r ${TEST_NAME}.zip ${LOG_FILE_PATH}/${TEST_NAME} || :
114+
rm -rf ${LOG_FILE_PATH}/${TEST_NAME}
115+
116+
S3_PATH=s3://percona-jenkins-artifactory/\$JOB_NAME/\$(git rev-parse --short HEAD)/logs
117+
aws s3 ls \$S3_PATH/ || :
118+
aws s3 rm \$S3_PATH/${TEST_NAME}.zip || :
119+
aws s3 cp --quiet ${TEST_NAME}.zip \$S3_PATH/ || :
120+
rm -f ${TEST_NAME}.zip
121+
fi
117122
"""
118123
}
119124
}
@@ -266,6 +271,7 @@ pipeline {
266271
CLUSTER_NAME = sh(script: "echo jen-psmdb-${env.CHANGE_ID}-${GIT_SHORT_COMMIT}-${env.BUILD_NUMBER} | tr '[:upper:]' '[:lower:]'", , returnStdout: true).trim()
267272
AUTHOR_NAME = sh(script: "echo ${CHANGE_AUTHOR_EMAIL} | awk -F'@' '{print \$1}'", , returnStdout: true).trim()
268273
ENABLE_LOGGING = "true"
274+
ENABLE_LOG_COLLECT = "true"
269275
}
270276
agent {
271277
label 'docker'

e2e-tests/functions

Lines changed: 12 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -1299,28 +1299,29 @@ function generate_vs_json() {
12991299
}
13001300

13011301
collect_k8s_logs() {
1302-
if [[ ${ENABLE_LOGGING} == "true" ]]; then
1303-
rm -f ${logs_dir}/logs_${test_name}_* || :
1304-
1302+
if [[ ${ENABLE_LOG_COLLECT} == "true" ]]; then
13051303
local check_namespaces="${namespace}${OPERATOR_NS:+ $OPERATOR_NS}"
1304+
local logs_path="${logs_dir}/${test_name}"
1305+
rm -rf ${logs_path} || :
1306+
mkdir -p $logs_path
13061307

13071308
for ns in ${check_namespaces}; do
13081309
local pods=$(kubectl_bin get pods -n "${ns}" -o name | awk -F "/" '{print $2}')
13091310
for p in ${pods}; do
1310-
kubectl_bin -n "${ns}" describe pod ${p} >${logs_dir}/logs_${test_name}_${ns}_${p}.dsc || :
1311+
kubectl_bin -n "${ns}" describe pod ${p} >${logs_path}/pod_${ns}_${p}.dsc || :
13111312
local containers=$(kubectl_bin -n "${ns}" get pod ${p} -o jsonpath='{.spec.containers[*].name}')
13121313
for c in ${containers}; do
1313-
kubectl_bin -n "${ns}" logs ${p} -c ${c} >${logs_dir}/logs_${test_name}_${ns}_${p}_${c}.txt || :
1314-
echo logs saved in: ${logs_dir}/logs_${test_name}_${p}_${c}.txt
1314+
kubectl_bin -n "${ns}" logs ${p} -c ${c} >${logs_path}/${ns}_${p}_${c}.log || :
1315+
echo "logs saved in: ${logs_path}/${ns}_${p}_${c}.log"
13151316
done
13161317
done
13171318
done
13181319
for object in psmdb psmdb-backup psmdb-restore pods deployments services events sts; do
1319-
echo "##### START: ${ns}: ${object} #####" >>${logs_dir}/logs_${test_name}_${ns}_simple.txt
1320-
kubectl_bin get ${object} -n "${ns}" >>${logs_dir}/logs_${test_name}_${ns}_simple.txt || :
1321-
echo "##### END: ${ns}: ${object} ####\n" >>${logs_dir}/logs_${test_name}_${ns}_simple.txt
1322-
kubectl_bin get ${object} -n "${ns}" -oyaml >${logs_dir}/logs_${test_name}_${ns}_${object}.yaml || :
1323-
kubectl_bin describe ${object} -n "${ns}" >${logs_dir}/logs_${test_name}_${ns}_${object}.dsc || :
1320+
echo "##### START: ${ns}: ${object} #####" >>${logs_path}/_overview_${ns}.txt
1321+
kubectl_bin get ${object} -n "${ns}" >>${logs_path}/_overview_${ns}.txt || :
1322+
echo -e "##### END: ${ns}: ${object} ####\n" >>${logs_path}/_overview_${ns}.txt
1323+
kubectl_bin get ${object} -n "${ns}" -oyaml >${logs_path}/${object}_${ns}.yaml || :
1324+
kubectl_bin describe ${object} -n "${ns}" >${logs_path}/${object}_${ns}.dsc || :
13241325
done
13251326
fi
13261327
}

0 commit comments

Comments
 (0)