Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(391)

Side by Side Diff: scripts/master/master_utils.py

Issue 12300004: Build scripts refactor to support multislave (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/tools/build
Patch Set: Created 7 years, 10 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch | Annotate | Revision Log
« no previous file with comments | « scripts/common/chromium_utils.py ('k') | scripts/master/slaves_list.py » ('j') | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
1 # Copyright (c) 2012 The Chromium Authors. All rights reserved. 1 # Copyright (c) 2012 The Chromium Authors. All rights reserved.
2 # Use of this source code is governed by a BSD-style license that can be 2 # Use of this source code is governed by a BSD-style license that can be
3 # found in the LICENSE file. 3 # found in the LICENSE file.
4 4
5 import os 5 import os
6 import re 6 import re
7 7
8 import buildbot 8 import buildbot
9 from buildbot import interfaces, util 9 from buildbot import interfaces, util
10 from buildbot.buildslave import BuildSlave 10 from buildbot.buildslave import BuildSlave
11 from buildbot.status import mail 11 from buildbot.status import mail
12 from buildbot.status.builder import BuildStatus 12 from buildbot.status.builder import BuildStatus
13 from buildbot.status.status_push import HttpStatusPush 13 from buildbot.status.status_push import HttpStatusPush
14 from twisted.python import log 14 from twisted.python import log
15 from zope.interface import implements 15 from zope.interface import implements
16 16
17 from master.autoreboot_buildslave import AutoRebootBuildSlave 17 from master.autoreboot_buildslave import AutoRebootBuildSlave
18 from buildbot.status.web.baseweb import WebStatus 18 from buildbot.status.web.baseweb import WebStatus
19 19
20 if int(buildbot.version.split('.')[1]) == 7: 20 if int(buildbot.version.split('.')[1]) == 7:
21 from master import chromium_status_bb7 as chromium_status 21 from master import chromium_status_bb7 as chromium_status
22 else: 22 else:
23 import master.chromium_status_bb8 as chromium_status 23 import master.chromium_status_bb8 as chromium_status
24 24
25 from master import slaves_list 25 from common import chromium_utils
26 import config 26 import config
27 27
28 28
29 def HackMaxTime(maxTime=8*60*60): 29 def HackMaxTime(maxTime=8*60*60):
30 """Set maxTime default value to 8 hours. This function must be called before 30 """Set maxTime default value to 8 hours. This function must be called before
31 adding steps.""" 31 adding steps."""
32 from buildbot.process.buildstep import RemoteShellCommand 32 from buildbot.process.buildstep import RemoteShellCommand
33 assert RemoteShellCommand.__init__.func_defaults == (None, 1, 1, 1200, None, 33 assert RemoteShellCommand.__init__.func_defaults == (None, 1, 1, 1200, None,
34 {}, 'slave-config', True) 34 {}, 'slave-config', True)
35 RemoteShellCommand.__init__.im_func.func_defaults = (None, 1, 1, 1200, 35 RemoteShellCommand.__init__.im_func.func_defaults = (None, 1, 1, 1200,
(...skipping 77 matching lines...) Expand 10 before | Expand all | Expand 10 after
113 113
114 # Make sure each slave has their builder. 114 # Make sure each slave has their builder.
115 builders_name = [b['name'] for b in c['builders']] 115 builders_name = [b['name'] for b in c['builders']]
116 for s in c['slaves']: 116 for s in c['slaves']:
117 name = s.slavename 117 name = s.slavename
118 if not name in builders_slaves: 118 if not name in builders_slaves:
119 raise InvalidConfig('Slave %s not associated with any builder' % name) 119 raise InvalidConfig('Slave %s not associated with any builder' % name)
120 120
121 # Make sure every defined slave is used. 121 # Make sure every defined slave is used.
122 for s in slaves.GetSlaves(): 122 for s in slaves.GetSlaves():
123 name = slaves_list.EntryToSlaveName(s) 123 name = chromium_utils.EntryToSlaveName(s)
124 if not name in slaves_name: 124 if not name in slaves_name:
125 raise InvalidConfig('Slave %s defined in your slaves_list is not ' 125 raise InvalidConfig('Slave %s defined in your slaves_list is not '
126 'referenced at all' % name) 126 'referenced at all' % name)
127 builders = s.get('builder', []) 127 builders = s.get('builder', [])
128 if not isinstance(builders, (list, tuple)): 128 if not isinstance(builders, (list, tuple)):
129 builders = [builders] 129 builders = [builders]
130 testers = s.get('testers', []) 130 testers = s.get('testers', [])
131 if not isinstance(testers, (list, tuple)): 131 if not isinstance(testers, (list, tuple)):
132 testers = [testers] 132 testers = [testers]
133 builders.extend(testers) 133 builders.extend(testers)
(...skipping 191 matching lines...) Expand 10 before | Expand all | Expand 10 after
325 execfile('.manhole', values) 325 execfile('.manhole', values)
326 if 'debugPassword' in values: 326 if 'debugPassword' in values:
327 c['debugPassword'] = values['debugPassword'] 327 c['debugPassword'] = values['debugPassword']
328 interface = 'tcp:%s:interface=127.0.0.1' % values.get('port', 0) 328 interface = 'tcp:%s:interface=127.0.0.1' % values.get('port', 0)
329 if 'port' in values and 'user' in values and 'password' in values: 329 if 'port' in values and 'user' in values and 'password' in values:
330 c['manhole'] = manhole.PasswordManhole(interface, values['user'], 330 c['manhole'] = manhole.PasswordManhole(interface, values['user'],
331 values['password']) 331 values['password'])
332 elif 'port' in values: 332 elif 'port' in values:
333 c['manhole'] = manhole.AuthorizedKeysManhole(interface, 333 c['manhole'] = manhole.AuthorizedKeysManhole(interface,
334 os.path.expanduser("~/.ssh/authorized_keys")) 334 os.path.expanduser("~/.ssh/authorized_keys"))
OLDNEW
« no previous file with comments | « scripts/common/chromium_utils.py ('k') | scripts/master/slaves_list.py » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698