qemu-devel
[Top][All Lists]
Advanced

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

Re: [Qemu-devel] [PATCH] tests/docker: support proxy / corporate firewal


From: Fam Zheng
Subject: Re: [Qemu-devel] [PATCH] tests/docker: support proxy / corporate firewall
Date: Mon, 6 Mar 2017 09:46:16 +0800
User-agent: Mutt/1.7.1 (2016-10-04)

On Sat, 03/04 16:12, Philippe Mathieu-Daudé wrote:
> if FTP_PROXY/HTTP_PROXY/HTTPS_PROXY standard environment variables available,
> pass them to the docker daemon to build images.
> this is required when building behind corporate proxy/firewall, but also help
> when using local cache server (ie: apt/yum).
> 
> Signed-off-by: Philippe Mathieu-Daudé <address@hidden>
> ---
>  tests/docker/docker.py | 10 ++++++++++
>  1 file changed, 10 insertions(+)
> 
> diff --git a/tests/docker/docker.py b/tests/docker/docker.py
> index 9fd32ab5fa..02bf9363e1 100755
> --- a/tests/docker/docker.py
> +++ b/tests/docker/docker.py
> @@ -22,12 +22,16 @@ import argparse
>  import tempfile
>  import re
>  import signal
> +import string
>  from tarfile import TarFile, TarInfo
>  from StringIO import StringIO
>  from shutil import copy, rmtree
>  from pwd import getpwuid
>  
>  
> +FILTERED_ENV_NAMES = ['FTP_PROXY', 'HTTP_PROXY', 'HTTPS_PROXY']
> +
> +
>  DEVNULL = open(os.devnull, 'wb')
>  
>  
> @@ -272,6 +276,12 @@ class BuildCommand(SubCommand):
>                  _copy_binary_with_libs(args.include_executable,
>                                         docker_dir)
>  
> +            filtered_keys = map(string.upper, FILTERED_ENV_NAMES)
> +            filtered_keys += map(string.lower, FILTERED_ENV_NAMES)
> +            for filtered_key in filtered_keys:
> +                if filtered_key in os.environ.keys():
> +                    argv += ["--build-arg=" + filtered_key +
> +                                "=" + os.environ[filtered_key]]

Makes sense.

Could you simplify the above hunk as

    args += ["--build-arg=" + k + "=" + v for k, v in \
                os.environ.iteritems() if k.upper() in FILTERED_ENV_NAMES]

then 'import string' is not necessary.

Fam

>              dkr.build_image(tag, docker_dir, dockerfile,
>                              quiet=args.quiet, user=args.user, argv=argv)
>  
> -- 
> 2.11.0
> 
> 



reply via email to

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