All of lore.kernel.org
 help / color / mirror / Atom feed
* [PATCH OSSTEST v2 0/6] Have OpenStack tested on top of xen's master and libvirt's master.
@ 2015-08-06 17:03 Anthony PERARD
  2015-08-06 17:03 ` [PATCH OSSTEST v2 1/6] ts-kernel-build: Enable CONFIG_NETFILTER_XT_TARGET_CHECKSUM Anthony PERARD
                   ` (6 more replies)
  0 siblings, 7 replies; 22+ messages in thread
From: Anthony PERARD @ 2015-08-06 17:03 UTC (permalink / raw)
  To: xen-devel; +Cc: Anthony PERARD, Ian Jackson, Ian Campbell

Hi,

I have looked into getting OpenStack been tested on the latest Xen via
osstest. There is an adjustement in common code to accomodate OpenStack,
this is a few extra Linux config option.

The ts-openstack-devstack script does prepare a bit more the host, clone
devstack and other OpenStack trees, then run ./stack.sh, which is a bit
like raisin. Once the machine is ready, the integration test suite from
OpenStack, Tempest, is started by ts-openstack-tempest.

For the last patch that create a flight plan, I've tested only with
`./standalone make-flight openstack` and looked into the database to check
that only the necessary build job and the only test job are there.

Thanks.

Changes in V2:
  - no more Osstest::Toolstack::OpenStack.
  - osstest now clone every single tree that devstack is going to need.
    And ./stack.sh should fail if one tree is missing.
  - avoid build-*-xsm for an openstack flight
  - rename ts-devstack to ts-openstack-devstack
  - New test script ts-openstack-tempest
  - Add CONFIG_CRYPTO_XTS=m to the kernel build.
  - new possible runvar $dom0_mem to control dom0 memory
  - several fix to have volume tests working.
  - have OpenStack deploy from it's builddir instead of /opt/stack
  - have 4GB for dom0 instead of relying on balloning.

Anthony PERARD (6):
  ts-kernel-build: Enable CONFIG_NETFILTER_XT_TARGET_CHECKSUM
  ts-kernel-build: Compile CONFIG_CRYPTO_XTS in
  ts-xen-install: Add dom0_mem runvar to control dom0 memory
  ts-openstack-devstack: Deploy OpenStack on a host
  ts-openstack-tempest: Run Tempest to check OpenStack
  Create a flight to test OpenStack with xen-unstable and libvirt

 ap-common             |   9 ++
 ap-fetch-version      |   4 +
 ap-fetch-version-old  |   5 +
 ap-print-url          |   3 +
 cri-common            |   1 +
 make-flight           |  42 ++++++-
 mfi-common            |   5 +
 sg-run-job            |   6 +
 ts-kernel-build       |   8 ++
 ts-openstack-devstack | 304 ++++++++++++++++++++++++++++++++++++++++++++++++++
 ts-openstack-tempest  |  35 ++++++
 ts-xen-install        |   3 +-
 12 files changed, 423 insertions(+), 2 deletions(-)
 create mode 100755 ts-openstack-devstack
 create mode 100755 ts-openstack-tempest

-- 
Anthony PERARD

^ permalink raw reply	[flat|nested] 22+ messages in thread

* [PATCH OSSTEST v2 1/6] ts-kernel-build: Enable CONFIG_NETFILTER_XT_TARGET_CHECKSUM
  2015-08-06 17:03 [PATCH OSSTEST v2 0/6] Have OpenStack tested on top of xen's master and libvirt's master Anthony PERARD
@ 2015-08-06 17:03 ` Anthony PERARD
  2015-08-06 17:03 ` [PATCH OSSTEST v2 2/6] ts-kernel-build: Compile CONFIG_CRYPTO_XTS in Anthony PERARD
                   ` (5 subsequent siblings)
  6 siblings, 0 replies; 22+ messages in thread
From: Anthony PERARD @ 2015-08-06 17:03 UTC (permalink / raw)
  To: xen-devel; +Cc: Anthony PERARD, Ian Jackson, Ian Campbell

This iptables target CHECKSUM is used by OpenStack.

Signed-off-by: Anthony PERARD <anthony.perard@citrix.com>
Acked-by: Ian Campbell <ian.campbell@citrix.com>
---
 ts-kernel-build | 5 +++++
 1 file changed, 5 insertions(+)

diff --git a/ts-kernel-build b/ts-kernel-build
index 28bead4..d5defaa 100755
--- a/ts-kernel-build
+++ b/ts-kernel-build
@@ -248,6 +248,11 @@ setopt CONFIG_SYSVIPC y
 setopt CONFIG_BLK_DEV_LOOP y
 
 setopt CONFIG_PACKET y
+
+# needed for OpenStack
+# because: https://bugzilla.redhat.com/show_bug.cgi?id=910619#c6
+setopt CONFIG_NETFILTER_ADVANCED y
+setopt CONFIG_NETFILTER_XT_TARGET_CHECKSUM m
 END
 sub stash_config_edscript ($) {
     my ($settings) = @_;
-- 
Anthony PERARD

^ permalink raw reply related	[flat|nested] 22+ messages in thread

* [PATCH OSSTEST v2 2/6] ts-kernel-build: Compile CONFIG_CRYPTO_XTS in
  2015-08-06 17:03 [PATCH OSSTEST v2 0/6] Have OpenStack tested on top of xen's master and libvirt's master Anthony PERARD
  2015-08-06 17:03 ` [PATCH OSSTEST v2 1/6] ts-kernel-build: Enable CONFIG_NETFILTER_XT_TARGET_CHECKSUM Anthony PERARD
@ 2015-08-06 17:03 ` Anthony PERARD
  2015-09-08 11:45   ` Ian Campbell
  2015-08-06 17:03 ` [PATCH OSSTEST v2 3/6] ts-xen-install: Add dom0_mem runvar to control dom0 memory Anthony PERARD
                   ` (4 subsequent siblings)
  6 siblings, 1 reply; 22+ messages in thread
From: Anthony PERARD @ 2015-08-06 17:03 UTC (permalink / raw)
  To: xen-devel; +Cc: Anthony PERARD, Ian Jackson, Ian Campbell

OpenStack Tempest is using aes-xts-plain64 cipher with cryptsetup to test
encrypted volumes and this is not configurable.

Signed-off-by: Anthony PERARD <anthony.perard@citrix.com>
---
 ts-kernel-build | 3 +++
 1 file changed, 3 insertions(+)

diff --git a/ts-kernel-build b/ts-kernel-build
index d5defaa..a16527b 100755
--- a/ts-kernel-build
+++ b/ts-kernel-build
@@ -253,6 +253,9 @@ setopt CONFIG_PACKET y
 # because: https://bugzilla.redhat.com/show_bug.cgi?id=910619#c6
 setopt CONFIG_NETFILTER_ADVANCED y
 setopt CONFIG_NETFILTER_XT_TARGET_CHECKSUM m
+
+# Used by OpenStack Tempest to test encrypted volume
+setopt CONFIG_CRYPTO_XTS m
 END
 sub stash_config_edscript ($) {
     my ($settings) = @_;
-- 
Anthony PERARD

^ permalink raw reply related	[flat|nested] 22+ messages in thread

* [PATCH OSSTEST v2 3/6] ts-xen-install: Add dom0_mem runvar to control dom0 memory
  2015-08-06 17:03 [PATCH OSSTEST v2 0/6] Have OpenStack tested on top of xen's master and libvirt's master Anthony PERARD
  2015-08-06 17:03 ` [PATCH OSSTEST v2 1/6] ts-kernel-build: Enable CONFIG_NETFILTER_XT_TARGET_CHECKSUM Anthony PERARD
  2015-08-06 17:03 ` [PATCH OSSTEST v2 2/6] ts-kernel-build: Compile CONFIG_CRYPTO_XTS in Anthony PERARD
@ 2015-08-06 17:03 ` Anthony PERARD
  2015-09-08 11:48   ` Ian Campbell
  2015-08-06 17:03 ` [PATCH OSSTEST v2 4/6] ts-openstack-devstack: Deploy OpenStack on a host Anthony PERARD
                   ` (3 subsequent siblings)
  6 siblings, 1 reply; 22+ messages in thread
From: Anthony PERARD @ 2015-08-06 17:03 UTC (permalink / raw)
  To: xen-devel; +Cc: Anthony PERARD, Ian Jackson, Ian Campbell

Signed-off-by: Anthony PERARD <anthony.perard@citrix.com>
---
 ts-xen-install | 3 ++-
 1 file changed, 2 insertions(+), 1 deletion(-)

diff --git a/ts-xen-install b/ts-xen-install
index 0f53382..17edfb7 100755
--- a/ts-xen-install
+++ b/ts-xen-install
@@ -153,7 +153,8 @@ sub setupboot () {
 	logm("No Xen console device defined for host");
     }
     if (toolstack($ho)->{Dom0MemFixed}) {
-        $xenhopt .= " dom0_mem=512M,max:512M";
+        my $mem = $r{'dom0_mem'} // 512;
+        $xenhopt .= " dom0_mem=${mem}M,max:${mem}M";
     }
 
     # If /boot/microcode.cpio is present then ts-host-install has
-- 
Anthony PERARD

^ permalink raw reply related	[flat|nested] 22+ messages in thread

* [PATCH OSSTEST v2 4/6] ts-openstack-devstack: Deploy OpenStack on a host
  2015-08-06 17:03 [PATCH OSSTEST v2 0/6] Have OpenStack tested on top of xen's master and libvirt's master Anthony PERARD
                   ` (2 preceding siblings ...)
  2015-08-06 17:03 ` [PATCH OSSTEST v2 3/6] ts-xen-install: Add dom0_mem runvar to control dom0 memory Anthony PERARD
@ 2015-08-06 17:03 ` Anthony PERARD
  2015-09-08 13:03   ` Ian Campbell
  2015-08-06 17:03 ` [PATCH OSSTEST v2 5/6] ts-openstack-tempest: Run Tempest to check OpenStack Anthony PERARD
                   ` (2 subsequent siblings)
  6 siblings, 1 reply; 22+ messages in thread
From: Anthony PERARD @ 2015-08-06 17:03 UTC (permalink / raw)
  To: xen-devel; +Cc: Anthony PERARD, Ian Jackson, Ian Campbell

This script also install packages needed and clone every OpenStack trees to
be use by devstack to deploy OpenStack.

Signed-off-by: Anthony PERARD <anthony.perard@citrix.com>
---
 sg-run-job            |   5 +
 ts-openstack-devstack | 304 ++++++++++++++++++++++++++++++++++++++++++++++++++
 2 files changed, 309 insertions(+)
 create mode 100755 ts-openstack-devstack

diff --git a/sg-run-job b/sg-run-job
index b7ab9e0..5320d62 100755
--- a/sg-run-job
+++ b/sg-run-job
@@ -360,6 +360,11 @@ proc run-job/test-rumpuserxen {} {
                  ts-guest-destroy-hard            host   $g   +
 }
 
+proc need-hosts/test-devstack {} { return host }
+proc run-job/test-devstack {} {
+  run-ts . = ts-openstack-devstack
+}
+
 #---------- builds ----------
 
 proc need-hosts/build {} { return BUILD }
diff --git a/ts-openstack-devstack b/ts-openstack-devstack
new file mode 100755
index 0000000..8bcd322
--- /dev/null
+++ b/ts-openstack-devstack
@@ -0,0 +1,304 @@
+#!/usr/bin/perl
+# This is part of "osstest", an automated testing framework for Xen.
+# Copyright (C) 2015 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 Osstest;
+use Osstest::TestSupport;
+use Osstest::BuildSupport;
+
+tsreadconfig();
+our ($ho,$gho) = ts_get_host_guest(@ARGV);
+builddirsprops();
+
+sub tgt_init ();
+
+sub packages () {
+    # Install open-iscsi ahead of devstack ...
+    target_install_packages($ho, qw(git sudo open-iscsi));
+    # ... and start open-iscsi to have /etc/iscsi/initiatorname.iscsi
+    # generated. This is done on install on Ubuntu.
+    target_cmd_root($ho, 'service open-iscsi start');
+}
+
+sub checkout () {
+  prepbuilddirs();
+  build_clone($ho, 'requirements', $builddir, 'requirements');
+  build_clone($ho, 'keystone', $builddir, 'keystone');
+  build_clone($ho, 'glance', $builddir, 'glance');
+  build_clone($ho, 'cinder', $builddir, 'cinder');
+  build_clone($ho, 'nova', $builddir, 'nova');
+  build_clone($ho, 'tempest', $builddir, 'tempest');
+
+  build_clone($ho, 'devstack', $builddir, 'devstack');
+  my $openstack_git_base = git_massage_url('git://git.openstack.org');
+  my $vg = target_choose_vg($ho, 10*1024); # 10GB
+  target_putfilecontents_stash($ho, 60, <<END, $builddir.'/devstack/local.conf');
+[[local|localrc]]
+# Everything should be cloned by osstest, so devstack don't have to do it
+ERROR_ON_CLONE=True
+USE_SCREEN=False
+ADMIN_PASSWORD=secretadmin
+DATABASE_PASSWORD=secretdatabase
+RABBIT_PASSWORD=secretrabbit
+SERVICE_PASSWORD=secretservice
+SERVICE_TOKEN=atokenserviced
+# make it small because there is no way to not have this lvm volume created
+VOLUME_BACKING_FILE_SIZE=500M
+DEST=$builddir
+LOGFILE=\$DEST/logs/stack.sh.log
+# stackrc set this but don't take \$DEST into account
+SERVICE_DIR=\${DEST}/status
+LOG_COLOR=False
+LIBVIRT_TYPE=xen
+GIT_BASE="$openstack_git_base"
+disable_service horizon
+disable_service n-novnc
+enable_service n-obj
+[[post-config|\$CINDER_CONF]]
+[lvmdriver-1]
+volume_group = $vg
+END
+
+  # libvirt is already install, but not as a package, so avoid installation of
+  # the libvirt package with devstack
+  target_editfile($ho, "$builddir/devstack/files/debs/nova", sub {
+      while (<EI>) {
+        next if m/.*libvirt.*/;
+        print EO or die $!;
+      }
+  });
+  target_editfile($ho, "$builddir/devstack/lib/nova_plugins/functions-libvirt", sub {
+      while (<EI>) {
+        next if m/install_package.*libvirt.*/;
+        print EO or die $!;
+      }
+  });
+
+  # OpenStack needs access to libvirt from a user.
+  target_cmd_root($ho, <<END);
+    cat >> /etc/libvirt/libvirtd.conf <<EOF
+unix_sock_group = "libvirt"
+unix_sock_ro_perms = "0777"
+unix_sock_rw_perms = "0770"
+EOF
+END
+
+  # devstack is going to setup the host, install some dependency.
+  target_putfilecontents_root_stash($ho, 100, <<END,"/etc/sudoers.d/devstack");
+osstest ALL=(ALL) NOPASSWD:ALL
+END
+
+  target_putfilecontents_root_stash($ho, 60, tgt_init(), "/etc/init.d/tgt");
+  target_cmd_root($ho, <<END);
+      chmod +x /etc/init.d/tgt
+END
+}
+
+sub deploy() {
+  target_cmd($ho, <<END, 1800);
+    cd $builddir/devstack
+    ./stack.sh
+END
+}
+
+packages();
+checkout();
+deploy();
+
+# This is missing from Debian but required by devstack
+# Got it from https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=577925
+sub tgt_init () {
+  return <<'END';
+#!/bin/bash
+### BEGIN INIT INFO
+# Provides:          tgtd
+# Required-Start:    $remote_fs $syslog
+# Required-Stop:     $remote_fs $syslog
+# Should-Start:      zfs
+# Should-Stop:       zfs
+# Default-Start:     2 3 4 5
+# Default-Stop:      0 1 6
+# Short-Description: iscsi target daemon
+# Description:       iscsi target daemon
+### END INIT INFO
+
+DESC="target framework daemon"
+NAME=tgtd
+DAEMON=/usr/sbin/${NAME}
+
+TGTD_CONFIG=/etc/tgt/targets.conf
+
+TASK=$1
+
+. /lib/lsb/init-functions
+
+[ -x $DAEMON ] || exit 0
+
+start()
+{
+        log_daemon_msg "Starting $DESC" "$NAME"
+        # Start tgtd first.
+        tgtd &>/dev/null
+        RETVAL=$?
+        if [ "$RETVAL" -ne 0 ] ; then
+                log_end_msg 1
+                exit 1
+        else
+                log_end_msg 0
+        fi
+        # Put tgtd into "offline" state until all the targets are configured.
+        # We don't want initiators to (re)connect and fail the connection
+        # if it's not ready.
+        tgtadm --op update --mode sys --name State -v offline
+        # Configure the targets.
+        tgt-admin -e -c $TGTD_CONFIG
+        # Put tgtd into "ready" state.
+        tgtadm --op update --mode sys --name State -v ready
+}
+
+stop()
+{
+        if [ "$RUNLEVEL" == 0 -o "$RUNLEVEL" == 6 ] ; then
+            forcedstop
+        fi
+        log_daemon_msg "Stopping $DESC" "$NAME"
+        # Remove all targets. It only removes targets which are not in use.
+        tgt-admin --update ALL -c /dev/null &>/dev/null
+        # tgtd will exit if all targets were removed
+        tgtadm --op delete --mode system &>/dev/null
+        RETVAL=$?
+        if [ "$RETVAL" -eq 107 ] ; then
+                if [ "$TASK" != "restart" ] ; then
+                        log_end_msg 1
+                        exit 1
+                else
+                        log_end_msg 0
+                fi
+        elif [ "$RETVAL" -ne 0 ] ; then
+                log_end_msg 1
+                echo "Some initiators are still connected - could not stop tgtd"
+                exit 2
+        else
+                log_end_msg 0
+        fi
+        echo -n
+}
+
+forcedstop()
+{
+        # NOTE: Forced shutdown of the iscsi target may cause data corruption
+        # for initiators that are connected.
+        echo "Force-stopping target framework daemon"
+        # Offline everything first. May be needed if we're rebooting, but
+        # expect the initiators to reconnect cleanly when we boot again
+        # (i.e. we don't want them to reconnect to a tgtd which is still
+        # working, but the target is gone).
+        tgtadm --op update --mode sys --name State -v offline &>/dev/null
+        RETVAL=$?
+        if [ "$RETVAL" -eq 107 ] ; then
+            echo "tgtd is not running"
+            [ "$TASK" != "restart" ] && exit 1
+        else
+            tgt-admin --offline ALL
+            # Remove all targets, even if they are still in use.
+            tgt-admin --update ALL -c /dev/null -f
+            # It will shut down tgtd only after all targets were removed.
+            tgtadm --op delete --mode system
+            RETVAL=$?
+            if [ "$RETVAL" -ne 0 ] ; then
+                echo "Failed to shutdown tgtd"
+                exit 1
+            fi
+        fi
+        echo -n
+}
+
+reload()
+{
+        log_daemon_msg "Reloading configuration of $DESC" "$NAME"
+        # Update configuration for targets. Only targets which
+        # are not in use will be updated.
+        tgt-admin --update ALL -c $TGTD_CONFIG &>/dev/null
+        RETVAL=$?
+        if [ "$RETVAL" -eq 107 ] ; then
+                log_end_msg 1
+                echo "tgtd is not running"
+                exit 1
+        fi
+        log_end_msg 0
+}
+
+forcedreload()
+{
+        log_daemon_msg "Forced-reload configuration of $DESC" "$NAME"
+        # Update configuration for targets, even those in use.
+        tgt-admin --update ALL -f -c $TGTD_CONFIG &>/dev/null
+        RETVAL=$?
+        if [ "$RETVAL" -eq 107 ] ; then
+                log_end_msg 1
+                echo "tgtd is not running"
+                exit 1
+        else
+                log_end_msg 0
+        fi
+}
+
+status()
+{
+        # Don't name this script "tgtd"...
+        TGTD_PROC=$(ps -C tgtd | grep -c tgtd)
+        if [ "$TGTD_PROC" -eq 2 ] ; then
+            echo "tgtd is running. Run 'tgt-admin -s' to see detailed target info."
+        else
+            echo "tgtd is NOT running."
+        fi
+}
+
+case $1 in
+        start)
+                start
+                ;;
+        stop)
+                stop
+                ;;
+        forcedstop)
+                forcedstop
+                ;;
+        restart)
+                TASK=restart
+                stop && start
+                ;;
+        forcedrestart)
+                TASK=restart
+                forcedstop && start
+                ;;
+        reload)
+                reload
+                ;;
+        force-reload)
+                forcedreload
+                ;;
+        status)
+                status
+                ;;
+        *)
+                echo "Usage: $0 {start|stop|forcedstop|restart|forcedrestart|reload|force-reload|status}"
+                exit 2
+                ;;
+esac
+END
+}
-- 
Anthony PERARD

^ permalink raw reply related	[flat|nested] 22+ messages in thread

* [PATCH OSSTEST v2 5/6] ts-openstack-tempest: Run Tempest to check OpenStack
  2015-08-06 17:03 [PATCH OSSTEST v2 0/6] Have OpenStack tested on top of xen's master and libvirt's master Anthony PERARD
                   ` (3 preceding siblings ...)
  2015-08-06 17:03 ` [PATCH OSSTEST v2 4/6] ts-openstack-devstack: Deploy OpenStack on a host Anthony PERARD
@ 2015-08-06 17:03 ` Anthony PERARD
  2015-09-08 13:06   ` Ian Campbell
  2015-08-06 17:03 ` [PATCH OSSTEST v2 6/6] Create a flight to test OpenStack with xen-unstable and libvirt Anthony PERARD
  2015-09-09 16:13 ` [PATCH OSSTEST v2 0/6] Have OpenStack tested on top of xen's master and libvirt's master Ian Campbell
  6 siblings, 1 reply; 22+ messages in thread
From: Anthony PERARD @ 2015-08-06 17:03 UTC (permalink / raw)
  To: xen-devel; +Cc: Anthony PERARD, Ian Jackson, Ian Campbell

Signed-off-by: Anthony PERARD <anthony.perard@citrix.com>
---
 sg-run-job           |  1 +
 ts-openstack-tempest | 35 +++++++++++++++++++++++++++++++++++
 2 files changed, 36 insertions(+)
 create mode 100755 ts-openstack-tempest

diff --git a/sg-run-job b/sg-run-job
index 5320d62..0b2184b 100755
--- a/sg-run-job
+++ b/sg-run-job
@@ -363,6 +363,7 @@ proc run-job/test-rumpuserxen {} {
 proc need-hosts/test-devstack {} { return host }
 proc run-job/test-devstack {} {
   run-ts . = ts-openstack-devstack
+  run-ts . = ts-openstack-tempest
 }
 
 #---------- builds ----------
diff --git a/ts-openstack-tempest b/ts-openstack-tempest
new file mode 100755
index 0000000..2bc07c3
--- /dev/null
+++ b/ts-openstack-tempest
@@ -0,0 +1,35 @@
+#!/usr/bin/perl
+# This is part of "osstest", an automated testing framework for Xen.
+# Copyright (C) 2015 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 Osstest;
+use Osstest::TestSupport;
+use Osstest::BuildSupport;
+
+tsreadconfig();
+our ($ho,$gho) = ts_get_host_guest(@ARGV);
+builddirsprops();
+
+sub tempest() {
+  # The regex is the default one + avoid the two tests know to not work
+  # which are two variations of test_volume_boot_pattern.
+  target_cmd($ho, <<END, 7200);
+    $builddir/tempest/run_tempest.sh -V -- --concurrency=2 '(?!.*\\[.*\\bslow\\b.*\\]|.*test_volume_boot_pattern)(^tempest\\.(api|scenario|thirdparty))'
+END
+}
+
+tempest();
-- 
Anthony PERARD

^ permalink raw reply related	[flat|nested] 22+ messages in thread

* [PATCH OSSTEST v2 6/6] Create a flight to test OpenStack with xen-unstable and libvirt
  2015-08-06 17:03 [PATCH OSSTEST v2 0/6] Have OpenStack tested on top of xen's master and libvirt's master Anthony PERARD
                   ` (4 preceding siblings ...)
  2015-08-06 17:03 ` [PATCH OSSTEST v2 5/6] ts-openstack-tempest: Run Tempest to check OpenStack Anthony PERARD
@ 2015-08-06 17:03 ` Anthony PERARD
  2015-09-08 13:14   ` Ian Campbell
  2015-09-09 16:13 ` [PATCH OSSTEST v2 0/6] Have OpenStack tested on top of xen's master and libvirt's master Ian Campbell
  6 siblings, 1 reply; 22+ messages in thread
From: Anthony PERARD @ 2015-08-06 17:03 UTC (permalink / raw)
  To: xen-devel; +Cc: Anthony PERARD, Ian Jackson, Ian Campbell

Signed-off-by: Anthony PERARD <anthony.perard@citrix.com>
---
 ap-common            |  9 +++++++++
 ap-fetch-version     |  4 ++++
 ap-fetch-version-old |  5 +++++
 ap-print-url         |  3 +++
 cri-common           |  1 +
 make-flight          | 42 +++++++++++++++++++++++++++++++++++++++++-
 mfi-common           |  5 +++++
 7 files changed, 68 insertions(+), 1 deletion(-)

diff --git a/ap-common b/ap-common
index dfeab9e..40eda02 100644
--- a/ap-common
+++ b/ap-common
@@ -57,6 +57,14 @@
 : ${PUSH_TREE_OVMF:=$XENBITS:/home/xen/git/osstest/ovmf.git}
 : ${BASE_TREE_OVMF:=git://xenbits.xen.org/osstest/ovmf.git}
 
+: ${TREE_DEVSTACK:=git://git.openstack.org/openstack-dev/devstack.git}
+: ${TREE_OPENSTACK_REQUIREMENTS:=git://git.openstack.org/openstack/requirements.git}
+: ${TREE_KEYSTONE:=git://git.openstack.org/openstack/keystone.git}
+: ${TREE_GLANCE:=git://git.openstack.org/openstack/glance.git}
+: ${TREE_CINDER:=git://git.openstack.org/openstack/cinder.git}
+: ${TREE_NOVA:=git://git.openstack.org/openstack/nova.git}
+: ${TREE_TEMPEST:=git://git.openstack.org/openstack/tempest.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}
@@ -84,6 +92,7 @@ fi
 : ${LOCALREV_RUMPUSERXEN:=daily-cron.$branch}
 : ${LOCALREV_SEABIOS:=daily-cron.$branch}
 : ${LOCALREV_OVMF:=daily-cron.$branch}
+: ${LOCALREV_DEVSTACK:=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 8b41acf..9aba511 100755
--- a/ap-fetch-version
+++ b/ap-fetch-version
@@ -89,6 +89,10 @@ ovmf)
 	repo_tree_rev_fetch_git ovmf \
 		$TREE_OVMF_UPSTREAM master $LOCALREV_OVMF
 	;;
+openstack)
+	repo_tree_rev_fetch_git devstack \
+		$TREE_DEVSTACK master $LOCALREV_DEVSTACK
+	;;
 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 0b4739b..d12c753 100755
--- a/ap-fetch-version-old
+++ b/ap-fetch-version-old
@@ -31,6 +31,7 @@ select_xenbranch
 : ${BASE_LOCALREV_RUMPUSERXEN:=daily-cron.$branch.old}
 : ${BASE_LOCALREV_SEABIOS:=daily-cron.$branch.old}
 : ${BASE_LOCALREV_OVMF:=daily-cron.$branch.old}
+: ${BASE_LOCALREV_DEVSTACK:=daily-cron.$branch.old}
 
 : ${BASE_TREE_QEMU_UPSTREAM:=${TREE_QEMU_UPSTREAM/\/staging\//\/}}
 
@@ -97,6 +98,10 @@ ovmf)
 	repo_tree_rev_fetch_git ovmf \
 		$BASE_TREE_OVMF xen-tested-master $BASE_LOCALREV_OVMF
 	;;
+openstack)
+	repo_tree_rev_fetch_git devstack \
+		$TREE_DEVSTACK master $BASE_LOCALREV_DEVSTACK
+	;;
 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 c161169..58ac761 100755
--- a/ap-print-url
+++ b/ap-print-url
@@ -64,6 +64,9 @@ ovmf)
 osstest)
 	echo none:;
 	;;
+openstack)
+	echo $TREE_DEVSTACK
+	;;
 *)
 	echo >&2 "branch $branch ?"
 	exit 1
diff --git a/cri-common b/cri-common
index 5c58482..18f5d60 100644
--- a/cri-common
+++ b/cri-common
@@ -74,6 +74,7 @@ select_xenbranch () {
 	ovmf)			tree=ovmf;	xenbranch=xen-unstable ;;
 	distros-*)		tree=none;	xenbranch=xen-unstable ;;
 	osstest)		tree=osstest;	xenbranch=xen-unstable ;;
+	openstack)		tree=devstack;	xenbranch=xen-unstable ;;
 	esac
 	if [ "x$tree" = xlinux ]; then
 		linuxbranch=$branch
diff --git a/make-flight b/make-flight
index cfb6540..ebf7258 100755
--- a/make-flight
+++ b/make-flight
@@ -35,7 +35,14 @@ defsuite=`getconfig DebianSuite`
 defguestsuite=`getconfig GuestDebianSuite`
 
 job_create_build_filter_callback () {
-    :
+  local job=$1; shift
+
+  case "$branch" in
+    openstack)
+      case "$job" in
+        *-xsm) return 1;;
+      esac
+  esac
 }
 
 if [ x$buildflight = x ]; then
@@ -101,6 +108,20 @@ job_create_test_filter_callback () {
         *) return 1;;
       esac
       ;;
+    openstack)
+      if [ x$toolstack != xlibvirt ] ; then return 1; fi
+      case "$job" in
+        test-*-libvirt*) return 1;;
+      esac
+      case $xenarch in
+          amd64) ;;
+          *) return 1;;
+      esac
+      case $dom0arch in
+          amd64) ;;
+          *) return 1;;
+      esac
+      ;;
     *)
       case "$job" in
         *-qemuu-*)
@@ -557,6 +578,25 @@ test_matrix_do_one () {
 
   do_pygrub_tests
   do_pvgrub_tests
+
+  job_create_test test-$xenarch$kern-$dom0arch-devstack \
+    test-devstack libvirt $xenarch $dom0arch \
+    tree_devstack=$TREE_DEVSTACK \
+    tree_requirements=$TREE_OPENSTACK_REQUIREMENTS \
+    tree_keystone=$TREE_KEYSTONE \
+    tree_glance=$TREE_GLANCE \
+    tree_cinder=$TREE_CINDER \
+    tree_nova=$TREE_NOVA \
+    tree_tempest=$TREE_TEMPEST \
+    revision_devstack=master \
+    revision_requirements=master \
+    revision_keystone=master \
+    revision_glance=master \
+    revision_cinder=master \
+    revision_nova=master \
+    revision_tempest=master \
+    dom0_mem=4000 \
+    all_hostflags=$most_hostflags
 }
 
 test_matrix_iterate
diff --git a/mfi-common b/mfi-common
index c79dd11..c6a1eb7 100644
--- a/mfi-common
+++ b/mfi-common
@@ -50,6 +50,7 @@ xenbranch_xsm_variants () {
     xen-4.3-testing) echo "false";;
     xen-4.4-testing) echo "false";;
     xen-4.5-testing) echo "false";;
+    openstack)       echo "false";;
     *) echo "false true";
     esac
 }
@@ -93,6 +94,7 @@ create_build_jobs () {
       rumpuserxen) continue;;
       seabios) continue;;
       ovmf) continue;;
+      openstack) continue;;
       esac
       case "$xenbranch" in
       xen-3.*-testing) continue;;
@@ -118,6 +120,9 @@ create_build_jobs () {
       "
       ;;
     esac
+    if [ "$arch" = i386 ] && [ "$branch" = openstack ]; then
+      continue
+    fi
 
     case "$arch" in
     *)     suite=$defsuite;;
-- 
Anthony PERARD

^ permalink raw reply related	[flat|nested] 22+ messages in thread

* Re: [PATCH OSSTEST v2 2/6] ts-kernel-build: Compile CONFIG_CRYPTO_XTS in
  2015-08-06 17:03 ` [PATCH OSSTEST v2 2/6] ts-kernel-build: Compile CONFIG_CRYPTO_XTS in Anthony PERARD
@ 2015-09-08 11:45   ` Ian Campbell
  0 siblings, 0 replies; 22+ messages in thread
From: Ian Campbell @ 2015-09-08 11:45 UTC (permalink / raw)
  To: Anthony PERARD, xen-devel; +Cc: Ian Jackson

On Thu, 2015-08-06 at 18:03 +0100, Anthony PERARD wrote:
> OpenStack Tempest is using aes-xts-plain64 cipher with cryptsetup to test
> encrypted volumes and this is not configurable.
> 
> Signed-off-by: Anthony PERARD <anthony.perard@citrix.com>

Acked-by: Ian Campbell <ian.campbell@citrix.com>

^ permalink raw reply	[flat|nested] 22+ messages in thread

* Re: [PATCH OSSTEST v2 3/6] ts-xen-install: Add dom0_mem runvar to control dom0 memory
  2015-08-06 17:03 ` [PATCH OSSTEST v2 3/6] ts-xen-install: Add dom0_mem runvar to control dom0 memory Anthony PERARD
@ 2015-09-08 11:48   ` Ian Campbell
  2015-09-08 12:52     ` Ian Campbell
  0 siblings, 1 reply; 22+ messages in thread
From: Ian Campbell @ 2015-09-08 11:48 UTC (permalink / raw)
  To: Anthony PERARD, xen-devel; +Cc: Ian Jackson

On Thu, 2015-08-06 at 18:03 +0100, Anthony PERARD wrote:
> Signed-off-by: Anthony PERARD <anthony.perard@citrix.com>
> ---
>  ts-xen-install | 3 ++-
>  1 file changed, 2 insertions(+), 1 deletion(-)
> 
> diff --git a/ts-xen-install b/ts-xen-install
> index 0f53382..17edfb7 100755
> --- a/ts-xen-install
> +++ b/ts-xen-install
> @@ -153,7 +153,8 @@ sub setupboot () {
>  	logm("No Xen console device defined for host");
>      }
>      if (toolstack($ho)->{Dom0MemFixed}) {
> -        $xenhopt .= " dom0_mem=512M,max:512M";
> +        my $mem = $r{'dom0_mem'} // 512;

I think the highest preference should be for $r{"$ho->{Ident}_dom0_mem"}
(which makes it host specific in multi host jobs). I think it is probably
still worth having a global dom0_mem runvar you have here too. So:

        my $mem = $r{"$ho->{Ident}_dom0_mem"} // $r{'dom0_mem'} // 512;

(maybe needs wrapping)

> +        $xenhopt .= " dom0_mem=${mem}M,max:${mem}M";
>      }
>  
>      # If /boot/microcode.cpio is present then ts-host-install has

^ permalink raw reply	[flat|nested] 22+ messages in thread

* Re: [PATCH OSSTEST v2 3/6] ts-xen-install: Add dom0_mem runvar to control dom0 memory
  2015-09-08 11:48   ` Ian Campbell
@ 2015-09-08 12:52     ` Ian Campbell
  0 siblings, 0 replies; 22+ messages in thread
From: Ian Campbell @ 2015-09-08 12:52 UTC (permalink / raw)
  To: Anthony PERARD, xen-devel; +Cc: Ian Jackson

On Tue, 2015-09-08 at 12:48 +0100, Ian Campbell wrote:
> On Thu, 2015-08-06 at 18:03 +0100, Anthony PERARD wrote:
> > Signed-off-by: Anthony PERARD <anthony.perard@citrix.com>
> > ---
> >  ts-xen-install | 3 ++-
> >  1 file changed, 2 insertions(+), 1 deletion(-)
> > 
> > diff --git a/ts-xen-install b/ts-xen-install
> > index 0f53382..17edfb7 100755
> > --- a/ts-xen-install
> > +++ b/ts-xen-install
> > @@ -153,7 +153,8 @@ sub setupboot () {
> >  	logm("No Xen console device defined for host");
> >      }
> >      if (toolstack($ho)->{Dom0MemFixed}) {
> > -        $xenhopt .= " dom0_mem=512M,max:512M";
> > +        my $mem = $r{'dom0_mem'} // 512;
> 
> I think the highest preference should be for $r{"$ho->{Ident}_dom0_mem"}
> (which makes it host specific in multi host jobs). I think it is probably
> still worth having a global dom0_mem runvar you have here too. So:
> 
>         my $mem = $r{"$ho->{Ident}_dom0_mem"} // $r{'dom0_mem'} // 512;
> 
> (maybe needs wrapping)

That said, your code is clearly correct so maybe this can be left to the
person who needs per-host control of this. So if Ian agrees:

Acked-by: Ian Campbell <ian.campbell@citrix.com>

Eventually I suppose we might want a host_runvar helper taking $ho, the
suffix ("dom0_mem") and a fallback default.

> 
> > +        $xenhopt .= " dom0_mem=${mem}M,max:${mem}M";
> >      }
> >  
> >      # If /boot/microcode.cpio is present then ts-host-install has
> 
> _______________________________________________
> Xen-devel mailing list
> Xen-devel@lists.xen.org
> http://lists.xen.org/xen-devel

^ permalink raw reply	[flat|nested] 22+ messages in thread

* Re: [PATCH OSSTEST v2 4/6] ts-openstack-devstack: Deploy OpenStack on a host
  2015-08-06 17:03 ` [PATCH OSSTEST v2 4/6] ts-openstack-devstack: Deploy OpenStack on a host Anthony PERARD
@ 2015-09-08 13:03   ` Ian Campbell
  2015-09-08 14:36     ` Ian Jackson
  2015-09-25 12:35     ` Anthony PERARD
  0 siblings, 2 replies; 22+ messages in thread
From: Ian Campbell @ 2015-09-08 13:03 UTC (permalink / raw)
  To: Anthony PERARD, xen-devel; +Cc: Ian Jackson

On Thu, 2015-08-06 at 18:03 +0100, Anthony PERARD wrote:
> This script also install packages needed and clone every OpenStack trees to
> be use by devstack to deploy OpenStack.

How about:

This script installs any necessary packages and clones all of the OpenStack
trees which are used by devstack to deploy OpenStack

> 
> Signed-off-by: Anthony PERARD <anthony.perard@citrix.com>
> ---
>  sg-run-job            |   5 +
>  ts-openstack-devstack | 304
> ++++++++++++++++++++++++++++++++++++++++++++++++++
>  2 files changed, 309 insertions(+)
>  create mode 100755 ts-openstack-devstack
> 
> diff --git a/sg-run-job b/sg-run-job
> index b7ab9e0..5320d62 100755
> --- a/sg-run-job
> +++ b/sg-run-job
> @@ -360,6 +360,11 @@ proc run-job/test-rumpuserxen {} {
>                   ts-guest-destroy-hard            host   $g   +
>  }
>  
> +proc need-hosts/test-devstack {} { return host }
> +proc run-job/test-devstack {} {
> +  run-ts . = ts-openstack-devstack

I think you need " host" at the end of this line, in order that it gets
passed to the script as an argument, don't you?

> +}
> +
>  #---------- builds ----------
>  
>  proc need-hosts/build {} { return BUILD }
> diff --git a/ts-openstack-devstack b/ts-openstack-devstack
> new file mode 100755
> index 0000000..8bcd322
> --- /dev/null
> +++ b/ts-openstack-devstack
> @@ -0,0 +1,304 @@
> 
[...]+
> +tsreadconfig();
> +our ($ho,$gho) = ts_get_host_guest(@ARGV);

I don't think you use $gho and sg-run-job doesn't pass one, so I think you
just need to use selecthost.

> [...]
> +  my $openstack_git_base = git_massage_url('git://git.openstack.org');
> [...]
> +GIT_BASE="$openstack_git_base"

Does this suggest that it might try and clone anything which it can't find
(i.e. which wasn't cloned by your list of clones), which would defeat the
purpose of controlling the trees.

If this auto-cloning is not desirable then perhaps GIT_BASE should be set
to some dummy value, "git://cache/this-shouldnt-exist" or some other bodge
perhaps?

I think you also need to call store_revision for each tree (including any
you don't explicitly clone here) at the end to record the actual versions
which were built.

> +disable_service horizon
> +disable_service n-novnc
> +enable_service n-obj
> +[[post-config|\$CINDER_CONF]]
> +[lvmdriver-1]
> +volume_group = $vg
> +END
> +
> +  # libvirt is already install, but not as a package, so avoid


"installed"

^ permalink raw reply	[flat|nested] 22+ messages in thread

* Re: [PATCH OSSTEST v2 5/6] ts-openstack-tempest: Run Tempest to check OpenStack
  2015-08-06 17:03 ` [PATCH OSSTEST v2 5/6] ts-openstack-tempest: Run Tempest to check OpenStack Anthony PERARD
@ 2015-09-08 13:06   ` Ian Campbell
  2015-09-25 13:04     ` Anthony PERARD
  0 siblings, 1 reply; 22+ messages in thread
From: Ian Campbell @ 2015-09-08 13:06 UTC (permalink / raw)
  To: Anthony PERARD, xen-devel; +Cc: Ian Jackson

On Thu, 2015-08-06 at 18:03 +0100, Anthony PERARD wrote:
> Signed-off-by: Anthony PERARD <anthony.perard@citrix.com>
> ---
>  sg-run-job           |  1 +
>  ts-openstack-tempest | 35 +++++++++++++++++++++++++++++++++++
>  2 files changed, 36 insertions(+)
>  create mode 100755 ts-openstack-tempest
> 
> diff --git a/sg-run-job b/sg-run-job
> index 5320d62..0b2184b 100755
> --- a/sg-run-job
> +++ b/sg-run-job
> @@ -363,6 +363,7 @@ proc run-job/test-rumpuserxen {} {
>  proc need-hosts/test-devstack {} { return host }
>  proc run-job/test-devstack {} {
>    run-ts . = ts-openstack-devstack
> +  run-ts . = ts-openstack-tempest

As before I think you need "host"
>  }
>  
>  #---------- builds ----------
> diff --git a/ts-openstack-tempest b/ts-openstack-tempest
> new file mode 100755
> index 0000000..2bc07c3
> --- /dev/null
> +++ b/ts-openstack-tempest
> @@ -0,0 +1,35 @@
> +#!/usr/bin/perl
> +# This is part of "osstest", an automated testing framework for Xen.
> +# Copyright (C) 2015 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 Osstest;
> +use Osstest::TestSupport;
> +use Osstest::BuildSupport;
> +
> +tsreadconfig();
> +our ($ho,$gho) = ts_get_host_guest(@ARGV);

And here like before just selecthost since you don't use $gho

> +builddirsprops();
> +
> +sub tempest() {
> +  # The regex is the default one + avoid the two tests know to not work
> +  # which are two variations of test_volume_boot_pattern.
> +  target_cmd($ho, <<END, 7200);
> +    $builddir/tempest/run_tempest.sh

Is $builddir here inherited from the previous script? I'm not sure how that
works?


>  -V -- --concurrency=2
> '(?!.*\\[.*\\bslow\\b.*\\]|.*test_volume_boot_pattern)(^tempest\\.(api|sc
> enario|thirdparty))'

I think think ought to at least be in a variable with a comment explaining
why each one is omitted.

It could go into a runvar, but I'm not too sure about that.


> +END
> +}
> +
> +tempest();

^ permalink raw reply	[flat|nested] 22+ messages in thread

* Re: [PATCH OSSTEST v2 6/6] Create a flight to test OpenStack with xen-unstable and libvirt
  2015-08-06 17:03 ` [PATCH OSSTEST v2 6/6] Create a flight to test OpenStack with xen-unstable and libvirt Anthony PERARD
@ 2015-09-08 13:14   ` Ian Campbell
  2015-09-25 13:10     ` Anthony PERARD
  0 siblings, 1 reply; 22+ messages in thread
From: Ian Campbell @ 2015-09-08 13:14 UTC (permalink / raw)
  To: Anthony PERARD, xen-devel; +Cc: Ian Jackson

On Thu, 2015-08-06 at 18:03 +0100, Anthony PERARD wrote:
> Signed-off-by: Anthony PERARD <anthony.perard@citrix.com>
> ---
>  ap-common            |  9 +++++++++
>  ap-fetch-version     |  4 ++++
>  ap-fetch-version-old |  5 +++++
>  ap-print-url         |  3 +++
>  cri-common           |  1 +
>  make-flight          | 42 +++++++++++++++++++++++++++++++++++++++++-
>  mfi-common           |  5 +++++
>  7 files changed, 68 insertions(+), 1 deletion(-)
> 
> diff --git a/ap-common b/ap-common
> index dfeab9e..40eda02 100644
> --- a/ap-common
> +++ b/ap-common
> @@ -57,6 +57,14 @@
>  : ${PUSH_TREE_OVMF:=$XENBITS:/home/xen/git/osstest/ovmf.git}
>  : ${BASE_TREE_OVMF:=git://xenbits.xen.org/osstest/ovmf.git}
>  
> +: ${TREE_DEVSTACK:=git://git.openstack.org/openstack-dev/devstack.git}
> +:
> ${TREE_OPENSTACK_REQUIREMENTS:=git://git.openstack.org/openstack/requirem
> ents.git}
> +: ${TREE_KEYSTONE:=git://git.openstack.org/openstack/keystone.git}
> +: ${TREE_GLANCE:=git://git.openstack.org/openstack/glance.git}
> +: ${TREE_CINDER:=git://git.openstack.org/openstack/cinder.git}
> +: ${TREE_NOVA:=git://git.openstack.org/openstack/nova.git}
> +: ${TREE_TEMPEST:=git://git.openstack.org/openstack/tempest.git}

Maybe these should all be TREE_OPENSTACK_FOO? And perhaps put git
://git.openstack.org/openstack/ into a variable (like $XENBITS or
$GIT_KERNEL_ORG)

> +
>  : ${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/f
> irmware/linux-firmware.git}
> @@ -84,6 +92,7 @@ fi
>  : ${LOCALREV_RUMPUSERXEN:=daily-cron.$branch}
>  : ${LOCALREV_SEABIOS:=daily-cron.$branch}
>  : ${LOCALREV_OVMF:=daily-cron.$branch}
> +: ${LOCALREV_DEVSTACK:=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 8b41acf..9aba511 100755
> --- a/ap-fetch-version
> +++ b/ap-fetch-version
> @@ -89,6 +89,10 @@ ovmf)
>  	repo_tree_rev_fetch_git ovmf \
>  		$TREE_OVMF_UPSTREAM master $LOCALREV_OVMF
>  	;;
> +openstack)
> +	repo_tree_rev_fetch_git devstack \
> +		$TREE_DEVSTACK master $LOCALREV_DEVSTACK
> +	;;
>  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 0b4739b..d12c753 100755
> --- a/ap-fetch-version-old
> +++ b/ap-fetch-version-old
> @@ -31,6 +31,7 @@ select_xenbranch
>  : ${BASE_LOCALREV_RUMPUSERXEN:=daily-cron.$branch.old}
>  : ${BASE_LOCALREV_SEABIOS:=daily-cron.$branch.old}
>  : ${BASE_LOCALREV_OVMF:=daily-cron.$branch.old}
> +: ${BASE_LOCALREV_DEVSTACK:=daily-cron.$branch.old}
>  
>  : ${BASE_TREE_QEMU_UPSTREAM:=${TREE_QEMU_UPSTREAM/\/staging\//\/}}
>  
> @@ -97,6 +98,10 @@ ovmf)
>  	repo_tree_rev_fetch_git ovmf \
>  		$BASE_TREE_OVMF xen-tested-master $BASE_LOCALREV_OVMF
>  	;;
> +openstack)
> +	repo_tree_rev_fetch_git devstack \
> +		$TREE_DEVSTACK master $BASE_LOCALREV_DEVSTACK

This one should be pulling from the gate output on xenbits not from
upstream. See e.g. BASE_TREE_OVMF.

Actually, I think you've missed the ap-push changes needed to populate that
tree, you need this in order to have a baseline.
 
>  if [ x$buildflight = x ]; then
> @@ -101,6 +108,20 @@ job_create_test_filter_callback () {
>          *) return 1;;
>        esac
>        ;;
> +    openstack)
> +      if [ x$toolstack != xlibvirt ] ; then return 1; fi
> +      case "$job" in
> +        test-*-libvirt*) return 1;;
> +      esac
> +      case $xenarch in
> +          amd64) ;;
> +          *) return 1;;
> +      esac
> +      case $dom0arch in
> +          amd64) ;;
> +          *) return 1;;
> +      esac
> +      ;;


Do you not want to only accept *-devstack here and reject everything else?

Otherwise don't you end up with various xl and HVM tests?

Ian.

^ permalink raw reply	[flat|nested] 22+ messages in thread

* Re: [PATCH OSSTEST v2 4/6] ts-openstack-devstack: Deploy OpenStack on a host
  2015-09-08 13:03   ` Ian Campbell
@ 2015-09-08 14:36     ` Ian Jackson
  2015-09-25 12:36       ` Anthony PERARD
  2015-09-25 12:35     ` Anthony PERARD
  1 sibling, 1 reply; 22+ messages in thread
From: Ian Jackson @ 2015-09-08 14:36 UTC (permalink / raw)
  To: Ian Campbell; +Cc: Anthony PERARD, Ian Jackson, xen-devel

Ian Campbell writes ("Re: [PATCH OSSTEST v2 4/6] ts-openstack-devstack: Deploy OpenStack on a host"):
> On Thu, 2015-08-06 at 18:03 +0100, Anthony PERARD wrote:
> > This script also install packages needed and clone every OpenStack trees to
> > be use by devstack to deploy OpenStack.
> 
> How about:
> 
> This script installs any necessary packages and clones all of the OpenStack
> trees which are used by devstack to deploy OpenStack

We normally call our scripts

  ts-nounphrase-verb[-adverbs]

AIUI `devstack' is a noun.  Does this script do a build, or an
install, or both ?  It's not quite clear to me but I think both.  If
so then perhaps

  ts-openstack-devstack-deploy

?

> > +tsreadconfig();
> > +our ($ho,$gho) = ts_get_host_guest(@ARGV);
> 
> I don't think you use $gho and sg-run-job doesn't pass one, so I think you
> just need to use selecthost.

Indeed.  Does this script even do anything with guests ?

> > +  my $openstack_git_base = git_massage_url('git://git.openstack.org');
> > [...]
> > +GIT_BASE="$openstack_git_base"
> 
> Does this suggest that it might try and clone anything which it can't find
> (i.e. which wasn't cloned by your list of clones), which would defeat the
> purpose of controlling the trees.

> I think you also need to call store_revision for each tree (including any
> you don't explicitly clone here) at the end to record the actual versions
> which were built.

Yes.

Ian.

^ permalink raw reply	[flat|nested] 22+ messages in thread

* Re: [PATCH OSSTEST v2 0/6] Have OpenStack tested on top of xen's master and libvirt's master.
  2015-08-06 17:03 [PATCH OSSTEST v2 0/6] Have OpenStack tested on top of xen's master and libvirt's master Anthony PERARD
                   ` (5 preceding siblings ...)
  2015-08-06 17:03 ` [PATCH OSSTEST v2 6/6] Create a flight to test OpenStack with xen-unstable and libvirt Anthony PERARD
@ 2015-09-09 16:13 ` Ian Campbell
  6 siblings, 0 replies; 22+ messages in thread
From: Ian Campbell @ 2015-09-09 16:13 UTC (permalink / raw)
  To: Anthony PERARD, xen-devel; +Cc: Ian Jackson

On Thu, 2015-08-06 at 18:03 +0100, Anthony PERARD wrote:

> Anthony PERARD (6):
>   ts-kernel-build: Enable CONFIG_NETFILTER_XT_TARGET_CHECKSUM
>   ts-kernel-build: Compile CONFIG_CRYPTO_XTS in
>   ts-xen-install: Add dom0_mem runvar to control dom0 memory

I stuck these 3 into osstest's pretest with the acks given.

>   ts-openstack-devstack: Deploy OpenStack on a host
>   ts-openstack-tempest: Run Tempest to check OpenStack
>   Create a flight to test OpenStack with xen-unstable and libvirt
> 
>  ap-common             |   9 ++
>  ap-fetch-version      |   4 +
>  ap-fetch-version-old  |   5 +
>  ap-print-url          |   3 +
>  cri-common            |   1 +
>  make-flight           |  42 ++++++-
>  mfi-common            |   5 +
>  sg-run-job            |   6 +
>  ts-kernel-build       |   8 ++
>  ts-openstack-devstack | 304
> ++++++++++++++++++++++++++++++++++++++++++++++++++
>  ts-openstack-tempest  |  35 ++++++
>  ts-xen-install        |   3 +-
>  12 files changed, 423 insertions(+), 2 deletions(-)
>  create mode 100755 ts-openstack-devstack
>  create mode 100755 ts-openstack-tempest
> 

^ permalink raw reply	[flat|nested] 22+ messages in thread

* Re: [PATCH OSSTEST v2 4/6] ts-openstack-devstack: Deploy OpenStack on a host
  2015-09-08 13:03   ` Ian Campbell
  2015-09-08 14:36     ` Ian Jackson
@ 2015-09-25 12:35     ` Anthony PERARD
  2015-09-25 12:45       ` Ian Campbell
  1 sibling, 1 reply; 22+ messages in thread
From: Anthony PERARD @ 2015-09-25 12:35 UTC (permalink / raw)
  To: Ian Campbell; +Cc: Ian Jackson, xen-devel

On Tue, Sep 08, 2015 at 02:03:59PM +0100, Ian Campbell wrote:
> On Thu, 2015-08-06 at 18:03 +0100, Anthony PERARD wrote:
> > This script also install packages needed and clone every OpenStack trees to
> > be use by devstack to deploy OpenStack.
> 
> How about:
> 
> This script installs any necessary packages and clones all of the OpenStack
> trees which are used by devstack to deploy OpenStack

Sounds better, I'll make the change.

> > 
> > Signed-off-by: Anthony PERARD <anthony.perard@citrix.com>
> > ---
> >  sg-run-job            |   5 +
> >  ts-openstack-devstack | 304
> > ++++++++++++++++++++++++++++++++++++++++++++++++++
> >  2 files changed, 309 insertions(+)
> >  create mode 100755 ts-openstack-devstack
> > 
> > diff --git a/sg-run-job b/sg-run-job
> > index b7ab9e0..5320d62 100755
> > --- a/sg-run-job
> > +++ b/sg-run-job
> > @@ -360,6 +360,11 @@ proc run-job/test-rumpuserxen {} {
> >                   ts-guest-destroy-hard            host   $g   +
> >  }
> >  
> > +proc need-hosts/test-devstack {} { return host }
> > +proc run-job/test-devstack {} {
> > +  run-ts . = ts-openstack-devstack
> 
> I think you need " host" at the end of this line, in order that it gets
> passed to the script as an argument, don't you?

I'll add host.

> > +}
> > +
> >  #---------- builds ----------
> >  
> >  proc need-hosts/build {} { return BUILD }
> > diff --git a/ts-openstack-devstack b/ts-openstack-devstack
> > new file mode 100755
> > index 0000000..8bcd322
> > --- /dev/null
> > +++ b/ts-openstack-devstack
> > @@ -0,0 +1,304 @@
> > 
> [...]+
> > +tsreadconfig();
> > +our ($ho,$gho) = ts_get_host_guest(@ARGV);
> 
> I don't think you use $gho and sg-run-job doesn't pass one, so I think you
> just need to use selecthost.

I'll make the change.

> > [...]
> > +  my $openstack_git_base = git_massage_url('git://git.openstack.org');
> > [...]
> > +GIT_BASE="$openstack_git_base"
> 
> Does this suggest that it might try and clone anything which it can't find
> (i.e. which wasn't cloned by your list of clones), which would defeat the
> purpose of controlling the trees.
> 
> If this auto-cloning is not desirable then perhaps GIT_BASE should be set
> to some dummy value, "git://cache/this-shouldnt-exist" or some other bodge
> perhaps?

devstack have ERROR_ON_CLONE=True which achieve the same purpose. I will
remove the GIT_BASE cfg option.

> I think you also need to call store_revision for each tree (including any
> you don't explicitly clone here) at the end to record the actual versions
> which were built.
> 
> > +disable_service horizon
> > +disable_service n-novnc
> > +enable_service n-obj
> > +[[post-config|\$CINDER_CONF]]
> > +[lvmdriver-1]
> > +volume_group = $vg
> > +END
> > +
> > +  # libvirt is already install, but not as a package, so avoid
> 
> 
> "installed"

Done.

-- 
Anthony PERARD

^ permalink raw reply	[flat|nested] 22+ messages in thread

* Re: [PATCH OSSTEST v2 4/6] ts-openstack-devstack: Deploy OpenStack on a host
  2015-09-08 14:36     ` Ian Jackson
@ 2015-09-25 12:36       ` Anthony PERARD
  0 siblings, 0 replies; 22+ messages in thread
From: Anthony PERARD @ 2015-09-25 12:36 UTC (permalink / raw)
  To: Ian Jackson; +Cc: Ian Campbell, xen-devel

On Tue, Sep 08, 2015 at 03:36:17PM +0100, Ian Jackson wrote:
> Ian Campbell writes ("Re: [PATCH OSSTEST v2 4/6] ts-openstack-devstack: Deploy OpenStack on a host"):
> > On Thu, 2015-08-06 at 18:03 +0100, Anthony PERARD wrote:
> > > This script also install packages needed and clone every OpenStack trees to
> > > be use by devstack to deploy OpenStack.
> > 
> > How about:
> > 
> > This script installs any necessary packages and clones all of the OpenStack
> > trees which are used by devstack to deploy OpenStack
> 
> We normally call our scripts
> 
>   ts-nounphrase-verb[-adverbs]
> 
> AIUI `devstack' is a noun.  Does this script do a build, or an
> install, or both ?  It's not quite clear to me but I think both.  If
> so then perhaps
> 
>   ts-openstack-devstack-deploy
> 
> ?

Sounds good, I'll rename the script.

-- 
Anthony PERARD

^ permalink raw reply	[flat|nested] 22+ messages in thread

* Re: [PATCH OSSTEST v2 4/6] ts-openstack-devstack: Deploy OpenStack on a host
  2015-09-25 12:35     ` Anthony PERARD
@ 2015-09-25 12:45       ` Ian Campbell
  0 siblings, 0 replies; 22+ messages in thread
From: Ian Campbell @ 2015-09-25 12:45 UTC (permalink / raw)
  To: Anthony PERARD; +Cc: Ian Jackson, xen-devel

On Fri, 2015-09-25 at 13:35 +0100, Anthony PERARD wrote:

> > > [...]
> > > +  my $openstack_git_base = git_massage_url('git://git.openstack.org');
> > > [...]
> > > +GIT_BASE="$openstack_git_base"
> > 
> > Does this suggest that it might try and clone anything which it can't find
> > (i.e. which wasn't cloned by your list of clones), which would defeat the
> > purpose of controlling the trees.
> > 
> > If this auto-cloning is not desirable then perhaps GIT_BASE should be set
> > to some dummy value, "git://cache/this-shouldnt-exist" or some other bodge
> > perhaps?
> 
> devstack have ERROR_ON_CLONE=True which achieve the same purpose. I will
> remove the GIT_BASE cfg option.

This option will cause it to fail if it tries to clone any tree which
doesn't already exist when it is run? In which case that sounds like what
we want, yes

^ permalink raw reply	[flat|nested] 22+ messages in thread

* Re: [PATCH OSSTEST v2 5/6] ts-openstack-tempest: Run Tempest to check OpenStack
  2015-09-08 13:06   ` Ian Campbell
@ 2015-09-25 13:04     ` Anthony PERARD
  2015-09-25 13:17       ` Ian Campbell
  0 siblings, 1 reply; 22+ messages in thread
From: Anthony PERARD @ 2015-09-25 13:04 UTC (permalink / raw)
  To: Ian Campbell; +Cc: Ian Jackson, xen-devel

On Tue, Sep 08, 2015 at 02:06:11PM +0100, Ian Campbell wrote:
> On Thu, 2015-08-06 at 18:03 +0100, Anthony PERARD wrote:
> > Signed-off-by: Anthony PERARD <anthony.perard@citrix.com>
> > ---
> >  sg-run-job           |  1 +
> >  ts-openstack-tempest | 35 +++++++++++++++++++++++++++++++++++
> >  2 files changed, 36 insertions(+)
> >  create mode 100755 ts-openstack-tempest
> > 
> > diff --git a/sg-run-job b/sg-run-job
> > index 5320d62..0b2184b 100755
> > --- a/sg-run-job
> > +++ b/sg-run-job
> > @@ -363,6 +363,7 @@ proc run-job/test-rumpuserxen {} {
> >  proc need-hosts/test-devstack {} { return host }
> >  proc run-job/test-devstack {} {
> >    run-ts . = ts-openstack-devstack
> > +  run-ts . = ts-openstack-tempest
> 
> As before I think you need "host"

OK.

> >  }
> >  
> >  #---------- builds ----------
> > diff --git a/ts-openstack-tempest b/ts-openstack-tempest
> > new file mode 100755
> > index 0000000..2bc07c3
> > --- /dev/null
> > +++ b/ts-openstack-tempest
> > @@ -0,0 +1,35 @@
> > +#!/usr/bin/perl
> > +# This is part of "osstest", an automated testing framework for Xen.
> > +# Copyright (C) 2015 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 Osstest;
> > +use Osstest::TestSupport;
> > +use Osstest::BuildSupport;
> > +
> > +tsreadconfig();
> > +our ($ho,$gho) = ts_get_host_guest(@ARGV);
> 
> And here like before just selecthost since you don't use $gho

Yes, I'll use selecthost.

> > +builddirsprops();
> > +
> > +sub tempest() {
> > +  # The regex is the default one + avoid the two tests know to not work
> > +  # which are two variations of test_volume_boot_pattern.
> > +  target_cmd($ho, <<END, 7200);
> > +    $builddir/tempest/run_tempest.sh
> 
> Is $builddir here inherited from the previous script? I'm not sure how that
> works?

I think the genereted $builddir end up been the same as in the previous
script, because it's generated based on the flight name and the job name.
Both script (ts-openstack-devstack-deploy and ts-openstack-tempest) are
part of the same jobs.

> >  -V -- --concurrency=2
> > '(?!.*\\[.*\\bslow\\b.*\\]|.*test_volume_boot_pattern)(^tempest\\.(api|sc
> > enario|thirdparty))'
> 
> I think think ought to at least be in a variable with a comment explaining
> why each one is omitted.

I'll add a comment, and put this in a variable.

> It could go into a runvar, but I'm not too sure about that.

I don't see a good use of the runvar right now. But it could maybe used to
bisect a single Tempest test, if that even possible. Anyway, I don't think
I want to try to use a runvar for that right now.

> > +END
> > +}
> > +
> > +tempest();

-- 
Anthony PERARD

^ permalink raw reply	[flat|nested] 22+ messages in thread

* Re: [PATCH OSSTEST v2 6/6] Create a flight to test OpenStack with xen-unstable and libvirt
  2015-09-08 13:14   ` Ian Campbell
@ 2015-09-25 13:10     ` Anthony PERARD
  0 siblings, 0 replies; 22+ messages in thread
From: Anthony PERARD @ 2015-09-25 13:10 UTC (permalink / raw)
  To: Ian Campbell; +Cc: Ian Jackson, xen-devel

On Tue, Sep 08, 2015 at 02:14:27PM +0100, Ian Campbell wrote:
> On Thu, 2015-08-06 at 18:03 +0100, Anthony PERARD wrote:
> > Signed-off-by: Anthony PERARD <anthony.perard@citrix.com>
> > ---
> >  ap-common            |  9 +++++++++
> >  ap-fetch-version     |  4 ++++
> >  ap-fetch-version-old |  5 +++++
> >  ap-print-url         |  3 +++
> >  cri-common           |  1 +
> >  make-flight          | 42 +++++++++++++++++++++++++++++++++++++++++-
> >  mfi-common           |  5 +++++
> >  7 files changed, 68 insertions(+), 1 deletion(-)
> > 
> > diff --git a/ap-common b/ap-common
> > index dfeab9e..40eda02 100644
> > --- a/ap-common
> > +++ b/ap-common
> > @@ -57,6 +57,14 @@
> >  : ${PUSH_TREE_OVMF:=$XENBITS:/home/xen/git/osstest/ovmf.git}
> >  : ${BASE_TREE_OVMF:=git://xenbits.xen.org/osstest/ovmf.git}
> >  
> > +: ${TREE_DEVSTACK:=git://git.openstack.org/openstack-dev/devstack.git}
> > +:
> > ${TREE_OPENSTACK_REQUIREMENTS:=git://git.openstack.org/openstack/requirem
> > ents.git}
> > +: ${TREE_KEYSTONE:=git://git.openstack.org/openstack/keystone.git}
> > +: ${TREE_GLANCE:=git://git.openstack.org/openstack/glance.git}
> > +: ${TREE_CINDER:=git://git.openstack.org/openstack/cinder.git}
> > +: ${TREE_NOVA:=git://git.openstack.org/openstack/nova.git}
> > +: ${TREE_TEMPEST:=git://git.openstack.org/openstack/tempest.git}
> 
> Maybe these should all be TREE_OPENSTACK_FOO? And perhaps put git
> ://git.openstack.org/openstack/ into a variable (like $XENBITS or
> $GIT_KERNEL_ORG)

I'll do that.

> > +
> >  : ${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/f
> > irmware/linux-firmware.git}
> > @@ -84,6 +92,7 @@ fi
> >  : ${LOCALREV_RUMPUSERXEN:=daily-cron.$branch}
> >  : ${LOCALREV_SEABIOS:=daily-cron.$branch}
> >  : ${LOCALREV_OVMF:=daily-cron.$branch}
> > +: ${LOCALREV_DEVSTACK:=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 8b41acf..9aba511 100755
> > --- a/ap-fetch-version
> > +++ b/ap-fetch-version
> > @@ -89,6 +89,10 @@ ovmf)
> >  	repo_tree_rev_fetch_git ovmf \
> >  		$TREE_OVMF_UPSTREAM master $LOCALREV_OVMF
> >  	;;
> > +openstack)
> > +	repo_tree_rev_fetch_git devstack \
> > +		$TREE_DEVSTACK master $LOCALREV_DEVSTACK
> > +	;;
> >  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 0b4739b..d12c753 100755
> > --- a/ap-fetch-version-old
> > +++ b/ap-fetch-version-old
> > @@ -31,6 +31,7 @@ select_xenbranch
> >  : ${BASE_LOCALREV_RUMPUSERXEN:=daily-cron.$branch.old}
> >  : ${BASE_LOCALREV_SEABIOS:=daily-cron.$branch.old}
> >  : ${BASE_LOCALREV_OVMF:=daily-cron.$branch.old}
> > +: ${BASE_LOCALREV_DEVSTACK:=daily-cron.$branch.old}
> >  
> >  : ${BASE_TREE_QEMU_UPSTREAM:=${TREE_QEMU_UPSTREAM/\/staging\//\/}}
> >  
> > @@ -97,6 +98,10 @@ ovmf)
> >  	repo_tree_rev_fetch_git ovmf \
> >  		$BASE_TREE_OVMF xen-tested-master $BASE_LOCALREV_OVMF
> >  	;;
> > +openstack)
> > +	repo_tree_rev_fetch_git devstack \
> > +		$TREE_DEVSTACK master $BASE_LOCALREV_DEVSTACK
> 
> This one should be pulling from the gate output on xenbits not from
> upstream. See e.g. BASE_TREE_OVMF.

OK.

> Actually, I think you've missed the ap-push changes needed to populate that
> tree, you need this in order to have a baseline.

I'll try to change ap-push.

> >  if [ x$buildflight = x ]; then
> > @@ -101,6 +108,20 @@ job_create_test_filter_callback () {
> >          *) return 1;;
> >        esac
> >        ;;
> > +    openstack)
> > +      if [ x$toolstack != xlibvirt ] ; then return 1; fi
> > +      case "$job" in
> > +        test-*-libvirt*) return 1;;
> > +      esac
> > +      case $xenarch in
> > +          amd64) ;;
> > +          *) return 1;;
> > +      esac
> > +      case $dom0arch in
> > +          amd64) ;;
> > +          *) return 1;;
> > +      esac
> > +      ;;
> 
> 
> Do you not want to only accept *-devstack here and reject everything else?

Yes, that's probably going to be more simple. I'll see if I can change
that.

> Otherwise don't you end up with various xl and HVM tests?

No, I managed to only have the few jobs needed. I've check by running
./standalone make-flight openstack, and checking the content of the
database.

-- 
Anthony PERARD

^ permalink raw reply	[flat|nested] 22+ messages in thread

* Re: [PATCH OSSTEST v2 5/6] ts-openstack-tempest: Run Tempest to check OpenStack
  2015-09-25 13:04     ` Anthony PERARD
@ 2015-09-25 13:17       ` Ian Campbell
  2015-09-25 13:54         ` Ian Jackson
  0 siblings, 1 reply; 22+ messages in thread
From: Ian Campbell @ 2015-09-25 13:17 UTC (permalink / raw)
  To: Anthony PERARD; +Cc: Ian Jackson, xen-devel

On Fri, 2015-09-25 at 14:04 +0100, Anthony PERARD wrote:
> > > +
> > > +sub tempest() {
> > > +  # The regex is the default one + avoid the two tests know to not work
> > > +  # which are two variations of test_volume_boot_pattern.
> > > +  target_cmd($ho, <
> > > +    $builddir/tempest/run_tempest.sh
> > 
> > Is $builddir here inherited from the previous script? I'm not sure how that
> > works?
> 
> I think the genereted $builddir end up been the same as in the previous
> script, because it's generated based on the flight name and the job name.
> Both script (ts-openstack-devstack-deploy and ts-openstack-tempest) are
> part of the same jobs.

I think all current build jobs happen to only have a single step which
actually does the build.

So I'm not sure if this is deliberate or not. Ian?

Ian.

> 
> > >  -V -- --concurrency=2
> > > '(?!.*\\[.*\\bslow\\b.*\\]|.*test_volume_boot_pattern)(^tempest\\.(ap
> > > i|sc
> > > enario|thirdparty))'
> > 
> > I think think ought to at least be in a variable with a comment
> > explaining
> > why each one is omitted.
> 
> I'll add a comment, and put this in a variable.
> 
> > It could go into a runvar, but I'm not too sure about that.
> 
> I don't see a good use of the runvar right now. But it could maybe used
> to
> bisect a single Tempest test, if that even possible. Anyway, I don't
> think
> I want to try to use a runvar for that right now.
> 
> > > +END
> > > +}
> > > +
> > > +tempest();
> 

^ permalink raw reply	[flat|nested] 22+ messages in thread

* Re: [PATCH OSSTEST v2 5/6] ts-openstack-tempest: Run Tempest to check OpenStack
  2015-09-25 13:17       ` Ian Campbell
@ 2015-09-25 13:54         ` Ian Jackson
  0 siblings, 0 replies; 22+ messages in thread
From: Ian Jackson @ 2015-09-25 13:54 UTC (permalink / raw)
  To: Ian Campbell; +Cc: Anthony PERARD, xen-devel

Ian Campbell writes ("Re: [PATCH OSSTEST v2 5/6] ts-openstack-tempest: Run Tempest to check OpenStack"):
> On Fri, 2015-09-25 at 14:04 +0100, Anthony PERARD wrote:
> > I think the genereted $builddir end up been the same as in the previous
> > script, because it's generated based on the flight name and the job name.
> > Both script (ts-openstack-devstack-deploy and ts-openstack-tempest) are
> > part of the same jobs.
> 
> I think all current build jobs happen to only have a single step which
> actually does the build.
> 
> So I'm not sure if this is deliberate or not. Ian?

It is fine for different steps in the same job to rely on the
existence of paths on the build host.  The job retains ownership of
its share of the host.

And in principle there is nothing wrong with them `just knowing' the
shared paths.

It might be worthwhile adding a comment, or perhaps passing the
information in a runvar (which would make it easier to make jobs with
different plumbing of the pieces).

Ian.

^ permalink raw reply	[flat|nested] 22+ messages in thread

end of thread, other threads:[~2015-09-25 13:54 UTC | newest]

Thread overview: 22+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2015-08-06 17:03 [PATCH OSSTEST v2 0/6] Have OpenStack tested on top of xen's master and libvirt's master Anthony PERARD
2015-08-06 17:03 ` [PATCH OSSTEST v2 1/6] ts-kernel-build: Enable CONFIG_NETFILTER_XT_TARGET_CHECKSUM Anthony PERARD
2015-08-06 17:03 ` [PATCH OSSTEST v2 2/6] ts-kernel-build: Compile CONFIG_CRYPTO_XTS in Anthony PERARD
2015-09-08 11:45   ` Ian Campbell
2015-08-06 17:03 ` [PATCH OSSTEST v2 3/6] ts-xen-install: Add dom0_mem runvar to control dom0 memory Anthony PERARD
2015-09-08 11:48   ` Ian Campbell
2015-09-08 12:52     ` Ian Campbell
2015-08-06 17:03 ` [PATCH OSSTEST v2 4/6] ts-openstack-devstack: Deploy OpenStack on a host Anthony PERARD
2015-09-08 13:03   ` Ian Campbell
2015-09-08 14:36     ` Ian Jackson
2015-09-25 12:36       ` Anthony PERARD
2015-09-25 12:35     ` Anthony PERARD
2015-09-25 12:45       ` Ian Campbell
2015-08-06 17:03 ` [PATCH OSSTEST v2 5/6] ts-openstack-tempest: Run Tempest to check OpenStack Anthony PERARD
2015-09-08 13:06   ` Ian Campbell
2015-09-25 13:04     ` Anthony PERARD
2015-09-25 13:17       ` Ian Campbell
2015-09-25 13:54         ` Ian Jackson
2015-08-06 17:03 ` [PATCH OSSTEST v2 6/6] Create a flight to test OpenStack with xen-unstable and libvirt Anthony PERARD
2015-09-08 13:14   ` Ian Campbell
2015-09-25 13:10     ` Anthony PERARD
2015-09-09 16:13 ` [PATCH OSSTEST v2 0/6] Have OpenStack tested on top of xen's master and libvirt's master Ian Campbell

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.