-
Notifications
You must be signed in to change notification settings - Fork 622
[Android V4 api Migration] Creates Feature Flag #5373
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Changes from all commits
eae81c5
629a1a6
8e48e60
3f568fa
9d8822a
70c3ef7
46b5a60
File filter
Filter by extension
Conversations
Jump to
Diff view
Diff view
There are no files selected for viewing
| Original file line number | Diff line number | Diff line change |
|---|---|---|
|
|
@@ -85,7 +85,7 @@ def download_latest_build(build_info, image_regexes, image_directory): | |
| logs.error('Failed to download artifact %s for ' | ||
| 'branch %s and target %s.' % (image_file_paths, | ||
| build_info['branch'], target)) | ||
| return | ||
| adb.bad_state_reached() | ||
|
|
||
| for file_path in image_file_paths: | ||
| if file_path.endswith('.zip') or file_path.endswith('.tar.gz'): | ||
|
|
@@ -97,7 +97,10 @@ def boot_stable_build_cuttlefish(branch, target, image_directory): | |
| """Boot cuttlefish instance using stable build id fetched from gcs.""" | ||
| build_info = fetch_artifact.get_latest_artifact_info( | ||
| branch, target, stable_build=True) | ||
| download_latest_build(build_info, FLASH_CUTTLEFISH_REGEXES, image_directory) | ||
| if not build_info: | ||
|
Collaborator
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. what happens if this returns without the build? Does the device get stuck in a flash cycle?
Collaborator
Author
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. Trueeeee forgot about what i told you in this doc's appendix. I performed an extensive investigation with jetski(TMI to digest by myself), and heres what i found out:
So the way i see it here is to ensure that if a bot fails it calls the bad_state function to trigger the whole self-healing process, which we already do(see changes in flash.py) For emulated uworker devices(like in swarming), we are 100% sure that they wont try to flash themselves, so theres no worry in here. The other place where we could run into an android api v4 issue is at symbols_downloader.py where it tries to get artifacts to process a stack-trace of errors, but i also investigated if this could cause the bot to loop, and the validations that we have in place avoid the uworker bot from crashing and just ignores the stack_trace symbolization.
Collaborator
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. Thanks! This flag is fine as long as the bot is in the retry loop but isn't actually making a bunch of calls that we know will fail. |
||
| logs.error('Unable to fetch stable build info for cuttlefish.') | ||
| else: | ||
| download_latest_build(build_info, FLASH_CUTTLEFISH_REGEXES, image_directory) | ||
| adb.recreate_cuttlefish_device() | ||
| adb.connect_to_cuttlefish_device() | ||
|
|
||
|
|
||
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.