Closed
Bug 1324922
Opened 8 years ago
Closed 7 years ago
Stop publishing complete MARs to balrog as a part of build/l10n repacks - final update
Categories
(Release Engineering :: General, defect)
Release Engineering
General
Tracking
(Not tracked)
RESOLVED
FIXED
People
(Reporter: sfraser, Assigned: sfraser)
References
Details
Attachments
(8 files)
(deleted),
text/x-review-board-request
|
catlee
:
review+
|
Details |
(deleted),
patch
|
Details | Diff | Splinter Review | |
(deleted),
patch
|
Details | Diff | Splinter Review | |
(deleted),
patch
|
Details | Diff | Splinter Review | |
(deleted),
patch
|
Details | Diff | Splinter Review | |
(deleted),
patch
|
Details | Diff | Splinter Review | |
(deleted),
patch
|
catlee
:
review+
|
Details | Diff | Splinter Review |
(deleted),
patch
|
catlee
:
review+
|
Details | Diff | Splinter Review |
Follow up to bug 1195365, final change to prevent balrog submissions before funsize does its partial update generation.
Assignee | ||
Updated•8 years ago
|
Assignee: nobody → sfraser
Comment hidden (mozreview-request) |
Comment 2•8 years ago
|
||
Simon, how does funsize announce a complete MAR file on Mozilla Pulse? I would like to know so we can add checks to our Firefox-UI update tests. Thanks.
Assignee | ||
Comment 3•8 years ago
|
||
I don't believe it does at the moment, it just does a submission to balrog. It'll be the same MAR file produced by the build and signing steps, though, just with the extra partial MARs alongside it.
Comment 4•8 years ago
|
||
Maybe Rail can help here. If we want to test the full mar patches, we have to be informed via Pulse.
Flags: needinfo?(rail)
Assignee | ||
Updated•8 years ago
|
Attachment #8820433 -
Flags: review?(jlund)
Comment 5•8 years ago
|
||
I think there will be no change for funsize at this point. If we change the routes for the funsize tasks, we should let Henrik know.
Flags: needinfo?(rail)
Comment 6•8 years ago
|
||
Ok, so which Pulse route I have to look for to detect a full mar file for testing?
Comment 7•8 years ago
|
||
mozreview-review |
Comment on attachment 8820433 [details]
bug 1324922 stop balrog updates before funsize does its thing
https://reviewboard.mozilla.org/r/99918/#review102478
I'm going to r- for now just to show that I've reviewed the code. As always, I'm open to flipping it to an r+ if you disagree or point out something I missed.
::: testing/mozharness/mozharness/mozilla/building/buildbase.py:2121
(Diff revision 1)
> props_path = os.path.join(env["UPLOAD_PATH"],
> 'balrog_props.json')
> self.generate_balrog_props(props_path)
> return
>
> + if self.config.get('skip_balrog_uploads'):
patch looks good and should do what you want. However, the complexity is starting to increase in this method. e.g. this line must come after line 2114, the `if self.config.get('taskcluster_nightly')` block.
I think it would be great if we made line 2114 its own action and then we can simply uncomment 'update' in the list of actions of linux*
iow -
here (and the linux64 equiv): https://dxr.mozilla.org/mozilla-central/rev/cad2ea346d06ec5a3a70eda912513201dff0c21e/testing/mozharness/configs/builds/releng_base_linux_32_builds.py#22
replace with:
'default_actions': [
'clobber',
'clone-tools',
'checkout-sources',
'setup-mock',
'build',
'upload-files',
'sendchange',
'check-test',
'generate-build-stats',
'generate-balrog-props',
# 'update',
],
by commenting out update, the update() method will never be invoked at all. You will also have to define the action generate-balrog-props, as it is new, here: https://dxr.mozilla.org/mozilla-central/rev/cad2ea346d06ec5a3a70eda912513201dff0c21e/testing/mozharness/scripts/fx_desktop_build.py#48
finally, you can then remove this block: https://dxr.mozilla.org/mozilla-central/rev/cad2ea346d06ec5a3a70eda912513201dff0c21e/testing/mozharness/mozharness/mozilla/building/buildbase.py#2113-2119
and make it, along with the needed generate_build_props() call, its own method above `def update()` method definition:
e.g.:
```
def generate_balrog_props():
# generate balrog props as artifacts for subsequent balrogscript task
# in the taskcluster nightly case
if self.config.get('taskcluster_nightly'):
# grab any props available from this or previous unclobbered runs
self.generate_build_props(console_output=False,
halt_on_failure=False)
env = self.query_mach_build_env(multiLocale=False)
props_path = os.path.join(env["UPLOAD_PATH"],
'balrog_props.json')
self.generate_balrog_props(props_path)
```
bear in mind, ^ is psuedo bug riddled code but hopefully the general idea makes sense. Do you agree? Questions? I can help if you decide to go this route.
Attachment #8820433 -
Flags: review?(jlund) → review-
Assignee | ||
Comment 8•8 years ago
|
||
What effect will that have on thunderbird builds? It's my understanding it uses the same code path, so what would we need to enable to make sure those continue to work as expected?
Comment 9•8 years ago
|
||
(In reply to Simon Fraser [:sfraser] ⌚️GMT from comment #8)
> What effect will that have on thunderbird builds? It's my understanding it
> uses the same code path, so what would we need to enable to make sure those
> continue to work as expected?
thunderbird uses releng_base_linux_{64,32}_builds.py ?
whether you comment out `# update` or put `'skip_balrog_uploads': True` in releng_base_linux_{64,32}_builds.py, you will skip submitting to balrog for any platform that uses that file. All other platforms that do not use that config file will continue to function as normal no?
Assignee | ||
Comment 10•8 years ago
|
||
Ah, I'd missed where those were added. How about the attached diff?
Attachment #8824028 -
Flags: review?(jlund)
Comment 11•8 years ago
|
||
Comment on attachment 8824028 [details] [diff] [review]
disable-balrog-updates.diff
Review of attachment 8824028 [details] [diff] [review]:
-----------------------------------------------------------------
looks great! thanks for re-patching. couple tiny nits below before I stamp
::: testing/mozharness/configs/builds/releng_base_linux_32_builds.py
@@ +19,5 @@
> 'sendchange',
> 'check-test',
> 'generate-build-stats',
> + 'generate-balrog-properties',
> + # 'update', # decided by query_is_nightly()
the `# decided by query_is_nightly()` part is no longer true in this case and can be removed
::: testing/mozharness/configs/builds/releng_base_linux_64_builds.py
@@ +18,5 @@
> 'sendchange',
> 'check-test',
> 'generate-build-stats',
> + 'generate-balrog-properties',
> + # 'update', # decided by query_is_nightly()
same here
::: testing/mozharness/mozharness/mozilla/building/buildbase.py
@@ +2105,5 @@
> + # generate balrog props as artifacts
> + if not self.config.get('taskcluster_nightly'):
> + return
> +
> + if self.config.get('forced_artifact_build'):
I don't think we will have a case where we end up with a taskcluster nightly build and it being a forced artifact build. given that, we can remove this condition
@@ +2117,5 @@
> + env = self.query_mach_build_env(multiLocale=False)
> + props_path = os.path.join(env["UPLOAD_PATH"],
> + 'balrog_props.json')
> + self.generate_balrog_props(props_path)
> + return
I think the explicit return statement here is a no-op
Assignee | ||
Comment 12•8 years ago
|
||
changes made, new diff
Assignee | ||
Comment 13•8 years ago
|
||
After consideration of this patch it will cause problems for Android, as it will change the logic for their balrog updates in taskcluster nightlies. Therefore, holding on to this version of the patch for later use once we don't need to make that distinction between tc and bb any more.
Comment 14•8 years ago
|
||
Comment on attachment 8824028 [details] [diff] [review]
disable-balrog-updates.diff
clearing my r? because of comment 13
Did you get someone or get access to land original patch? Did you want to put original back up for r?
Attachment #8824028 -
Flags: review?(jlund)
Assignee | ||
Comment 15•8 years ago
|
||
Last I knew I was waiting to see if you were available to do it. Do we need the original back up, if it's still in the history?
Assignee | ||
Comment 16•8 years ago
|
||
Still waiting on someone with access to land the original patch
Flags: needinfo?(jlund)
Comment 17•8 years ago
|
||
(In reply to Simon Fraser [:sfraser] ⌚️GMT from comment #16)
> Still waiting on someone with access to land the original patch
Ah sorry. I didn't realize you still don't have access. If you haven't done so, this is how you go about getting access: https://www.mozilla.org/en-US/about/governance/policies/commit/
You will need to ask for level 3, consent to policy, attach your pub ssh key, and you can use 2 releng folk (e.g. myself) to vouch in the bug.
In the meantime, I'll land the original patch on inbound which I believe is: https://reviewboard.mozilla.org/r/99918/diff/1#index_header and nightlies will take effect once it merges to central over the next 1-2 days.
I'm putting this bug as 'leave-open' so sheriffs know not to close it once patch is on central so we can follow up as per: comment 13
Flags: needinfo?(jlund)
Keywords: leave-open
Comment 18•8 years ago
|
||
mozreview-review |
Comment on attachment 8820433 [details]
bug 1324922 stop balrog updates before funsize does its thing
https://reviewboard.mozilla.org/r/99918/#review128198
Attachment #8820433 -
Flags: review- → review+
Comment 19•8 years ago
|
||
https://hg.mozilla.org/integration/mozilla-inbound/rev/3b920caf08cec95491458a5d49ecd206ba1b0069
Bug 1324922 - Stop publishing complete MARs to balrog as a part of build/l10n repacks - final update, r=jlund
Comment 20•8 years ago
|
||
(In reply to Jordan Lund (:jlund) from comment #19)
> https://hg.mozilla.org/integration/mozilla-inbound/rev/
> 3b920caf08cec95491458a5d49ecd206ba1b0069
> Bug 1324922 - Stop publishing complete MARs to balrog as a part of
> build/l10n repacks - final update, r=jlund
sfraser, we will want to watch first set of nightlies after this lands on central. I can help sanity check too
Flags: needinfo?(sfraser)
Comment 21•8 years ago
|
||
(In reply to Jordan Lund (:jlund) from comment #20)
> (In reply to Jordan Lund (:jlund) from comment #19)
> > https://hg.mozilla.org/integration/mozilla-inbound/rev/
> > 3b920caf08cec95491458a5d49ecd206ba1b0069
> > Bug 1324922 - Stop publishing complete MARs to balrog as a part of
> > build/l10n repacks - final update, r=jlund
>
> sfraser, we will want to watch first set of nightlies after this lands on
> central. I can help sanity check too
actually, I'm just thinking... this patch is a no-op now right? both fennec and desktop nightlies use taskcluster so I think we will always hit this block for nightlies: https://dxr.mozilla.org/mozilla-central/source/testing/mozharness/mozharness/mozilla/building/buildbase.py#2122,2127
shall we back out and do comment 13 right away? I've lost a bit of context but iirc, this bug was about bbot nightlies originally.
Comment 22•8 years ago
|
||
bugherder |
Assignee | ||
Comment 23•8 years ago
|
||
Sorry, I'd missed this n-i. Some of the lnie numbers have changed so here is an updated diff.
Flags: needinfo?(sfraser) → needinfo?(jlund)
Assignee | ||
Comment 24•8 years ago
|
||
Updated diff to cover Mac and Windows, too
Comment 25•8 years ago
|
||
Comment on attachment 8863796 [details] [diff] [review]
balrog_props.diff
Review of attachment 8863796 [details] [diff] [review]:
-----------------------------------------------------------------
::: testing/mozharness/configs/builds/releng_base_windows_32_builds.py
@@ +53,4 @@
> 'enable_talos_sendchange': True,
> 'enable_unittest_sendchange': True,
> 'max_build_output_timeout': 60 * 80,
> + 'skip_balrog_uploads': True, # If True, rely on Funsize to update Balrog
does this do anything now that we're not running the update action?
::: testing/mozharness/mozharness/mozilla/building/buildbase.py
@@ +1095,3 @@
> elif c.get('src_mozconfig_manifest') and not c.get('src_mozconfig'):
> self.info('Using mozconfig based on manifest contents')
> + manifest = os.path.join(dirs['abs_work_dir'], c[
this is an odd place to split the line
@@ +2187,5 @@
> + Wrapper around generate_balrog_props
> + """
> + # generate balrog props as artifacts
> + if not self.config.get('taskcluster_nightly'):
> + return
this would return False for Windows / OSX builds right now, so we won't end up generating any balrog properties, right?
are those needed for funsize?
Assignee | ||
Comment 26•8 years ago
|
||
(In reply to Chris AtLee [:catlee] from comment #25)
> Comment on attachment 8863796 [details] [diff] [review]
> balrog_props.diff
>
> Review of attachment 8863796 [details] [diff] [review]:
> -----------------------------------------------------------------
>
> ::: testing/mozharness/configs/builds/releng_base_windows_32_builds.py
> @@ +53,4 @@
> > 'enable_talos_sendchange': True,
> > 'enable_unittest_sendchange': True,
> > 'max_build_output_timeout': 60 * 80,
> > + 'skip_balrog_uploads': True, # If True, rely on Funsize to update Balrog
>
> does this do anything now that we're not running the update action?/
True, I'll strip it out.
>
> ::: testing/mozharness/mozharness/mozilla/building/buildbase.py
> @@ +1095,3 @@
> > elif c.get('src_mozconfig_manifest') and not c.get('src_mozconfig'):
> > self.info('Using mozconfig based on manifest contents')
> > + manifest = os.path.join(dirs['abs_work_dir'], c[
>
> this is an odd place to split the line
I can undo it, it was an autopep8-ism
> @@ +2187,5 @@
> > + Wrapper around generate_balrog_props
> > + """
> > + # generate balrog props as artifacts
> > + if not self.config.get('taskcluster_nightly'):
> > + return
>
> this would return False for Windows / OSX builds right now, so we won't end
> up generating any balrog properties, right?
>
> are those needed for funsize?
It doesn't appear so, no, funsize generates the balrog properties from the manifest.
Assignee | ||
Comment 27•8 years ago
|
||
Updated to remove pep8 changes.
Updated•8 years ago
|
Attachment #8865811 -
Flags: review+
Comment hidden (mozreview-request) |
Comment 29•8 years ago
|
||
mozreview-review |
Comment on attachment 8820433 [details]
bug 1324922 stop balrog updates before funsize does its thing
https://reviewboard.mozilla.org/r/99918/#review140646
Attachment #8820433 -
Flags: review?(catlee) → review+
Comment 30•8 years ago
|
||
We're sorry, Autoland could not rebase your commits for you automatically. Please manually rebase your commits and try again.
hg error in cmd: hg rebase -s 82005fcd5885 -d cc27ea7fc377: rebasing 394584:82005fcd5885 "bug 1324922 stop publishing complete MARs in BB, leave that to funsize. r=catlee,jlund" (tip)
merging testing/mozharness/configs/builds/releng_base_linux_32_builds.py
merging testing/mozharness/configs/builds/releng_base_linux_64_builds.py
merging testing/mozharness/configs/builds/releng_base_mac_64_builds.py
merging testing/mozharness/configs/builds/releng_base_mac_64_cross_builds.py
merging testing/mozharness/configs/builds/releng_base_windows_32_builds.py
merging testing/mozharness/configs/builds/releng_base_windows_64_builds.py
merging testing/mozharness/mozharness/mozilla/building/buildbase.py
merging testing/mozharness/scripts/fx_desktop_build.py
warning: conflicts while merging testing/mozharness/configs/builds/releng_base_linux_32_builds.py! (edit, then use 'hg resolve --mark')
warning: conflicts while merging testing/mozharness/configs/builds/releng_base_linux_64_builds.py! (edit, then use 'hg resolve --mark')
warning: conflicts while merging testing/mozharness/configs/builds/releng_base_mac_64_builds.py! (edit, then use 'hg resolve --mark')
warning: conflicts while merging testing/mozharness/configs/builds/releng_base_windows_32_builds.py! (edit, then use 'hg resolve --mark')
warning: conflicts while merging testing/mozharness/configs/builds/releng_base_windows_64_builds.py! (edit, then use 'hg resolve --mark')
warning: conflicts while merging testing/mozharness/mozharness/mozilla/building/buildbase.py! (edit, then use 'hg resolve --mark')
warning: conflicts while merging testing/mozharness/scripts/fx_desktop_build.py! (edit, then use 'hg resolve --mark')
unresolved conflicts (see hg resolve, then hg rebase --continue)
Comment 31•8 years ago
|
||
https://hg.mozilla.org/integration/mozilla-inbound/rev/656d4714e8031d95fdf4d57b997215c1ced3364f
Bug 1324922: Stop publishing complete MARs to balrog as part of build/repack r=catlee
Comment 32•8 years ago
|
||
bugherder |
Comment 33•8 years ago
|
||
backed out from m-c seems this cause https://treeherder.mozilla.org/logviewer.html#?job_id=97974137&repo=mozilla-central&lineNumber=54325 on fennec nightlys
Flags: needinfo?(sfraser)
Comment 34•8 years ago
|
||
Backout by cbook@mozilla.com:
https://hg.mozilla.org/mozilla-central/rev/f8d40e7fe132
Backed out changeset 656d4714e803 for breaking fennec nightlys
Assignee | ||
Comment 35•8 years ago
|
||
Perhaps adding generate-balrog-properties to configs/builds/releng_base_android_64_builds.py ?
Flags: needinfo?(sfraser)
Assignee | ||
Updated•8 years ago
|
Flags: needinfo?(jlund)
Assignee | ||
Comment 36•8 years ago
|
||
After IRC discussions, see what just a modification of the update function looks like, to keep as much of the same logic as originally present.
What would this break?
Attachment #8867147 -
Flags: review?(catlee)
Updated•8 years ago
|
Attachment #8867147 -
Flags: review?(catlee) → review+
Comment hidden (mozreview-request) |
Comment 38•8 years ago
|
||
Pushed by catlee@mozilla.com:
https://hg.mozilla.org/integration/autoland/rev/b0b4e3c3f89d
stop balrog updates before funsize does its thing r=catlee,jlund
Comment 39•8 years ago
|
||
bugherder |
Comment 40•8 years ago
|
||
Sorry but ni because it's important for testing.
Does this mean that this bug will fix Bug 1349227
Currently we don't get enough time to test and report nightly as the current update is released late in our timezone,
so having 2 nightly's will coincide with our timezone and we can report and file bugs,
also if partial would be available for 8 days((2x8=16 builds)) that would be awesome too as if missed updates for days due to any reason still partial builds are smaller than full.
Thanks for the info, Cheers.
Flags: needinfo?(sfraser)
Flags: needinfo?(catlee)
Comment 41•8 years ago
|
||
(In reply to jigsawmode from comment #40)
> Sorry but ni because it's important for testing.
>
> Does this mean that this bug will fix Bug 1349227
No, this just means that complete and partial updates will be available at the same time for nightly builds. It's not directly related to building multiple nightlies per day.
Flags: needinfo?(sfraser)
Flags: needinfo?(catlee)
Comment 42•7 years ago
|
||
(In reply to Chris AtLee [:catlee] from comment #41)
> (In reply to jigsawmode from comment #40)
> > Sorry but ni because it's important for testing.
> >
> > Does this mean that this bug will fix Bug 1349227
>
> No, this just means that complete and partial updates will be available at
> the same time for nightly builds. It's not directly related to building
> multiple nightlies per day.
Since Nightly is being built twice a day now and heard multiple users complain about getting full pushes twice daily,
why isn't this before enabling it?
Why is this not high priority or fixed before shipping 2 nightly's daily?
Flags: needinfo?(catlee)
Comment 43•7 years ago
|
||
I'm sorry that users are still hitting this issue. We decided that the benefits of having multiple nightlies outweighed the downside of some users sometimes getting complete updates.
We are actively working on this issue, and are hoping to have it resolved in the next few weeks.
Flags: needinfo?(catlee)
Comment 44•7 years ago
|
||
(In reply to Chris AtLee [:catlee] from comment #43)
> I'm sorry that users are still hitting this issue. We decided that the
> benefits of having multiple nightlies outweighed the downside of some users
> sometimes getting complete updates.
>
> We are actively working on this issue, and are hoping to have it resolved in
> the next few weeks.
From today's channel meeting notes;
* Early merge plan for beta 57: Sep. 14. Will test beta 1 on dev ed population ~Sept 19
So will this be fixed by then?
Getting full push regularly
Comment 45•7 years ago
|
||
(In reply to shellye from comment #44)
> From today's channel meeting notes;
> * Early merge plan for beta 57: Sep. 14. Will test beta 1 on dev ed
> population ~Sept 19
This is unrelated. this note is about 57beta
> So will this be fixed by then?
> Getting full push regularly
Chris answered in comment #43.
Assignee | ||
Comment 46•7 years ago
|
||
Fixed as a result of https://bugzilla.mozilla.org/show_bug.cgi?id=1342392
Status: NEW → RESOLVED
Closed: 7 years ago
Resolution: --- → FIXED
Comment 47•7 years ago
|
||
Removing leave-open keyword from resolved bugs, per :sylvestre.
Keywords: leave-open
Updated•7 years ago
|
Component: General Automation → General
You need to log in
before you can comment on or make changes to this bug.
Description
•