The present jjb-verify job that calls lftools maven
deploy archives for releng/builder which takes about ~8 mins to
complete uploading the archives. This is because the job generates
around ~2.3K XML files (small files) which is uploaded to Nexus.
This is possibly because the Nexus Unpack plugin in the Nexus
end unpacking the zip file we upload takes longer.
It's best to compress this into a single file and upload
to Nexus, potentially minimizing the Nexus logs from
bloating up since we have been seeing higher IOPs
and load managing these files in the backend cron jobs.
Compressing the job files before hand shaves off around
6-8 mins from the upload time, therefore reducing the
job time overall significantly.
Tested the change here:
https://jenkins.opendaylight.org/releng/job/builder-jjb-verify/4325
Change-Id: Ifb3ea6e61d28b234c79088ca128294a037ec511f
Signed-off-by: Anil Belur <abelur@linuxfoundation.org>
--- /dev/null
+---
+fixes:
+ - |
+ Compress and upload all jjb-verify XML files to Nexus, to ease out the IOPs
+ on cron jobs that manage the logs on Nexus and optimize job performace by
+ ~8 mins. This is because the job generates around ~2.3K XML files (small
+ files) which is uploaded to Nexus in every run of jjb-verify. Doing this
+ is faster as compared to the Nexus Unpack plugin in the Nexus end unpacking
+ the zip file we upload takes longer.
fi
done
popd
+
+if [ ! -z "$(ls -A archives/job-configs)" ]; then
+ tar cvzf archives/job-configs.tar.gz archives/job-configs
+ rm -rf archives/job-configs
+fi