Chromium Code Reviews| 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 |