Re: [Qemu-devel] [PATCH v3 0/6] tests/docker: add podman support

2019-09-05 Thread Alex Bennée


David Hildenbrand  writes:

> On 13.07.19 16:33, Marc-André Lureau wrote:
>> Hi,
>>
>> podman allows to run containers in a similar fashion as docker, but
>> without daemon or root privileges. Thank you podman!
>>
>> There is a weird issue with getaddrinfo(), that I reported upstream
>> https://github.com/containers/libpod/issues/3535. For now, it is
>> worked around with extra socket_check_protocol_support() checks.
>>
>> thanks
>>
>> v3:
>> - add --run-as-current-user, suggest by Paolo
>> - move podman user tweaks to docker.py
>> - rebasing
>>
>> v2:
>> - add socket_check_protocol_support() to test-char
>> - keep TAP harness happy when socket_check_protocol_support() fails
>> - removed bad AI_ADDRCONFIG patch
>> - rebased
>>
>> Marc-André Lureau (6):
>>   docker.py: add --run-as-current-user
>>   docker.py: add podman support
>>   tests/docker: add podman support
>>   tests: specify the address family when checking bind
>>   test-char: skip tcp tests if ipv4 check failed
>>   test: skip tests if socket_check_protocol_support() failed
>>
>>  Makefile   |  2 +-
>>  tests/Makefile.include |  2 +-
>>  tests/docker/Makefile.include  | 10 +--
>>  tests/docker/docker.py | 53 ++
>>  tests/socket-helpers.c | 17 ---
>>  tests/socket-helpers.h | 11 ---
>>  tests/test-char.c  | 19 +---
>>  tests/test-io-channel-socket.c |  4 ++-
>>  tests/test-util-sockets.c  |  4 ++-
>>  9 files changed, 91 insertions(+), 31 deletions(-)
>>
>
> Most probably not related to this series. I assume I am once again doing
> something very wrong (although this used to work). I am on Fedora 30 -
> hope somebody can help me:
>
> t460s: ~/git/qemu mvc $ docker run hello-world
>
> Hello from Docker!
> This message shows that your installation appears to be working correctly.
> [...]
>
> t460s: ~/git/qemu mvc $ tests/docker/docker.py probe
> no
>
> t460s: ~/git/qemu mvc $ ./configure --target-list=i386-softmmu,...
> [...]
> dockerno
> [...]
>
> So docker is working but the configure script says I don't have docker.
> What am I missing? (I only want to run tcg tests)

See:

  Subject: [PATCH  v1 02/42] configure: clean-up container cross compile detect
  Date: Wed,  4 Sep 2019 21:29:33 +0100
  Message-Id: <20190904203013.9028-3-alex.ben...@linaro.org>
  In-Reply-To: <20190904203013.9028-1-alex.ben...@linaro.org>

But there are other fixes in that series to make it work with check-tcg
better.

--
Alex Bennée



Re: [Qemu-devel] [PATCH v3 0/6] tests/docker: add podman support

2019-09-05 Thread David Hildenbrand
On 05.09.19 18:15, David Hildenbrand wrote:
> On 13.07.19 16:33, Marc-André Lureau wrote:
>> Hi,
>>
>> podman allows to run containers in a similar fashion as docker, but
>> without daemon or root privileges. Thank you podman!
>>
>> There is a weird issue with getaddrinfo(), that I reported upstream
>> https://github.com/containers/libpod/issues/3535. For now, it is
>> worked around with extra socket_check_protocol_support() checks.
>>
>> thanks
>>
>> v3:
>> - add --run-as-current-user, suggest by Paolo
>> - move podman user tweaks to docker.py
>> - rebasing
>>
>> v2:
>> - add socket_check_protocol_support() to test-char
>> - keep TAP harness happy when socket_check_protocol_support() fails
>> - removed bad AI_ADDRCONFIG patch
>> - rebased
>>
>> Marc-André Lureau (6):
>>   docker.py: add --run-as-current-user
>>   docker.py: add podman support
>>   tests/docker: add podman support
>>   tests: specify the address family when checking bind
>>   test-char: skip tcp tests if ipv4 check failed
>>   test: skip tests if socket_check_protocol_support() failed
>>
>>  Makefile   |  2 +-
>>  tests/Makefile.include |  2 +-
>>  tests/docker/Makefile.include  | 10 +--
>>  tests/docker/docker.py | 53 ++
>>  tests/socket-helpers.c | 17 ---
>>  tests/socket-helpers.h | 11 ---
>>  tests/test-char.c  | 19 +---
>>  tests/test-io-channel-socket.c |  4 ++-
>>  tests/test-util-sockets.c  |  4 ++-
>>  9 files changed, 91 insertions(+), 31 deletions(-)
>>
> 
> Most probably not related to this series. I assume I am once again doing
> something very wrong (although this used to work). I am on Fedora 30 -
> hope somebody can help me:
> 
> t460s: ~/git/qemu mvc $ docker run hello-world
> 
> Hello from Docker!
> This message shows that your installation appears to be working correctly.
> [...]
> 
> t460s: ~/git/qemu mvc $ tests/docker/docker.py probe
> no
> 
> t460s: ~/git/qemu mvc $ ./configure --target-list=i386-softmmu,...
> [...]
> dockerno
> [...]
> 
> So docker is working but the configure script says I don't have docker.
> What am I missing? (I only want to run tcg tests)
> 

FWIW, reverting

commit 9459f754134bb786edf85ca9fc00f1805e67bd74
Author: Marc-André Lureau 
Date:   Fri Jul 12 16:46:13 2019 +0400

docker.py: add podman support

Add a --engine option to select either docker, podman or auto.


fixes it for me

t460s: ~/git/qemu mvc $ tests/docker/docker.py probe
yes


So there is something wrong about that patch.

-- 

Thanks,

David / dhildenb



Re: [Qemu-devel] [PATCH v3 0/6] tests/docker: add podman support

2019-09-05 Thread David Hildenbrand
On 13.07.19 16:33, Marc-André Lureau wrote:
> Hi,
> 
> podman allows to run containers in a similar fashion as docker, but
> without daemon or root privileges. Thank you podman!
> 
> There is a weird issue with getaddrinfo(), that I reported upstream
> https://github.com/containers/libpod/issues/3535. For now, it is
> worked around with extra socket_check_protocol_support() checks.
> 
> thanks
> 
> v3:
> - add --run-as-current-user, suggest by Paolo
> - move podman user tweaks to docker.py
> - rebasing
> 
> v2:
> - add socket_check_protocol_support() to test-char
> - keep TAP harness happy when socket_check_protocol_support() fails
> - removed bad AI_ADDRCONFIG patch
> - rebased
> 
> Marc-André Lureau (6):
>   docker.py: add --run-as-current-user
>   docker.py: add podman support
>   tests/docker: add podman support
>   tests: specify the address family when checking bind
>   test-char: skip tcp tests if ipv4 check failed
>   test: skip tests if socket_check_protocol_support() failed
> 
>  Makefile   |  2 +-
>  tests/Makefile.include |  2 +-
>  tests/docker/Makefile.include  | 10 +--
>  tests/docker/docker.py | 53 ++
>  tests/socket-helpers.c | 17 ---
>  tests/socket-helpers.h | 11 ---
>  tests/test-char.c  | 19 +---
>  tests/test-io-channel-socket.c |  4 ++-
>  tests/test-util-sockets.c  |  4 ++-
>  9 files changed, 91 insertions(+), 31 deletions(-)
> 

Most probably not related to this series. I assume I am once again doing
something very wrong (although this used to work). I am on Fedora 30 -
hope somebody can help me:

t460s: ~/git/qemu mvc $ docker run hello-world

Hello from Docker!
This message shows that your installation appears to be working correctly.
[...]

t460s: ~/git/qemu mvc $ tests/docker/docker.py probe
no

t460s: ~/git/qemu mvc $ ./configure --target-list=i386-softmmu,...
[...]
dockerno
[...]

So docker is working but the configure script says I don't have docker.
What am I missing? (I only want to run tcg tests)

-- 

Thanks,

David / dhildenb



Re: [Qemu-devel] [PATCH v3 0/6] tests/docker: add podman support

2019-07-13 Thread no-reply
Patchew URL: 
https://patchew.org/QEMU/20190713143311.17620-1-marcandre.lur...@redhat.com/



Hi,

This series failed the asan build test. Please find the testing commands and
their output below. If you have Docker installed, you can probably reproduce it
locally.

=== TEST SCRIPT BEGIN ===
#!/bin/bash
make docker-image-fedora V=1 NETWORK=1
time make docker-test-debug@fedora TARGET_LIST=x86_64-softmmu J=14 NETWORK=1
=== TEST SCRIPT END ===

PASS 10 check-block-qdict /public/crumple/bad_inputs
MALLOC_PERTURB_=${MALLOC_PERTURB_:-$(( ${RANDOM:-0} % 255 + 1))}  
tests/test-char -m=quick -k --tap < /dev/null | ./scripts/tap-driver.pl 
--test-name="test-char" 
=
==7752==ERROR: AddressSanitizer: stack-use-after-scope on address 
0x7fffabaeef50 at pc 0x565175f38de6 bp 0x7fffabaee590 sp 0x7fffabaee588
READ of size 8 at 0x7fffabaeef50 thread T0
PASS 1 test-char /char/null
PASS 2 test-char /char/invalid
---
  Right alloca redzone:cb
  Shadow gap:  cc
==7752==ABORTING
ERROR - too few tests run (expected 34, got 12)
make: *** [/tmp/qemu-test/src/tests/Makefile.include:902: check-unit] Error 1
make: *** Waiting for unfinished jobs
PASS 1 endianness-test /x86_64/endianness/pc
---
PASS 1 fdc-test /x86_64/fdc/cmos
PASS 2 fdc-test /x86_64/fdc/no_media_on_start
PASS 3 fdc-test /x86_64/fdc/read_without_media
==7780==WARNING: ASan doesn't fully support makecontext/swapcontext functions 
and may produce false positives in some cases!
PASS 4 fdc-test /x86_64/fdc/media_change
PASS 5 fdc-test /x86_64/fdc/sense_interrupt
PASS 6 fdc-test /x86_64/fdc/relative_seek
---
PASS 12 fdc-test /x86_64/fdc/read_no_dma_19
PASS 13 fdc-test /x86_64/fdc/fuzz-registers
MALLOC_PERTURB_=${MALLOC_PERTURB_:-$(( ${RANDOM:-0} % 255 + 1))}  
QTEST_QEMU_BINARY=x86_64-softmmu/qemu-system-x86_64 QTEST_QEMU_IMG=qemu-img 
tests/ide-test -m=quick -k --tap < /dev/null | ./scripts/tap-driver.pl 
--test-name="ide-test" 
==7791==WARNING: ASan doesn't fully support makecontext/swapcontext functions 
and may produce false positives in some cases!
PASS 1 ide-test /x86_64/ide/identify
==7797==WARNING: ASan doesn't fully support makecontext/swapcontext functions 
and may produce false positives in some cases!
PASS 2 ide-test /x86_64/ide/flush
==7803==WARNING: ASan doesn't fully support makecontext/swapcontext functions 
and may produce false positives in some cases!
PASS 3 ide-test /x86_64/ide/bmdma/simple_rw
==7809==WARNING: ASan doesn't fully support makecontext/swapcontext functions 
and may produce false positives in some cases!
PASS 4 ide-test /x86_64/ide/bmdma/trim
==7815==WARNING: ASan doesn't fully support makecontext/swapcontext functions 
and may produce false positives in some cases!
PASS 5 ide-test /x86_64/ide/bmdma/short_prdt
==7821==WARNING: ASan doesn't fully support makecontext/swapcontext functions 
and may produce false positives in some cases!
PASS 6 ide-test /x86_64/ide/bmdma/one_sector_short_prdt
==7827==WARNING: ASan doesn't fully support makecontext/swapcontext functions 
and may produce false positives in some cases!
PASS 7 ide-test /x86_64/ide/bmdma/long_prdt
==7833==WARNING: ASan doesn't fully support makecontext/swapcontext functions 
and may produce false positives in some cases!
==7833==WARNING: ASan is ignoring requested __asan_handle_no_return: stack top: 
0x7fff1f263000; bottom 0x7f44e5176000; size: 0x00ba3a0ed000 (799837966336)
False positive error reports may follow
For details see https://github.com/google/sanitizers/issues/189
PASS 8 ide-test /x86_64/ide/bmdma/no_busmaster
PASS 9 ide-test /x86_64/ide/flush/nodev
==7845==WARNING: ASan doesn't fully support makecontext/swapcontext functions 
and may produce false positives in some cases!
PASS 10 ide-test /x86_64/ide/flush/empty_drive
==7850==WARNING: ASan doesn't fully support makecontext/swapcontext functions 
and may produce false positives in some cases!
PASS 11 ide-test /x86_64/ide/flush/retry_pci
==7856==WARNING: ASan doesn't fully support makecontext/swapcontext functions 
and may produce false positives in some cases!
PASS 12 ide-test /x86_64/ide/flush/retry_isa
==7862==WARNING: ASan doesn't fully support makecontext/swapcontext functions 
and may produce false positives in some cases!
PASS 13 ide-test /x86_64/ide/cdrom/pio
==7868==WARNING: ASan doesn't fully support makecontext/swapcontext functions 
and may produce false positives in some cases!
PASS 14 ide-test /x86_64/ide/cdrom/pio_large
==7874==WARNING: ASan doesn't fully support makecontext/swapcontext functions 
and may produce false positives in some cases!
PASS 15 ide-test /x86_64/ide/cdrom/dma
MALLOC_PERTURB_=${MALLOC_PERTURB_:-$(( ${RANDOM:-0} % 255 + 1))}  
QTEST_QEMU_BINARY=x86_64-softmmu/qemu-system-x86_64 QTEST_QEMU_IMG=qemu-img 
tests/ahci-test -m=quick -k --tap < /dev/null | ./scripts/tap-driver.pl 
--test-name="ahci-test" 
==7888==WARNING: ASan doesn't fully support makecontext/swapcontext functions 
and may produce false positiv

[Qemu-devel] [PATCH v3 0/6] tests/docker: add podman support

2019-07-13 Thread Marc-André Lureau
Hi,

podman allows to run containers in a similar fashion as docker, but
without daemon or root privileges. Thank you podman!

There is a weird issue with getaddrinfo(), that I reported upstream
https://github.com/containers/libpod/issues/3535. For now, it is
worked around with extra socket_check_protocol_support() checks.

thanks

v3:
- add --run-as-current-user, suggest by Paolo
- move podman user tweaks to docker.py
- rebasing

v2:
- add socket_check_protocol_support() to test-char
- keep TAP harness happy when socket_check_protocol_support() fails
- removed bad AI_ADDRCONFIG patch
- rebased

Marc-André Lureau (6):
  docker.py: add --run-as-current-user
  docker.py: add podman support
  tests/docker: add podman support
  tests: specify the address family when checking bind
  test-char: skip tcp tests if ipv4 check failed
  test: skip tests if socket_check_protocol_support() failed

 Makefile   |  2 +-
 tests/Makefile.include |  2 +-
 tests/docker/Makefile.include  | 10 +--
 tests/docker/docker.py | 53 ++
 tests/socket-helpers.c | 17 ---
 tests/socket-helpers.h | 11 ---
 tests/test-char.c  | 19 +---
 tests/test-io-channel-socket.c |  4 ++-
 tests/test-util-sockets.c  |  4 ++-
 9 files changed, 91 insertions(+), 31 deletions(-)

-- 
2.22.0.428.g6d5b264208