| Index: appengine/swarming/handlers_bot.py
|
| diff --git a/appengine/swarming/handlers_bot.py b/appengine/swarming/handlers_bot.py
|
| index 025267be477a2d83159a85121fb775233452a354..162bfdbcd239dc58eb933b7428abb4fa151af442 100644
|
| --- a/appengine/swarming/handlers_bot.py
|
| +++ b/appengine/swarming/handlers_bot.py
|
| @@ -632,9 +632,9 @@ class BotTaskUpdateHandler(_BotApiHandler):
|
| out-of-order packets.
|
| """
|
| ACCEPTED_KEYS = {
|
| - u'bot_overhead', u'cipd_stats', u'cost_usd', u'duration', u'exit_code',
|
| - u'hard_timeout', u'id', u'io_timeout', u'isolated_stats', u'output',
|
| - u'output_chunk_start', u'outputs_ref', u'task_id',
|
| + u'bot_overhead', u'cipd_pins', u'cipd_stats', u'cost_usd', u'duration',
|
| + u'exit_code', u'hard_timeout', u'id', u'io_timeout', u'isolated_stats',
|
| + u'output', u'output_chunk_start', u'outputs_ref', u'task_id',
|
| }
|
| REQUIRED_KEYS = {u'id', u'task_id'}
|
|
|
| @@ -657,13 +657,14 @@ class BotTaskUpdateHandler(_BotApiHandler):
|
| bot_auth.validate_bot_id_and_fetch_config(bot_id)
|
|
|
| bot_overhead = request.get('bot_overhead')
|
| + cipd_pins = request.get('cipd_pins')
|
| + cipd_stats = request.get('cipd_stats')
|
| cost_usd = request.get('cost_usd', 0)
|
| duration = request.get('duration')
|
| exit_code = request.get('exit_code')
|
| hard_timeout = request.get('hard_timeout')
|
| io_timeout = request.get('io_timeout')
|
| isolated_stats = request.get('isolated_stats')
|
| - cipd_stats = request.get('cipd_stats')
|
| output = request.get('output')
|
| output_chunk_start = request.get('output_chunk_start')
|
| outputs_ref = request.get('outputs_ref')
|
| @@ -720,6 +721,14 @@ class BotTaskUpdateHandler(_BotApiHandler):
|
| if outputs_ref:
|
| outputs_ref = task_request.FilesRef(**outputs_ref)
|
|
|
| + if cipd_pins:
|
| + cipd_pins = task_result.CipdPins(
|
| + client_package=task_request.CipdPackage(
|
| + **cipd_pins['client_package']),
|
| + packages=[
|
| + task_request.CipdPackage(**args) for args in cipd_pins['packages']]
|
| + )
|
| +
|
| try:
|
| state = task_scheduler.bot_update_task(
|
| run_result_key=run_result_key,
|
| @@ -732,6 +741,7 @@ class BotTaskUpdateHandler(_BotApiHandler):
|
| io_timeout=io_timeout,
|
| cost_usd=cost_usd,
|
| outputs_ref=outputs_ref,
|
| + cipd_pins=cipd_pins,
|
| performance_stats=performance_stats)
|
| if not state:
|
| logging.info('Failed to update, please retry')
|
|
|