[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] [Xen-devel] [PATCH OSSTEST] Add a libvirt build job.
The ts-libvirt-build, sg-run-job and mfi-common changes have been tested in standalone mode. The remaining changes are intended to introduce a libvirt push gate and have been tested as far as my limited ability to invoke cr-daily-branch by hand is able, but I am sure they are incomplete in some way or other. Actually installing/running the result is left for another day. Signed-off-by: Ian Campbell <ian.campbell@xxxxxxxxxx> Cc: Jim Fehlig <jfehlig@xxxxxxxx> Cc: Dario Faggioli <dario.faggioli@xxxxxxxxxx> --- ap-common | 5 ++++ ap-fetch-version | 4 +++ ap-fetch-version-old | 5 ++++ ap-print-url | 3 ++ ap-push | 5 ++++ cr-daily-branch | 8 +++++ cri-common | 1 + mfi-common | 10 +++++++ sg-run-job | 5 ++++ ts-libvirt-build | 84 ++++++++++++++++++++++++++++++++++++++++++++++++++++ 10 files changed, 130 insertions(+) create mode 100755 ts-libvirt-build diff --git a/ap-common b/ap-common index cb0cfff..73bb90c 100644 --- a/ap-common +++ b/ap-common @@ -33,6 +33,10 @@ : ${TREEVCS_LINUX:=git} +: ${TREE_LIBVIRT:=git://libvirt.org/libvirt.git} +: ${PUSH_TREE_LIBVIRT:=$XENBITS:/home/xen/git/libvirt.git} +: ${TREEVCS_LIBVIRT:=git} + : ${TREE_LINUXFIRMWARE:=git://xenbits.xen.org/osstest/linux-firmware.git} : ${PUSH_TREE_LINUXFIRMWARE:=$XENBITS:/home/osstest/ext/linux-firmware.git} : ${UPSTREAM_TREE_LINUXFIRMWARE:=$GIT_KERNEL_ORG/pub/scm/linux/kernel/git/firmware/linux-firmware.git} @@ -56,6 +60,7 @@ fi : ${LOCALREV_XEN:=daily-cron.$branch} : ${LOCALREV_LINUX:=daily-cron.$branch} +: ${LOCALREV_LIBVIRT:=daily-cron.$branch} : ${TREEBASE_LINUX_XCP:=http://hg.uk.xensource.com/carbon/trunk/linux-2.6.27} diff --git a/ap-fetch-version b/ap-fetch-version index a0a3b16..142ae5e 100755 --- a/ap-fetch-version +++ b/ap-fetch-version @@ -69,6 +69,10 @@ linuxfirmware) repo_tree_rev_fetch_git linuxfirmware \ $UPSTREAM_TREE_LINUXFIRMWARE master daily-cron.$branch ;; +libvirt) + repo_tree_rev_fetch_git libvirt \ + $TREE_LIBVIRT master $LOCALREV_LIBVIRT + ;; osstest) if [ "x$OSSTEST_USE_HEAD" != xy ] ; then git fetch $HOME/testing.git pretest:ap-fetch >&2 diff --git a/ap-fetch-version-old b/ap-fetch-version-old index 3772891..1f44e2a 100755 --- a/ap-fetch-version-old +++ b/ap-fetch-version-old @@ -27,6 +27,7 @@ select_xenbranch : ${BASE_TAG_LINUX2639:=tested/2.6.39.x} : ${BASE_LOCALREV_LINUX:=daily-cron.$branch.old} +: ${BASE_LOCALREV_LIBVIRT:=daily-cron.$branch.old} : ${BASE_TREE_QEMU_UPSTREAM:=${TREE_QEMU_UPSTREAM/\/staging\//\/}} @@ -73,6 +74,10 @@ linuxfirmware) repo_tree_rev_fetch_git linuxfirmware \ $TREE_LINUXFIRMWARE master daily-cron-old.$branch ;; +libvirt) + repo_tree_rev_fetch_git libvirt \ + $TREE_LIBVIRT master $BASE_LOCALREV_LIBVIRT + ;; osstest) if [ "x$OSSTEST_USE_HEAD" != xy ] ; then git fetch -f $HOME/testing.git incoming:ap-fetch diff --git a/ap-print-url b/ap-print-url index f2812d0..2b55fce 100755 --- a/ap-print-url +++ b/ap-print-url @@ -46,6 +46,9 @@ linux-2.6.39) linuxfirmware) echo $UPSTREAM_TREE_LINUXFIRMWARE ;; +libvirt) + echo $TREE_LIBVIRT + ;; osstest) echo none:; ;; diff --git a/ap-push b/ap-push index dc0a166..af76ecc 100755 --- a/ap-push +++ b/ap-push @@ -32,6 +32,7 @@ select_xenbranch TREE_LINUX=$PUSH_TREE_LINUX TREE_QEMU_UPSTREAM=$XENBITS:/home/xen/git/qemu-upstream-${xenbranch#xen-}.git TREE_XEN=$PUSH_TREE_XEN +TREE_LIBVIRT=$PUSH_TREE_LIBVIRT if info_linux_tree "$branch"; then cd $repos/linux @@ -72,6 +73,10 @@ linux-xen-*) cd $repos/linux git push $TREE_LINUX $revision:refs/heads/$branch ;; +libvirt) + cd $repos/libvirt + git push $TREE_LIBVIRT $revision:master + ;; osstest) git push $HOME/testing.git $revision:incoming git push $XENBITS:/home/xen/git/osstest.git $revision:master diff --git a/cr-daily-branch b/cr-daily-branch index 28ccc7e..12a1ee8 100755 --- a/cr-daily-branch +++ b/cr-daily-branch @@ -133,6 +133,10 @@ if [ "x$REVISION_LINUX_ARM" = x ]; then export REVISION_LINUX_ARM fi fi +if [ "x$REVISION_LIBVIRT" = x ]; then + determine_version REVISION_LIBVIRT libvirt + export REVISION_LIBVIRT +fi if [ "x$REVISION_LINUXFIRMWARE" = x ]; then determine_version REVISION_LINUXFIRMWARE linuxfirmware export REVISION_LINUXFIRMWARE @@ -165,6 +169,10 @@ linuxfirmware) realtree=linuxfirmware NEW_REVISION=$REVISION_LINUXFIRMWARE ;; +libvirt) + realtree=libvirt + NEW_REVISION=$REVISION_LIBVIRT + ;; *) NEW_REVISION='' wantpush=false diff --git a/cri-common b/cri-common index 497d4e3..f472927 100644 --- a/cri-common +++ b/cri-common @@ -42,6 +42,7 @@ select_xenbranch () { linux) tree=linux; xenbranch=xen-unstable ;; linux-*) tree=linux; xenbranch=xen-unstable ;; linuxfirmware) tree=linuxfirmware; xenbranch=xen-unstable ;; + libvirt) tree=libvirt; xenbranch=xen-unstable ;; osstest) tree=osstest; xenbranch=xen-unstable ;; esac if [ "x$tree" = xlinux ]; then diff --git a/mfi-common b/mfi-common index f84ee97..37444b3 100644 --- a/mfi-common +++ b/mfi-common @@ -164,6 +164,16 @@ create_build_jobs () { tree_linuxfirmware=$TREE_LINUXFIRMWARE \ revision_linuxfirmware=$REVISION_LINUXFIRMWARE + ./cs-job-create $flight build-$arch-libvirt build-libvirt \ + arch=$arch \ + tree_xen=$TREE_XEN \ + $RUNVARS $BUILD_RUNVARS $BUILD_LIBVIRT_RUNVARS $arch_runvars \ + $suite_runvars \ + host_hostflags=$build_hostflags \ + buildjob=${bfi}build-$arch \ + tree_libvirt=$TREE_LIBVIRT revision_libvirt=$REVISION_LIBVIRT\ + ${TREEVCS_LIBVIRT:+treevcs_libvirt=}${TREEVCS_LIBVIRT} + case "$arch" in armhf|arm64) continue;; # don't do any other kernel builds esac diff --git a/sg-run-job b/sg-run-job index d894711..e3c6b00 100755 --- a/sg-run-job +++ b/sg-run-job @@ -306,6 +306,7 @@ proc test-guest-nomigr {g} { proc need-hosts/build {} { return BUILD } proc need-hosts/build-kern {} { return BUILD } +proc need-hosts/build-libvirt {} { return BUILD } proc run-job/build {} { run-ts . = ts-xen-build @@ -315,6 +316,10 @@ proc run-job/build-kern {} { run-ts . = ts-kernel-build } +proc run-job/build-libvirt {} { + run-ts . = ts-libvirt-build +} + proc prepare-build-host {} { global jobinfo run-ts broken = ts-hosts-allocate + host diff --git a/ts-libvirt-build b/ts-libvirt-build new file mode 100755 index 0000000..8e3a7aa --- /dev/null +++ b/ts-libvirt-build @@ -0,0 +1,84 @@ +#!/usr/bin/perl +# This is part of "osstest", an automated testing framework for Xen. +# Copyright (C) 2009-2014 Citrix Inc. +# +# This program is free software: you can redistribute it and/or modify +# it under the terms of the GNU Affero General Public License as published by +# the Free Software Foundation, either version 3 of the License, or +# (at your option) any later version. +# +# This program is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU Affero General Public License for more details. +# +# You should have received a copy of the GNU Affero General Public License +# along with this program. If not, see <http://www.gnu.org/licenses/>. + +use strict qw(vars); +use DBI; +use Osstest; +use Osstest::TestSupport; + +tsreadconfig(); + +our ($whhost) = @ARGV; +$whhost ||= 'host'; +our $ho= selecthost($whhost); + +my $leaf= "build.$flight.$job"; +my $homedir = get_host_property($ho, 'homedir', '/home/osstest'); +my $builddir= "$homedir/$leaf"; +my $xendist= "$builddir/xendist"; + +my $makeflags= get_host_property($ho, 'build make flags', '-j4'); + +sub checkout () { + target_cmd($ho, "rm -rf $builddir && mkdir $builddir && mkdir $xendist", 600); + + my $path = get_stashed("path_dist", $r{"buildjob"}); + my $distcopy= "$builddir/dist.tar.gz"; + target_putfile_root($ho, 300, $path, $distcopy); + target_cmd_root($ho, "tar -C $xendist -hzxf $distcopy", 300); + + build_clone($ho, 'libvirt', $builddir, 'libvirt'); +} + +sub prep() { + target_install_packages($ho, qw(autoconf automake libtool xsltproc + libxml2-utils libxml2-dev libnl-dev + libdevmapper-dev w3c-dtd-xhtml)); +} + +sub config() { + target_cmd_build($ho, 1000, $builddir, <<END); + cd libvirt + CFLAGS="-I$xendist/usr/local/include/" \ + LDFLAGS="-L$xendist/usr/local/lib/ -Wl,-rpath-link=$xendist/usr/local/lib/" \ + ./autogen.sh --with-libxl --without-xen --without-xenapi --without-selinux +END +} + +sub build() { + target_cmd_build($ho, 1000, $builddir, <<END); + cd libvirt + (make $makeflags 2>&1 && touch ../build-ok-stamp) |tee ../log + test -f ../build-ok-stamp + echo ok. +END +} + +sub install() { + target_cmd_build($ho, 300, $builddir, <<END); + mkdir -p dist + cd libvirt + make $makeflags install DESTDIR=$builddir/dist +END +} + +prep(); +checkout(); +config(); +build(); +install(); +built_stash($ho, $builddir, 'dist', 'libvirtdist'); -- 1.8.5.2 _______________________________________________ Xen-devel mailing list Xen-devel@xxxxxxxxxxxxx http://lists.xen.org/xen-devel
|
Lists.xenproject.org is hosted with RackSpace, monitoring our |