improve error messages during node lookup failures

The error messages reported on the console when the agent can't find
its node do not give enough information to debug the cause of the
failure. This change adds some basic details like the URL of the API
server and the addresses of the node being sought there.

Change-Id: Ia54faf05c80159d1d5fde0b222627c673f1cffe3
This commit is contained in:
Doug Hellmann 2019-06-26 11:47:42 -04:00 committed by Doug Hellmann
parent af3df33175
commit f7740c7919

View File

@ -148,12 +148,19 @@ class APIClient(object):
'GET', self.lookup_api,
headers=self._get_ironic_api_version_header(),
params=params)
except Exception:
LOG.exception('Lookup failed')
except Exception as err:
LOG.exception(
'Unhandled error looking up node with addresses %r at %s: %s',
params['addresses'], self.api_url, err,
)
return False
if response.status_code != requests.codes.OK:
LOG.warning('Failure status code: %s', response.status_code)
LOG.warning(
'Failed looking up node with addresses %r at %s, '
'status code: %s',
params['addresses'], self.api_url, response.status_code,
)
return False
try:
@ -164,7 +171,11 @@ class APIClient(object):
# Check for valid response data
if 'node' not in content or 'uuid' not in content['node']:
LOG.warning('Got invalid node data from the API: %s', content)
LOG.warning(
'Got invalid node data in response to query for node '
'with addresses %r from %s: %s',
params['addresses'], self.api_url, content,
)
return False
if 'config' not in content: