"some things may require that environment file to be filled in to work
properly"

And some things will require that environment file to *not* be filled in
to work properly.

My experience with using http_proxy environment variable is that it is
much better to "opt in" for services than to attempt global setting and
then "opt out".  Global setting via /etc/environment works only for a
very small set of systems, that have their entire network connectivity
through the proxy.

It falls apart quickly for systems that 
 a.) are on multiple networks, connected to some networks that the proxy is not 
connected to.  Any requests to systems on those networks will be sent to the 
proxy and fail.
 b.) run services in an lxc container, a vm on the system on a bridge or on 
localhost.

The simplest example of this is just:
 export http_proxy=your-proxy
 python -m SimpleHttpServer 9999
 wget http://127.0.0.1:9999/

That fails, and often in ways that are very difficult to recognize.

Setting http_proxy in a global place on a system is just too unflexible
to work reliably.  You end up having to use 'no_proxy' and setting it to
long lists of IP addresses.  GNU tools have nice function like:
no_proxy=10.0.0.0/24 , but python and many other readers of http_proxy
do not support that, so you have to set individual IP addresses, which
is just not reasonable.

Over all, its much better for processes that need connectivity to a
resource behind a proxy to be configured themselves.  Ie, configuring
/etc/apt/apt.conf.d/proxy is better than /etc/environment.

-- 
You received this bug notification because you are a member of Ubuntu
Bugs, which is subscribed to Ubuntu.
https://bugs.launchpad.net/bugs/1671320

Title:
  MaaS should set /etc/environment with appropriate proxy settings for
  rescue mode

To manage notifications about this bug go to:
https://bugs.launchpad.net/ubuntu/+source/maas/+bug/1671320/+subscriptions

-- 
ubuntu-bugs mailing list
[email protected]
https://lists.ubuntu.com/mailman/listinfo/ubuntu-bugs

Reply via email to