Improve error reporting in _get_my_ipv4_address()

Provide more detailed error reporting when we cannot figure out what the
IPv4 address of the server is.

Change-Id: Ifac8a2109ae00c9c2624e03725f41b6052890f77
This commit is contained in:
Doug Hellmann 2014-11-19 12:45:04 -05:00
parent ed9a695564
commit edfc2c75fb
1 changed files with 12 additions and 2 deletions

View File

@ -139,9 +139,19 @@ def _get_my_ipv4_address():
gtw = netifaces.gateways()
try:
interface = gtw['default'][netifaces.AF_INET][1]
except (KeyError, IndexError):
LOG.info(_LI('Could not determine default network interface, '
'using 127.0.0.1 for IPv4 address'))
try:
return netifaces.ifaddresses(interface)[netifaces.AF_INET][0]['addr']
except Exception:
LOG.info(_LI("Couldn't get IPv4"))
except (KeyError, IndexError):
LOG.info(_LI('Could not determine IPv4 address for interface %s, '
'using 127.0.0.1'),
interface)
except Exception as e:
LOG.info(_LI('Could not determine IPv4 address for '
'interface %(interface)s: %(error)s'),
{'interface': interface, 'error': e})
return LOCALHOST