Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(156)

Side by Side Diff: appengine/findit/waterfall/flake/recursive_flake_pipeline.py

Issue 2538533002: [Findit] Report the error from the last flake swarming task that failed in master_flake_analysis.py (Closed)
Patch Set: Addressing comments Created 4 years ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch
« no previous file with comments | « no previous file | appengine/findit/waterfall/flake/test/recursive_flake_pipeline_test.py » ('j') | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
1 # Copyright 2016 The Chromium Authors. All rights reserved. 1 # Copyright 2016 The Chromium Authors. All rights reserved.
2 # Use of this source code is governed by a BSD-style license that can be 2 # Use of this source code is governed by a BSD-style license that can be
3 # found in the LICENSE file. 3 # found in the LICENSE file.
4 4
5 from datetime import timedelta 5 from datetime import timedelta
6 import logging 6 import logging
7 import random 7 import random
8 import textwrap 8 import textwrap
9 9
10 from common import appengine_util 10 from common import appengine_util
(...skipping 384 matching lines...) Expand 10 before | Expand all | Expand 10 after
395 # Get MasterFlakeAnalysis success list corresponding to parameters. 395 # Get MasterFlakeAnalysis success list corresponding to parameters.
396 master_flake_analysis = MasterFlakeAnalysis.GetVersion( 396 master_flake_analysis = MasterFlakeAnalysis.GetVersion(
397 master_name, builder_name, master_build_number, step_name, test_name, 397 master_name, builder_name, master_build_number, step_name, test_name,
398 version=version_number) 398 version=version_number)
399 399
400 flake_swarming_task = FlakeSwarmingTask.Get( 400 flake_swarming_task = FlakeSwarmingTask.Get(
401 master_name, builder_name, run_build_number, step_name, test_name) 401 master_name, builder_name, run_build_number, step_name, test_name)
402 402
403 # Don't call another pipeline if we fail. 403 # Don't call another pipeline if we fail.
404 if flake_swarming_task.status == analysis_status.ERROR: 404 if flake_swarming_task.status == analysis_status.ERROR:
405 # TODO(lijeffrey): Implement more detailed error detection and reporting, 405 # Report the last flake swarming task's error that it encountered.
406 # such as timeouts, dead bots, etc.
407 # TODO(lijeffrey): Another neighboring swarming task may be needed in this 406 # TODO(lijeffrey): Another neighboring swarming task may be needed in this
408 # one's place instead of failing altogether. 407 # one's place instead of failing altogether.
409 error = { 408 error = flake_swarming_task.error or {
410 'error': 'Swarming task failed', 409 'error': 'Swarming task failed',
411 'message': 'Swarming task failed' 410 'message': 'The last swarming task did not complete as expected'
412 } 411 }
412
413 _UpdateAnalysisStatusUponCompletion( 413 _UpdateAnalysisStatusUponCompletion(
414 master_flake_analysis, analysis_status.ERROR, error) 414 master_flake_analysis, analysis_status.ERROR, error)
415 return 415 return
416 416
417 # Figure out what build_number to trigger a swarming rerun on next, if any. 417 # Figure out what build_number to trigger a swarming rerun on next, if any.
418 if (flakiness_algorithm_results_dict['stabled_out'] and 418 if (flakiness_algorithm_results_dict['stabled_out'] and
419 flakiness_algorithm_results_dict['flaked_out']): 419 flakiness_algorithm_results_dict['flaked_out']):
420 next_run = sequential_next_run( 420 next_run = sequential_next_run(
421 master_flake_analysis, flakiness_algorithm_results_dict) 421 master_flake_analysis, flakiness_algorithm_results_dict)
422 else: 422 else:
(...skipping 13 matching lines...) Expand all
436 master_name, builder_name, next_run, step_name, test_name, 436 master_name, builder_name, next_run, step_name, test_name,
437 version_number, master_build_number, 437 version_number, master_build_number,
438 flakiness_algorithm_results_dict=flakiness_algorithm_results_dict, 438 flakiness_algorithm_results_dict=flakiness_algorithm_results_dict,
439 manually_triggered=manually_triggered, 439 manually_triggered=manually_triggered,
440 use_nearby_neighbor=use_nearby_neighbor, 440 use_nearby_neighbor=use_nearby_neighbor,
441 step_size=(run_build_number - next_run)) 441 step_size=(run_build_number - next_run))
442 pipeline_job.target = appengine_util.GetTargetNameForModule( 442 pipeline_job.target = appengine_util.GetTargetNameForModule(
443 constants.WATERFALL_BACKEND) 443 constants.WATERFALL_BACKEND)
444 pipeline_job.StartOffPSTPeakHours( 444 pipeline_job.StartOffPSTPeakHours(
445 queue_name=self.queue_name or constants.DEFAULT_QUEUE) 445 queue_name=self.queue_name or constants.DEFAULT_QUEUE)
OLDNEW
« no previous file with comments | « no previous file | appengine/findit/waterfall/flake/test/recursive_flake_pipeline_test.py » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698