|
|
@ -0,0 +1,48 @@ |
|
|
|
--- |
|
|
|
- hosts: localhost |
|
|
|
become: false |
|
|
|
gather_facts: no |
|
|
|
vars: |
|
|
|
cloud_machine_type: g1-small |
|
|
|
mode: default |
|
|
|
|
|
|
|
tasks: |
|
|
|
- name: replace_test_id |
|
|
|
set_fact: |
|
|
|
test_name: "{{test_id |regex_replace('\\.', '-')}}" |
|
|
|
|
|
|
|
- set_fact: |
|
|
|
instance_names: >- |
|
|
|
{%- if mode in ['separate', 'ha'] -%} |
|
|
|
["k8s-{{test_name}}-1", "k8s-{{test_name}}-2", "k8s-{{test_name}}-3"] |
|
|
|
{%- else -%} |
|
|
|
["k8s-{{test_name}}-1", "k8s-{{test_name}}-2"] |
|
|
|
{%- endif -%} |
|
|
|
|
|
|
|
- name: Create DO instances |
|
|
|
digital_ocean: |
|
|
|
unique_name: yes |
|
|
|
api_token: "{{ lookup('env','DO_API_TOKEN') }}" |
|
|
|
command: "droplet" |
|
|
|
image_id: "{{ cloud_image }}" |
|
|
|
name: "{{ item }}" |
|
|
|
private_networking: no |
|
|
|
region_id: "{{cloud_region}}" |
|
|
|
size_id: 2gb |
|
|
|
ssh_key_ids: "6536865" |
|
|
|
state: present |
|
|
|
wait: yes |
|
|
|
register: droplets |
|
|
|
with_items: "{{instance_names}}" |
|
|
|
|
|
|
|
- debug: |
|
|
|
msg: "{{droplets}}, {{inventory_path}}" |
|
|
|
|
|
|
|
- name: Template the inventory |
|
|
|
template: |
|
|
|
src: ../templates/inventory-do.j2 |
|
|
|
dest: "{{ inventory_path }}/inventory-do.cfg" |
|
|
|
|
|
|
|
- name: Wait for SSH to come up |
|
|
|
wait_for: host={{item.droplet.ip_address}} port=22 delay=10 timeout=180 state=started |
|
|
|
with_items: "{{droplets.results}}" |