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

[Xen-devel] [OSSTEST PATCH v12 20/21] Create a flight to test OpenStack with xen-unstable and libvirt



This patch creates a flight "openstack-ocata", with those jobs:
  build-amd64
  build-amd64-libvirt
  build-amd64-pvops
  build-amd64-xsm
  build-arm64
  build-arm64-libvirt
  build-arm64-pvops
  build-arm64-xsm
  build-armhf
  build-armhf-libvirt
  build-armhf-pvops
  build-armhf-xsm
  test-amd64-amd64-devstack
  test-amd64-amd64-devstack-xsm
  test-arm64-arm64-devstack
  test-arm64-arm64-devstack-xsm
  test-armhf-armhf-devstack
  test-armhf-armhf-devstack-xsm

This would be a flight to test a stable release of OpenStack against
Xen.

OpenStack have many different repo which should be in sync, so we should
attempd to grab the revisions of the stable branch of every OpenStack
tree, for now, the runvars REVISION_* of tree other than nova is set to
"origin/stable/ocata", except Tempest does not have stable branch and
should be able to test any OpenStack version.

Signed-off-by: Anthony PERARD <anthony.perard@xxxxxxxxxx>
---
 ap-common            | 19 +++++++++++++++++++
 ap-fetch-version     |  6 ++++++
 ap-fetch-version-old |  7 +++++++
 ap-print-url         |  3 +++
 ap-push              |  7 +++++++
 cr-daily-branch      | 31 +++++++++++++++++++++++++++++++
 cr-for-branches      |  2 +-
 cri-common           |  1 +
 make-flight          | 46 +++++++++++++++++++++++++++++++++++++++++++++-
 9 files changed, 120 insertions(+), 2 deletions(-)

diff --git a/ap-common b/ap-common
index cbb815c..adfdc11 100644
--- a/ap-common
+++ b/ap-common
@@ -54,6 +54,24 @@
 : ${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 neutron 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 +100,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..03381fd 100755
--- a/ap-fetch-version
+++ b/ap-fetch-version
@@ -106,6 +106,12 @@ ovmf)
        repo_tree_rev_fetch_git ovmf \
                $TREE_OVMF_UPSTREAM master $LOCALREV_OVMF
        ;;
+openstack-ocata)
+        os_release=${branch#openstack-}
+        repo_tree_rev_fetch_git "openstack-nova" \
+                "$TREE_OPENSTACK_NOVA" "stable/$os_release" \
+                "$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..6403bda 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,12 @@ ovmf)
        repo_tree_rev_fetch_git ovmf \
                $BASE_TREE_OVMF xen-tested-master $BASE_LOCALREV_OVMF
        ;;
+openstack-ocata)
+        os_release="${branch##*-}"
+        repo_tree_rev_fetch_git openstack-nova \
+                "$BASE_TREE_OPENSTACK_NOVA" "xen-tested-stable-$os_release" \
+                "$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..cfba1d4 100755
--- a/ap-print-url
+++ b/ap-print-url
@@ -67,6 +67,9 @@ ovmf)
 osstest)
        echo none:;
        ;;
+openstack-ocata)
+       echo $TREE_OPENSTACK_NOVA
+       ;;
 *)
        echo >&2 "branch $branch ?"
        exit 1
diff --git a/ap-push b/ap-push
index a27ccc2..6c9bddf 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,12 @@ ovmf)
        cd $repos/ovmf
        git push $TREE_OVMF $revision:refs/heads/xen-tested-master
        ;;
+openstack-ocata)
+        cd $repos/openstack-nova
+        os_release=${branch#openstack-}
+        git push $TREE_OPENSTACK_NOVA \
+                $revision:refs/heads/xen-tested-stable-$os_release
+        ;;
 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 39483cd..e4613b3 100755
--- a/cr-daily-branch
+++ b/cr-daily-branch
@@ -207,6 +207,33 @@ 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-ocata 
OPENSTACK_NOVA
+        export REVISION_OPENSTACK_NOVA
+fi
+# Set REVISION for every tree that openstack is going to use and that have a
+# stable branch (tempest does not)
+determine_openstack_version() {
+        local os_tree="$1"
+        local os_release
+        local os_branch
+
+        if ! eval [ "x\$REVISION_OPENSTACK_${os_tree^^}" = x ]; then
+                return
+        fi
+        case "$branch" in
+        openstack-ocata)
+                os_release=${branch#openstack-}
+                os_branch="origin/stable/${branch##*-}"
+                eval "REVISION_OPENSTACK_${os_tree^^}=$os_branch"
+                export "REVISION_OPENSTACK_${os_tree^^}"
+                ;;
+        esac
+}
+for os_tree in cinder devstack glance keystone neutron requirements; do
+        determine_openstack_version "$os_tree"
+done
+
 
 case "$tree" in
 xen)
@@ -255,6 +282,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 a691273..ed76d70 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-4.8-testing xen-4.9-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 qemu-upstream-4.8-testing qemu-upstream-4.9-testing 
linux-linus linux-4.9 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-4.8-testing xen-4.9-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 qemu-upstream-4.8-testing qemu-upstream-4.9-testing 
linux-linus linux-4.9 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-ocata ${EXTRA_BRANCHES}}
 export BRANCHES
 
 fetchwlem=$wlem
diff --git a/cri-common b/cri-common
index 903fb4e..751a362 100644
--- a/cri-common
+++ b/cri-common
@@ -82,6 +82,7 @@ select_xenbranch () {
        ovmf)                   tree=ovmf;      xenbranch=xen-unstable ;;
        distros-*|examine)      tree=none;      xenbranch=xen-unstable ;;
        osstest)                tree=osstest;   xenbranch=xen-unstable ;;
+       openstack-ocata)   tree=openstack-nova; xenbranch=xen-unstable ;;
        esac
        if [ "x$tree" = xlinux ]; then
                linuxbranch=$branch
diff --git a/make-flight b/make-flight
index db124fe..3771b16 100755
--- a/make-flight
+++ b/make-flight
@@ -183,6 +183,16 @@ job_create_test_filter_callback () {
         *) return 1;;
       esac
       ;;
+    openstack*)
+      case "$job" in
+        *-devstack) ;;
+        *-devstack-xsm) ;;
+        *) return 1;;
+      esac
+      case $dom0arch in
+          i386) return 1 ;;
+      esac
+      ;;
     *)
       case "$job" in
         *-qemuu-*)
@@ -216,7 +226,13 @@ arch_branch_filter_callback () {
         ovmf) return 1;;
         esac
         ;;
-  i386|amd64)
+  i386)
+        case "$branch" in
+        linux-arm-xen) return 1;;
+        openstack*) return 1;;
+        esac
+        ;;
+  amd64)
         case "$branch" in
         linux-arm-xen) return 1;;
         esac
@@ -680,6 +696,33 @@ do_examine_one () {
                   all_hostflags=$most_hostflags
 }
 
+do_openstack_tests () {
+    local xsms=$(xenbranch_xsm_variants)
+    local openstack_trees=(cinder devstack glance keystone neutron nova
+        requirements tempest)
+
+    case "$branch" in
+        openstack*)          ;;
+        *)           return  ;;
+    esac
+
+    local os_runvars=""
+    for tree in "${openstack_trees[@]}"; do
+        tree="openstack_$tree"
+        eval "os_runvars+=\" tree_$tree=\${TREE_${tree^^}}\""
+        eval "os_runvars+=\" revision_$tree=\${REVISION_${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
@@ -700,6 +743,7 @@ test_matrix_do_one () {
 
   do_rtds_tests
   do_credit2_tests
+  do_openstack_tests
 
   do_examine_one
 
-- 
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®.