[Openstack] [Swift][Cinder] Installing Swift breaks Cinder ipv6
Mark Kirkwood
mark.kirkwood at catalyst.net.nz
Wed Jul 1 01:10:31 UTC 2015
I ran into this a few days ago. The context is we are running a node
that performs several api functions and it is going to be a swift proxy
too (at a later date when usage ramps up many of these functions may
move to individual machines, but for now we'd like to keep them together).
The machines are running Ubuntu Trusty, and we are installing Icehouse
packages.
So currently the cinder api service runs and listens on a wide ipv6
range (::). After I install the python-swift package the cinder api
refuses to start with:
2015-07-01 00:50:25.327 12159 CRITICAL cinder [-] gaierror: [Errno -9]
Address family for hostname not supported
2015-07-01 00:50:25.327 12159 TRACE cinder Traceback (most recent call
last):
2015-07-01 00:50:25.327 12159 TRACE cinder File "/usr/bin/cinder-api",
line 57, in <module>
2015-07-01 00:50:25.327 12159 TRACE cinder server =
service.WSGIService('osapi_volume')
2015-07-01 00:50:25.327 12159 TRACE cinder File
"/usr/lib/python2.7/dist-packages/cinder/service.py", line 301, in __init__
2015-07-01 00:50:25.327 12159 TRACE cinder port=self.port)
2015-07-01 00:50:25.327 12159 TRACE cinder File
"/usr/lib/python2.7/dist-packages/cinder/wsgi.py", line 118, in __init__
2015-07-01 00:50:25.327 12159 TRACE cinder backlog=backlog)
2015-07-01 00:50:25.327 12159 TRACE cinder File
"/usr/lib/python2.7/dist-packages/cinder/wsgi.py", line 174, in _get_socket
2015-07-01 00:50:25.327 12159 TRACE cinder family=family)
2015-07-01 00:50:25.327 12159 TRACE cinder File
"/usr/lib/python2.7/dist-packages/eventlet/convenience.py", line 38, in
listen
2015-07-01 00:50:25.327 12159 TRACE cinder sock.bind(addr)
2015-07-01 00:50:25.327 12159 TRACE cinder File
"/usr/lib/python2.7/socket.py", line 224, in meth
2015-07-01 00:50:25.327 12159 TRACE cinder return
getattr(self._sock,name)(*args)
2015-07-01 00:50:25.327 12159 TRACE cinder gaierror: [Errno -9] Address
family for hostname not supported
The culprit appears to be the python-dnspython package that is a dep for
python-swift.
Now it appears that there is some monkey patching going on in the
various wsgi eventlet modules to do ipv6 - somehow python-dnspython is
changing the way that works - any thoughts welcome, as it would be cool
to have things working again!
Regards
Mark
More information about the Openstack
mailing list