diff mbox series

[13/13] tests/vm: ubuntu.i386: apt proxy setup

Message ID 20190508085645.11595-14-kraxel@redhat.com (mailing list archive)
State New, archived
Headers show
Series tests/vm: serial console autoinstall, misc fixes. | expand

Commit Message

Gerd Hoffmann May 8, 2019, 8:56 a.m. UTC
Configure apt proxy so package downloads
can be cached and can pass firewalls.

Signed-off-by: Gerd Hoffmann <kraxel@redhat.com>
---
 tests/vm/ubuntu.i386 | 4 ++++
 1 file changed, 4 insertions(+)

Comments

Philippe Mathieu-Daudé May 9, 2019, 12:12 p.m. UTC | #1
On 5/8/19 10:56 AM, Gerd Hoffmann wrote:
> Configure apt proxy so package downloads
> can be cached and can pass firewalls.

Yay \o/

> 
> Signed-off-by: Gerd Hoffmann <kraxel@redhat.com>
> ---
>  tests/vm/ubuntu.i386 | 4 ++++
>  1 file changed, 4 insertions(+)
> 
> diff --git a/tests/vm/ubuntu.i386 b/tests/vm/ubuntu.i386
> index a22d137e76df..b869afd212fa 100755
> --- a/tests/vm/ubuntu.i386
> +++ b/tests/vm/ubuntu.i386
> @@ -51,6 +51,10 @@ class UbuntuX86VM(basevm.BaseVM):
>                            "    ssh-authorized-keys:\n",
>                            "    - %s\n" % basevm.SSH_PUB_KEY,
>                            "locale: en_US.UTF-8\n"])
> +        proxy = os.environ.get("http_proxy")

Some users only use 'https_proxy' (or FTP):
https://lists.gnu.org/archive/html/qemu-devel/2018-06/msg08413.html

> +        if not proxy is None:
> +            udata.writelines(["apt:\n",
> +                              "  proxy: %s" % proxy])
>          udata.close()
>          subprocess.check_call(["genisoimage", "-output", "cloud-init.iso",
>                                 "-volid", "cidata", "-joliet", "-rock",
>
Gerd Hoffmann May 9, 2019, 1:17 p.m. UTC | #2
On Thu, May 09, 2019 at 02:12:11PM +0200, Philippe Mathieu-Daudé wrote:
> On 5/8/19 10:56 AM, Gerd Hoffmann wrote:
> > Configure apt proxy so package downloads
> > can be cached and can pass firewalls.
> 
> Yay \o/
> 
> > 
> > Signed-off-by: Gerd Hoffmann <kraxel@redhat.com>
> > ---
> >  tests/vm/ubuntu.i386 | 4 ++++
> >  1 file changed, 4 insertions(+)
> > 
> > diff --git a/tests/vm/ubuntu.i386 b/tests/vm/ubuntu.i386
> > index a22d137e76df..b869afd212fa 100755
> > --- a/tests/vm/ubuntu.i386
> > +++ b/tests/vm/ubuntu.i386
> > @@ -51,6 +51,10 @@ class UbuntuX86VM(basevm.BaseVM):
> >                            "    ssh-authorized-keys:\n",
> >                            "    - %s\n" % basevm.SSH_PUB_KEY,
> >                            "locale: en_US.UTF-8\n"])
> > +        proxy = os.environ.get("http_proxy")
> 
> Some users only use 'https_proxy' (or FTP):
> https://lists.gnu.org/archive/html/qemu-devel/2018-06/msg08413.html

Well, this configures apt only, and the apt repos are configured
to use http.  So for package installs we are all set.

We might additionally setup AcceptEnv in sshd_config (i.e. basically do
the same thing console_sshd_config() in basevm.py does for serial
console installs) so proxy evironment pass-through works for ubuntu ssh
logins too.  I didn't see a strong need for that with package downloads
being covered already, so I didn't try ...

cheers,
  Gerd
diff mbox series

Patch

diff --git a/tests/vm/ubuntu.i386 b/tests/vm/ubuntu.i386
index a22d137e76df..b869afd212fa 100755
--- a/tests/vm/ubuntu.i386
+++ b/tests/vm/ubuntu.i386
@@ -51,6 +51,10 @@  class UbuntuX86VM(basevm.BaseVM):
                           "    ssh-authorized-keys:\n",
                           "    - %s\n" % basevm.SSH_PUB_KEY,
                           "locale: en_US.UTF-8\n"])
+        proxy = os.environ.get("http_proxy")
+        if not proxy is None:
+            udata.writelines(["apt:\n",
+                              "  proxy: %s" % proxy])
         udata.close()
         subprocess.check_call(["genisoimage", "-output", "cloud-init.iso",
                                "-volid", "cidata", "-joliet", "-rock",