Bug 820235 - Perform verification of new Linux64 test reference platform on iX node. r=catlee
authorRail Aliiev <rail@mozilla.com>
Tue, 26 Mar 2013 16:08:06 -0400
changeset 8143 dfb9ba1d70835b86d7520306c00ed98eaf4acd26
parent 8142 e58981eb3b5f982f71c915dcafada81813701020
child 8144 d42aa7b28de7368e27b3f3f0b8df6f77e4d2c960
push id1
push userroot
push dateWed, 17 Dec 2014 00:18:48 +0000
reviewerscatlee
bugs820235
Bug 820235 - Perform verification of new Linux64 test reference platform on iX node. r=catlee
mozilla-tests/BuildSlaves.py.template
mozilla-tests/config.py
mozilla-tests/config_common.py
mozilla-tests/production_config.py
mozilla-tests/tests_master.cfg
mozilla-tests/universal_master_sqlite.cfg
--- a/mozilla-tests/BuildSlaves.py.template
+++ b/mozilla-tests/BuildSlaves.py.template
@@ -1,34 +1,33 @@
 SlavePasswords = {
     "linux": "pass",
     "linux64": "pass",
     "fedora": "pass",
+    "fedora-b2g": "pass",
     "fedora64": "pass",
+    "ubuntu32_vm": "pass",
+    "ubuntu32_hw": "pass",
+    "ubuntu64_vm": "pass",
+    "ubuntu64_vm-b2g": "pass",
+    "ubuntu64_hw": "pass",
     "tiger": "pass",
     "snowleopard": "pass",
     "lion": "pass",
     "mountainlion": "pass",
     "xp": "pass",
     "win7": "pass",
     "win8": "pass",
     "w764": "pass",
     "vista": "pass",
     "tegra_android": "pass",
     "tegra_android-armv6": "pass",
     "tegra_android-noion": "pass",
-    "fedora-b2g": "pass",
     "panda_android": "pass",
     "b2g_panda": "pass",
-    "ubuntu32": "pass",
-    "ubuntu64-b2g": "pass",
-    "ubuntu64": "pass",
-    "ubuntu32_vm": "pass",
-    "ubuntu64_vm-b2g": "pass",
-    "ubuntu64_vm": "pass",
     "b2g_panda_gaia_central": "pass",
 }
 
 datazillaAuth = {
     'talos': {
         'oauthKey': 'blahblah',
         'oauthSecret': 'blahblah',
     },
--- a/mozilla-tests/config.py
+++ b/mozilla-tests/config.py
@@ -1,14 +1,14 @@
 from copy import deepcopy
 
 import config_common
 reload(config_common)
 from config_common import TALOS_CMD, loadDefaultValues, loadCustomTalosSuites, \
-    loadTalosSuites, nested_haskey
+    loadTalosSuites, nested_haskey, get_talos_slave_platforms
 
 import project_branches
 reload(project_branches)
 from project_branches import PROJECT_BRANCHES, ACTIVE_PROJECT_BRANCHES
 
 import localconfig
 reload(localconfig)
 from localconfig import SLAVES, TRY_SLAVES, GLOBAL_VARS, GRAPH_CONFIG
@@ -90,110 +90,99 @@ PLATFORMS['win32']['win8'] = {'name': "W
 PLATFORMS['win32']['stage_product'] = 'firefox'
 PLATFORMS['win32']['mozharness_config'] = {
     'mozharness_python': ['c:/mozilla-build/python27/python', '-u'],
     'hg_bin': 'c:\\mozilla-build\\hg\\hg',
     'reboot_command': ['c:/mozilla-build/python27/python', '-u'] + MOZHARNESS_REBOOT_CMD,
 }
 
 PLATFORMS['linux']['slave_platforms'] = ['fedora', 'ubuntu32_vm']
+PLATFORMS['linux']['talos_slave_platforms'] = ['fedora', 'ubuntu32_hw']
 PLATFORMS['linux']['env_name'] = 'linux-perf'
 PLATFORMS['linux']['fedora'] = {'name': "Rev3 Fedora 12"}
 PLATFORMS['linux']['ubuntu32_vm'] = {'name': 'Ubuntu VM 12.04'}
+PLATFORMS['linux']['ubuntu32_hw'] = {'name': 'Ubuntu HW 12.04'}
 PLATFORMS['linux']['stage_product'] = 'firefox'
 PLATFORMS['linux']['mozharness_config'] = {
     'mozharness_python': '/tools/buildbot/bin/python',
     'hg_bin': 'hg',
     'reboot_command': ['/tools/buildbot/bin/python'] + MOZHARNESS_REBOOT_CMD,
 }
 
 PLATFORMS['linux64']['slave_platforms'] = ['fedora64', 'ubuntu64_vm']
+PLATFORMS['linux64']['talos_slave_platforms'] = ['fedora64', 'ubuntu64_hw']
 PLATFORMS['linux64']['env_name'] = 'linux-perf'
 PLATFORMS['linux64']['fedora64'] = {'name': "Rev3 Fedora 12x64"}
 PLATFORMS['linux64']['ubuntu64_vm'] = {'name': 'Ubuntu VM 12.04 x64'}
+PLATFORMS['linux64']['ubuntu64_hw'] = {'name': 'Ubuntu HW 12.04 x64'}
 PLATFORMS['linux64']['stage_product'] = 'firefox'
 PLATFORMS['linux64']['mozharness_config'] = {
     'mozharness_python': '/tools/buildbot/bin/python',
     'hg_bin': 'hg',
     'reboot_command': ['/tools/buildbot/bin/python'] + MOZHARNESS_REBOOT_CMD,
 }
 
 # Lets be explicit instead of magical.
 for platform, platform_config in PLATFORMS.items():
-    for slave_platform in platform_config['slave_platforms']:
+    all_slave_platforms = set(platform_config['slave_platforms'] +
+                              platform_config.get('talos_slave_platforms', []))
+    for slave_platform in all_slave_platforms:
         platform_config[slave_platform]['slaves'] = sorted(SLAVES[slave_platform])
         if slave_platform in TRY_SLAVES:
             platform_config[slave_platform]['try_slaves'] = sorted(TRY_SLAVES[slave_platform])
         else:
             platform_config[slave_platform]['try_slaves'] = platform_config[slave_platform]['slaves']
 
-ALL_PLATFORMS = PLATFORMS['linux']['slave_platforms'] + \
-    PLATFORMS['linux64']['slave_platforms'] + \
-    PLATFORMS['win32']['slave_platforms'] + \
-    PLATFORMS['macosx64']['slave_platforms']
-# Don't use ubuntu{32,64} for talos for now
-ALL_PLATFORMS.remove('ubuntu32_vm')
-ALL_PLATFORMS.remove('ubuntu64_vm')
 
+ALL_TALOS_PLATFORMS = get_talos_slave_platforms(PLATFORMS, platforms=('linux', 'linux64', 'win32', 'macosx64'))
+NO_WIN = get_talos_slave_platforms(PLATFORMS, platforms=('linux', 'linux64', 'macosx64'))
+NO_MAC = get_talos_slave_platforms(PLATFORMS, platforms=('linux', 'linux64', 'win32'))
+MAC_ONLY = get_talos_slave_platforms(PLATFORMS, platforms=('macosx64',))
 WIN7_ONLY = ['win7']
 
-NO_WIN = PLATFORMS['macosx64']['slave_platforms'] + PLATFORMS['linux']['slave_platforms'] + PLATFORMS['linux64']['slave_platforms']
-# Don't use ubuntu{32,64} for talos for now
-NO_WIN.remove('ubuntu32_vm')
-NO_WIN.remove('ubuntu64_vm')
-
-NO_MAC = PLATFORMS['linux']['slave_platforms'] + \
-    PLATFORMS['linux64']['slave_platforms'] + \
-    PLATFORMS['win32']['slave_platforms']
-# Don't use ubuntu{32,64} for talos for now
-NO_MAC.remove('ubuntu32_vm')
-NO_MAC.remove('ubuntu64_vm')
-
-MAC_ONLY = PLATFORMS['macosx64']['slave_platforms']
-
 SUITES = {
     'xperf': {
         'enable_by_default': False,
         'suites': GRAPH_CONFIG + ['--activeTests', 'tp5n', '--sampleConfig', 'xperf.config', '--mozAfterPaint', '--xperf_path', '"c:/Program Files/Microsoft Windows Performance Toolkit/xperf.exe"', '--filter', 'ignore_first:5', '--filter', 'median'],
         'options': (TALOS_TP_NEW_OPTS, WIN7_ONLY),
     },
     'tpn': {
         'enable_by_default': False,
         'suites': GRAPH_CONFIG + ['--activeTests', 'tp5n', '--mozAfterPaint', '--responsiveness', '--filter', 'ignore_first:5', '--filter', 'median'],
-        'options': (TALOS_TP_NEW_OPTS, ALL_PLATFORMS),
+        'options': (TALOS_TP_NEW_OPTS, ALL_TALOS_PLATFORMS),
     },
     'tp5o': {
         'enable_by_default': True,
         'suites': GRAPH_CONFIG + ['--activeTests', 'tp5o', '--mozAfterPaint', '--responsiveness', '--filter', 'ignore_first:5', '--filter', 'median'],
-        'options': (TALOS_TP_NEW_OPTS, ALL_PLATFORMS),
+        'options': (TALOS_TP_NEW_OPTS, ALL_TALOS_PLATFORMS),
     },
     'other': {
         'enable_by_default': True,
         'suites': GRAPH_CONFIG + ['--activeTests', 'tscrollr:a11yr:ts_paint:tpaint', '--mozAfterPaint', '--filter', 'ignore_first:5', '--filter', 'median'],
-        'options': ({}, ALL_PLATFORMS),
+        'options': ({}, ALL_TALOS_PLATFORMS),
     },
     'svgr': {
         'enable_by_default': True,
         'suites': GRAPH_CONFIG + ['--activeTests', 'tsvgr:tsvgr_opacity', '--filter', 'ignore_first:5', '--filter', 'median'],
-        'options': ({}, ALL_PLATFORMS),
+        'options': ({}, ALL_TALOS_PLATFORMS),
     },
     'dirtypaint': {
         'enable_by_default': True,
         'suites': GRAPH_CONFIG + ['--activeTests', 'tspaint_places_generated_med:tspaint_places_generated_max', '--setPref', 'hangmonitor.timeout=0', '--mozAfterPaint'],
-        'options': (TALOS_DIRTY_OPTS, ALL_PLATFORMS),
+        'options': (TALOS_DIRTY_OPTS, ALL_TALOS_PLATFORMS),
     },
     'dromaeojs': {
         'enable_by_default': True,
         'suites': GRAPH_CONFIG + ['--activeTests', 'dromaeo_css:dromaeo_dom:kraken:v8_7'],
-        'options': ({}, ALL_PLATFORMS),
+        'options': ({}, ALL_TALOS_PLATFORMS),
     },
     'chromez': {
         'enable_by_default': True,
         'suites': GRAPH_CONFIG + ['--activeTests', 'tresize', '--mozAfterPaint', '--filter', 'ignore_first:5', '--filter', 'median'],
-        'options': ({}, ALL_PLATFORMS),
+        'options': ({}, ALL_TALOS_PLATFORMS),
     },
 }
 
 BRANCH_UNITTEST_VARS = {
     'hghost': 'hg.mozilla.org',
     # turn on platforms as we get them running
     'platforms': {
         'linux': {},
@@ -1094,18 +1083,18 @@ BRANCHES['mozilla-release']['platforms']
 BRANCHES['mozilla-release']['platforms']['win32']['win7']['opt_unittest_suites'] = BUILDBOT_UNITTEST_SUITES['opt_with_no-d2d-d3d'][:]
 BRANCHES['mozilla-release']['platforms']['win32']['win7']['debug_unittest_suites'] = BUILDBOT_UNITTEST_SUITES['debug'][:]
 BRANCHES['mozilla-release']['platforms']['macosx64']['snowleopard']['opt_unittest_suites'] = BUILDBOT_UNITTEST_SUITES['opt_no_a11y'][:]
 BRANCHES['mozilla-release']['platforms']['macosx64']['snowleopard']['debug_unittest_suites'] = BUILDBOT_UNITTEST_SUITES['debug_no_a11y'][:]
 BRANCHES['mozilla-release']['platforms']['macosx64']['lion']['opt_unittest_suites'] = BUILDBOT_UNITTEST_SUITES['opt_no_a11y'][:]
 BRANCHES['mozilla-release']['platforms']['macosx64']['lion']['debug_unittest_suites'] = BUILDBOT_UNITTEST_SUITES['debug_no_a11y'][:]
 BRANCHES['mozilla-release']['platforms']['macosx64']['mountainlion']['opt_unittest_suites'] = BUILDBOT_UNITTEST_SUITES['opt_no_a11y'][:]
 BRANCHES['mozilla-release']['platforms']['macosx64']['mountainlion']['debug_unittest_suites'] = BUILDBOT_UNITTEST_SUITES['debug_no_a11y'][:]
-BRANCHES['mozilla-release']['tpn_tests'] = (1, True, TALOS_TP_NEW_OPTS, ALL_PLATFORMS)
-BRANCHES['mozilla-release']['tp5o_tests'] = (0, True, TALOS_TP_NEW_OPTS, ALL_PLATFORMS)
+BRANCHES['mozilla-release']['tpn_tests'] = (1, True, TALOS_TP_NEW_OPTS, ALL_TALOS_PLATFORMS)
+BRANCHES['mozilla-release']['tp5o_tests'] = (0, True, TALOS_TP_NEW_OPTS, ALL_TALOS_PLATFORMS)
 del BRANCHES['mozilla-release']['platforms']['win32']['win8']
 BRANCHES['mozilla-release']['platforms']['win32']['slave_platforms'] = ['xp', 'win7']
 # End MERGE DAY remove the above when Firefox 22 merges in
 
 ######### mozilla-beta
 BRANCHES['mozilla-beta']['release_tests'] = 1
 BRANCHES['mozilla-beta']['repo_path'] = "releases/mozilla-beta"
 BRANCHES['mozilla-beta']['pgo_strategy'] = 'per-checkin'
@@ -1119,18 +1108,18 @@ BRANCHES['mozilla-beta']['platforms']['w
 BRANCHES['mozilla-beta']['platforms']['win32']['win7']['opt_unittest_suites'] = BUILDBOT_UNITTEST_SUITES['opt_with_no-d2d-d3d'][:]
 BRANCHES['mozilla-beta']['platforms']['win32']['win7']['debug_unittest_suites'] = BUILDBOT_UNITTEST_SUITES['debug'][:]
 BRANCHES['mozilla-beta']['platforms']['macosx64']['snowleopard']['opt_unittest_suites'] = BUILDBOT_UNITTEST_SUITES['opt_no_a11y'][:]
 BRANCHES['mozilla-beta']['platforms']['macosx64']['snowleopard']['debug_unittest_suites'] = BUILDBOT_UNITTEST_SUITES['debug_no_a11y'][:]
 BRANCHES['mozilla-beta']['platforms']['macosx64']['lion']['opt_unittest_suites'] = BUILDBOT_UNITTEST_SUITES['opt_no_a11y'][:]
 BRANCHES['mozilla-beta']['platforms']['macosx64']['lion']['debug_unittest_suites'] = BUILDBOT_UNITTEST_SUITES['debug_no_a11y'][:]
 BRANCHES['mozilla-beta']['platforms']['macosx64']['mountainlion']['opt_unittest_suites'] = BUILDBOT_UNITTEST_SUITES['opt_no_a11y'][:]
 BRANCHES['mozilla-beta']['platforms']['macosx64']['mountainlion']['debug_unittest_suites'] = BUILDBOT_UNITTEST_SUITES['debug_no_a11y'][:]
-BRANCHES['mozilla-beta']['tpn_tests'] = (1, True, TALOS_TP_NEW_OPTS, ALL_PLATFORMS)
-BRANCHES['mozilla-beta']['tp5o_tests'] = (0, True, TALOS_TP_NEW_OPTS, ALL_PLATFORMS)
+BRANCHES['mozilla-beta']['tpn_tests'] = (1, True, TALOS_TP_NEW_OPTS, ALL_TALOS_PLATFORMS)
+BRANCHES['mozilla-beta']['tp5o_tests'] = (0, True, TALOS_TP_NEW_OPTS, ALL_TALOS_PLATFORMS)
 del BRANCHES['mozilla-beta']['platforms']['win32']['win8']
 BRANCHES['mozilla-beta']['platforms']['win32']['slave_platforms'] = ['xp', 'win7']
 # End MERGE DAY remove the above when Firefox 22 merges in
 
 ######### mozilla-aurora
 BRANCHES['mozilla-aurora']['repo_path'] = "releases/mozilla-aurora"
 BRANCHES['mozilla-aurora']['pgo_strategy'] = 'per-checkin'
 # MERGE DAY remove the below when Firefox 22 merges in
@@ -1143,18 +1132,18 @@ BRANCHES['mozilla-aurora']['platforms'][
 BRANCHES['mozilla-aurora']['platforms']['win32']['win7']['opt_unittest_suites'] = BUILDBOT_UNITTEST_SUITES['opt_with_no-d2d-d3d'][:]
 BRANCHES['mozilla-aurora']['platforms']['win32']['win7']['debug_unittest_suites'] = BUILDBOT_UNITTEST_SUITES['debug'][:]
 BRANCHES['mozilla-aurora']['platforms']['macosx64']['snowleopard']['opt_unittest_suites'] = BUILDBOT_UNITTEST_SUITES['opt_no_a11y'][:]
 BRANCHES['mozilla-aurora']['platforms']['macosx64']['snowleopard']['debug_unittest_suites'] = BUILDBOT_UNITTEST_SUITES['debug_no_a11y'][:]
 BRANCHES['mozilla-aurora']['platforms']['macosx64']['lion']['opt_unittest_suites'] = BUILDBOT_UNITTEST_SUITES['opt_no_a11y'][:]
 BRANCHES['mozilla-aurora']['platforms']['macosx64']['lion']['debug_unittest_suites'] = BUILDBOT_UNITTEST_SUITES['debug_no_a11y'][:]
 BRANCHES['mozilla-aurora']['platforms']['macosx64']['mountainlion']['opt_unittest_suites'] = BUILDBOT_UNITTEST_SUITES['opt_no_a11y'][:]
 BRANCHES['mozilla-aurora']['platforms']['macosx64']['mountainlion']['debug_unittest_suites'] = BUILDBOT_UNITTEST_SUITES['debug_no_a11y'][:]
-BRANCHES['mozilla-aurora']['tpn_tests'] = (1, True, TALOS_TP_NEW_OPTS, ALL_PLATFORMS)
-BRANCHES['mozilla-aurora']['tp5o_tests'] = (0, True, TALOS_TP_NEW_OPTS, ALL_PLATFORMS)
+BRANCHES['mozilla-aurora']['tpn_tests'] = (1, True, TALOS_TP_NEW_OPTS, ALL_TALOS_PLATFORMS)
+BRANCHES['mozilla-aurora']['tp5o_tests'] = (0, True, TALOS_TP_NEW_OPTS, ALL_TALOS_PLATFORMS)
 # End MERGE DAY remove the above when Firefox 22 merges in
 
 ######### mozilla-esr17
 BRANCHES['mozilla-esr17']['release_tests'] = 1
 BRANCHES['mozilla-esr17']['repo_path'] = "releases/mozilla-esr17"
 BRANCHES['mozilla-esr17']['pgo_strategy'] = 'per-checkin'
 BRANCHES['mozilla-esr17']['platforms']['linux']['fedora']['opt_unittest_suites'] = BUILDBOT_UNITTEST_SUITES['opt_with_ipc'][:]
 BRANCHES['mozilla-esr17']['platforms']['linux']['fedora']['debug_unittest_suites'] = BUILDBOT_UNITTEST_SUITES['debug'][:]
@@ -1165,18 +1154,18 @@ BRANCHES['mozilla-esr17']['platforms']['
 BRANCHES['mozilla-esr17']['platforms']['win32']['win7']['opt_unittest_suites'] = BUILDBOT_UNITTEST_SUITES['opt_with_no-d2d-d3d'][:]
 BRANCHES['mozilla-esr17']['platforms']['win32']['win7']['debug_unittest_suites'] = BUILDBOT_UNITTEST_SUITES['debug'][:]
 BRANCHES['mozilla-esr17']['platforms']['macosx64']['snowleopard']['opt_unittest_suites'] = BUILDBOT_UNITTEST_SUITES['opt_no_a11y'][:]
 BRANCHES['mozilla-esr17']['platforms']['macosx64']['snowleopard']['debug_unittest_suites'] = BUILDBOT_UNITTEST_SUITES['debug_no_a11y'][:]
 BRANCHES['mozilla-esr17']['platforms']['macosx64']['lion']['opt_unittest_suites'] = BUILDBOT_UNITTEST_SUITES['opt_no_a11y'][:]
 BRANCHES['mozilla-esr17']['platforms']['macosx64']['lion']['debug_unittest_suites'] = BUILDBOT_UNITTEST_SUITES['debug_no_a11y'][:]
 BRANCHES['mozilla-esr17']['platforms']['macosx64']['mountainlion']['opt_unittest_suites'] = BUILDBOT_UNITTEST_SUITES['opt_no_a11y'][:]
 BRANCHES['mozilla-esr17']['platforms']['macosx64']['mountainlion']['debug_unittest_suites'] = BUILDBOT_UNITTEST_SUITES['debug_no_a11y'][:]
-BRANCHES['mozilla-esr17']['tpn_tests'] = (1, True, TALOS_TP_NEW_OPTS, ALL_PLATFORMS)
-BRANCHES['mozilla-esr17']['tp5o_tests'] = (0, True, TALOS_TP_NEW_OPTS, ALL_PLATFORMS)
+BRANCHES['mozilla-esr17']['tpn_tests'] = (1, True, TALOS_TP_NEW_OPTS, ALL_TALOS_PLATFORMS)
+BRANCHES['mozilla-esr17']['tp5o_tests'] = (0, True, TALOS_TP_NEW_OPTS, ALL_TALOS_PLATFORMS)
 del BRANCHES['mozilla-esr17']['platforms']['win32']['win8']
 BRANCHES['mozilla-esr17']['platforms']['win32']['slave_platforms'] = ['xp', 'win7']
 
 
 ######### mozilla-b2g18
 BRANCHES['mozilla-b2g18']['release_tests'] = 1
 BRANCHES['mozilla-b2g18']['repo_path'] = "releases/mozilla-b2g18"
 BRANCHES['mozilla-b2g18']['pgo_strategy'] = 'per-checkin'
@@ -1189,18 +1178,18 @@ BRANCHES['mozilla-b2g18']['platforms']['
 BRANCHES['mozilla-b2g18']['platforms']['win32']['win7']['opt_unittest_suites'] = BUILDBOT_UNITTEST_SUITES['opt_with_no-d2d-d3d'][:]
 BRANCHES['mozilla-b2g18']['platforms']['win32']['win7']['debug_unittest_suites'] = BUILDBOT_UNITTEST_SUITES['debug'][:]
 BRANCHES['mozilla-b2g18']['platforms']['macosx64']['snowleopard']['opt_unittest_suites'] = BUILDBOT_UNITTEST_SUITES['opt_no_a11y'][:]
 BRANCHES['mozilla-b2g18']['platforms']['macosx64']['snowleopard']['debug_unittest_suites'] = BUILDBOT_UNITTEST_SUITES['debug_no_a11y'] + MARIONETTE
 BRANCHES['mozilla-b2g18']['platforms']['macosx64']['lion']['opt_unittest_suites'] = BUILDBOT_UNITTEST_SUITES['opt_no_a11y'][:]
 BRANCHES['mozilla-b2g18']['platforms']['macosx64']['lion']['debug_unittest_suites'] = BUILDBOT_UNITTEST_SUITES['debug_no_a11y'] + MARIONETTE
 BRANCHES['mozilla-b2g18']['platforms']['macosx64']['mountainlion']['opt_unittest_suites'] = BUILDBOT_UNITTEST_SUITES['opt_no_a11y'][:]
 BRANCHES['mozilla-b2g18']['platforms']['macosx64']['mountainlion']['debug_unittest_suites'] = BUILDBOT_UNITTEST_SUITES['debug_no_a11y'] + MARIONETTE
-BRANCHES['mozilla-b2g18']['tpn_tests'] = (1, True, TALOS_TP_NEW_OPTS, ALL_PLATFORMS)
-BRANCHES['mozilla-b2g18']['tp5o_tests'] = (0, True, TALOS_TP_NEW_OPTS, ALL_PLATFORMS)
+BRANCHES['mozilla-b2g18']['tpn_tests'] = (1, True, TALOS_TP_NEW_OPTS, ALL_TALOS_PLATFORMS)
+BRANCHES['mozilla-b2g18']['tp5o_tests'] = (0, True, TALOS_TP_NEW_OPTS, ALL_TALOS_PLATFORMS)
 del BRANCHES['mozilla-b2g18']['platforms']['win32']['win8']
 BRANCHES['mozilla-b2g18']['platforms']['win32']['slave_platforms'] = ['xp', 'win7']
 
 ######### mozilla-b2g18_v1_0_1
 BRANCHES['mozilla-b2g18_v1_0_1']['release_tests'] = 1
 BRANCHES['mozilla-b2g18_v1_0_1']['repo_path'] = "releases/mozilla-b2g18_v1_0_1"
 BRANCHES['mozilla-b2g18_v1_0_1']['pgo_strategy'] = 'per-checkin'
 BRANCHES['mozilla-b2g18_v1_0_1']['platforms']['linux']['fedora']['opt_unittest_suites'] = BUILDBOT_UNITTEST_SUITES['opt_with_ipc'][:]
@@ -1212,24 +1201,24 @@ BRANCHES['mozilla-b2g18_v1_0_1']['platfo
 BRANCHES['mozilla-b2g18_v1_0_1']['platforms']['win32']['win7']['opt_unittest_suites'] = BUILDBOT_UNITTEST_SUITES['opt_with_no-d2d-d3d'][:]
 BRANCHES['mozilla-b2g18_v1_0_1']['platforms']['win32']['win7']['debug_unittest_suites'] = BUILDBOT_UNITTEST_SUITES['debug'][:]
 BRANCHES['mozilla-b2g18_v1_0_1']['platforms']['macosx64']['snowleopard']['opt_unittest_suites'] = BUILDBOT_UNITTEST_SUITES['opt_no_a11y'][:]
 BRANCHES['mozilla-b2g18_v1_0_1']['platforms']['macosx64']['snowleopard']['debug_unittest_suites'] = BUILDBOT_UNITTEST_SUITES['debug_no_a11y'] + MARIONETTE
 BRANCHES['mozilla-b2g18_v1_0_1']['platforms']['macosx64']['lion']['opt_unittest_suites'] = BUILDBOT_UNITTEST_SUITES['opt_no_a11y'][:]
 BRANCHES['mozilla-b2g18_v1_0_1']['platforms']['macosx64']['lion']['debug_unittest_suites'] = BUILDBOT_UNITTEST_SUITES['debug_no_a11y'] + MARIONETTE
 BRANCHES['mozilla-b2g18_v1_0_1']['platforms']['macosx64']['mountainlion']['opt_unittest_suites'] = BUILDBOT_UNITTEST_SUITES['opt_no_a11y'][:]
 BRANCHES['mozilla-b2g18_v1_0_1']['platforms']['macosx64']['mountainlion']['debug_unittest_suites'] = BUILDBOT_UNITTEST_SUITES['debug_no_a11y'] + MARIONETTE
-BRANCHES['mozilla-b2g18_v1_0_1']['tpn_tests'] = (1, True, TALOS_TP_NEW_OPTS, ALL_PLATFORMS)
-BRANCHES['mozilla-b2g18_v1_0_1']['tp5o_tests'] = (0, True, TALOS_TP_NEW_OPTS, ALL_PLATFORMS)
+BRANCHES['mozilla-b2g18_v1_0_1']['tpn_tests'] = (1, True, TALOS_TP_NEW_OPTS, ALL_TALOS_PLATFORMS)
+BRANCHES['mozilla-b2g18_v1_0_1']['tp5o_tests'] = (0, True, TALOS_TP_NEW_OPTS, ALL_TALOS_PLATFORMS)
 del BRANCHES['mozilla-b2g18_v1_0_1']['platforms']['win32']['win8']
 BRANCHES['mozilla-b2g18_v1_0_1']['platforms']['win32']['slave_platforms'] = ['xp', 'win7']
 
 ######## try
 BRANCHES['try']['xperf_tests'] = (1, False, TALOS_TP_NEW_OPTS, WIN7_ONLY)
-BRANCHES['try']['tp5o_tests'] = (1, False, TALOS_TP_NEW_OPTS, ALL_PLATFORMS)
+BRANCHES['try']['tp5o_tests'] = (1, False, TALOS_TP_NEW_OPTS, ALL_TALOS_PLATFORMS)
 BRANCHES['try']['pgo_strategy'] = 'try'
 BRANCHES['try']['enable_try'] = True
 BRANCHES['try']['platforms']['macosx64']['snowleopard']['opt_unittest_suites'] = UNITTEST_SUITES['opt_unittest_suites'] + REFTEST_IPC
 BRANCHES['try']['platforms']['macosx64']['lion']['opt_unittest_suites'] = UNITTEST_SUITES['opt_unittest_suites'] + REFTEST_IPC
 BRANCHES['try']['platforms']['macosx64']['mountainlion']['opt_unittest_suites'] = UNITTEST_SUITES['opt_unittest_suites'] + REFTEST_IPC
 BRANCHES['try']['platforms']['win32']['xp']['opt_unittest_suites'] = UNITTEST_SUITES['opt_unittest_suites'] + REFTEST_IPC
 BRANCHES['try']['platforms']['win32']['xp']['debug_unittest_suites'] = MOCHITEST + REFTEST_NO_IPC + XPCSHELL + MARIONETTE
 BRANCHES['try']['platforms']['win32']['win7']['opt_unittest_suites'] = UNITTEST_SUITES['opt_unittest_suites'] + REFTEST_IPC + REFTEST_NOACCEL
@@ -1305,16 +1294,31 @@ for branch in set(BRANCHES.keys()) - set
                         for i in BRANCHES[branch]['platforms'][p][fedora][suite_type]:
                             try:
                                 if i[0] == suite[0]:
                                     BRANCHES[branch]['platforms'][p][fedora][suite_type].remove(i)
                             except KeyError:
                                 pass
 
 
+# Remove ubuntu_hw from all branches but cedar
+for branch in set(BRANCHES.keys()) - set(['cedar']):
+    for s in SUITES.iterkeys():
+        if nested_haskey(BRANCHES[branch], 'suites', s, 'options'):
+            options = list(BRANCHES[branch]['suites'][s]['options'])
+            # filter out ubuntu
+            options[1] = [x for x in options[1] if x not in ('ubuntu32_hw', 'ubuntu64_hw')]
+            BRANCHES[branch]['suites'][s]['options'] = tuple(options)
+        tests_key = '%s_tests' % s
+        if tests_key in BRANCHES[branch]:
+            tests = list(BRANCHES[branch]['%s_tests' % s])
+            tests[3] = [x for x in tests[3] if x not in ('ubuntu32_hw', 'ubuntu64_hw')]
+            BRANCHES[branch]['%s_tests' % s] = tuple(tests)
+
+
 if __name__ == "__main__":
     import sys
     import pprint
 
     args = sys.argv[1:]
 
     if len(args) > 0:
         items = dict([(b, BRANCHES[b]) for b in args])
--- a/mozilla-tests/config_common.py
+++ b/mozilla-tests/config_common.py
@@ -72,8 +72,17 @@ def nested_haskey(dictionary, *keys):
         return keys[0] in dictionary
     else:
         #recurse
         key, keys = keys[0], keys[1:]
         if key in dictionary:
             return nested_haskey(dictionary[key], *keys)
         else:
             return False
+
+
+def get_talos_slave_platforms(platforms_dict, platforms):
+    """Returns talos_slave_platforms if defined or slave_platform otherwise"""
+    ret = []
+    for p in platforms:
+        ret.extend(platforms_dict[p].get('talos_slave_platforms',
+                                         platforms_dict[p]['slave_platforms']))
+    return ret
--- a/mozilla-tests/production_config.py
+++ b/mozilla-tests/production_config.py
@@ -20,16 +20,18 @@ SLAVES = {
             226,241,268,275,289,291,292,301]]), # decommissioned tegras
     'panda_android': dict(
         [('panda-%04i' % x, {'http_port': '30%03i' % x, 'ssl_port': '31%03i' % x}) \
             for x in range(22,33) + range(34,45) + range(46,82) + range(522,874) + range(885,887)]
     ),
     'b2g_panda': dict([("panda-%04i" % x, {}) for x in range(82,522) + range(33,34) + range(45,46)]),
     'ubuntu32_vm': dict([("tst-linux32-ec2-%03i" % x, {}) for x in range(1, 150) + range(300, 450)]),
     'ubuntu64_vm': dict([("tst-linux64-ec2-%03i" % x, {}) for x in range(1, 150) + range(300, 450)]),
+    'ubuntu32_hw': dict([("talos-linux32-ix-%03i" % x, {}) for x in range(1, 101)]),
+    'ubuntu64_hw': dict([("talos-linux64-ix-%03i" % x, {}) for x in range(1, 101)]),
 }
 
 SLAVES['tegra_android-armv6'] = SLAVES['tegra_android']
 SLAVES['tegra_android-noion'] = SLAVES['tegra_android']
 SLAVES['fedora-b2g'] = SLAVES['fedora']
 # Use "-b2g" suffix to make misc.py generate unique builder names
 SLAVES['ubuntu64_vm-b2g'] = SLAVES['ubuntu64_vm']
 SLAVES['b2g_panda_gaia_central'] = SLAVES['b2g_panda']
--- a/mozilla-tests/tests_master.cfg
+++ b/mozilla-tests/tests_master.cfg
@@ -62,16 +62,18 @@ reload(BuildSlaves)
 from BuildSlaves import SlavePasswords
 from buildbot.buildslave import BuildSlave
 
 # Handle active platforms - Firefox
 all_slave_platforms = []
 for p in ACTIVE_PLATFORMS.keys():
     ACTIVE_PLATFORMS[p] = deepcopy(PLATFORMS[p])
     all_slave_platforms.extend(PLATFORMS[p]['slave_platforms'])
+    if 'talos_slave_platforms' in PLATFORMS[p]:
+        all_slave_platforms.extend(PLATFORMS[p]['talos_slave_platforms'])
 
 # Handle active platforms - Thunderbird
 tb_all_slave_platforms = []
 for p in ACTIVE_THUNDERBIRD_PLATFORMS.keys():
     #XXX we shouldn't have to filter these platforms
     if p in THUNDERBIRD_PLATFORMS:
         ACTIVE_THUNDERBIRD_PLATFORMS[p] = deepcopy(THUNDERBIRD_PLATFORMS[p])
         tb_all_slave_platforms.extend(THUNDERBIRD_PLATFORMS[p]['slave_platforms'])
--- a/mozilla-tests/universal_master_sqlite.cfg
+++ b/mozilla-tests/universal_master_sqlite.cfg
@@ -62,16 +62,18 @@ reload(BuildSlaves)
 from BuildSlaves import SlavePasswords
 from buildbot.buildslave import BuildSlave
 
 # Handle active platforms - Firefox
 all_slave_platforms = []
 for p in ACTIVE_PLATFORMS.keys():
     ACTIVE_PLATFORMS[p] = deepcopy(PLATFORMS[p])
     all_slave_platforms.extend(PLATFORMS[p]['slave_platforms'])
+    if 'talos_slave_platforms' in PLATFORMS[p]:
+        all_slave_platforms.extend(PLATFORMS[p]['talos_slave_platforms'])
 
 # Handle active platforms - Thunderbird
 tb_all_slave_platforms = []
 for p in ACTIVE_THUNDERBIRD_PLATFORMS.keys():
     #XXX we shouldn't have to filter these platforms
     if p in THUNDERBIRD_PLATFORMS:
         ACTIVE_THUNDERBIRD_PLATFORMS[p] = deepcopy(THUNDERBIRD_PLATFORMS[p])
         tb_all_slave_platforms.extend(THUNDERBIRD_PLATFORMS[p]['slave_platforms'])