New issue
Advanced search Search tips
Note: Color blocks (like or ) mean that a user may not be available. Tooltip shows the reason.

Issue 826870 link

Starred by 1 user

Issue metadata

Status: Available
Owner: ----
Cc:
Components:
EstimatedDays: ----
NextAction: ----
OS: ----
Pri: 1
Type: Bug



Sign in to add a comment

[Findit] Flake Analyzer - Autorevert creation/submission for flaky tests

Project Member Reported by wylieb@chromium.org, Mar 28 2018

Issue description

Tracking bug for main tasks. For less important follow-ups, bugs will be blocking this until complete.
 
Project Member

Comment 1 by bugdroid1@chromium.org, Mar 30 2018

The following revision refers to this bug:
  https://chromium.googlesource.com/infra/infra/+/bde4106b2d4bc5eab112783852914bea3199913b

commit bde4106b2d4bc5eab112783852914bea3199913b
Author: Brandon Wylie <wylieb@chromium.org>
Date: Fri Mar 30 00:10:24 2018

[Findit] Decouple cl_key from repo/revision

When a pipeline refers to a suspected cl, it works by calling Get with
the required properties. Since the class structure is now:
Base --> (Derived_1, Derived_2)
There's no way to use these properties to get the proper derived model.
This change introduces a string key that will be passed instead of
the usual (repo, revision). This will allow for use with each of the
derived model classes.

Notable changes:
* Removed the CLKey structured object
* Kept the cl_key property, but it's now a basestring
* Changed references to accommodate.
* Created wrapper method to handle potential errors when getting a
  bad key (this is sort of an open issue for ndb in general).
  https://github.com/googlecloudplatform/datastore-ndb-python/issues/143

Bug: 826870
Change-Id: I9cfaeb635d46eee3302a75c1d27ecd6044c114fe
Reviewed-on: https://chromium-review.googlesource.com/985194
Commit-Queue: Brandon Wylie <wylieb@chromium.org>
Reviewed-by: Chan Li <chanli@chromium.org>

[modify] https://crrev.com/bde4106b2d4bc5eab112783852914bea3199913b/appengine/findit/waterfall/test/send_notification_to_irc_pipeline_test.py
[modify] https://crrev.com/bde4106b2d4bc5eab112783852914bea3199913b/appengine/findit/services/test_failure/test/test_culprit_action_test.py
[modify] https://crrev.com/bde4106b2d4bc5eab112783852914bea3199913b/appengine/findit/services/culprit_action.py
[modify] https://crrev.com/bde4106b2d4bc5eab112783852914bea3199913b/appengine/findit/pipelines/test/create_revert_cl_pipeline_test.py
[modify] https://crrev.com/bde4106b2d4bc5eab112783852914bea3199913b/appengine/findit/pipelines/test/submit_revert_cl_pipeline_test.py
[modify] https://crrev.com/bde4106b2d4bc5eab112783852914bea3199913b/appengine/findit/pipelines/test_failure/test/identify_test_try_job_culprit_pipeline_test.py
[modify] https://crrev.com/bde4106b2d4bc5eab112783852914bea3199913b/appengine/findit/services/build_failure_analysis.py
[modify] https://crrev.com/bde4106b2d4bc5eab112783852914bea3199913b/appengine/findit/waterfall/test/send_notification_for_culprit_pipeline_test.py
[modify] https://crrev.com/bde4106b2d4bc5eab112783852914bea3199913b/appengine/findit/pipelines/submit_revert_cl_pipeline.py
[modify] https://crrev.com/bde4106b2d4bc5eab112783852914bea3199913b/appengine/findit/services/test/build_failure_analysis_test.py
[add] https://crrev.com/bde4106b2d4bc5eab112783852914bea3199913b/appengine/findit/services/consistent_failure_culprits.py
[modify] https://crrev.com/bde4106b2d4bc5eab112783852914bea3199913b/appengine/findit/pipelines/compile_failure/identify_compile_try_job_culprit_pipeline.py
[add] https://crrev.com/bde4106b2d4bc5eab112783852914bea3199913b/appengine/findit/model/test/entity_util_test.py
[modify] https://crrev.com/bde4106b2d4bc5eab112783852914bea3199913b/appengine/findit/pipelines/test_failure/test/revert_and_notify_test_culprit_pipeline_test.py
[modify] https://crrev.com/bde4106b2d4bc5eab112783852914bea3199913b/appengine/findit/pipelines/test_failure/identify_test_try_job_culprit_pipeline.py
[modify] https://crrev.com/bde4106b2d4bc5eab112783852914bea3199913b/appengine/findit/services/git.py
[modify] https://crrev.com/bde4106b2d4bc5eab112783852914bea3199913b/appengine/findit/pipelines/compile_failure/test/revert_and_notify_compile_culprit_pipeline_test.py
[add] https://crrev.com/bde4106b2d4bc5eab112783852914bea3199913b/appengine/findit/services/test/consistent_failure_culprits_test.py
[modify] https://crrev.com/bde4106b2d4bc5eab112783852914bea3199913b/appengine/findit/services/gerrit.py
[modify] https://crrev.com/bde4106b2d4bc5eab112783852914bea3199913b/appengine/findit/services/test/culprit_action_test.py
[modify] https://crrev.com/bde4106b2d4bc5eab112783852914bea3199913b/appengine/findit/services/test/git_test.py
[modify] https://crrev.com/bde4106b2d4bc5eab112783852914bea3199913b/appengine/findit/services/test_failure/test_culprit_action.py
[modify] https://crrev.com/bde4106b2d4bc5eab112783852914bea3199913b/appengine/findit/pipelines/compile_failure/test/identify_compile_try_job_culprit_pipeline_test.py
[modify] https://crrev.com/bde4106b2d4bc5eab112783852914bea3199913b/appengine/findit/services/parameters.py
[add] https://crrev.com/bde4106b2d4bc5eab112783852914bea3199913b/appengine/findit/model/entity_util.py
[modify] https://crrev.com/bde4106b2d4bc5eab112783852914bea3199913b/appengine/findit/pipelines/create_revert_cl_pipeline.py
[modify] https://crrev.com/bde4106b2d4bc5eab112783852914bea3199913b/appengine/findit/dto/dict_of_basestring.py
[modify] https://crrev.com/bde4106b2d4bc5eab112783852914bea3199913b/appengine/findit/services/test/gerrit_test.py

Project Member

Comment 2 by bugdroid1@chromium.org, Apr 6 2018

The following revision refers to this bug:
  https://chromium.googlesource.com/infra/infra/+/e0207eb7572873233e602b0dec5fdf6d165953cd

commit e0207eb7572873233e602b0dec5fdf6d165953cd
Author: Brandon Wylie <wylieb@chromium.org>
Date: Fri Apr 06 17:24:51 2018

[Findit] Flake Analyzer - Autorevert for flaky tests

Implementation of revert creation and submission for newly added tests.
Design/background: http://shortn/_N7SxwrZZR8
Notable changes:
* Some refactoring from repo/rev --> urlsafe key.
* New pipeline to create/submit a revert for a newly added flaky test.
* Utility functions added to service modules.

Bug: 826870
Change-Id: If25b694604fdca7a8e4f0bb6af09491dd5201f7c
Reviewed-on: https://chromium-review.googlesource.com/990653
Commit-Queue: Brandon Wylie <wylieb@chromium.org>
Reviewed-by: Shuotao Gao <stgao@chromium.org>
Reviewed-by: Chan Li <chanli@chromium.org>

[add] https://crrev.com/e0207eb7572873233e602b0dec5fdf6d165953cd/appengine/findit/pipelines/flake_failure/test/create_and_submit_revert_pipeline_test.py
[modify] https://crrev.com/e0207eb7572873233e602b0dec5fdf6d165953cd/appengine/findit/services/gerrit.py
[add] https://crrev.com/e0207eb7572873233e602b0dec5fdf6d165953cd/appengine/findit/pipelines/flake_failure/create_and_submit_revert_pipeline.py
[modify] https://crrev.com/e0207eb7572873233e602b0dec5fdf6d165953cd/appengine/findit/services/test/gerrit_test.py
[add] https://crrev.com/e0207eb7572873233e602b0dec5fdf6d165953cd/appengine/findit/dto/create_and_submit_revert_input.py
[modify] https://crrev.com/e0207eb7572873233e602b0dec5fdf6d165953cd/appengine/findit/model/flake/master_flake_analysis.py
[modify] https://crrev.com/e0207eb7572873233e602b0dec5fdf6d165953cd/appengine/findit/services/flake_failure/culprit_util.py
[modify] https://crrev.com/e0207eb7572873233e602b0dec5fdf6d165953cd/appengine/findit/pipelines/flake_failure/analyze_flake_pipeline.py
[modify] https://crrev.com/e0207eb7572873233e602b0dec5fdf6d165953cd/appengine/findit/infra_api_clients/codereview/gerrit.py
[modify] https://crrev.com/e0207eb7572873233e602b0dec5fdf6d165953cd/appengine/findit/pipelines/flake_failure/test/analyze_flake_pipeline_test.py
[modify] https://crrev.com/e0207eb7572873233e602b0dec5fdf6d165953cd/appengine/findit/index.yaml
[modify] https://crrev.com/e0207eb7572873233e602b0dec5fdf6d165953cd/appengine/findit/services/culprit_action.py
[modify] https://crrev.com/e0207eb7572873233e602b0dec5fdf6d165953cd/appengine/findit/pipelines/test/submit_revert_cl_pipeline_test.py
[modify] https://crrev.com/e0207eb7572873233e602b0dec5fdf6d165953cd/appengine/findit/services/flake_failure/test/culprit_util_test.py

Project Member

Comment 3 by bugdroid1@chromium.org, Apr 10 2018

The following revision refers to this bug:
  https://chromium.googlesource.com/infra/infra/+/75ede494b3d5ed4fa9077e8418c189f942ec195d

commit 75ede494b3d5ed4fa9077e8418c189f942ec195d
Author: Brandon Wylie <wylieb@chromium.org>
Date: Tue Apr 10 00:16:46 2018

[Findit] Flake Analyzer - Fit and finish for flake autoreverts

* Adding support for Flaky test: step.test when creating a CL. This
  is for the audit-app.
* Adding consistent arguments for codereview class.
* Adding optional bug_id field and optional footer for revert reason.
* Adding config ovverride to enable autorevert.

Bug: 826870,  828480 
Change-Id: I9f620220f54aee8e300efd66174568d63dcd23ee
Reviewed-on: https://chromium-review.googlesource.com/999968
Reviewed-by: Shuotao Gao <stgao@chromium.org>
Commit-Queue: Brandon Wylie <wylieb@chromium.org>

[modify] https://crrev.com/75ede494b3d5ed4fa9077e8418c189f942ec195d/appengine/findit/handlers/test/config_test.py
[modify] https://crrev.com/75ede494b3d5ed4fa9077e8418c189f942ec195d/appengine/findit/services/gerrit.py
[modify] https://crrev.com/75ede494b3d5ed4fa9077e8418c189f942ec195d/appengine/findit/services/test/gerrit_test.py
[modify] https://crrev.com/75ede494b3d5ed4fa9077e8418c189f942ec195d/appengine/findit/pipelines/test/create_revert_cl_pipeline_test.py
[modify] https://crrev.com/75ede494b3d5ed4fa9077e8418c189f942ec195d/appengine/findit/infra_api_clients/codereview/rietveld.py
[modify] https://crrev.com/75ede494b3d5ed4fa9077e8418c189f942ec195d/appengine/findit/services/flake_failure/culprit_util.py
[modify] https://crrev.com/75ede494b3d5ed4fa9077e8418c189f942ec195d/appengine/findit/infra_api_clients/codereview/gerrit.py
[modify] https://crrev.com/75ede494b3d5ed4fa9077e8418c189f942ec195d/appengine/findit/services/flake_failure/test/culprit_util_test.py
[modify] https://crrev.com/75ede494b3d5ed4fa9077e8418c189f942ec195d/appengine/findit/infra_api_clients/codereview/codereview.py
[modify] https://crrev.com/75ede494b3d5ed4fa9077e8418c189f942ec195d/appengine/findit/handlers/config.py

Comment 4 by wylieb@chromium.org, Apr 20 2018

Owner: ----
Status: Available (was: Started)

Sign in to add a comment