---
- hosts: localhost
  sudo: False
  gather_facts: no
  vars:
    cloud_machine_type: g1-small

  tasks:
    - name: replace_test_id
      set_fact:
        test_name: "{{test_id |regex_replace('\\.', '-')}}"

    - name: Create gce instances
      gce:
        instance_names: "k8s-{{test_name}}-1,k8s-{{test_name}}-2,k8s-{{test_name}}-3"
        machine_type: "{{ cloud_machine_type }}"
        image: "{{ cloud_image }}"
        service_account_email: "{{ gce_service_account_email }}"
        pem_file: "{{ gce_pem_file }}"
        project_id: "{{ gce_project_id }}"
        zone: "{{cloud_region}}"
        metadata: '{"test_id": "{{test_id}}", "network": "{{kube_network_plugin}}"}'
        tags: "build-{{test_name}},{{kube_network_plugin}}"
      register: gce

    - name: Template the inventory
      template:
        src: ../templates/inventory-gce.j2
        dest: "{{ inventory_path }}"

    - name: Wait for SSH to come up
      wait_for: host={{item.public_ip}} port=22 delay=10 timeout=180 state=started
      with_items: gce.instance_data
