ansible/test/integration/roles/test_gce_net/tasks/main.yml

218 lines
5.9 KiB
YAML
Raw Normal View History

# gce_net Integration Test
# Note: 'pause' is used during the Delete phase of the test.
# This is to ensure that the subnetwork is removed before removing
# the custom network.
# ============================================================
- name: test Create Legacy Network (change=true)
gce_net:
name: "{{ network_name_legacy }}"
ipv4_range: '10.240.17.0/24'
mode: legacy
state: "present"
service_account_email: "{{ service_account_email }}"
pem_file: "{{ pem_file }}"
project_id: "{{ project_id }}"
register: result
- name: "assert legacy network created"
assert:
that:
- 'result.changed'
- 'result.state == "present"'
# ============================================================
- name: test Create Auto Network (change=true)
gce_net:
name: "{{ network_name_auto }}"
mode: auto
state: "present"
service_account_email: "{{ service_account_email }}"
pem_file: "{{ pem_file }}"
project_id: "{{ project_id }}"
register: result
- name: "assert auto network created"
assert:
that:
- 'result.changed'
- 'result.state == "present"'
# ============================================================
- name: test Create Network with custom Subnetwork (change=true)
gce_net:
name: "{{ network_name_custom }}"
mode: custom
subnet_name: "{{ subnetwork_name_custom }}"
subnet_region: "{{ subnetwork_region }}"
ipv4_range: '10.240.16.0/24'
state: "present"
service_account_email: "{{ service_account_email }}"
pem_file: "{{ pem_file }}"
project_id: "{{ project_id }}"
register: result
- name: "assert subnetwork network created"
assert:
that:
- 'result.changed'
- 'result.state == "present"'
# ============================================================
- name: Create Firewall Rule (change=true)
gce_net:
name: default
fwname: "{{ firewall_name }}"
allowed: tcp:80
state: "present"
src_tags: "foo,bar"
src_range: ['10.2.1.1/32']
service_account_email: "{{ service_account_email }}"
pem_file: "{{ pem_file }}"
project_id: "{{ project_id }}"
register: result
- name: "assert fw created"
assert:
that:
- 'result.changed'
- 'result.state == "present"'
# ============================================================
- name: Update Firewall Rule (change=true)
gce_net:
name: default
fwname: "{{ firewall_name }}"
allowed: tcp:81
state: "present"
src_tags: "foo,bar,baz"
service_account_email: "{{ service_account_email }}"
pem_file: "{{ pem_file }}"
project_id: "{{ project_id }}"
register: result
- name: "assert fw updated"
assert:
that:
- 'result.changed'
- 'result.state == "present"'
- 'result.src_tags|length == 3'
# ============================================================
- name: Update Firewall Rule w/icmp (no port) (change=true)
gce_net:
name: default
fwname: "{{ firewall_name }}"
allowed: tcp:81;icmp
state: "present"
src_tags: "foo,bar,baz"
service_account_email: "{{ service_account_email }}"
pem_file: "{{ pem_file }}"
project_id: "{{ project_id }}"
register: result
- name: "assert fw updated"
assert:
that:
- 'result.changed'
- 'result.state == "present"'
- 'result.src_tags|length == 3'
# ============================================================
- name: Update Firewall Rule w/source range (change=true)
gce_net:
name: default
fwname: "{{ firewall_name }}"
allowed: tcp:81
state: "present"
src_tags: "foo,bar,baz"
src_range: ['10.1.1.1/32']
service_account_email: "{{ service_account_email }}"
pem_file: "{{ pem_file }}"
project_id: "{{ project_id }}"
register: result
- name: "assert fw updated source range"
assert:
that:
- 'result.changed'
- 'result.state == "present"'
- 'result.src_range|length == 1'
# ============================================================
- name: Delete Legacy Network (change=true)
gce_net:
name: "{{ network_name_legacy }}"
state: "absent"
service_account_email: "{{ service_account_email }}"
pem_file: "{{ pem_file }}"
project_id: "{{ project_id }}"
register: result
tags: delete
- name: "assert legacy network deleted"
tags: delete
assert:
that:
- 'result.changed'
- 'result.state == "absent"'
# ============================================================
- name: Delete auto Network (change=true)
gce_net:
name: "{{ network_name_auto }}"
state: "absent"
service_account_email: "{{ service_account_email }}"
pem_file: "{{ pem_file }}"
project_id: "{{ project_id }}"
register: result
tags: delete
- name: "assert auto network deleted"
tags: delete
assert:
that:
- 'result.changed'
- 'result.state == "absent"'
# ============================================================
- name: Delete SubNetwork of Custom Network (change=true)
gce_net:
name: "{{ network_name_custom }}"
subnet_name: "{{ subnetwork_name_custom }}"
subnet_region: "{{ subnetwork_region }}"
state: "absent"
service_account_email: "{{ service_account_email }}"
pem_file: "{{ pem_file }}"
project_id: "{{ project_id }}"
register: result
tags: delete
- name: "assert custom subnetwork deleted"
tags: delete
assert:
that:
- 'result.changed'
- 'result.state == "absent"'
# ============================================================
- pause: seconds=30
# ============================================================
- name: Delete Custom Network (change=true)
gce_net:
name: "{{ network_name_custom }}"
state: "absent"
service_account_email: "{{ service_account_email }}"
pem_file: "{{ pem_file }}"
project_id: "{{ project_id }}"
register: result
tags: delete
- name: "assert custom network deleted"
tags: delete
assert:
that:
- 'result.changed'
- 'result.state == "absent"'