qemu-devel
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [RFC PATCH] tests/docker: Allow passing --network option when buildi


From: Philippe Mathieu-Daudé
Subject: Re: [RFC PATCH] tests/docker: Allow passing --network option when building images
Date: Tue, 19 Jan 2021 14:40:13 +0100
User-agent: Mozilla/5.0 (X11; Linux x86_64; rv:78.0) Gecko/20100101 Thunderbird/78.6.0

On 1/19/21 12:27 PM, Alex Bennée wrote:
> Philippe Mathieu-Daudé <f4bug@amsat.org> writes:
> 
>> When using the Docker engine, build fails because the container is
>> unable to resolve hostnames:
>>
>>   $ make docker-image-debian-s390x-cross NETWORK=host ENGINE=docker
>>     BUILD   debian10
>>   #6 9.679 Err:1 http://deb.debian.org/debian buster InRelease
>>   #6 9.679   Temporary failure resolving 'deb.debian.org'
>>   #6 16.69 Err:2 http://security.debian.org/debian-security buster/updates 
>> InRelease
>>   #6 16.69   Temporary failure resolving 'security.debian.org'
>>   #6 22.69 Err:3 http://deb.debian.org/debian buster-updates InRelease
>>   #6 22.69   Temporary failure resolving 'deb.debian.org'
>>   #6 22.74 W: Failed to fetch 
>> http://deb.debian.org/debian/dists/buster/InRelease  Temporary failure 
>> resolving 'deb.debian.org'
>>   #6 22.74 W: Failed to fetch 
>> http://security.debian.org/debian-security/dists/buster/updates/InRelease  
>> Temporary failure resolving 'security.debian.org'
>>   #6 22.74 W: Failed to fetch 
>> http://deb.debian.org/debian/dists/buster-updates/InRelease  Temporary 
>> failure resolving 'deb.debian.org'
>>   #6 22.74 W: Some index files failed to download. They have been
>>   ignored, or old ones used instead.
> 
> I'm confused by this one as it currently works for me. That said I
> thought the actual behaviour was meant to be networking is enabled by
> default and explicitly disabled by the run step (which shouldn't be
> pulling extra stuff down).
> 
> This was last tweaked by Daniel in 8a2390a4f47
> 
> Have the defaults for docker engine changed?

No idea as I'm not following their development, but TBH it
becomes harder and harder to use without tricks (I had to
add systemd.unified_cgroup_hierarchy=0 to kernel cmdline
to keep using it).

Maybe I should switch to podman which is the recommended
engine on Fedora.

Cc'ing Marc-André who added podman support (Daniel is in Cc).

> 
>>   Traceback (most recent call last):
>>     File "./tests/docker/docker.py", line 709, in <module>
>>       sys.exit(main())
>>     File "./tests/docker/docker.py", line 705, in main
>>       return args.cmdobj.run(args, argv)
>>     File "./tests/docker/docker.py", line 498, in run
>>       dkr.build_image(tag, docker_dir, dockerfile,
>>     File "./tests/docker/docker.py", line 353, in build_image
>>       self._do_check(build_args,
>>     File "./tests/docker/docker.py", line 244, in _do_check
>>       return subprocess.check_call(self._command + cmd, **kwargs)
>>     File "/usr/lib64/python3.8/subprocess.py", line 364, in check_call
>>       raise CalledProcessError(retcode, cmd)
>>   make: *** [tests/docker/Makefile.include:61: docker-image-debian10] Error 1
>>
>> Fix by passing the NETWORK variable with --network= argument.
>>
>> Signed-off-by: Philippe Mathieu-Daudé <f4bug@amsat.org>
>> ---
>>  tests/docker/Makefile.include | 1 +
>>  1 file changed, 1 insertion(+)
>>
>> diff --git a/tests/docker/Makefile.include b/tests/docker/Makefile.include
>> index bdc53ddfcf9..b65fd684011 100644
>> --- a/tests/docker/Makefile.include
>> +++ b/tests/docker/Makefile.include
>> @@ -63,6 +63,7 @@ docker-image-%: $(DOCKER_FILES_DIR)/%.docker
>>              $(if $V,,--quiet) \
>>              $(if $(NOCACHE),--no-cache, \
>>                      $(if $(DOCKER_REGISTRY),--registry $(DOCKER_REGISTRY))) 
>> \
>> +            $(if $(NETWORK),$(if $(subst
>> $(NETWORK),,1),--network=$(NETWORK))) \
> 
> which if it has we'll need to tweak both build and run steps?

I suppose you need need networking for git (submodule) clone?

Personally I don't require networking when running because I
share my QEMU source directory as a volume, so it never bothered
me.

> 
>>              $(if $(NOUSER),,--add-current-user) \
>>              $(if $(EXTRA_FILES),--extra-files $(EXTRA_FILES))\
>>              $(if $(EXECUTABLE),--include-executable=$(EXECUTABLE)),\
> 
> 



reply via email to

[Prev in Thread] Current Thread [Next in Thread]