@@ -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}
@@ -106,6 +106,12 @@ ovmf)
repo_tree_rev_fetch_git ovmf \
$TREE_OVMF_UPSTREAM master $LOCALREV_OVMF
;;
+openstack-ocata)
+ openstack_release=${branch#openstack-}
+ repo_tree_rev_fetch_git "openstack-nova" \
+ "$TREE_OPENSTACK_NOVA" "stable/$openstack_release" \
+ "$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,13 @@ ovmf)
repo_tree_rev_fetch_git ovmf \
$BASE_TREE_OVMF xen-tested-master $BASE_LOCALREV_OVMF
;;
+openstack-ocata)
+ openstack_release="${branch##*-}"
+ repo_tree_rev_fetch_git openstack-nova \
+ "$BASE_TREE_OPENSTACK_NOVA" \
+ "xen-tested-stable-$openstack_release" \
+ "$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-ocata)
+ 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,12 @@ ovmf)
cd $repos/ovmf
git push $TREE_OVMF $revision:refs/heads/xen-tested-master
;;
+openstack-ocata)
+ cd $repos/openstack-nova
+ openstack_release=${branch#openstack-}
+ git push $TREE_OPENSTACK_NOVA \
+ $revision:refs/heads/xen-tested-stable-$openstack_release
+ ;;
osstest)
git push $HOME/testing.git $revision:production
if [ x"$TREEBRANCH_OSSTEST_UPSTREAM" != x ] ; then
@@ -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 openstack_tree="$1"
+ local openstack_release
+ local openstack_branch
+
+ if ! eval [ "x\$REVISION_OPENSTACK_${openstack_tree^^}" = x ]; then
+ return
+ fi
+ case "$branch" in
+ openstack-ocata)
+ openstack_release=${branch#openstack-}
+ openstack_branch="origin/stable/${branch##*-}"
+ eval "REVISION_OPENSTACK_${openstack_tree^^}=$openstack_branch"
+ export "REVISION_OPENSTACK_${openstack_tree^^}"
+ ;;
+ esac
+}
+for openstack_tree in cinder devstack glance keystone neutron requirements; do
+ determine_openstack_version "$openstack_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
@@ -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
@@ -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
Testing of the Ocata stable branch of OpenStack against Xen unstable. OpenStack have many different repo which should be clone/fetch at roughly the same time. This does not matter much for a stable branch of OpenStack, but during development they can be a proposed patch for a repo that depends on a proposed patch in an other repo, so a patch with a dependency will not be commited into master before its dependency is commited in the other repo. Since the concept of pushing multiple repo at once with osstest doesn't exist, and is going to be complicated, this is not done by this patch, and the simpler approach of pushing the main tree only is taken here. This also mean that we cannot use the output of the branch openstack-ocata as a baseline in an other branch. Also, grabbing the revisions of every tree is simply done by setting the runvars REVISION_* to the stable branch name to "origin/stable/ocata", except Tempest does not have stable branch and is able to test any OpenStack version. Signed-off-by: Anthony PERARD <anthony.perard@citrix.com> --- Notes: Been able to track every necessary for OpenStack would require something in osstest to push to multiple branches, but I'm not going to do that in this series. I can see to try this later. I've also looked at grabbing a revision of every tree, but this is also a bit complicated. It probably requires ./ap-fetch-version to work with parameter like 'openstack-ocata-cinder' (openstack-$release-$tree) but there would not be any changes in ap-fetch-version-old or ap-push. V14: I've check with standalone-generate-dump-flight-runvars that only a new branch openstack-ocata is generated. ap-common | 19 +++++++++++++++++++ ap-fetch-version | 6 ++++++ ap-fetch-version-old | 8 ++++++++ ap-print-url | 3 +++ ap-push | 7 +++++++ cr-daily-branch | 31 +++++++++++++++++++++++++++++++ cr-for-branches | 2 +- cri-common | 1 + 8 files changed, 76 insertions(+), 1 deletion(-)