processStatus = "permanentFail"
if rcode == 137:
- logger.warning("%s This container was killed on the compute instance. The most common reason is that it attempted to allocate too much RAM and was targeted by the Out Of Memory (OOM) killer. Try resubmitting with a higher 'ramMin'.",
+ logger.warning("%s Container may have been killed for using too much RAM. Try resubmitting with a higher 'ramMin'.",
self.arvrunner.label(self))
else:
processStatus = "permanentFail"
if current is None:
return
runtime_status = current.get('runtime_status', {})
- # In case of status being an error, only report the first one.
- if kind in ('error', 'warning', 'activity'):
+ if kind in ('error', 'warning'):
updatemessage = runtime_status.get(kind, "")
if not updatemessage:
- updatemessage = message;
+ updatemessage = message
# Subsequent messages tacked on in detail
updatedetail = runtime_status.get(kind+'Detail', "")
- if updatedetail:
- updatedetail += "\n"
- updatedetail += message + "\n"
- if detail:
- updatedetail += detail + "\n"
+ maxlines = 40
+ if updatedetail.count("\n") < maxlines:
+ if updatedetail:
+ updatedetail += "\n"
+ updatedetail += message + "\n"
+
+ if detail:
+ updatedetail += detail + "\n"
+
+ if updatedetail.count("\n") >= maxlines:
+ updatedetail += "\nSome messages may have been omitted. Check the full log."
+
runtime_status.update({
kind: updatemessage,
kind+'Detail': updatedetail,
runner.api.collections().list().execute.return_value = {"items": [{"uuid": "zzzzz-4zz18-zzzzzzzzzzzzzzz",
"portable_data_hash": "99999999999999999999999999999993+99"}]}
+ runner.api.containers().current().execute.return_value = {}
+
runner.project_uuid = "zzzzz-8i9sb-zzzzzzzzzzzzzzz"
runner.ignore_docker_for_reuse = False
runner.num_retries = 0