report-error: send only last 5242000 characters in error logs

* otherwise whole build report submission is rejected because it's too big

(From OE-Core rev: 3544b4d4d72330eb12bb3cda25cb99ed52c8a2eb)

Signed-off-by: Martin Jansa <Martin.Jansa@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
This commit is contained in:
Martin Jansa
2015-09-04 14:22:09 +02:00
committed by Richard Purdie
parent 466eee6699
commit 924348d54b

View File

@@ -54,13 +54,22 @@ python errorreport_handler () {
if log:
try:
logFile = open(log, 'r')
taskdata['log'] = logFile.read().decode('utf-8')
logdata = logFile.read().decode('utf-8')
logFile.close()
except:
taskdata['log'] = "Unable to read log file"
logdata = "Unable to read log file"
else:
taskdata['log'] = "No Log"
logdata = "No Log"
# server will refuse failures longer than param specified in project.settings.py
# MAX_UPLOAD_SIZE = "5242880"
# use lower value, because 650 chars can be spent in task, package, version
max_logdata_size = 5242000
# upload last max_logdata_size characters
if len(logdata) > max_logdata_size:
logdata = "..." + logdata[-max_logdata_size:]
taskdata['log'] = logdata
lock = bb.utils.lockfile(datafile + '.lock')
jsondata = json.loads(errorreport_getdata(e))
jsondata['failures'].append(taskdata)