Hi Daniel,

On 07/12/2017 01:25 PM, Daniel P. Berrange wrote:
When trying to debug problems with tests it is natural to set
DEBUG=1 when starting the docker environment. Unfortunately
this has a side-effect of enabling an eth0 network interface
in the container, which changes the operating environment of
the test suite. IOW tests with fail may suddenly start
working again if DEBUG=1 is set, due to changed network setup.

Add a separate NETWORK=1 option to allow enablement of
networking separately from DEBUG=1, since common debugging
tasks probably don't require networking anyway.

Signed-off-by: Daniel P. Berrange <berra...@redhat.com>
---
  tests/docker/Makefile.include | 4 +++-
  1 file changed, 3 insertions(+), 1 deletion(-)

diff --git a/tests/docker/Makefile.include b/tests/docker/Makefile.include
index 037cb9e..a8c4b82 100644
--- a/tests/docker/Makefile.include
+++ b/tests/docker/Makefile.include
@@ -106,6 +106,7 @@ docker:
        @echo '                         (default is 1)'
        @echo '    DEBUG=1              Stop and drop to shell in the created 
container'
        @echo '                         before running the command.'
+       @echo '    NETWORK=1            Enable eth0 virtual network interface.'

"eth0" is not always true...

This patch could be more generic, maybe documented as:

  NETWORK=host     Use full host network stack (default no network).'

        @echo '    NOUSER               Define to disable adding current user 
to containers passwd.'
        @echo '    NOCACHE=1            Ignore cache when build images.'
        @echo '    EXECUTABLE=<path>    Include executable in image.'
@@ -132,7 +133,8 @@ docker-run: docker-qemu-src
                $(SRC_PATH)/tests/docker/docker.py run                  \
                        $(if $(NOUSER),,-u $(shell id -u)) -t           \
                        $(if $V,,--rm)                                  \
-                       $(if $(DEBUG),-i,--net=none)                    \
+                       $(if $(DEBUG),-i,)                              \
+                       $(if $(NETWORK),,--net=none)                    \

and here use directly:  --net=${NETWORK:-none}

so an experimented docker user could even run tests as:

  make docker-test-quick@centos6 NETWORK=container:qemu

(or NETWORK=bridge)

                        -e TARGET_LIST=$(TARGET_LIST)                   \
                        -e EXTRA_CONFIGURE_OPTS="$(EXTRA_CONFIGURE_OPTS)" \
                        -e V=$V -e J=$J -e DEBUG=$(DEBUG)               \


Regards,

Phil.

Reply via email to