diff options
author | 2017-09-23 10:23:33 -0400 | |
---|---|---|
committer | 2017-09-23 10:41:59 -0400 | |
commit | 426fd8603c24d0fdb5cc019f2aea6080ddba6744 (patch) | |
tree | 7608a8f5e75429bb4343f8d51d63cbeae7d14907 /jjb/apex | |
parent | 66799d851d0a64563a59bb2d92840d46a527a79d (diff) |
Apex: Fixes iso verify depending on previous build workspace
There is a bug where if there are multiple builds queued and daily build
completes, the following iso verify job will try to use the workspace of
the completed daily build to get the iso file. However, if another
build job has already started it may clean and overwrite the workspace
of the daily build job, and the iso verify job will fail because the
file is now gone. This makes the build job copy the iso to a tmp
directory for apex iso verify to consume.
This should be safe since only one daily can run at a time on the host
and daily jobs build and iso verify have to always execute on the same
node.
Change-Id: Ie8e32c4abefbc311e505688d6da2b26ae08ed98f
Signed-off-by: Tim Rozet <trozet@redhat.com>
Diffstat (limited to 'jjb/apex')
-rwxr-xr-x | jjb/apex/apex-build.sh | 6 | ||||
-rwxr-xr-x | jjb/apex/apex-iso-verify.sh | 13 | ||||
-rw-r--r-- | jjb/apex/apex.yml | 5 | ||||
-rw-r--r-- | jjb/apex/apex.yml.j2 | 5 |
4 files changed, 26 insertions, 3 deletions
diff --git a/jjb/apex/apex-build.sh b/jjb/apex/apex-build.sh index 23ce81015..cf5999832 100755 --- a/jjb/apex/apex-build.sh +++ b/jjb/apex/apex-build.sh @@ -46,6 +46,12 @@ echo "Cache Directory Contents:" echo "-------------------------" ls -al $CACHE_DIRECTORY +if [[ "$BUILD_ARGS" =~ '--iso' ]]; then + mkdir -p /tmp/apex-iso/ + rm -f /tmp/apex-iso/*.iso + cp -f $BUILD_DIRECTORY/../.build/release/OPNFV-CentOS-7-x86_64-$OPNFV_ARTIFACT_VERSION.iso /tmp/apex-iso/ +fi + if ! echo $ARTIFACT_VERSION | grep "dev" 1> /dev/null; then echo "Writing opnfv.properties file" # save information regarding artifact into file diff --git a/jjb/apex/apex-iso-verify.sh b/jjb/apex/apex-iso-verify.sh index f102421f3..4faeb607e 100755 --- a/jjb/apex/apex-iso-verify.sh +++ b/jjb/apex/apex-iso-verify.sh @@ -8,7 +8,14 @@ echo "Starting the Apex iso verify." echo "--------------------------------------------------------" echo -source $BUILD_DIRECTORY/../opnfv.properties +# Must be RPMs/ISO +echo "Downloading latest properties file" + +# get the properties file in order to get info regarding artifacts +curl --fail -s -o opnfv.properties http://$GS_URL/latest.properties + +# source the file so we get OPNFV vars +source opnfv.properties if ! rpm -q virt-install > /dev/null; then sudo yum -y install virt-install @@ -35,9 +42,9 @@ sudo rm -f /var/log/libvirt/qemu/apex-iso-verify-console.log sudo virt-install -n apex-iso-verify -r 4096 --vcpus 4 --os-variant=rhel7 \ --accelerate -v --noautoconsole \ --disk path=/var/lib/libvirt/images/apex-iso-verify.qcow2,size=30,format=qcow2 \ - -l $BUILD_DIRECTORY/release/OPNFV-CentOS-7-x86_64-$OPNFV_ARTIFACT_VERSION.iso \ + -l /tmp/apex-iso/OPNFV-CentOS-7-x86_64-$OPNFV_ARTIFACT_VERSION.iso \ --extra-args 'console=ttyS0 console=ttyS0,115200n8 serial inst.ks=file:/iso-verify.ks inst.stage2=hd:LABEL=OPNFV\x20CentOS\x207\x20x86_64:/' \ - --initrd-inject $BUILD_DIRECTORY/../ci/iso-verify.ks \ + --initrd-inject ci/iso-verify.ks \ --serial file,path=/var/log/libvirt/qemu/apex-iso-verify-console.log echo "Waiting for install to finish..." diff --git a/jjb/apex/apex.yml b/jjb/apex/apex.yml index 772846510..058f18a50 100644 --- a/jjb/apex/apex.yml +++ b/jjb/apex/apex.yml @@ -915,6 +915,11 @@ properties: - logrotate-default + - build-blocker: + use-build-blocker: true + block-level: 'NODE' + blocking-jobs: + - 'apex-daily.*' triggers: - 'apex-{stream}' diff --git a/jjb/apex/apex.yml.j2 b/jjb/apex/apex.yml.j2 index ec68852b6..09c2f8cf4 100644 --- a/jjb/apex/apex.yml.j2 +++ b/jjb/apex/apex.yml.j2 @@ -785,6 +785,11 @@ properties: - logrotate-default + - build-blocker: + use-build-blocker: true + block-level: 'NODE' + blocking-jobs: + - 'apex-daily.*' triggers: - 'apex-{stream}' |