OLD | NEW |
---|---|
1 # -*- python -*- | 1 # -*- python -*- |
2 # ex: set syntax=python: | 2 # ex: set syntax=python: |
3 | 3 |
4 # Copyright (c) 2012 The Chromium Authors. All rights reserved. | 4 # Copyright (c) 2012 The Chromium Authors. All rights reserved. |
5 # Use of this source code is governed by a BSD-style license that can be | 5 # Use of this source code is governed by a BSD-style license that can be |
6 # found in the LICENSE file. | 6 # found in the LICENSE file. |
7 | 7 |
8 # This is an list of dictionaries to describe slaves. | 8 # This is an list of dictionaries to describe slaves. |
9 # This list is intentionally flat to be easy to filter arbitrarily. | 9 # This list is intentionally flat to be easy to filter arbitrarily. |
10 | 10 |
(...skipping 22 matching lines...) Expand all Loading... | |
33 | 33 |
34 # (Optional) VM datastore if a vm. | 34 # (Optional) VM datastore if a vm. |
35 #'vm_host_datastore': number, | 35 #'vm_host_datastore': number, |
36 | 36 |
37 # (Optional) Random notes. | 37 # (Optional) Random notes. |
38 #'notes': string, | 38 #'notes': string, |
39 #}, | 39 #}, |
40 { | 40 { |
41 'master': 'V8', | 41 'master': 'V8', |
42 'builder': ['V8 Linux - builder', | 42 'builder': ['V8 Linux - builder', |
43 'V8 Linux - swarming staging builder', | |
44 'V8 Linux - debug builder'], | 43 'V8 Linux - debug builder'], |
45 'hostname': 'vm362-m3', | 44 'hostname': 'vm362-m3', |
46 'os': 'linux', | 45 'os': 'linux', |
47 'version': 'precise', | 46 'version': 'precise', |
48 'bits': '64', | 47 'bits': '64', |
49 }, | 48 }, |
50 { | 49 { |
51 'master': 'V8', | 50 'master': 'V8', |
52 'builder': ['V8 Linux - nosnap builder', | 51 'builder': ['V8 Linux - nosnap builder', |
53 'V8 Linux - nosnap debug builder', | 52 'V8 Linux - nosnap debug builder', |
(...skipping 130 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
184 'master': 'V8', | 183 'master': 'V8', |
185 'builder': ['V8 Linux64 TSAN', | 184 'builder': ['V8 Linux64 TSAN', |
186 'V8 Linux gcc 4.8'], | 185 'V8 Linux gcc 4.8'], |
187 'hostname': 'slave82-c3', # Fast VM. | 186 'hostname': 'slave82-c3', # Fast VM. |
188 'os': 'linux', | 187 'os': 'linux', |
189 'version': 'trusty', | 188 'version': 'trusty', |
190 'bits': '64', | 189 'bits': '64', |
191 }, | 190 }, |
192 { | 191 { |
193 'master': 'V8', | 192 'master': 'V8', |
194 'builder': ['V8 Linux64 - cfi', 'V8 Linux - swarming staging 3'], | 193 'builder': ['V8 Linux64 - cfi', 'V8 Linux - swarming staging'], |
195 'hostname': 'slave80-c3', | 194 'hostname': 'slave80-c3', |
196 'os': 'linux', | 195 'os': 'linux', |
197 'version': 'precise', | 196 'version': 'precise', |
198 'bits': '64', | 197 'bits': '64', |
199 }, | 198 }, |
200 { | 199 { |
201 'master': 'V8', | 200 'master': 'V8', |
202 'builder': ['V8 Linux - arm64 - sim - MSAN'], | 201 'builder': ['V8 Linux - arm64 - sim - MSAN'], |
203 'hostname': 'slave30-c3', | 202 'hostname': 'slave30-c3', |
204 'os': 'linux', | 203 'os': 'linux', |
(...skipping 184 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
389 'V8 Mac64', | 388 'V8 Mac64', |
390 'V8 Mac64 - debug', | 389 'V8 Mac64 - debug', |
391 'V8 Mac64 - xcode', | 390 'V8 Mac64 - xcode', |
392 ], | 391 ], |
393 'hostname': 'vm%d-m3' % vm, | 392 'hostname': 'vm%d-m3' % vm, |
394 'os': 'mac', | 393 'os': 'mac', |
395 'version': '10.6', | 394 'version': '10.6', |
396 'bits': '64', | 395 'bits': '64', |
397 }) | 396 }) |
398 | 397 |
399 for j in xrange(3): | 398 def distribute_subdir_slaves(builders, hostnames): |
400 slaves.append({ | 399 """Distributes a list of builders to a list of hostnames with subdirs. |
401 'master': 'V8', | |
402 'builder': ['V8 Linux - swarming staging 1', | |
403 'V8 Linux - swarming staging 2'], | |
404 'hostname': 'slave83-c3', | |
405 'os': 'linux', | |
406 'version': 'precise', | |
407 'bits': '64', | |
408 'subdir': str(j), | |
409 }) | |
410 | 400 |
411 # TODO(machenbach): Refactor usage of subdir slaves. Make it easier to | 401 Each builder will be assigned to one (subdir) slave. The different hosts will |
412 # map builders to subdir slaves from a pool. | 402 have an equal number (+/- 1) of subdir slaves. |
413 slaves.append({ | |
414 'master': 'V8', | |
415 'builder': ['V8 Arm'], | |
416 'hostname': 'slave83-c3', | |
417 'os': 'linux', | |
418 'version': 'precise', | |
419 'bits': '64', | |
420 'subdir': str(3), | |
421 }) | |
422 | 403 |
423 slaves.append({ | 404 Example: Distributing builders [A, B, C, D, E] to slaves [X, Y] will result |
424 'master': 'V8', | 405 in [AX0, BY0, CX1, DY1, EX2], where e.g. CX1 is builder C on host X with |
425 'builder': ['V8 Arm - debug'], | 406 subdir 1. |
426 'hostname': 'slave83-c3', | 407 """ |
427 'os': 'linux', | 408 # Assuming there are more or equal builders than hostnames. |
tandrii(chromium)
2016/01/11 11:15:22
I'd also sort builders and hostnames to make sure
Michael Achenbach
2016/01/11 11:23:45
Ensuring lists are used by another assert. I don't
| |
428 'version': 'precise', | 409 assert len(builders) >= len(hostnames) |
429 'bits': '64', | |
430 'subdir': str(4), | |
431 }) | |
432 | 410 |
433 slaves.append({ | 411 subdir_index = 0 |
434 'master': 'V8', | 412 hostname_index = 0 |
435 'builder': ['V8 Arm GC Stress'], | 413 for builder in builders: |
436 'hostname': 'slave83-c3', | 414 if hostname_index >= len(hostnames): |
437 'os': 'linux', | 415 # All hostnames were used, rotate and advance the subdir index. |
438 'version': 'precise', | 416 hostname_index = 0 |
439 'bits': '64', | 417 subdir_index += 1 |
440 'subdir': str(5), | 418 slaves.append({ |
441 }) | 419 'master': 'V8', |
420 'builder': builder, | |
421 'hostname': hostnames[hostname_index], | |
422 'os': 'linux', | |
423 'version': 'precise', | |
424 'bits': '64', | |
425 'subdir': str(subdir_index), | |
426 }) | |
427 hostname_index += 1 | |
442 | 428 |
443 slaves.append({ | 429 distribute_subdir_slaves( |
444 'master': 'V8', | 430 [ |
445 'builder': ['V8 Win32'], | 431 'V8 Arm', |
446 'hostname': 'slave83-c3', | 432 'V8 Arm - debug', |
447 'os': 'linux', | 433 'V8 Arm GC Stress', |
448 'version': 'precise', | 434 'V8 Win32', |
449 'bits': '64', | 435 'V8 Win32 - debug', |
450 'subdir': str(6), | 436 ], |
451 }) | 437 [ |
452 | 438 'slave83-c3', |
453 slaves.append({ | 439 ], |
454 'master': 'V8', | 440 ) |
455 'builder': ['V8 Win32 - debug'], | |
456 'hostname': 'slave83-c3', | |
457 'os': 'linux', | |
458 'version': 'precise', | |
459 'bits': '64', | |
460 'subdir': str(7), | |
461 }) | |
OLD | NEW |