Comment 0 for bug 1471049

Revision history for this message
Mark Kirkwood (mark-kirkwood) wrote :

If osapi_volume_listen is an ipv6 address then attempting to start the cinder-api service gets:

2015-07-03 12:49:57.696 TRACE cinder Traceback (most recent call last):
2015-07-03 12:49:57.696 TRACE cinder File "/usr/local/bin/cinder-api", line 6, in <module>
2015-07-03 12:49:57.696 TRACE cinder exec(compile(open(__file__).read(), __file__, 'exec'))
2015-07-03 12:49:57.696 TRACE cinder File "/opt/stack/cinder/bin/cinder-api", line 60, in <module>
2015-07-03 12:49:57.696 TRACE cinder server = service.WSGIService('osapi_volume')
2015-07-03 12:49:57.696 TRACE cinder File "/opt/stack/cinder/cinder/service.py", line 345, in __init__
2015-07-03 12:49:57.696 TRACE cinder port=self.port)
2015-07-03 12:49:57.696 TRACE cinder File "/opt/stack/cinder/cinder/wsgi.py", line 177, in __init__
2015-07-03 12:49:57.696 TRACE cinder family=family)
2015-07-03 12:49:57.696 TRACE cinder File "/usr/local/lib/python2.7/dist-packages/eventlet/convenience.py", line 39, in listen
2015-07-03 12:49:57.696 TRACE cinder sock.bind(addr)
2015-07-03 12:49:57.696 TRACE cinder File "/usr/lib/python2.7/socket.py", line 224, in meth
2015-07-03 12:49:57.696 TRACE cinder return getattr(self._sock,name)(*args)
2015-07-03 12:49:57.696 TRACE cinder gaierror: [Errno -9] Address family for hostname not supported

The environment is Openstack Juno on Ubuntu 14.04 (devstack )

Note that pythondns is installed as a dependency if swift is installed, so is quite easy to trigger this.

This looks to be similar to https://bugs.launchpad.net/swift/+bug/1361204 and https://bugs.launchpad.net/nova/+bug/1164822 . Despite the latter suggesting that eventlet has fixed the issue it does not appear to be working with kludging an env variable (as nova does - see below).

Nova gets around this by setting EVENTLET_NO_GREENDNS=yes in __init__.py. This type of fix should work for cinder too, or alternatively in the cinder-api service file.