Closed Bug 1181261 Opened 9 years ago Closed 9 years ago

Remove concept of in-tree mozharness configs; merge existing in-tree configs with normal ones

Categories

(Release Engineering :: Applications: MozharnessCore, defect)

defect
Not set
normal

Tracking

(firefox44 fixed, b2g-master affected)

RESOLVED FIXED
Tracking Status
firefox44 --- fixed
b2g-master --- affected

People

(Reporter: ahal, Assigned: ahal)

References

Details

Attachments

(3 files)

Mozharness itself and all its configs will soon be in-tree. Once that happens, there will be no point in maintaining separate "in-tree" mozharness configs (all configs will be in-tree!). We should merge the current in-tree configs with the normal configs, and remove any logic related to them from mozharness core and various scripts.
Assignee: nobody → ahalberstadt
Status: NEW → ASSIGNED
Bug 1181261 - Remove in-tree configs from mozharness, r=chmanchester
Attachment #8648877 - Flags: review?(cmanchester)
Here's a working try run:
https://treeherder.mozilla.org/#/jobs?repo=try&revision=6c39d80aa410

Doesn't seem like I missed anything.. but there's so many configs, it's hard to tell. Sorry for the large patch! (Most of it is just copy/paste from one file to another)
Comment on attachment 8648877 [details]
MozReview Request: Bug 1181261 - Merge configs from testing/config/mozharness into mozharness proper, r=chmanchester

https://reviewboard.mozilla.org/r/16315/#review14813

Lots of great cleanup in here!

::: testing/mozharness/mozharness/mozilla/testing/testbase.py:446
(Diff revision 1)
> -    def _read_tree_config(self):
> +    def _read_try_config(self):

No big deal, but we could move this to mozharness too if we wanted.
Attachment #8648877 - Flags: review?(cmanchester) → review+
https://reviewboard.mozilla.org/r/16315/#review14813

> No big deal, but we could move this to mozharness too if we wanted.

Good idea, might as well and then we can delete the config/mozharness directory entirely.
Comment on attachment 8648877 [details]
MozReview Request: Bug 1181261 - Merge configs from testing/config/mozharness into mozharness proper, r=chmanchester

Bug 1181261 - Merge configs from testing/config/mozharness into mozharness proper, r=chmanchester

The config files under testing/config/mozharness were created so that certain mozharness options
such as test harness arguments could ride the trees, simplifying a lot of logic in mozharness.
But now that mozharness itself is in-tree, these configs no longer serve any purpose. Instead
they are merged into the main configs at testing/mozharness/configs.
Attachment #8648877 - Attachment description: MozReview Request: Bug 1181261 - Remove in-tree configs from mozharness, r=chmanchester → MozReview Request: Bug 1181261 - Merge configs from testing/config/mozharness into mozharness proper, r=chmanchester
Comment on attachment 8648877 [details]
MozReview Request: Bug 1181261 - Merge configs from testing/config/mozharness into mozharness proper, r=chmanchester

Hmm, I can't figure out how to get mozreview to re-flag you, so doing it here. You should probably take a look at the second diff on the slider. I moved try_arguments.py into TryToolsMixin.
Attachment #8648877 - Flags: review+ → review?(cmanchester)
Comment on attachment 8648877 [details]
MozReview Request: Bug 1181261 - Merge configs from testing/config/mozharness into mozharness proper, r=chmanchester

Bug 1181261 - Merge configs from testing/config/mozharness into mozharness proper, r=chmanchester

The config files under testing/config/mozharness were created so that certain mozharness options
such as test harness arguments could ride the trees, simplifying a lot of logic in mozharness.
But now that mozharness itself is in-tree, these configs no longer serve any purpose. Instead
they are merged into the main configs at testing/mozharness/configs.
Comment on attachment 8648877 [details]
MozReview Request: Bug 1181261 - Merge configs from testing/config/mozharness into mozharness proper, r=chmanchester

https://reviewboard.mozilla.org/r/16315/#review14925

Much better, thank you for doing that.
Attachment #8648877 - Flags: review?(cmanchester) → review+
Not really sure why, but jobs didn't get scheduled on that last try run :/.. Here's a new one that worked:
https://treeherder.mozilla.org/#/jobs?repo=try&revision=0634eb3619d8
Comment on attachment 8648877 [details]
MozReview Request: Bug 1181261 - Merge configs from testing/config/mozharness into mozharness proper, r=chmanchester

Bug 1181261 - Merge configs from testing/config/mozharness into mozharness proper, r=chmanchester

The config files under testing/config/mozharness were created so that certain mozharness options
such as test harness arguments could ride the trees, simplifying a lot of logic in mozharness.
But now that mozharness itself is in-tree, these configs no longer serve any purpose. Instead
they are merged into the main configs at testing/mozharness/configs.
Latest push also removes testing/config/mozharness/taskcluster_linux_config.py. I talked to :garndt, and it wasn't being used anymore.

It also re-adds the if statement that makes sure this code only runs on try. Oops, that would have been bad. I don't think this requires re-review (and the try push above has these changes included).
Looks like mulet tests don't get run with try: -a:
https://treeherder.mozilla.org/#/jobs?repo=try&revision=6c39d80aa410

Hooray..
Flags: needinfo?(ahalberstadt)
Oh! Taskcluster doesn't use in-tree mozharness yet. Ironically the push that makes builds use in-tree mozharness landed three pushes after mine. But it was still broken, so guess we have to do something similar for tests.
Depends on: 1188330
No longer depends on: 1131856
Depends on: 1131856
Comment on attachment 8648877 [details]
MozReview Request: Bug 1181261 - Merge configs from testing/config/mozharness into mozharness proper, r=chmanchester

Bug 1181261 - Merge configs from testing/config/mozharness into mozharness proper, r=chmanchester

The config files under testing/config/mozharness were created so that certain mozharness options
such as test harness arguments could ride the trees, simplifying a lot of logic in mozharness.
But now that mozharness itself is in-tree, these configs no longer serve any purpose. Instead
they are merged into the main configs at testing/mozharness/configs.
Rather than wait for bug 1188330, which I'm not sure has an ETA yet, the above patch simply doesn't delete linux_config.py or linux_mulet_config.py yet. It adds a comment to each saying they aren't being used except for mulet. Here's a try run that proves it fixes the mulet tests:
https://treeherder.mozilla.org/#/jobs?repo=try&revision=0250b4ba8933

Once bug 1188330 is fixed, they can be moved. I'll re-use this bug for tackling that.
Whiteboard: [leave-open]
Unfortunately, now we get the following error when running the marionette test case in treeherder:

Traceback (most recent call last):
  File "scripts/scripts/marionette.py", line 506, in <module>
    marionetteTest = MarionetteTest()
  File "scripts/scripts/marionette.py", line 174, in __init__
    config={'require_test_zip': True})
  File "/builds/slave/test/scripts/mozharness/base/vcs/vcsbase.py", line 116, in __init__
    super(VCSScript, self).__init__(**kwargs)
  File "/builds/slave/test/scripts/mozharness/base/script.py", line 1473, in __init__
    rw_config = ConfigClass(config_options=config_options, **kwargs)
  File "/builds/slave/test/scripts/mozharness/base/config.py", line 265, in __init__
    self.parse_args(args=option_args)
  File "/builds/slave/test/scripts/mozharness/base/config.py", line 481, in parse_args
    options.config_files + options.opt_config_files, options=options
  File "/builds/slave/test/scripts/mozharness/base/config.py", line 446, in get_cfgs_from_files
    all_cfg_files_and_dicts.append((cf, parse_config_file(cf)))
  File "/builds/slave/test/scripts/mozharness/base/config.py", line 159, in parse_config_file
    execfile(file_path, global_dict, local_dict)
  File "/builds/slave/test/scripts/scripts/../configs/marionette/automation_emulator_config.py", line 44
    "suite_definitions": {
    ^
IndentationError: unexpected indent
program finished with exit code 1

http://ftp.mozilla.org/pub/mozilla.org/b2g/tinderbox-builds/mozilla-central-emulator/1440464312/mozilla-central_ubuntu64_vm-b2g-emulator_test-marionette-webapi-bm118-tests1-linux64-build37.txt.gz
Sorry about that, didn't catch it in the try run as it was hidden. This patch should fix it.
Attachment #8652319 - Flags: review+
(In reply to Andrew Halberstadt [:ahal] from comment #16)
> Oh! Taskcluster doesn't use in-tree mozharness yet. Ironically the push that
> makes builds use in-tree mozharness landed three pushes after mine. But it
> was still broken, so guess we have to do something similar for tests.

Hi :ahal, do you know is there any existing bug tracking on using in-tree mozharness on taskcluster? If no, I'd like to file one for it. Thank you.
Flags: needinfo?(ahalberstadt)
The patch for taskcluster builds using in-tree mozharness landed recently. The bug for taskcluster tests using in-tree mozharness is bug 1188330.
Flags: needinfo?(ahalberstadt)
Hi Andrew,

Bug 1188330 is currently the major blocker for emulator-x86-KK. We do need the fix. 

Thank you!
Severity: normal → critical
blocking-b2g: --- → 2.5+
Priority: -- → P1
Hey Josh, I think you have it mixed up. This bug isn't blocking anything. The only work left to do here is remove the two files under testing/config/mozharness once bug 1188330 gets fixed. I'm not sure what you are blocked on, but it certainly isn't this.

As for making taskcluster tests use the in-tree mozharness, I'd ask over in bug 1188330, that's not something that I know how to do.
Severity: critical → normal
blocking-b2g: 2.5+ → ---
Priority: P1 → --
hey andrew, sorry to make you double check, I noticed that this bug removed config/mozharness/b2g_emulator_config.py. it looks like that config is still being pointed at by something for x86-kk or at least that's what within https://bugzil.la/1188330 suggests. is it possible this config was deleted from testing/config/ and not ported to the in-tree /testing/mozharness ?
Flags: needinfo?(ahalberstadt)
(In reply to Andrew Halberstadt [:ahal] from comment #28)
> Hey Josh, I think you have it mixed up. This bug isn't blocking anything.
> The only work left to do here is remove the two files under
> testing/config/mozharness once bug 1188330 gets fixed. I'm not sure what you
> are blocked on, but it certainly isn't this.
> 
> As for making taskcluster tests use the in-tree mozharness, I'd ask over in
> bug 1188330, that's not something that I know how to do.

Hi Andrew,
Thanks for the info. I will check with Jonathan for who can help here.
(In reply to Jordan Lund (:jlund) from comment #29)
> hey andrew, sorry to make you double check, I noticed that this bug removed
> config/mozharness/b2g_emulator_config.py. it looks like that config is still
> being pointed at by something for x86-kk or at least that's what within
> https://bugzil.la/1188330 suggests. is it possible this config was deleted
> from testing/config/ and not ported to the in-tree /testing/mozharness ?

Thanks for double checking, it didn't sound like anything was broken from the comments above. It's not that it wasn't ported over, it's that taskcluster tests don't use the in-tree mozharness yet. I'll re-add that file for now.
Flags: needinfo?(ahalberstadt)
(In reply to Andrew Halberstadt [:ahal] from comment #31)
> (In reply to Jordan Lund (:jlund) from comment #29)
> > hey andrew, sorry to make you double check, I noticed that this bug removed
> > config/mozharness/b2g_emulator_config.py. it looks like that config is still
> > being pointed at by something for x86-kk or at least that's what within
> > https://bugzil.la/1188330 suggests. is it possible this config was deleted
> > from testing/config/ and not ported to the in-tree /testing/mozharness ?
> 
> Thanks for double checking, it didn't sound like anything was broken from
> the comments above. It's not that it wasn't ported over, it's that
> taskcluster tests don't use the in-tree mozharness yet. I'll re-add that
> file for now.

Hi Andrew, I still observed the error below happening to marionette and marionette-webapi tests [1] and learnt that your push in comment 32 seemed not cover those two. Could you take a look again?

== error ==
The in-tree configuration file '/home/worker/build/tests/config/mozharness/marionette.py' does not exist!It must be added to 'gecko/testing/config/mozharness/marionette.py'. See bug 1035551 for more details.

[1] https://treeherder.allizom.org/#/jobs?repo=try&revision=d472039e6e52
Re-added marionette.py as well.
Depends on: 1205934
Bug 1181261 - Remove remaining in-tree mozhanress configs. r?ahal
Attachment #8663478 - Flags: review?(ahalberstadt)
Comment on attachment 8663478 [details]
MozReview Request: Bug 1181261 - Remove remaining in-tree mozhanress configs. r?ahal

https://reviewboard.mozilla.org/r/19759/#review17861

Thanks for doing this! So that means that taskcluster test jobs are using the in-tree mozharness now?
Attachment #8663478 - Flags: review?(ahalberstadt) → review+
Your try push missed mulet btw, might want to double check that just in case.
(In reply to Andrew Halberstadt [:ahal] from comment #40)
> Comment on attachment 8663478 [details]
> MozReview Request: Bug 1181261 - Remove remaining in-tree mozhanress
> configs. r?ahal
> 
> https://reviewboard.mozilla.org/r/19759/#review17861
> 
> Thanks for doing this! So that means that taskcluster test jobs are using
> the in-tree mozharness now?

Yes, now all taskcluster tests are using the in-tree one now (bug 1188330).
(In reply to Andrew Halberstadt [:ahal] from comment #41)
> Your try push missed mulet btw, might want to double check that just in case.

Try runs with Mulet:
https://treeherder.mozilla.org/#/jobs?repo=try&revision=3c1087a8f664&exclusion_profile=false&group_state=expanded
Keywords: checkin-needed
Whiteboard: [leave-open]
You need to log in before you can comment on or make changes to this bug.

Attachment

General

Created:
Updated:
Size: