| Index: appengine/swarming/server/task_scheduler.py
|
| diff --git a/appengine/swarming/server/task_scheduler.py b/appengine/swarming/server/task_scheduler.py
|
| index 9bc5e2b544cdf1b1d68f4a30f42e55cb5243f6e9..f0394b50167ee6a96e04e52c16e75a773182d78a 100644
|
| --- a/appengine/swarming/server/task_scheduler.py
|
| +++ b/appengine/swarming/server/task_scheduler.py
|
| @@ -608,7 +608,8 @@ def bot_reap_task(dimensions, bot_id, bot_version, deadline):
|
|
|
| def bot_update_task(
|
| run_result_key, bot_id, output, output_chunk_start, exit_code, duration,
|
| - hard_timeout, io_timeout, cost_usd, outputs_ref, performance_stats):
|
| + hard_timeout, io_timeout, cost_usd, outputs_ref, cipd_pins,
|
| + performance_stats):
|
| """Updates a TaskRunResult and TaskResultSummary, along TaskOutput.
|
|
|
| Arguments:
|
| @@ -622,6 +623,7 @@ def bot_update_task(
|
| - io_timeout: Bool set if an I/O timeout occured.
|
| - cost_usd: Cost in $USD of this task up to now.
|
| - outputs_ref: task_request.FilesRef instance or None.
|
| + - cipd_pins: None or task_result.CipdPins
|
| - performance_stats: task_result.PerformanceStats instance or None. Can only
|
| be set when the task is completing.
|
|
|
| @@ -649,10 +651,10 @@ def bot_update_task(
|
|
|
| packed = task_pack.pack_run_result_key(run_result_key)
|
| logging.debug(
|
| - 'bot_update_task(%s, %s, %s, %s, %s, %s, %s, %s, %s, %s, %s)',
|
| + 'bot_update_task(%s, %s, %s, %s, %s, %s, %s, %s, %s, %s, %s, %s)',
|
| packed, bot_id, len(output) if output else output, output_chunk_start,
|
| exit_code, duration, hard_timeout, io_timeout, cost_usd, outputs_ref,
|
| - performance_stats)
|
| + cipd_pins, performance_stats)
|
|
|
| result_summary_key = task_pack.run_result_key_to_result_summary_key(
|
| run_result_key)
|
| @@ -708,6 +710,9 @@ def bot_update_task(
|
| if outputs_ref:
|
| run_result.outputs_ref = outputs_ref
|
|
|
| + if cipd_pins:
|
| + run_result.cipd_pins = cipd_pins
|
| +
|
| if run_result.state in task_result.State.STATES_RUNNING:
|
| if hard_timeout or io_timeout:
|
| run_result.state = task_result.State.TIMED_OUT
|
| @@ -717,6 +722,7 @@ def bot_update_task(
|
| run_result.completed_ts = now
|
|
|
| run_result.signal_server_version(server_version)
|
| + run_result.validate(request)
|
| to_put = [run_result]
|
| if output:
|
| # This does 1 multi GETs. This also modifies run_result in place.
|
| @@ -740,6 +746,7 @@ def bot_update_task(
|
| else:
|
| result_summary.set_from_run_result(run_result, request)
|
|
|
| + result_summary.validate(request)
|
| to_put.append(result_summary)
|
| ndb.put_multi(to_put)
|
|
|
|
|