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
(cherry picked from commit f7740c7919)
This commit is contained in:
Doug Hellmann 2019-06-26 11:47:42 -04:00 committed by Julia Kreger
parent 71e134a5d3
commit c9925f250d
1 changed files with 15 additions and 4 deletions

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: