All of lore.kernel.org
 help / color / mirror / Atom feed
* [Qemu-devel] [PATCH 0/9] docker: SHOW_ENV and terminate improvements
@ 2016-09-21  3:49 Fam Zheng
  2016-09-21  3:49 ` [Qemu-devel] [PATCH 1/9] docker: Generate /packages.txt in centos6 image Fam Zheng
                   ` (8 more replies)
  0 siblings, 9 replies; 19+ messages in thread
From: Fam Zheng @ 2016-09-21  3:49 UTC (permalink / raw)
  To: qemu-devel; +Cc: Alex Bennée, Fam Zheng, Daniel P. Berrange

The first patches add a new feature that if SHOW_ENV is set when running a
test, (explicitly installed) package list and env vars will be printed.

The last pactches (hopefully) improves termination of docker instance, so that
in a patchew tester env, building and testing procecess (that lies under docker
daemon process instead of the make process) can be stopped more reliably, when
the patchew tester terminates the make process.

Fam Zheng (9):
  docker: Generate /packages.txt in centos6 image
  docker: Generate /packages.txt in fedora image
  docker: Generate /packages.txt in ubuntu image
  docker: Update fedora image to latest
  docker: Flatten default target list in test-quick
  docker: Print used options before doing configure
  docker: Support showing environment information
  docker: Terminate instances at SIGTERM and SIGHUP
  docker: exec $CMD

 tests/docker/Makefile.include           |  2 +-
 tests/docker/common.rc                  | 14 ++++++++------
 tests/docker/docker.py                  |  5 ++++-
 tests/docker/dockerfiles/centos6.docker |  6 ++++--
 tests/docker/dockerfiles/fedora.docker  | 16 +++++++++++++---
 tests/docker/dockerfiles/ubuntu.docker  |  4 +++-
 tests/docker/run                        | 26 ++++++++++++++++++++------
 tests/docker/test-quick                 |  2 +-
 8 files changed, 54 insertions(+), 21 deletions(-)

-- 
2.7.4

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

* [Qemu-devel] [PATCH 1/9] docker: Generate /packages.txt in centos6 image
  2016-09-21  3:49 [Qemu-devel] [PATCH 0/9] docker: SHOW_ENV and terminate improvements Fam Zheng
@ 2016-09-21  3:49 ` Fam Zheng
  2016-09-21  8:37   ` Daniel P. Berrange
  2016-09-21  3:49 ` [Qemu-devel] [PATCH 2/9] docker: Generate /packages.txt in fedora image Fam Zheng
                   ` (7 subsequent siblings)
  8 siblings, 1 reply; 19+ messages in thread
From: Fam Zheng @ 2016-09-21  3:49 UTC (permalink / raw)
  To: qemu-devel; +Cc: Alex Bennée, Fam Zheng, Daniel P. Berrange

Put the list of package names in an environment, and output their
package names to the target file in the end.

Signed-off-by: Fam Zheng <famz@redhat.com>
---
 tests/docker/dockerfiles/centos6.docker | 6 ++++--
 1 file changed, 4 insertions(+), 2 deletions(-)

diff --git a/tests/docker/dockerfiles/centos6.docker b/tests/docker/dockerfiles/centos6.docker
index 8f4fe46..34e0d3b 100644
--- a/tests/docker/dockerfiles/centos6.docker
+++ b/tests/docker/dockerfiles/centos6.docker
@@ -1,6 +1,8 @@
 FROM centos:6
-RUN yum install -y \
+RUN yum install -y epel-release
+ENV PACKAGES libfdt-devel ccache \
     tar git make gcc g++ \
     zlib-devel glib2-devel SDL-devel pixman-devel \
     epel-release
-RUN yum install -y libfdt-devel ccache
+RUN yum install -y $PACKAGES
+RUN rpm -q $PACKAGES | sort > /packages.txt
-- 
2.7.4

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

* [Qemu-devel] [PATCH 2/9] docker: Generate /packages.txt in fedora image
  2016-09-21  3:49 [Qemu-devel] [PATCH 0/9] docker: SHOW_ENV and terminate improvements Fam Zheng
  2016-09-21  3:49 ` [Qemu-devel] [PATCH 1/9] docker: Generate /packages.txt in centos6 image Fam Zheng
@ 2016-09-21  3:49 ` Fam Zheng
  2016-09-21  8:38   ` Daniel P. Berrange
  2016-09-21  3:49 ` [Qemu-devel] [PATCH 3/9] docker: Generate /packages.txt in ubuntu image Fam Zheng
                   ` (6 subsequent siblings)
  8 siblings, 1 reply; 19+ messages in thread
From: Fam Zheng @ 2016-09-21  3:49 UTC (permalink / raw)
  To: qemu-devel; +Cc: Alex Bennée, Fam Zheng, Daniel P. Berrange

Put the list of package names in an environment, and output their
package names to the target file in the end.

Signed-off-by: Fam Zheng <famz@redhat.com>
---
 tests/docker/dockerfiles/fedora.docker | 14 ++++++++++++--
 1 file changed, 12 insertions(+), 2 deletions(-)

diff --git a/tests/docker/dockerfiles/fedora.docker b/tests/docker/dockerfiles/fedora.docker
index 1d26a8e..b414e88 100644
--- a/tests/docker/dockerfiles/fedora.docker
+++ b/tests/docker/dockerfiles/fedora.docker
@@ -1,7 +1,17 @@
 FROM fedora:23
-RUN dnf install -y \
+ENV PACKAGES \
     ccache git tar PyYAML sparse flex bison \
     glib2-devel pixman-devel zlib-devel SDL-devel libfdt-devel \
     gcc gcc-c++ clang make perl which bc findutils \
-    mingw{32,64}-{pixman,glib2,gmp,SDL,pkg-config,gtk2,gtk3,gnutls,nettle,libtasn1,libjpeg-turbo,libpng,curl,libssh2,bzip2}
+    mingw32-pixman mingw32-glib2 mingw32-gmp mingw32-SDL mingw32-pkg-config \
+    mingw32-gtk2 mingw32-gtk3 mingw32-gnutls mingw32-nettle mingw32-libtasn1 \
+    mingw32-libjpeg-turbo mingw32-libpng mingw32-curl mingw32-libssh2 \
+    mingw32-bzip2 \
+    mingw64-pixman mingw64-glib2 mingw64-gmp mingw64-SDL mingw64-pkg-config \
+    mingw64-gtk2 mingw64-gtk3 mingw64-gnutls mingw64-nettle mingw64-libtasn1 \
+    mingw64-libjpeg-turbo mingw64-libpng mingw64-curl mingw64-libssh2 \
+    mingw64-bzip2
+
+RUN dnf install -y $PACKAGES
+RUN rpm -q $PACKAGES | sort > /packages.txt
 ENV FEATURES mingw clang pyyaml
-- 
2.7.4

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

* [Qemu-devel] [PATCH 3/9] docker: Generate /packages.txt in ubuntu image
  2016-09-21  3:49 [Qemu-devel] [PATCH 0/9] docker: SHOW_ENV and terminate improvements Fam Zheng
  2016-09-21  3:49 ` [Qemu-devel] [PATCH 1/9] docker: Generate /packages.txt in centos6 image Fam Zheng
  2016-09-21  3:49 ` [Qemu-devel] [PATCH 2/9] docker: Generate /packages.txt in fedora image Fam Zheng
@ 2016-09-21  3:49 ` Fam Zheng
  2016-09-21  8:39   ` Daniel P. Berrange
  2016-09-21  3:49 ` [Qemu-devel] [PATCH 4/9] docker: Update fedora image to latest Fam Zheng
                   ` (5 subsequent siblings)
  8 siblings, 1 reply; 19+ messages in thread
From: Fam Zheng @ 2016-09-21  3:49 UTC (permalink / raw)
  To: qemu-devel; +Cc: Alex Bennée, Fam Zheng, Daniel P. Berrange

Put the list of package names in an environment, and output their
package names to the target file in the end.

Signed-off-by: Fam Zheng <famz@redhat.com>
---
 tests/docker/dockerfiles/ubuntu.docker | 4 +++-
 1 file changed, 3 insertions(+), 1 deletion(-)

diff --git a/tests/docker/dockerfiles/ubuntu.docker b/tests/docker/dockerfiles/ubuntu.docker
index a8b88c3..a360a05 100644
--- a/tests/docker/dockerfiles/ubuntu.docker
+++ b/tests/docker/dockerfiles/ubuntu.docker
@@ -2,10 +2,12 @@ FROM ubuntu:14.04
 RUN echo "deb http://archive.ubuntu.com/ubuntu/ trusty universe multiverse" >> \
     /etc/apt/sources.list
 RUN apt-get update
-RUN apt-get -y install flex bison \
+ENV PACKAGES flex bison \
     libusb-1.0-0-dev libiscsi-dev librados-dev libncurses5-dev \
     libseccomp-dev libgnutls-dev libssh2-1-dev  libspice-server-dev \
     libspice-protocol-dev libnss3-dev libfdt-dev \
     libgtk-3-dev libvte-2.90-dev libsdl1.2-dev libpng12-dev libpixman-1-dev \
     git make ccache python-yaml gcc clang sparse
+RUN apt-get -y install $PACKAGES
+RUN dpkg -l $PACKAGES | sort > /packages.txt
 ENV FEATURES clang pyyaml
-- 
2.7.4

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

* [Qemu-devel] [PATCH 4/9] docker: Update fedora image to latest
  2016-09-21  3:49 [Qemu-devel] [PATCH 0/9] docker: SHOW_ENV and terminate improvements Fam Zheng
                   ` (2 preceding siblings ...)
  2016-09-21  3:49 ` [Qemu-devel] [PATCH 3/9] docker: Generate /packages.txt in ubuntu image Fam Zheng
@ 2016-09-21  3:49 ` Fam Zheng
  2016-09-21  8:39   ` Daniel P. Berrange
  2016-09-21  3:49 ` [Qemu-devel] [PATCH 5/9] docker: Flatten default target list in test-quick Fam Zheng
                   ` (4 subsequent siblings)
  8 siblings, 1 reply; 19+ messages in thread
From: Fam Zheng @ 2016-09-21  3:49 UTC (permalink / raw)
  To: qemu-devel; +Cc: Alex Bennée, Fam Zheng, Daniel P. Berrange

Now that 23 is becoming an "old" release with 24 available. Fedora has a
quick release cycle, so use latest to follow more closely.

Signed-off-by: Fam Zheng <famz@redhat.com>
---
 tests/docker/dockerfiles/fedora.docker | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/tests/docker/dockerfiles/fedora.docker b/tests/docker/dockerfiles/fedora.docker
index b414e88..478163b 100644
--- a/tests/docker/dockerfiles/fedora.docker
+++ b/tests/docker/dockerfiles/fedora.docker
@@ -1,4 +1,4 @@
-FROM fedora:23
+FROM fedora:latest
 ENV PACKAGES \
     ccache git tar PyYAML sparse flex bison \
     glib2-devel pixman-devel zlib-devel SDL-devel libfdt-devel \
-- 
2.7.4

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

* [Qemu-devel] [PATCH 5/9] docker: Flatten default target list in test-quick
  2016-09-21  3:49 [Qemu-devel] [PATCH 0/9] docker: SHOW_ENV and terminate improvements Fam Zheng
                   ` (3 preceding siblings ...)
  2016-09-21  3:49 ` [Qemu-devel] [PATCH 4/9] docker: Update fedora image to latest Fam Zheng
@ 2016-09-21  3:49 ` Fam Zheng
  2016-09-21  8:40   ` Daniel P. Berrange
  2016-09-21  3:49 ` [Qemu-devel] [PATCH 6/9] docker: Print used options before doing configure Fam Zheng
                   ` (3 subsequent siblings)
  8 siblings, 1 reply; 19+ messages in thread
From: Fam Zheng @ 2016-09-21  3:49 UTC (permalink / raw)
  To: qemu-devel; +Cc: Alex Bennée, Fam Zheng, Daniel P. Berrange

Previously it is expanded to a whitespace separated list which is not
the most appropriate format. Since it's only two items, flatten it.

Signed-off-by: Fam Zheng <famz@redhat.com>
---
 tests/docker/test-quick | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/tests/docker/test-quick b/tests/docker/test-quick
index 07cdc59..7885dfa 100755
--- a/tests/docker/test-quick
+++ b/tests/docker/test-quick
@@ -13,7 +13,7 @@
 
 . common.rc
 
-DEF_TARGET_LIST="$(echo {x86_64,aarch64}-softmmu)"
+DEF_TARGET_LIST="x86_64-softmmu,aarch64-softmmu"
 TARGET_LIST=${TARGET_LIST:-$DEF_TARGET_LIST} \
 build_qemu
 make check $MAKEFLAGS
-- 
2.7.4

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

* [Qemu-devel] [PATCH 6/9] docker: Print used options before doing configure
  2016-09-21  3:49 [Qemu-devel] [PATCH 0/9] docker: SHOW_ENV and terminate improvements Fam Zheng
                   ` (4 preceding siblings ...)
  2016-09-21  3:49 ` [Qemu-devel] [PATCH 5/9] docker: Flatten default target list in test-quick Fam Zheng
@ 2016-09-21  3:49 ` Fam Zheng
  2016-09-21  8:41   ` Daniel P. Berrange
  2016-09-21  3:49 ` [Qemu-devel] [PATCH 7/9] docker: Support showing environment information Fam Zheng
                   ` (2 subsequent siblings)
  8 siblings, 1 reply; 19+ messages in thread
From: Fam Zheng @ 2016-09-21  3:49 UTC (permalink / raw)
  To: qemu-devel; +Cc: Alex Bennée, Fam Zheng, Daniel P. Berrange

This makes the configure command more obvious which usually has useful
information.

Signed-off-by: Fam Zheng <famz@redhat.com>
---
 tests/docker/common.rc | 14 ++++++++------
 1 file changed, 8 insertions(+), 6 deletions(-)

diff --git a/tests/docker/common.rc b/tests/docker/common.rc
index 0c6d8d5..510a3ad 100755
--- a/tests/docker/common.rc
+++ b/tests/docker/common.rc
@@ -23,11 +23,13 @@ requires()
 
 build_qemu()
 {
-    $QEMU_SRC/configure \
-        --enable-werror \
-        ${TARGET_LIST:+"--target-list=${TARGET_LIST}"} \
-        --prefix="$PWD/install" \
-        $EXTRA_CONFIGURE_OPTS \
-        "$@"
+    config_opts="--enable-werror \
+                 ${TARGET_LIST:+--target-list=${TARGET_LIST}} \
+                 --prefix=$PWD/install \
+                 $EXTRA_CONFIGURE_OPTS \
+                 $@"
+    echo "Configure options:"
+    echo $config_opts
+    $QEMU_SRC/configure $config_opts
     make $MAKEFLAGS
 }
-- 
2.7.4

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

* [Qemu-devel] [PATCH 7/9] docker: Support showing environment information
  2016-09-21  3:49 [Qemu-devel] [PATCH 0/9] docker: SHOW_ENV and terminate improvements Fam Zheng
                   ` (5 preceding siblings ...)
  2016-09-21  3:49 ` [Qemu-devel] [PATCH 6/9] docker: Print used options before doing configure Fam Zheng
@ 2016-09-21  3:49 ` Fam Zheng
  2016-09-21  8:42   ` Daniel P. Berrange
  2016-09-21  3:49 ` [Qemu-devel] [PATCH 8/9] docker: Terminate instances at SIGTERM and SIGHUP Fam Zheng
  2016-09-21  3:49 ` [Qemu-devel] [PATCH 9/9] docker: exec $CMD Fam Zheng
  8 siblings, 1 reply; 19+ messages in thread
From: Fam Zheng @ 2016-09-21  3:49 UTC (permalink / raw)
  To: qemu-devel; +Cc: Alex Bennée, Fam Zheng, Daniel P. Berrange

Add a make variable SHOW_ENV. When it's set to non empty, print the
package information and environment variables.

Signed-off-by: Fam Zheng <famz@redhat.com>
---
 tests/docker/Makefile.include |  2 +-
 tests/docker/run              | 11 +++++++++++
 2 files changed, 12 insertions(+), 1 deletion(-)

diff --git a/tests/docker/Makefile.include b/tests/docker/Makefile.include
index 19d4cc7..2fcc3c6 100644
--- a/tests/docker/Makefile.include
+++ b/tests/docker/Makefile.include
@@ -117,7 +117,7 @@ docker-run-%: docker-qemu-src
 				$(if $(DEBUG),-i,--net=none) \
 				-e TARGET_LIST=$(TARGET_LIST) \
 				-e EXTRA_CONFIGURE_OPTS=$(EXTRA_CONFIGURE_OPTS) \
-				-e V=$V -e J=$J -e DEBUG=$(DEBUG)\
+				-e V=$V -e J=$J -e DEBUG=$(DEBUG) -e SHOW_ENV=$(SHOW_ENV)\
 				-e CCACHE_DIR=/var/tmp/ccache \
 				-v $$(readlink -e $(DOCKER_SRC_COPY)):/var/tmp/qemu:z$(COMMA)ro \
 				-v $(DOCKER_CCACHE_DIR):/var/tmp/ccache:z \
diff --git a/tests/docker/run b/tests/docker/run
index d85d49a..ed7dd31 100755
--- a/tests/docker/run
+++ b/tests/docker/run
@@ -40,6 +40,17 @@ for p in dtc pixman; do
     fi
 done
 
+if test -n "$SHOW_ENV"; then
+    if test -f /packages.txt; then
+        echo "Packages installed:"
+        cat /packages.txt
+        echo
+    fi
+    echo "Environment variables:"
+    env
+    echo
+fi
+
 export QEMU_SRC="$TEST_DIR/src"
 
 cd "$QEMU_SRC/tests/docker"
-- 
2.7.4

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

* [Qemu-devel] [PATCH 8/9] docker: Terminate instances at SIGTERM and SIGHUP
  2016-09-21  3:49 [Qemu-devel] [PATCH 0/9] docker: SHOW_ENV and terminate improvements Fam Zheng
                   ` (6 preceding siblings ...)
  2016-09-21  3:49 ` [Qemu-devel] [PATCH 7/9] docker: Support showing environment information Fam Zheng
@ 2016-09-21  3:49 ` Fam Zheng
  2016-09-21  8:42   ` Daniel P. Berrange
  2016-09-21  3:49 ` [Qemu-devel] [PATCH 9/9] docker: exec $CMD Fam Zheng
  8 siblings, 1 reply; 19+ messages in thread
From: Fam Zheng @ 2016-09-21  3:49 UTC (permalink / raw)
  To: qemu-devel; +Cc: Alex Bennée, Fam Zheng, Daniel P. Berrange

Signed-off-by: Fam Zheng <famz@redhat.com>
---
 tests/docker/docker.py | 5 ++++-
 1 file changed, 4 insertions(+), 1 deletion(-)

diff --git a/tests/docker/docker.py b/tests/docker/docker.py
index b85c165..552608e 100755
--- a/tests/docker/docker.py
+++ b/tests/docker/docker.py
@@ -21,6 +21,7 @@ import uuid
 import argparse
 import tempfile
 import re
+import signal
 from tarfile import TarFile, TarInfo
 from StringIO import StringIO
 from shutil import copy, rmtree
@@ -98,6 +99,8 @@ class Docker(object):
         self._command = _guess_docker_command()
         self._instances = []
         atexit.register(self._kill_instances)
+        signal.signal(signal.SIGTERM, self._kill_instances)
+        signal.signal(signal.SIGHUP, self._kill_instances)
 
     def _do(self, cmd, quiet=True, infile=None, **kwargs):
         if quiet:
@@ -130,7 +133,7 @@ class Docker(object):
         self._do_kill_instances(False, False)
         return 0
 
-    def _kill_instances(self):
+    def _kill_instances(self, *args, **kwargs):
         return self._do_kill_instances(True)
 
     def _output(self, cmd, **kwargs):
-- 
2.7.4

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

* [Qemu-devel] [PATCH 9/9] docker: exec $CMD
  2016-09-21  3:49 [Qemu-devel] [PATCH 0/9] docker: SHOW_ENV and terminate improvements Fam Zheng
                   ` (7 preceding siblings ...)
  2016-09-21  3:49 ` [Qemu-devel] [PATCH 8/9] docker: Terminate instances at SIGTERM and SIGHUP Fam Zheng
@ 2016-09-21  3:49 ` Fam Zheng
  2016-09-21  8:43   ` Daniel P. Berrange
  8 siblings, 1 reply; 19+ messages in thread
From: Fam Zheng @ 2016-09-21  3:49 UTC (permalink / raw)
  To: qemu-devel; +Cc: Alex Bennée, Fam Zheng, Daniel P. Berrange

This is the last command to run (unless DEBUG), make it 'exec' to
simplify the process tree.

Signed-off-by: Fam Zheng <famz@redhat.com>
---
 tests/docker/run | 15 +++++++++------
 1 file changed, 9 insertions(+), 6 deletions(-)

diff --git a/tests/docker/run b/tests/docker/run
index ed7dd31..c1e4513 100755
--- a/tests/docker/run
+++ b/tests/docker/run
@@ -57,14 +57,17 @@ cd "$QEMU_SRC/tests/docker"
 
 CMD="$QEMU_SRC/tests/docker/$@"
 
-if test -n "$DEBUG"; then
-    echo "* Prepared to run command:"
-    echo "  $CMD"
-    echo "* Hit Ctrl-D to continue, or type 'exit 1' to abort"
-    echo
-    $SHELL
+if test -z "$DEBUG"; then
+    exec $CMD
 fi
 
+# DEBUG workflow
+echo "* Prepared to run command:"
+echo "  $CMD"
+echo "* Hit Ctrl-D to continue, or type 'exit 1' to abort"
+echo
+$SHELL
+
 if "$CMD"; then
     exit 0
 elif test -n "$DEBUG"; then
-- 
2.7.4

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

* Re: [Qemu-devel] [PATCH 1/9] docker: Generate /packages.txt in centos6 image
  2016-09-21  3:49 ` [Qemu-devel] [PATCH 1/9] docker: Generate /packages.txt in centos6 image Fam Zheng
@ 2016-09-21  8:37   ` Daniel P. Berrange
  0 siblings, 0 replies; 19+ messages in thread
From: Daniel P. Berrange @ 2016-09-21  8:37 UTC (permalink / raw)
  To: Fam Zheng; +Cc: qemu-devel, Alex Bennée

On Wed, Sep 21, 2016 at 11:49:20AM +0800, Fam Zheng wrote:
> Put the list of package names in an environment, and output their
> package names to the target file in the end.
> 
> Signed-off-by: Fam Zheng <famz@redhat.com>
> ---
>  tests/docker/dockerfiles/centos6.docker | 6 ++++--
>  1 file changed, 4 insertions(+), 2 deletions(-)
> 
> diff --git a/tests/docker/dockerfiles/centos6.docker b/tests/docker/dockerfiles/centos6.docker
> index 8f4fe46..34e0d3b 100644
> --- a/tests/docker/dockerfiles/centos6.docker
> +++ b/tests/docker/dockerfiles/centos6.docker
> @@ -1,6 +1,8 @@
>  FROM centos:6
> -RUN yum install -y \
> +RUN yum install -y epel-release
> +ENV PACKAGES libfdt-devel ccache \
>      tar git make gcc g++ \
>      zlib-devel glib2-devel SDL-devel pixman-devel \
>      epel-release
> -RUN yum install -y libfdt-devel ccache
> +RUN yum install -y $PACKAGES
> +RUN rpm -q $PACKAGES | sort > /packages.txt

Reviewed-by: Daniel P. Berrange <berrange@redhat.com>

Regards,
Daniel
-- 
|: http://berrange.com      -o-    http://www.flickr.com/photos/dberrange/ :|
|: http://libvirt.org              -o-             http://virt-manager.org :|
|: http://autobuild.org       -o-         http://search.cpan.org/~danberr/ :|
|: http://entangle-photo.org       -o-       http://live.gnome.org/gtk-vnc :|

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

* Re: [Qemu-devel] [PATCH 2/9] docker: Generate /packages.txt in fedora image
  2016-09-21  3:49 ` [Qemu-devel] [PATCH 2/9] docker: Generate /packages.txt in fedora image Fam Zheng
@ 2016-09-21  8:38   ` Daniel P. Berrange
  0 siblings, 0 replies; 19+ messages in thread
From: Daniel P. Berrange @ 2016-09-21  8:38 UTC (permalink / raw)
  To: Fam Zheng; +Cc: qemu-devel, Alex Bennée

On Wed, Sep 21, 2016 at 11:49:21AM +0800, Fam Zheng wrote:
> Put the list of package names in an environment, and output their
> package names to the target file in the end.
> 
> Signed-off-by: Fam Zheng <famz@redhat.com>
> ---
>  tests/docker/dockerfiles/fedora.docker | 14 ++++++++++++--
>  1 file changed, 12 insertions(+), 2 deletions(-)
> 
> diff --git a/tests/docker/dockerfiles/fedora.docker b/tests/docker/dockerfiles/fedora.docker
> index 1d26a8e..b414e88 100644
> --- a/tests/docker/dockerfiles/fedora.docker
> +++ b/tests/docker/dockerfiles/fedora.docker
> @@ -1,7 +1,17 @@
>  FROM fedora:23
> -RUN dnf install -y \
> +ENV PACKAGES \
>      ccache git tar PyYAML sparse flex bison \
>      glib2-devel pixman-devel zlib-devel SDL-devel libfdt-devel \
>      gcc gcc-c++ clang make perl which bc findutils \
> -    mingw{32,64}-{pixman,glib2,gmp,SDL,pkg-config,gtk2,gtk3,gnutls,nettle,libtasn1,libjpeg-turbo,libpng,curl,libssh2,bzip2}
> +    mingw32-pixman mingw32-glib2 mingw32-gmp mingw32-SDL mingw32-pkg-config \
> +    mingw32-gtk2 mingw32-gtk3 mingw32-gnutls mingw32-nettle mingw32-libtasn1 \
> +    mingw32-libjpeg-turbo mingw32-libpng mingw32-curl mingw32-libssh2 \
> +    mingw32-bzip2 \
> +    mingw64-pixman mingw64-glib2 mingw64-gmp mingw64-SDL mingw64-pkg-config \
> +    mingw64-gtk2 mingw64-gtk3 mingw64-gnutls mingw64-nettle mingw64-libtasn1 \
> +    mingw64-libjpeg-turbo mingw64-libpng mingw64-curl mingw64-libssh2 \
> +    mingw64-bzip2
> +
> +RUN dnf install -y $PACKAGES
> +RUN rpm -q $PACKAGES | sort > /packages.txt
>  ENV FEATURES mingw clang pyyaml

Reviewed-by: Daniel P. Berrange <berrange@redhat.com>


Regards,
Daniel
-- 
|: http://berrange.com      -o-    http://www.flickr.com/photos/dberrange/ :|
|: http://libvirt.org              -o-             http://virt-manager.org :|
|: http://autobuild.org       -o-         http://search.cpan.org/~danberr/ :|
|: http://entangle-photo.org       -o-       http://live.gnome.org/gtk-vnc :|

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

* Re: [Qemu-devel] [PATCH 3/9] docker: Generate /packages.txt in ubuntu image
  2016-09-21  3:49 ` [Qemu-devel] [PATCH 3/9] docker: Generate /packages.txt in ubuntu image Fam Zheng
@ 2016-09-21  8:39   ` Daniel P. Berrange
  0 siblings, 0 replies; 19+ messages in thread
From: Daniel P. Berrange @ 2016-09-21  8:39 UTC (permalink / raw)
  To: Fam Zheng; +Cc: qemu-devel, Alex Bennée

On Wed, Sep 21, 2016 at 11:49:22AM +0800, Fam Zheng wrote:
> Put the list of package names in an environment, and output their
> package names to the target file in the end.
> 
> Signed-off-by: Fam Zheng <famz@redhat.com>
> ---
>  tests/docker/dockerfiles/ubuntu.docker | 4 +++-
>  1 file changed, 3 insertions(+), 1 deletion(-)
> 
> diff --git a/tests/docker/dockerfiles/ubuntu.docker b/tests/docker/dockerfiles/ubuntu.docker
> index a8b88c3..a360a05 100644
> --- a/tests/docker/dockerfiles/ubuntu.docker
> +++ b/tests/docker/dockerfiles/ubuntu.docker
> @@ -2,10 +2,12 @@ FROM ubuntu:14.04
>  RUN echo "deb http://archive.ubuntu.com/ubuntu/ trusty universe multiverse" >> \
>      /etc/apt/sources.list
>  RUN apt-get update
> -RUN apt-get -y install flex bison \
> +ENV PACKAGES flex bison \
>      libusb-1.0-0-dev libiscsi-dev librados-dev libncurses5-dev \
>      libseccomp-dev libgnutls-dev libssh2-1-dev  libspice-server-dev \
>      libspice-protocol-dev libnss3-dev libfdt-dev \
>      libgtk-3-dev libvte-2.90-dev libsdl1.2-dev libpng12-dev libpixman-1-dev \
>      git make ccache python-yaml gcc clang sparse
> +RUN apt-get -y install $PACKAGES
> +RUN dpkg -l $PACKAGES | sort > /packages.txt
>  ENV FEATURES clang pyyaml

Reviewed-by: Daniel. P. Berrange <berrange@redhat.com>

Regards,
Daniel
-- 
|: http://berrange.com      -o-    http://www.flickr.com/photos/dberrange/ :|
|: http://libvirt.org              -o-             http://virt-manager.org :|
|: http://autobuild.org       -o-         http://search.cpan.org/~danberr/ :|
|: http://entangle-photo.org       -o-       http://live.gnome.org/gtk-vnc :|

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

* Re: [Qemu-devel] [PATCH 4/9] docker: Update fedora image to latest
  2016-09-21  3:49 ` [Qemu-devel] [PATCH 4/9] docker: Update fedora image to latest Fam Zheng
@ 2016-09-21  8:39   ` Daniel P. Berrange
  0 siblings, 0 replies; 19+ messages in thread
From: Daniel P. Berrange @ 2016-09-21  8:39 UTC (permalink / raw)
  To: Fam Zheng; +Cc: qemu-devel, Alex Bennée

On Wed, Sep 21, 2016 at 11:49:23AM +0800, Fam Zheng wrote:
> Now that 23 is becoming an "old" release with 24 available. Fedora has a
> quick release cycle, so use latest to follow more closely.
> 
> Signed-off-by: Fam Zheng <famz@redhat.com>
> ---
>  tests/docker/dockerfiles/fedora.docker | 2 +-
>  1 file changed, 1 insertion(+), 1 deletion(-)
> 
> diff --git a/tests/docker/dockerfiles/fedora.docker b/tests/docker/dockerfiles/fedora.docker
> index b414e88..478163b 100644
> --- a/tests/docker/dockerfiles/fedora.docker
> +++ b/tests/docker/dockerfiles/fedora.docker
> @@ -1,4 +1,4 @@
> -FROM fedora:23
> +FROM fedora:latest
>  ENV PACKAGES \
>      ccache git tar PyYAML sparse flex bison \
>      glib2-devel pixman-devel zlib-devel SDL-devel libfdt-devel \

Reviewed-by: Daniel P. Berrange <berrange@redhat.com>

Regards,
Daniel
-- 
|: http://berrange.com      -o-    http://www.flickr.com/photos/dberrange/ :|
|: http://libvirt.org              -o-             http://virt-manager.org :|
|: http://autobuild.org       -o-         http://search.cpan.org/~danberr/ :|
|: http://entangle-photo.org       -o-       http://live.gnome.org/gtk-vnc :|

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

* Re: [Qemu-devel] [PATCH 5/9] docker: Flatten default target list in test-quick
  2016-09-21  3:49 ` [Qemu-devel] [PATCH 5/9] docker: Flatten default target list in test-quick Fam Zheng
@ 2016-09-21  8:40   ` Daniel P. Berrange
  0 siblings, 0 replies; 19+ messages in thread
From: Daniel P. Berrange @ 2016-09-21  8:40 UTC (permalink / raw)
  To: Fam Zheng; +Cc: qemu-devel, Alex Bennée

On Wed, Sep 21, 2016 at 11:49:24AM +0800, Fam Zheng wrote:
> Previously it is expanded to a whitespace separated list which is not
> the most appropriate format. Since it's only two items, flatten it.
> 
> Signed-off-by: Fam Zheng <famz@redhat.com>
> ---
>  tests/docker/test-quick | 2 +-
>  1 file changed, 1 insertion(+), 1 deletion(-)
> 
> diff --git a/tests/docker/test-quick b/tests/docker/test-quick
> index 07cdc59..7885dfa 100755
> --- a/tests/docker/test-quick
> +++ b/tests/docker/test-quick
> @@ -13,7 +13,7 @@
>  
>  . common.rc
>  
> -DEF_TARGET_LIST="$(echo {x86_64,aarch64}-softmmu)"
> +DEF_TARGET_LIST="x86_64-softmmu,aarch64-softmmu"
>  TARGET_LIST=${TARGET_LIST:-$DEF_TARGET_LIST} \
>  build_qemu
>  make check $MAKEFLAGS

Reviewed-by: Daniel P. Berrange <berrange@redhat.com>


Regards,
Daniel
-- 
|: http://berrange.com      -o-    http://www.flickr.com/photos/dberrange/ :|
|: http://libvirt.org              -o-             http://virt-manager.org :|
|: http://autobuild.org       -o-         http://search.cpan.org/~danberr/ :|
|: http://entangle-photo.org       -o-       http://live.gnome.org/gtk-vnc :|

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

* Re: [Qemu-devel] [PATCH 6/9] docker: Print used options before doing configure
  2016-09-21  3:49 ` [Qemu-devel] [PATCH 6/9] docker: Print used options before doing configure Fam Zheng
@ 2016-09-21  8:41   ` Daniel P. Berrange
  0 siblings, 0 replies; 19+ messages in thread
From: Daniel P. Berrange @ 2016-09-21  8:41 UTC (permalink / raw)
  To: Fam Zheng; +Cc: qemu-devel, Alex Bennée

On Wed, Sep 21, 2016 at 11:49:25AM +0800, Fam Zheng wrote:
> This makes the configure command more obvious which usually has useful
> information.
> 
> Signed-off-by: Fam Zheng <famz@redhat.com>
> ---
>  tests/docker/common.rc | 14 ++++++++------
>  1 file changed, 8 insertions(+), 6 deletions(-)
> 
> diff --git a/tests/docker/common.rc b/tests/docker/common.rc
> index 0c6d8d5..510a3ad 100755
> --- a/tests/docker/common.rc
> +++ b/tests/docker/common.rc
> @@ -23,11 +23,13 @@ requires()
>  
>  build_qemu()
>  {
> -    $QEMU_SRC/configure \
> -        --enable-werror \
> -        ${TARGET_LIST:+"--target-list=${TARGET_LIST}"} \
> -        --prefix="$PWD/install" \
> -        $EXTRA_CONFIGURE_OPTS \
> -        "$@"
> +    config_opts="--enable-werror \
> +                 ${TARGET_LIST:+--target-list=${TARGET_LIST}} \
> +                 --prefix=$PWD/install \
> +                 $EXTRA_CONFIGURE_OPTS \
> +                 $@"
> +    echo "Configure options:"
> +    echo $config_opts
> +    $QEMU_SRC/configure $config_opts
>      make $MAKEFLAGS
>  }

Reviewed-by: Daniel P. Berrange <berrange@redhat.com>


Regards,
Daniel
-- 
|: http://berrange.com      -o-    http://www.flickr.com/photos/dberrange/ :|
|: http://libvirt.org              -o-             http://virt-manager.org :|
|: http://autobuild.org       -o-         http://search.cpan.org/~danberr/ :|
|: http://entangle-photo.org       -o-       http://live.gnome.org/gtk-vnc :|

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

* Re: [Qemu-devel] [PATCH 7/9] docker: Support showing environment information
  2016-09-21  3:49 ` [Qemu-devel] [PATCH 7/9] docker: Support showing environment information Fam Zheng
@ 2016-09-21  8:42   ` Daniel P. Berrange
  0 siblings, 0 replies; 19+ messages in thread
From: Daniel P. Berrange @ 2016-09-21  8:42 UTC (permalink / raw)
  To: Fam Zheng; +Cc: qemu-devel, Alex Bennée

On Wed, Sep 21, 2016 at 11:49:26AM +0800, Fam Zheng wrote:
> Add a make variable SHOW_ENV. When it's set to non empty, print the
> package information and environment variables.
> 
> Signed-off-by: Fam Zheng <famz@redhat.com>
> ---
>  tests/docker/Makefile.include |  2 +-
>  tests/docker/run              | 11 +++++++++++
>  2 files changed, 12 insertions(+), 1 deletion(-)
> 
> diff --git a/tests/docker/Makefile.include b/tests/docker/Makefile.include
> index 19d4cc7..2fcc3c6 100644
> --- a/tests/docker/Makefile.include
> +++ b/tests/docker/Makefile.include
> @@ -117,7 +117,7 @@ docker-run-%: docker-qemu-src
>  				$(if $(DEBUG),-i,--net=none) \
>  				-e TARGET_LIST=$(TARGET_LIST) \
>  				-e EXTRA_CONFIGURE_OPTS=$(EXTRA_CONFIGURE_OPTS) \
> -				-e V=$V -e J=$J -e DEBUG=$(DEBUG)\
> +				-e V=$V -e J=$J -e DEBUG=$(DEBUG) -e SHOW_ENV=$(SHOW_ENV)\
>  				-e CCACHE_DIR=/var/tmp/ccache \
>  				-v $$(readlink -e $(DOCKER_SRC_COPY)):/var/tmp/qemu:z$(COMMA)ro \
>  				-v $(DOCKER_CCACHE_DIR):/var/tmp/ccache:z \
> diff --git a/tests/docker/run b/tests/docker/run
> index d85d49a..ed7dd31 100755
> --- a/tests/docker/run
> +++ b/tests/docker/run
> @@ -40,6 +40,17 @@ for p in dtc pixman; do
>      fi
>  done
>  
> +if test -n "$SHOW_ENV"; then
> +    if test -f /packages.txt; then
> +        echo "Packages installed:"
> +        cat /packages.txt
> +        echo
> +    fi
> +    echo "Environment variables:"
> +    env
> +    echo
> +fi
> +
>  export QEMU_SRC="$TEST_DIR/src"
>  
>  cd "$QEMU_SRC/tests/docker"

Reviewed-by: Daniel P. Berrange <berrange@redhat.com>

Regards,
Daniel
-- 
|: http://berrange.com      -o-    http://www.flickr.com/photos/dberrange/ :|
|: http://libvirt.org              -o-             http://virt-manager.org :|
|: http://autobuild.org       -o-         http://search.cpan.org/~danberr/ :|
|: http://entangle-photo.org       -o-       http://live.gnome.org/gtk-vnc :|

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

* Re: [Qemu-devel] [PATCH 8/9] docker: Terminate instances at SIGTERM and SIGHUP
  2016-09-21  3:49 ` [Qemu-devel] [PATCH 8/9] docker: Terminate instances at SIGTERM and SIGHUP Fam Zheng
@ 2016-09-21  8:42   ` Daniel P. Berrange
  0 siblings, 0 replies; 19+ messages in thread
From: Daniel P. Berrange @ 2016-09-21  8:42 UTC (permalink / raw)
  To: Fam Zheng; +Cc: qemu-devel, Alex Bennée

On Wed, Sep 21, 2016 at 11:49:27AM +0800, Fam Zheng wrote:
> Signed-off-by: Fam Zheng <famz@redhat.com>
> ---
>  tests/docker/docker.py | 5 ++++-
>  1 file changed, 4 insertions(+), 1 deletion(-)
> 
> diff --git a/tests/docker/docker.py b/tests/docker/docker.py
> index b85c165..552608e 100755
> --- a/tests/docker/docker.py
> +++ b/tests/docker/docker.py
> @@ -21,6 +21,7 @@ import uuid
>  import argparse
>  import tempfile
>  import re
> +import signal
>  from tarfile import TarFile, TarInfo
>  from StringIO import StringIO
>  from shutil import copy, rmtree
> @@ -98,6 +99,8 @@ class Docker(object):
>          self._command = _guess_docker_command()
>          self._instances = []
>          atexit.register(self._kill_instances)
> +        signal.signal(signal.SIGTERM, self._kill_instances)
> +        signal.signal(signal.SIGHUP, self._kill_instances)
>  
>      def _do(self, cmd, quiet=True, infile=None, **kwargs):
>          if quiet:
> @@ -130,7 +133,7 @@ class Docker(object):
>          self._do_kill_instances(False, False)
>          return 0
>  
> -    def _kill_instances(self):
> +    def _kill_instances(self, *args, **kwargs):
>          return self._do_kill_instances(True)
>  
>      def _output(self, cmd, **kwargs):

Reviewed-by: Daniel P. Berrange <berrange@redhat.com>

Regards,
Daniel
-- 
|: http://berrange.com      -o-    http://www.flickr.com/photos/dberrange/ :|
|: http://libvirt.org              -o-             http://virt-manager.org :|
|: http://autobuild.org       -o-         http://search.cpan.org/~danberr/ :|
|: http://entangle-photo.org       -o-       http://live.gnome.org/gtk-vnc :|

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

* Re: [Qemu-devel] [PATCH 9/9] docker: exec $CMD
  2016-09-21  3:49 ` [Qemu-devel] [PATCH 9/9] docker: exec $CMD Fam Zheng
@ 2016-09-21  8:43   ` Daniel P. Berrange
  0 siblings, 0 replies; 19+ messages in thread
From: Daniel P. Berrange @ 2016-09-21  8:43 UTC (permalink / raw)
  To: Fam Zheng; +Cc: qemu-devel, Alex Bennée

On Wed, Sep 21, 2016 at 11:49:28AM +0800, Fam Zheng wrote:
> This is the last command to run (unless DEBUG), make it 'exec' to
> simplify the process tree.
> 
> Signed-off-by: Fam Zheng <famz@redhat.com>
> ---
>  tests/docker/run | 15 +++++++++------
>  1 file changed, 9 insertions(+), 6 deletions(-)
> 
> diff --git a/tests/docker/run b/tests/docker/run
> index ed7dd31..c1e4513 100755
> --- a/tests/docker/run
> +++ b/tests/docker/run
> @@ -57,14 +57,17 @@ cd "$QEMU_SRC/tests/docker"
>  
>  CMD="$QEMU_SRC/tests/docker/$@"
>  
> -if test -n "$DEBUG"; then
> -    echo "* Prepared to run command:"
> -    echo "  $CMD"
> -    echo "* Hit Ctrl-D to continue, or type 'exit 1' to abort"
> -    echo
> -    $SHELL
> +if test -z "$DEBUG"; then
> +    exec $CMD
>  fi
>  
> +# DEBUG workflow
> +echo "* Prepared to run command:"
> +echo "  $CMD"
> +echo "* Hit Ctrl-D to continue, or type 'exit 1' to abort"
> +echo
> +$SHELL
> +
>  if "$CMD"; then
>      exit 0
>  elif test -n "$DEBUG"; then

Reviewed-by: Daniel P. Berrange <berrange@redhat.com>

Regards,
Daniel
-- 
|: http://berrange.com      -o-    http://www.flickr.com/photos/dberrange/ :|
|: http://libvirt.org              -o-             http://virt-manager.org :|
|: http://autobuild.org       -o-         http://search.cpan.org/~danberr/ :|
|: http://entangle-photo.org       -o-       http://live.gnome.org/gtk-vnc :|

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

end of thread, other threads:[~2016-09-21  8:43 UTC | newest]

Thread overview: 19+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2016-09-21  3:49 [Qemu-devel] [PATCH 0/9] docker: SHOW_ENV and terminate improvements Fam Zheng
2016-09-21  3:49 ` [Qemu-devel] [PATCH 1/9] docker: Generate /packages.txt in centos6 image Fam Zheng
2016-09-21  8:37   ` Daniel P. Berrange
2016-09-21  3:49 ` [Qemu-devel] [PATCH 2/9] docker: Generate /packages.txt in fedora image Fam Zheng
2016-09-21  8:38   ` Daniel P. Berrange
2016-09-21  3:49 ` [Qemu-devel] [PATCH 3/9] docker: Generate /packages.txt in ubuntu image Fam Zheng
2016-09-21  8:39   ` Daniel P. Berrange
2016-09-21  3:49 ` [Qemu-devel] [PATCH 4/9] docker: Update fedora image to latest Fam Zheng
2016-09-21  8:39   ` Daniel P. Berrange
2016-09-21  3:49 ` [Qemu-devel] [PATCH 5/9] docker: Flatten default target list in test-quick Fam Zheng
2016-09-21  8:40   ` Daniel P. Berrange
2016-09-21  3:49 ` [Qemu-devel] [PATCH 6/9] docker: Print used options before doing configure Fam Zheng
2016-09-21  8:41   ` Daniel P. Berrange
2016-09-21  3:49 ` [Qemu-devel] [PATCH 7/9] docker: Support showing environment information Fam Zheng
2016-09-21  8:42   ` Daniel P. Berrange
2016-09-21  3:49 ` [Qemu-devel] [PATCH 8/9] docker: Terminate instances at SIGTERM and SIGHUP Fam Zheng
2016-09-21  8:42   ` Daniel P. Berrange
2016-09-21  3:49 ` [Qemu-devel] [PATCH 9/9] docker: exec $CMD Fam Zheng
2016-09-21  8:43   ` Daniel P. Berrange

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.