[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[Xen-devel] [OSSTEST PATCH v7 3/3] Create a flight to test OpenStack with xen-unstable and libvirt



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@xxxxxxxxxx>

---
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          | 48 ++++++++++++++++++++++++++++++++++++++++++++++++
 9 files changed, 93 insertions(+), 1 deletion(-)

diff --git a/ap-common b/ap-common
index cbb815c..26534a5 100644
--- a/ap-common
+++ b/ap-common
@@ -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}
 
diff --git a/ap-fetch-version b/ap-fetch-version
index a107c93..a714ee2 100755
--- a/ap-fetch-version
+++ b/ap-fetch-version
@@ -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" \
diff --git a/ap-fetch-version-old b/ap-fetch-version-old
index 3cbc176..6dddbb7 100755
--- a/ap-fetch-version-old
+++ b/ap-fetch-version-old
@@ -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
diff --git a/ap-print-url b/ap-print-url
index 93c14b3..6f4e6b1 100755
--- a/ap-print-url
+++ b/ap-print-url
@@ -67,6 +67,9 @@ ovmf)
 osstest)
        echo none:;
        ;;
+openstack-nova)
+       echo $TREE_OPENSTACK_NOVA
+       ;;
 *)
        echo >&2 "branch $branch ?"
        exit 1
diff --git a/ap-push b/ap-push
index a27ccc2..136d1b6 100755
--- a/ap-push
+++ b/ap-push
@@ -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
diff --git a/cr-daily-branch b/cr-daily-branch
index 158554d..45a2f69 100755
--- a/cr-daily-branch
+++ b/cr-daily-branch
@@ -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
diff --git a/cr-for-branches b/cr-for-branches
index 5e8b1a4..ebe8986 100755
--- a/cr-for-branches
+++ b/cr-for-branches
@@ -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
diff --git a/cri-common b/cri-common
index ac360de..f48dfa5 100644
--- a/cri-common
+++ b/cri-common
@@ -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
diff --git a/make-flight b/make-flight
index a374884..344e9e6 100755
--- a/make-flight
+++ b/make-flight
@@ -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,6 +209,12 @@ arch_branch_filter_callback () {
         rumprun) return 1;;
         seabios) return 1;;
         ovmf) return 1;;
+        openstack-nova) return 1;;
+        esac
+        ;;
+  i386)
+        case "$branch" in
+        openstack-nova) return 1;;
         esac
         ;;
   i386|amd64)
@@ -606,6 +623,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 +799,8 @@ test_matrix_do_one () {
   do_pvgrub_tests
 
   do_xtf_tests
+
+  do_openstack_tests
 }
 
 if [ x$buildflight = x ]; then
-- 
Anthony PERARD


_______________________________________________
Xen-devel mailing list
Xen-devel@xxxxxxxxxxxxx
https://lists.xen.org/xen-devel

 


Rackspace

Lists.xenproject.org is hosted with RackSpace, monitoring our
servers 24x7x365 and backed by RackSpace's Fanatical Support®.