From 8b55f4164e370ef6458148505505ac2644d28678 Mon Sep 17 00:00:00 2001 From: Danny Allen Date: Mon, 29 Jun 2020 14:32:14 -0700 Subject: [PATCH] [kvmtest] Dump PTF state to docker image after test failure (#125) Signed-off-by: Danny Allen --- jenkins/mgmt/sonic-mgmt-canary/Jenkinsfile | 2 +- jenkins/mgmt/sonic-mgmt-pr/Jenkinsfile | 2 +- jenkins/vs/buildimage-vs-image-201911-test/Jenkinsfile | 2 +- jenkins/vs/buildimage-vs-image-pr/Jenkinsfile | 2 +- jenkins/vs/buildimage-vs-image-test/Jenkinsfile | 2 +- jenkins/vs/buildimage-vs-image/Jenkinsfile | 2 +- scripts/vs/buildimage-vs-image/test.sh | 8 ++++++++ 7 files changed, 14 insertions(+), 6 deletions(-) diff --git a/jenkins/mgmt/sonic-mgmt-canary/Jenkinsfile b/jenkins/mgmt/sonic-mgmt-canary/Jenkinsfile index 8b1cf26c6396..a51ae50bcd88 100644 --- a/jenkins/mgmt/sonic-mgmt-canary/Jenkinsfile +++ b/jenkins/mgmt/sonic-mgmt-canary/Jenkinsfile @@ -40,7 +40,7 @@ pipeline { post { always { junit(allowEmptyResults: true, keepLongStdio: true, testResults: 'sonic-mgmt/tests/results/**/*.xml') - archiveArtifacts(artifacts: 'sonic-mgmt/tests/results/**, sonic-mgmt/tests/logs/**, kvmdump/**') + archiveArtifacts(artifacts: 'sonic-mgmt/tests/results/**, sonic-mgmt/tests/logs/**, kvmdump/**, ptfdump/**') } } } diff --git a/jenkins/mgmt/sonic-mgmt-pr/Jenkinsfile b/jenkins/mgmt/sonic-mgmt-pr/Jenkinsfile index d61a99143a74..202dd8b8e279 100644 --- a/jenkins/mgmt/sonic-mgmt-pr/Jenkinsfile +++ b/jenkins/mgmt/sonic-mgmt-pr/Jenkinsfile @@ -37,7 +37,7 @@ pipeline { post { always { junit(allowEmptyResults: true, keepLongStdio: true, testResults: 'sonic-mgmt/tests/results/**/*.xml') - archiveArtifacts(artifacts: 'sonic-mgmt/tests/results/**, sonic-mgmt/tests/logs/**, kvmdump/**') + archiveArtifacts(artifacts: 'sonic-mgmt/tests/results/**, sonic-mgmt/tests/logs/**, kvmdump/**, ptfdump/**') } } } diff --git a/jenkins/vs/buildimage-vs-image-201911-test/Jenkinsfile b/jenkins/vs/buildimage-vs-image-201911-test/Jenkinsfile index cf0175346c94..0a301a091081 100644 --- a/jenkins/vs/buildimage-vs-image-201911-test/Jenkinsfile +++ b/jenkins/vs/buildimage-vs-image-201911-test/Jenkinsfile @@ -68,7 +68,7 @@ pipeline { always { junit(allowEmptyResults: true, keepLongStdio: true, testResults: 'sonic-mgmt/tests/results/**/*.xml') - archiveArtifacts(artifacts: 'sonic-mgmt/tests/results/**, sonic-mgmt/tests/logs/**, kvmdump/**') + archiveArtifacts(artifacts: 'sonic-mgmt/tests/results/**, sonic-mgmt/tests/logs/**, kvmdump/**, ptfdump/**') } fixed { diff --git a/jenkins/vs/buildimage-vs-image-pr/Jenkinsfile b/jenkins/vs/buildimage-vs-image-pr/Jenkinsfile index afb9c2cdf18f..71c7edd16a72 100644 --- a/jenkins/vs/buildimage-vs-image-pr/Jenkinsfile +++ b/jenkins/vs/buildimage-vs-image-pr/Jenkinsfile @@ -88,7 +88,7 @@ sudo cp ../target/sonic-vs.bin /nfs/jenkins/sonic-vs-${JOB_NAME##*/}.${BUILD_NUM post { always { junit(allowEmptyResults: true, keepLongStdio: true, testResults: 'sonic-mgmt/tests/results/**/*.xml') - archiveArtifacts(artifacts: 'target/**, sonic-mgmt/tests/results/**, sonic-mgmt/tests/logs/**, kvmdump/**') + archiveArtifacts(artifacts: 'target/**, sonic-mgmt/tests/results/**, sonic-mgmt/tests/logs/**, kvmdump/**, ptfdump/**') } } } diff --git a/jenkins/vs/buildimage-vs-image-test/Jenkinsfile b/jenkins/vs/buildimage-vs-image-test/Jenkinsfile index e328c1a1a687..3ecd1004cd20 100644 --- a/jenkins/vs/buildimage-vs-image-test/Jenkinsfile +++ b/jenkins/vs/buildimage-vs-image-test/Jenkinsfile @@ -67,7 +67,7 @@ pipeline { post { always { - archiveArtifacts(artifacts: 'sonic-mgmt/tests/logs/**, sonic-mgmt/tests/results/**, kvmdump/**') + archiveArtifacts(artifacts: 'sonic-mgmt/tests/logs/**, sonic-mgmt/tests/results/**, kvmdump/**, ptfdump/**') junit(allowEmptyResults: true, keepLongStdio: true, testResults: 'sonic-mgmt/tests/results/**/*.xml') } diff --git a/jenkins/vs/buildimage-vs-image/Jenkinsfile b/jenkins/vs/buildimage-vs-image/Jenkinsfile index c5258468f6b0..7c0e454e99db 100644 --- a/jenkins/vs/buildimage-vs-image/Jenkinsfile +++ b/jenkins/vs/buildimage-vs-image/Jenkinsfile @@ -101,7 +101,7 @@ sudo cp ../target/sonic-vs-dbg.bin /nfs/jenkins/sonic-vs-dbg-${JOB_NAME##*/}.${B post { always { junit(allowEmptyResults: true, keepLongStdio: true, testResults: 'sonic-mgmt/tests/results/**/*.xml') - archiveArtifacts(artifacts: 'target/**, sonic-mgmt/tests/results/**, sonic-mgmt/tests/logs/**, kvmdump/**') + archiveArtifacts(artifacts: 'target/**, sonic-mgmt/tests/results/**, sonic-mgmt/tests/logs/**, kvmdump/**, ptfdump/**') } } diff --git a/scripts/vs/buildimage-vs-image/test.sh b/scripts/vs/buildimage-vs-image/test.sh index fbf939d4491e..5bbf09a4ec98 100755 --- a/scripts/vs/buildimage-vs-image/test.sh +++ b/scripts/vs/buildimage-vs-image/test.sh @@ -7,6 +7,7 @@ virsh -c qemu:///system list tbname=vms-kvm-t0 dut=vlab-01 +ptf_name=ptf_vms6-1 docker login -u $REGISTRY_USERNAME -p $REGISTRY_PASSWD sonicdev-microsoft.azurecr.io:443 docker pull sonicdev-microsoft.azurecr.io:443/docker-sonic-mgmt:latest @@ -43,5 +44,12 @@ if [ $? != 0 ]; then sudo chown -R johnar.johnar kvmdump virsh -c qemu:///system undefine $dut fi + + rm -rf ptfdump + mkdir -p ptfdump + docker commit $ptf_name docker-ptf:${JOB_NAME##*/}.${BUILD_NUMBER} + docker save docker-ptf:${JOB_NAME##*/}.${BUILD_NUMBER} | gzip -c > ptfdump/docker-ptf-dump.gz + docker rmi docker-ptf:${JOB_NAME##*/}.${BUILD_NUMBER} + exit 2 fi