@@ -54,6 +54,23 @@
: ${PUSH_TREE_OVMF:=$XENBITS:/home/xen/git/osstest/ovmf.git}
: ${BASE_TREE_OVMF:=git://xenbits.xen.org/osstest/ovmf.git}
+define_openstack_trees() {
+ local openstack_trees=(cinder glance keystone nova requirements tempest)
+ local tree
+ local url
+
+ : ${GIT_OPENSTACK_ORG:=git://git.openstack.org}
+ : ${TREE_OPENSTACK_DEVSTACK:=$GIT_OPENSTACK_ORG/openstack-dev/devstack.git}
+ for tree in "${openstack_trees[@]}"; do
+ url=$GIT_OPENSTACK_ORG/openstack/$tree.git
+ eval ": \${TREE_OPENSTACK_${tree^^}:=$url}"
+ done
+}
+
+define_openstack_trees
+: ${PUSH_TREE_OPENSTACK_NOVA:=$XENBITS:/home/xen/git/osstest/openstack-nova.git}
+: ${BASE_TREE_OPENSTACK_NOVA:=git://xenbits.xen.org/osstest/openstack-nova.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}
@@ -82,6 +99,7 @@ fi
: ${LOCALREV_SEABIOS:=daily-cron.$branch}
: ${LOCALREV_OVMF:=daily-cron.$branch}
: ${LOCALREV_XTF:=daily-cron.$branch}
+: ${LOCALREV_OPENSTACK_NOVA:=daily-cron.$branch}
: ${TREEBASE_LINUX_XCP:=http://hg.uk.xensource.com/carbon/trunk/linux-2.6.27}
@@ -106,6 +106,10 @@ ovmf)
repo_tree_rev_fetch_git ovmf \
$TREE_OVMF_UPSTREAM master $LOCALREV_OVMF
;;
+openstack-nova)
+ repo_tree_rev_fetch_git openstack-nova \
+ $TREE_OPENSTACK_NOVA master $LOCALREV_OPENSTACK_NOVA
+ ;;
osstest)
if [ "x$OSSTEST_USE_HEAD" = "xy" ] ; then
git update-ref -m "Arranging to test HEAD" \
@@ -35,6 +35,7 @@ check_ap_fetch_placeholders
: ${BASE_LOCALREV_XTF:=daily-cron.$branch.old}
: ${BASE_LOCALREV_OVMF:=daily-cron.$branch.old}
: ${BASE_TAG_LIBVIRT:=xen-tested-master}
+: ${BASE_LOCALREV_OPENSTACK_NOVA:=daily-cron.$branch.old}
if info_linux_tree "$branch"; then
repo_tree_rev_fetch_git linux \
@@ -114,6 +115,10 @@ ovmf)
repo_tree_rev_fetch_git ovmf \
$BASE_TREE_OVMF xen-tested-master $BASE_LOCALREV_OVMF
;;
+openstack-nova)
+ repo_tree_rev_fetch_git openstack-nova \
+ $BASE_TREE_OPENSTACK_NOVA xen-tested-master $BASE_LOCALREV_OPENSTACK_NOVA
+ ;;
osstest)
if [ "x$OSSTEST_USE_HEAD" != "xy" ] ; then
git fetch -f $HOME/testing.git production:ap-fetch
@@ -67,6 +67,9 @@ ovmf)
osstest)
echo none:;
;;
+openstack-nova)
+ echo $TREE_OPENSTACK_NOVA
+ ;;
*)
echo >&2 "branch $branch ?"
exit 1
@@ -41,6 +41,7 @@ TREE_RUMPRUN=$PUSH_TREE_RUMPRUN
TREE_SEABIOS=$PUSH_TREE_SEABIOS
TREE_OVMF=$PUSH_TREE_OVMF
TREE_XTF=$PUSH_TREE_XTF
+TREE_OPENSTACK_NOVA=$PUSH_TREE_OPENSTACK_NOVA
if info_linux_tree "$branch"; then
cd $repos/linux
@@ -129,6 +130,10 @@ ovmf)
cd $repos/ovmf
git push $TREE_OVMF $revision:refs/heads/xen-tested-master
;;
+openstack-nova)
+ cd $repos/openstack-nova
+ git push $TREE_OPENSTACK_NOVA $revision:refs/heads/xen-tested-master
+ ;;
osstest)
git push $HOME/testing.git $revision:production
if [ x"$TREEBRANCH_OSSTEST_UPSTREAM" != x ] ; then
@@ -207,6 +207,10 @@ if [ "x$REVISION_LINUXFIRMWARE" = x ]; then
determine_version REVISION_LINUXFIRMWARE linuxfirmware LINUXFIRMWARE
export REVISION_LINUXFIRMWARE
fi
+if [ "x$REVISION_OPENSTACK_NOVA" = x ]; then
+ determine_version REVISION_OPENSTACK_NOVA openstack-nova OPENSTACK_NOVA
+ export REVISION_OPENSTACK_NOVA
+fi
if [ "x$branch" != "xxen-unstable" ]; then
export REVISION_LINUX_OLD=disable
@@ -260,6 +264,10 @@ ovmf)
realtree=ovmf
NEW_REVISION=$REVISION_OVMF
;;
+openstack-nova)
+ realtree=openstack-nova
+ NEW_REVISION=$REVISION_OPENSTACK_NOVA
+ ;;
*)
NEW_REVISION=''
wantpush=false
@@ -31,7 +31,7 @@ scriptoptions="$1"; shift
LOGFILE=tmp/cr-for-branches.log
export LOGFILE
-: ${BRANCHES:=osstest xen-4.0-testing xen-4.1-testing xen-4.2-testing xen-4.3-testing xen-4.4-testing xen-4.5-testing xen-4.6-testing xen-4.7-testing xen-unstable qemu-mainline qemu-upstream-unstable qemu-upstream-4.2-testing qemu-upstream-4.3-testing qemu-upstream-4.4-testing qemu-upstream-4.5-testing qemu-upstream-4.6-testing qemu-upstream-4.7-testing linux-4.1 linux-3.18 linux-3.16 linux-3.14 linux-3.10 linux-3.4 linux-arm-xen seabios ovmf xtf ${EXTRA_BRANCHES}}
+: ${BRANCHES:=osstest xen-4.0-testing xen-4.1-testing xen-4.2-testing xen-4.3-testing xen-4.4-testing xen-4.5-testing xen-4.6-testing xen-4.7-testing xen-unstable qemu-mainline qemu-upstream-unstable qemu-upstream-4.2-testing qemu-upstream-4.3-testing qemu-upstream-4.4-testing qemu-upstream-4.5-testing qemu-upstream-4.6-testing qemu-upstream-4.7-testing linux-4.1 linux-3.18 linux-3.16 linux-3.14 linux-3.10 linux-3.4 linux-arm-xen seabios ovmf xtf openstack-nova ${EXTRA_BRANCHES}}
export BRANCHES
fetchwlem=$wlem
@@ -82,6 +82,7 @@ select_xenbranch () {
ovmf) tree=ovmf; xenbranch=xen-unstable ;;
distros-*) tree=none; xenbranch=xen-unstable ;;
osstest) tree=osstest; xenbranch=xen-unstable ;;
+ openstack-nova) tree=openstack-nova; xenbranch=xen-unstable ;;
esac
if [ "x$tree" = xlinux ]; then
linuxbranch=$branch
@@ -167,6 +167,17 @@ job_create_test_filter_callback () {
*) return 1;;
esac
;;
+ openstack-nova)
+ case "$job" in
+ *-devstack) ;;
+ *-devstack-xsm) ;;
+ *) return 1;;
+ esac
+ case $dom0arch in
+ amd64) ;;
+ *) return 1;;
+ esac
+ ;;
*)
case "$job" in
*-qemuu-*)
@@ -198,9 +209,16 @@ arch_branch_filter_callback () {
rumprun) return 1;;
seabios) return 1;;
ovmf) return 1;;
+ openstack-nova) return 1;;
esac
;;
- i386|amd64)
+ i386)
+ case "$branch" in
+ linux-arm-xen) return 1;;
+ openstack-nova) return 1;;
+ esac
+ ;;
+ amd64)
case "$branch" in
linux-arm-xen) return 1;;
esac
@@ -606,6 +624,35 @@ do_pv_debian_tests () {
$endfmt$dom0arch
}
+do_openstack_tests () {
+ local xsms=$(xenbranch_xsm_variants)
+ local openstack_trees=(cinder devstack glance keystone nova
+ requirements tempest)
+
+
+ if [ $dom0arch != amd64 ]; then
+ return
+ fi
+ if [ $branch != openstack-nova ]; then
+ return
+ fi
+
+ local os_runvars=""
+ for tree in "${openstack_trees[@]}"; do
+ eval "os_runvars+=\" tree_$tree=\${TREE_OPENSTACK_${tree^^}}\""
+ eval "os_runvars+=\" revision_$tree=\${REVISION_OPENSTACK_${tree^^}}\""
+ done
+
+ for xsm in $xsms ; do
+ job_create_test test-$xenarch$kern-$dom0arch-devstack \
+ test-devstack libvirt $xenarch $dom0arch \
+ $os_runvars \
+ dom0_mem=4000 \
+ enable_xsm=$xsm \
+ all_hostflags=$most_hostflags
+ done
+}
+
test_matrix_do_one () {
do_pv_debian_tests
@@ -753,6 +800,8 @@ test_matrix_do_one () {
do_pvgrub_tests
do_xtf_tests
+
+ do_openstack_tests
}
if [ x$buildflight = x ]; then
This patch should create a flight "openstack-nova", with those jobs: build-amd64 build-amd64-xsm build-amd64-pvops build-amd64-libvirt test-amd64-amd64-devstack test-amd64-amd64-devstack-xsm About the runvars revision_* of test-*-*-devstack: only REVISION_OPENSTACK_NOVA is set, the others are unset. Empty revision_* runvar would clone the default branch, which should be master for every openstack repos. Signed-off-by: Anthony PERARD <anthony.perard@citrix.com> --- Changes in V8: - fix shell style - fix arch_branch_filter_callback (linux-arm-xen was not properly filtered anymore for i386) Changes in V7: - metaprograming - reindent Change in V6: - rebased Change in V5: - rename flight openstack to openstack-nova - add -xsm variant of the test - run test-devstack only on openstack-nova flight Change in V4: - also skip build-*-oldkern in make flight - fix select_xenbranch - set revision_*=$REVISION_OPENSTACK_* in make-flight (was revision_*=master before) only REVISION_OPENSTACK_NOVA is set, the others are unset. empty revision_* runvar would clone the default branch, which should be master for every openstack repos Change in V3: - Switch to "track" Nova tree instead of devstack. Nova is the service we care about from a Xen point of view. Also it is updated much more often than devstack. - Use TREE_OPENSTACK_ as prefix for all trees variables. - Change the filter, keep only *-devstack jobs. - Add stuff into ./ap-push - Add stuff into ./cr-daily-branch. - Add 'openstack' into ./cr-for-branches. --- ap-common | 18 ++++++++++++++++++ ap-fetch-version | 4 ++++ ap-fetch-version-old | 5 +++++ ap-print-url | 3 +++ ap-push | 5 +++++ cr-daily-branch | 8 ++++++++ cr-for-branches | 2 +- cri-common | 1 + make-flight | 51 ++++++++++++++++++++++++++++++++++++++++++++++++++- 9 files changed, 95 insertions(+), 2 deletions(-)