| # Batch Running Custom Tasks On Swarming |
| |
| Some times, we want to run a custom script on many swarming bots. Typically, |
| this is performing maintenance on a swarming bot, like updating/removing an |
| installed application or cleaning up disk space. |
| |
| This go program, `run_on_swarming_bots`, makes that easy. |
| |
| First, run the program in dry run mode to make sure you have your dimensions |
| correct and thus are running the script on the right set of bots. Protip: if you |
| want a single bot, you can specify it with the id dimension |
| (`id:skia-e-gce-123`). |
| |
| $ go run scripts/run_on_swarming_bots/run_on_swarming_bots.go \ |
| --dimension docker_installed:true --dimension gce:1 \ |
| --dry_run |
| # output should include lines like: |
| # run_on_swarming_bots.go:135 Dry run mode. Would run on following bots: |
| # run_on_swarming_bots.go:137 skia-e-gce-100 |
| # run_on_swarming_bots.go:137 skia-e-gce-101 |
| # run_on_swarming_bots.go:137 skia-e-gce-102 |
| # and then the program exits. |
| |
| Finally, include your script. Your script will run on all swarming bots that |
| match the specified dimensions. |
| |
| $ go run scripts/run_on_swarming_bots/run_on_swarming_bots.go \ |
| --dimension docker_installed:true --dimension gce:1 \ |
| --script=scripts/run_on_swarming_bots/cleanup_docker.py |
| |
| The program will print a link which you can use to track the status of the |
| tasks. If a subset of tasks fails (eg. bots didn't become available before the |
| tasks timed out), you can run the program again using the `--rerun` flag. |