Skip to content

Commit f184d3a

Browse files
committed
Collect test logs into directory and zip it
1 parent 53afb57 commit f184d3a

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
@@ -98,16 +98,21 @@ void pushLogFile(String FILE_NAME) {
9898
}
9999

100100
void pushK8SLogs(String TEST_NAME) {
101-
def LOG_FILE_PATH="e2e-tests/logs/"
102-
def FILE_NAMES="logs_${TEST_NAME}_*"
101+
def LOG_FILE_PATH="e2e-tests/logs"
103102
echo "Push k8s logs to S3!"
104103

105104
withCredentials([[$class: 'AmazonWebServicesCredentialsBinding', accessKeyVariable: 'AWS_ACCESS_KEY_ID', credentialsId: 'AMI/OVF', secretKeyVariable: 'AWS_SECRET_ACCESS_KEY']]) {
106105
sh """
107-
S3_PATH=s3://percona-jenkins-artifactory/\$JOB_NAME/\$(git rev-parse --short HEAD)/logs/
108-
aws s3 ls \$S3_PATH || :
109-
aws s3 rm \$S3_PATH --recursive --exclude "*" --include "${FILE_NAMES}" || :
110-
aws s3 cp --quiet ${LOG_FILE_PATH} \$S3_PATH --recursive --exclude "*" --include "$FILE_NAMES" || :
106+
if [ -d "${LOG_FILE_PATH}/${TEST_NAME}" ]; then
107+
zip -r ${TEST_NAME}.zip ${LOG_FILE_PATH}/${TEST_NAME} || :
108+
rm -rf ${LOG_FILE_PATH}/${TEST_NAME}
109+
110+
S3_PATH=s3://percona-jenkins-artifactory/\$JOB_NAME/\$(git rev-parse --short HEAD)/logs
111+
aws s3 ls \$S3_PATH/ || :
112+
aws s3 rm \$S3_PATH/${TEST_NAME}.zip || :
113+
aws s3 cp --quiet ${TEST_NAME}.zip \$S3_PATH/ || :
114+
rm -f ${TEST_NAME}.zip
115+
fi
111116
"""
112117
}
113118
}
@@ -259,6 +264,7 @@ pipeline {
259264
CLUSTER_NAME = sh(script: "echo jen-psmdb-${env.CHANGE_ID}-${GIT_SHORT_COMMIT}-${env.BUILD_NUMBER} | tr '[:upper:]' '[:lower:]'", , returnStdout: true).trim()
260265
AUTHOR_NAME = sh(script: "echo ${CHANGE_AUTHOR_EMAIL} | awk -F'@' '{print \$1}'", , returnStdout: true).trim()
261266
ENABLE_LOGGING = "true"
267+
ENABLE_LOG_COLLECT = "true"
262268
}
263269
agent {
264270
label 'docker'

e2e-tests/functions

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

13241324
collect_k8s_logs() {
1325-
if [[ ${ENABLE_LOGGING} == "true" ]]; then
1326-
rm -f ${logs_dir}/logs_${test_name}_* || :
1327-
1325+
if [[ ${ENABLE_LOG_COLLECT} == "true" ]]; then
13281326
local check_namespaces="${namespace}${OPERATOR_NS:+ $OPERATOR_NS}"
1327+
local logs_path="${logs_dir}/${test_name}"
1328+
rm -rf ${logs_path} || :
1329+
mkdir -p $logs_path
13291330

13301331
for ns in ${check_namespaces}; do
13311332
local pods=$(kubectl_bin get pods -n "${ns}" -o name | awk -F "/" '{print $2}')
13321333
for p in ${pods}; do
1333-
kubectl_bin -n "${ns}" describe pod ${p} >${logs_dir}/logs_${test_name}_${ns}_${p}.dsc || :
1334+
kubectl_bin -n "${ns}" describe pod ${p} >${logs_path}/pod_${ns}_${p}.dsc || :
13341335
local containers=$(kubectl_bin -n "${ns}" get pod ${p} -o jsonpath='{.spec.containers[*].name}')
13351336
for c in ${containers}; do
1336-
kubectl_bin -n "${ns}" logs ${p} -c ${c} >${logs_dir}/logs_${test_name}_${ns}_${p}_${c}.txt || :
1337-
echo logs saved in: ${logs_dir}/logs_${test_name}_${p}_${c}.txt
1337+
kubectl_bin -n "${ns}" logs ${p} -c ${c} >${logs_path}/${ns}_${p}_${c}.log || :
1338+
echo "logs saved in: ${logs_path}/${ns}_${p}_${c}.log"
13381339
done
13391340
done
13401341
done
13411342
for object in psmdb psmdb-backup psmdb-restore pods deployments services events sts; do
1342-
echo "##### START: ${ns}: ${object} #####" >>${logs_dir}/logs_${test_name}_${ns}_simple.txt
1343-
kubectl_bin get ${object} -n "${ns}" >>${logs_dir}/logs_${test_name}_${ns}_simple.txt || :
1344-
echo "##### END: ${ns}: ${object} ####\n" >>${logs_dir}/logs_${test_name}_${ns}_simple.txt
1345-
kubectl_bin get ${object} -n "${ns}" -oyaml >${logs_dir}/logs_${test_name}_${ns}_${object}.yaml || :
1346-
kubectl_bin describe ${object} -n "${ns}" >${logs_dir}/logs_${test_name}_${ns}_${object}.dsc || :
1343+
echo "##### START: ${ns}: ${object} #####" >>${logs_path}/_overview_${ns}.txt
1344+
kubectl_bin get ${object} -n "${ns}" >>${logs_path}/_overview_${ns}.txt || :
1345+
echo -e "##### END: ${ns}: ${object} ####\n" >>${logs_path}/_overview_${ns}.txt
1346+
kubectl_bin get ${object} -n "${ns}" -oyaml >${logs_path}/${object}_${ns}.yaml || :
1347+
kubectl_bin describe ${object} -n "${ns}" >${logs_path}/${object}_${ns}.dsc || :
13471348
done
13481349
fi
13491350
}

0 commit comments

Comments
 (0)