Closed Bug 617021 Opened 14 years ago Closed 14 years ago

create production branches for 0.7 and 0.8 buildbots in buildbot, buildbot-configs, and buildbotcustom repositories

Categories

(Release Engineering :: General, defect)

x86_64
Linux
defect
Not set
normal

Tracking

(Not tracked)

RESOLVED FIXED

People

(Reporter: bhearsum, Assigned: bhearsum)

References

Details

Attachments

(4 files)

From mail:
* We will create named branches for each major version of Buildbot. production_0_8 for 0.8.x masters, and production_0_7 for 0.7.x masters.
* We will update all masters on a given Buildbot branch when we land new Buildbot code in the repository, regardless of whether or not we believe that they only affect the Schedulers, or only affect the Builders.
Also should update a few other things:
- Fabric scripts
- Puppet buildbotmaster manifests
- (maybe) bm01/02 Makefiles
Note to self: we need to start pulling mozconfigs from the 'production' branch.
I've created the branches in buildbot-configs and buildbotcustom (buildbot repo is blocked on bug 617041). Changes done to the masters:
production-master:
- Updated /tools/buildbotcustom/buildbotcustom to 'production-0.7' branch
- Updated /builds/buildbot/configs to 'production' branch
- No reconfig necessary

production-master01:
- Updated /tools/buildbotcustom/buildbotcustom to 'production-0.8' branch
- Updated /builds/buildbot/configs to 'production' branch
- Reconfiged /builds/buildbot/scheduler_master and /builds/buildbot/builder_master1

production-master02:
- Updated /tools/buildbotcustom/buildbotcustom to 'production-0.7' branch
- Updated /builds/buildbot/configs-default to 'production' branch
- Updated /tools/buildbotcustom-0.8.0/buildbotcustom to 'production-0.8' branch
- Updated /builds/buildbot/configs to 'production' branch
- Reconfiged /builds/buildbot/try-trunk-master and /builds/buildbot/tests-scheduler

production-master03:
- Updated /tools/buildbotcustom/buildbotcustom to 'production-0.8' branch
- Updated /builds/buildbot/configs to 'production' branch
- Reconfiged /builds/buildbot/builder_master

buildbot-master1:
- /builds/buildbot/build_master3
-- Updated buildbot-configs to 'production' branch
-- Updated buildbotcustom to 'production-0.8' branch
-- Reconfiged
- /builds/buildbot/tests_master3
-- Updated buildbot-configs to 'production' branch
-- Updated buildbotcustom to 'production-0.8' branch
-- Reconfiged
- /builds/buildbot/tests_master4
-- Updated buildbot-configs to 'production' branch
-- Updated buildbotcustom to 'production-0.8' branch
-- Reconfiged

buildbot-master2:
- /builds/buildbot/build_master4
-- Updated buildbot-configs to 'production' branch
-- Updated buildbotcustom to 'production-0.8' branch
-- Reconfiged
- /builds/buildbot/tests_master5
-- Updated buildbot-configs to 'production' branch
-- Updated buildbotcustom to 'production-0.8' branch
-- Reconfiged
- /builds/buildbot/tests_master6
-- Updated buildbot-configs to 'production' branch
-- Updated buildbotcustom to 'production-0.8' branch
-- Reconfiged

test-master01:
- Updated /tools/buildbotcustom/buildbotcustom to 'production-0.8' branch
- Updated /builds/buildbot/configs to 'production' branch
- Reconfiged /builds/buildbot/tests-master

test-master02:
- Updated /tools/buildbotcustom/buildbotcustom to 'production-0.8' branch
- Updated /builds/buildbot/configs to 'production' branch
- Reconfiged /builds/buildbot/tests-master

talos-master02:
- Updated /tools/buildbotcustom/buildbotcustom to 'production-0.8' branch
- Updated /builds/buildbot/configs to 'production' branch
- Reconfiged /builds/buildbot/tests-master
Now that the MoCo buildbots are running the master-side code off the production branch of buildbot-configs, they should pull mozconfigs from there, too. This patch should do it, but I haven't tested it more than test-masters.sh so far.

It should also preserve the old behaviour for CC factories.
Attachment #495941 - Flags: feedback?(catlee)
Attachment #495941 - Flags: feedback?(bugzilla)
Attachment #495941 - Flags: feedback?(kairo)
Comment on attachment 495941 [details] [diff] [review]
pull mozconfigs from production branch

scope creep alert!

good time to switch to hgtool for configs?

looks ok otherwise...except this is like the 375th parameter to MercurialBuildFactory
Attachment #495941 - Flags: feedback?(catlee) → feedback+
(In reply to comment #5)
> Comment on attachment 495941 [details] [diff] [review]
> [untested] pull mozconfigs from production branch
> 
> scope creep alert!
> 
> good time to switch to hgtool for configs?

I thought about doing it...but now that I'm 80% through testing, I'd rather not.
 
> looks ok otherwise...except this is like the 375th parameter to
> MercurialBuildFactory

Hurry now! Be the lucky one to add the 376th and win a prize!
Flags: needs-reconfig-
Comment on attachment 495941 [details] [diff] [review]
pull mozconfigs from production branch

I tested this patch on the following builders, all of which successfully grabbed the mozconfig from the production branch:
Linux mozilla-central dep
Android R7 mozilla-central build
WINNT 5.2 mozilla-central build
OS X 10.6.2 mozilla-central build
Maemo 5 GTK places build
WINNT 5.2 Mobile Desktop places nightly
Maemo 5 QT jaegermonkey build
Linux Mobile Desktop jaegermonkey build
Attachment #495941 - Flags: review?(catlee)
Attachment #495941 - Attachment description: [untested] pull mozconfigs from production branch → pull mozconfigs from production branch
Comment on attachment 495941 [details] [diff] [review]
pull mozconfigs from production branch

I find comment 0 hard to understand. Have you created the production branch so that buildbots will automatically reconfig off that branch? or something else?

In any case either gozer or jhopkins should take a look at this.
Attachment #495941 - Flags: feedback?(bugzilla) → feedback?(gozer)
Attachment #495941 - Flags: review?(catlee) → review+
(In reply to comment #8)
> Comment on attachment 495941 [details] [diff] [review]
> pull mozconfigs from production branch
> 
> I find comment 0 hard to understand. Have you created the production branch so
> that buildbots will automatically reconfig off that branch? or something else?

The Buildbot masters track the production branch, they don't pull it automatically (yet) though.
Comment on attachment 495941 [details] [diff] [review]
pull mozconfigs from production branch

We are moving our buildbot master to 0.8 today, and that includes the switch to the production branches. So doing this as well is no problem at all.
Attachment #495941 - Flags: feedback?(gozer) → feedback+
The way this patch is written, CC factories will still be pulling mozconfigs from default. I'm not sure if that's what you want, and whether or not pulling from 'production' will work for KaiRo. Note that this patch is only for default/production-0.8, so 0.7.x masters won't be affected. Sounds like we might be able to just default to 'production' for everyone though?
Comment on attachment 495941 [details] [diff] [review]
pull mozconfigs from production branch

looks good, though I wonder if it might be good to have this handed in from config.py, actually.
Attachment #495941 - Flags: feedback?(kairo) → feedback+
Comment on attachment 495941 [details] [diff] [review]
pull mozconfigs from production branch

Pushed this on default: changeset:   1267:bbec6f692b0f
Likely to go to production today.
Attachment #495941 - Flags: checked-in+
Flags: needs-reconfig- → needs-reconfig+
I just found out that there seems to be some subtle bug in here - the repack factories never get self.mozconfigBranch assigned, from what I see, because they base on MozillaBuildFactory and not MercurialBuildFactory, which would set it.

I right now end up with this error:
  File "/tools/buildbotcustom/buildbotcustom/process/factory.py", line 3318, in __init__
    mozconfigBranch='default', **kwargs)
  File "/tools/buildbotcustom/buildbotcustom/process/factory.py", line 3184, in __init__
    mergeLocales=mergeLocales, **kwargs)
  File "/tools/buildbotcustom/buildbotcustom/process/factory.py", line 2482, in __init__
    self.getMozconfig()
  File "/tools/buildbotcustom/buildbotcustom/process/factory.py", line 2517, in getMozconfig
    command=['hg', 'update', '-r', self.mozconfigBranch],
AttributeError: CCReleaseRepackFactory instance has no attribute 'mozconfigBranch'


I tracked it down to the above reasoning, which I believe is what's going on. If that's the case, self.mozconfigBranch = mozconfigBranch in BaseRepackFactory::__init__ should do the trick - and it did in my case.
If my analysis is correct in the larger picture as well, this should fix the problem I've seen.
Attachment #497935 - Flags: review?(bhearsum)
Attachment #497935 - Flags: review?(bhearsum) → review+
Comment on attachment 497935 [details] [diff] [review]
make self.mozconfigBranch defined in release repack factories

Landed on default and production-0.8.
Attachment #497935 - Flags: checked-in+
Clearing reconfig flag.
Flags: needs-reconfig+
Comment on attachment 500525 [details] [diff] [review]
fix master checkouts in puppet master manifests

Do you only need to modify the two test master instances here?  What about all the other 0.8 masters?
Attachment #500525 - Flags: review?(catlee) → review-
Comment on attachment 500525 [details] [diff] [review]
fix master checkouts in puppet master manifests

d'oh, I don't know how I forgot the other instances.
Dustin is planning to remove these entries in bug 615317, so I won't be posting an updated patch. We're all done here now.
Status: NEW → RESOLVED
Closed: 14 years ago
Resolution: --- → FIXED
Product: mozilla.org → Release Engineering
You need to log in before you can comment on or make changes to this bug.

Attachment

General

Created:
Updated:
Size: