[google] adding a GCE labels module

This commit is contained in:
Eric Johnson
2017-05-19 21:13:01 +00:00
committed by Ryan S. Brown
parent 35ba6d469e
commit 09e9203844
7 changed files with 414 additions and 0 deletions

View File

@@ -10,4 +10,5 @@
- { role: test_gcp_url_map, tags: test_gcp_url_map }
- { role: test_gcp_glb, tags: test_gcp_glb }
- { role: test_gcp_healthcheck, tags: test_gcp_healthcheck }
- { role: test_gce_labels, tags: test_gce_labels }
# TODO: tests for gce_lb, gc_storage

View File

@@ -0,0 +1,9 @@
---
# defaults file for test_gce_labels
instance_name: "{{ resource_prefix|lower }}"
service_account_email: "{{ gce_service_account_email }}"
pem_file: "{{ gce_pem_file }}"
project_id: "{{ gce_project_id }}"
zone: "us-central1-f"
machine_type: f1-micro
image: debian-8

View File

@@ -0,0 +1,5 @@
---
# test role for gce_labels
- include: setup.yml
- include: test.yml
- include: teardown.yml

View File

@@ -0,0 +1,20 @@
# GCE Labels Setup.
# ============================================================
- name: "Create instance for executing gce_labels tests"
gce:
instance_names: "{{ instance_name }}"
machine_type: "{{ machine_type }}"
image: "{{ image }}"
zone: "{{ zone }}"
project_id: "{{ project_id }}"
pem_file: "{{ pem_file }}"
service_account_email: "{{ service_account_email }}"
state: present
register: result
- name: assert VM created
assert:
that:
- 'result.changed'
- 'result.instance_names[0] == "{{ instance_name }}"'
- 'result.state == "present"'

View File

@@ -0,0 +1,18 @@
# GCE Labels Teardown.
# ============================================================
- name: "Teardown instance used in gce_labels test"
gce:
instance_names: "{{ instance_name }}"
zone: "{{ zone }}"
project_id: "{{ project_id }}"
pem_file: "{{ pem_file }}"
service_account_email: "{{ service_account_email }}"
state: absent
register: result
- name: assert VM removed
assert:
that:
- 'result.changed'
- 'result.instance_names[0] == "{{ instance_name }}"'
- 'result.state == "absent"'

View File

@@ -0,0 +1,28 @@
# GCE Labels Integration Tests.
## Parameter checking tests ##
# ============================================================
- name: "test unknown resource_type"
gce_labels:
service_account_email: "{{ service_account_email }}"
pem_file: "{{ pem_file }}"
project_id: "{{ project_id }}"
resource_type: doggie
resource_location: Kansas
resource_name: Toto
labels:
environment: dev
experiment: kennedy
register: result
ignore_errors: true
labels:
- param-check
- name: "assert failure when param: unknown resource_type"
assert:
that:
- 'result.failed'
- 'result.msg == "Unsupported resource_type: doggie"'
# TODO(erjohnso): write more tests