2
0
mirror of https://github.com/xcat2/xcat-core.git synced 2025-05-29 17:23:08 +00:00

record error response even debugmode is 0 (#4957)

* record error response even debugmode is 0
This commit is contained in:
xuweibj 2018-03-19 11:17:28 +08:00 committed by Bin Xu
parent 3e622bf94e
commit 8cdb9b6730

View File

@ -254,14 +254,19 @@ class OpenBMCRest(object):
self.root_url = HTTP_PROTOCOL + self.bmcip + PROJECT_URL
self.download_root_url = HTTP_PROTOCOL + self.bmcip + '/'
def _print_record_log (self, msg, cmd):
def _print_record_log (self, msg, cmd, error_flag=False):
if self.verbose :
if self.verbose or error_flag:
localtime = time.asctime( time.localtime(time.time()) )
log = self.name + ': [openbmc_debug] ' + cmd + ' ' + msg
self.messager.info(localtime + ' ' + log)
if self.verbose:
self.messager.info(localtime + ' ' + log)
logger.debug(log)
def _print_error_log (self, msg, cmd):
self._print_record_log(msg, cmd, True)
def _log_request (self, method, url, headers, data=None, files=None, file_path=None, cmd=''):
header_str = ' '.join([ "%s: %s" % (k, v) for k,v in headers.items() ])
@ -289,7 +294,7 @@ class OpenBMCRest(object):
if code != requests.codes.ok:
description = ''.join(data['data']['description'])
error = '[%d] %s' % (code, description)
self._print_record_log(error, cmd)
self._print_error_log(error, cmd)
raise SelfClientException(error, code)
self._print_record_log(data['message'], cmd)
@ -313,11 +318,11 @@ class OpenBMCRest(object):
except SelfServerException as e:
e.message = 'BMC did not respond. ' \
'Validate BMC configuration and retry the command.'
self._print_record_log(e.message, cmd)
self._print_error_log(e.message, cmd)
raise
except ValueError:
error = 'Received wrong format response: %s' % response
self._print_record_log(error, cmd)
self._print_error_log(error, cmd)
raise SelfServerException(error)
def download(self, method, resource, file_path, headers=None, cmd=''):
@ -332,15 +337,15 @@ class OpenBMCRest(object):
try:
response = self.session.request_download(method, url, httpheaders, file_path)
except SelfServerException as e:
self._print_record_log(e.message, cmd=cmd)
self._print_error_log(e.message, cmd=cmd)
raise
except SelfClientException as e:
error = e.message
self._print_record_log(error, cmd=cmd)
self._print_error_log(error, cmd=cmd)
raise
if not response:
self._print_record_log('No response received for command %s' % request_cmd, cmd=cmd)
self._print_error_log('No response received for command %s' % request_cmd, cmd)
return True
self._print_record_log(str(response.status_code), cmd=cmd)
@ -357,22 +362,22 @@ class OpenBMCRest(object):
try:
response = self.session.request_upload(method, url, httpheaders, files)
except SelfServerException:
self._print_record_log(error, cmd=cmd)
except SelfServerException as e:
self._print_error_log(e.message, cmd=cmd)
raise
try:
data = json.loads(response)
except ValueError:
error = 'Received wrong format response when running command \'%s\': %s' % \
(request_cmd, response)
self._print_record_log(error, cmd=cmd)
self._print_error_log(error, cmd=cmd)
raise SelfServerException(error)
if data['message'] != '200 OK':
error = 'Failed to upload update file %s : %s-%s' % \
(files, data['message'], \
''.join(data['data']['description']))
self._print_record_log(error, cmd=cmd)
self._print_error_log(error, cmd=cmd)
raise SelfClientException(error, code)
self._print_record_log(data['message'], cmd=cmd)