bootstrap-vz/bootstrapvz/providers/gce/tasks
Paul Marks 15c7d1ccb3 Do not remove ::1 from the loopback interface.
An environment with AF_INET6 sockets but no loopback interface creates
nothing but pain.

If an IPv4 server binds to 0.0.0.0:8080, clients may connect to
0.0.0.0:8080, which automatically picks 127.0.0.1 as a source address.
However, when a server binds to [::]:8080, the absence of ::1 causes
clients to fail with ENETUNREACH.

For a demonstration, run the following in a python shell:

import socket
s = socket.socket(socket.AF_INET6, socket.SOCK_STREAM, 0)
s.bind(("", 0))
print s.getsockname()  # Example: ('::', 39079, 0, 0)
s.listen(10)
c = socket.socket(socket.AF_INET6, socket.SOCK_STREAM, 0)
c.connect(s.getsockname())
print c.getsockname(), c.getpeername()

This yields the following error:

Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
  File "/usr/lib/python2.7/socket.py", line 224, in meth
    return getattr(self._sock,name)(*args)
socket.error: [Errno 101] Network is unreachable
2016-03-24 17:14:17 -07:00
..
__init__.py Disable resize on disks larger than 2TB 2015-01-29 16:22:30 -08:00
apt.py Change location of GCE apt repo's (this is an interim change). 2015-12-15 11:20:49 -08:00
boot.py Add support for Debian 8 in GCE. 2015-05-19 13:19:12 -07:00
configuration.py Add Google Cloud Engine (GCE) provider: 2014-05-03 14:25:54 +02:00
host.py Do not remove ::1 from the loopback interface. 2016-03-24 17:14:17 -07:00
image.py Change location of GCE apt repo's (this is an interim change). 2015-12-15 11:20:49 -08:00
initd.py Fix typo 2016-03-03 14:29:42 -08:00
packages-kernels.yml Cleanup package list and add in packages that were being added outside 2016-02-26 16:24:20 -08:00
packages.py Only include bare essential packages in the GCE provider task. Move 2016-02-29 10:38:34 -08:00