blob: 7614ee0e7994962c92d933978ad9bd3d7a8f036e [file] [log] [blame]
---
# Ensure Swarming has been bootstrapped.
- hosts: all
vars:
swarming_path: C:\b
bootstrap_script_path: C:\Users\chrome-bot\bootstrap-swarming.py
tasks:
- name: Check if host has already been bootstrapped
win_stat:
path: "{{ swarming_path }}"
register: results
- debug:
msg: Did we find an existing Swarming installation? {{ results.stat.exists }}
- when: not results.stat.exists
block:
- name: Retrieve authorization token
run_once: true
delegate_to: localhost
uri:
url: http://metadata/computeMetadata/v1/instance/service-accounts/default/token
headers:
Metadata-Flavor: "Google"
return_content: yes
register: auth_token
- name: Download Swarming bootstrap script {{ bootstrap_script_path }}
win_get_url:
url: "{{ swarming_server }}/bootstrap"
headers:
Authorization: Bearer {{ auth_token.json.access_token }}
dest: "{{ bootstrap_script_path }}"
- name: Bootstrap Swarming (triggers reboot, so expected to fail)
win_command: python -u {{ bootstrap_script_path }}
ignore_errors: True
- name: Wait for reboot after bootstrapping Swarming
wait_for_connection:
# Don't start checking before the Swarming bootstrap script initiates a reboot.
delay: 30
# Only wait for 3 minutes before failing. (Default is 10 min.)
timeout: 180
- name: Check if bootstrap was successful
win_stat:
path: "{{ swarming_path }}"
register: results
- when: not results.stat.exists
fail:
msg: "{{ swarming_path }} does not exist after bootstrapping."