2020-03-09 10:11:07 +01:00
|
|
|
---
|
2020-09-25 08:01:17 +02:00
|
|
|
####################################################################
|
|
|
|
# WARNING: These are designed specifically for Ansible tests #
|
|
|
|
# and should not be used as examples of how to write Ansible roles #
|
|
|
|
####################################################################
|
|
|
|
|
2020-03-09 10:11:07 +01:00
|
|
|
# Pre-test setup
|
|
|
|
- name: create a vpc
|
|
|
|
hwc_network_vpc:
|
|
|
|
cidr: "192.168.0.0/16"
|
|
|
|
name: "ansible_network_vpc_test_local"
|
|
|
|
state: present
|
|
|
|
register: vpc1
|
|
|
|
- name: create a vpc
|
|
|
|
hwc_network_vpc:
|
|
|
|
cidr: "192.168.0.0/16"
|
|
|
|
name: "ansible_network_vpc_test_peering"
|
|
|
|
state: present
|
|
|
|
register: vpc2
|
|
|
|
- name: create a peering connect
|
|
|
|
hwc_vpc_peering_connect:
|
|
|
|
local_vpc_id: "{{ vpc1.id }}"
|
|
|
|
name: "ansible_network_peering_test"
|
|
|
|
filters:
|
|
|
|
- "name"
|
|
|
|
peering_vpc:
|
|
|
|
vpc_id: "{{ vpc2.id }}"
|
|
|
|
state: present
|
|
|
|
register: connect
|
|
|
|
- name: delete a route
|
|
|
|
hwc_vpc_route:
|
|
|
|
vpc_id: "{{ vpc1.id }}"
|
|
|
|
destination: "192.168.0.0/16"
|
|
|
|
next_hop: "{{ connect.id }}"
|
|
|
|
state: absent
|
|
|
|
#----------------------------------------------------------
|
|
|
|
- name: create a route (check mode)
|
|
|
|
hwc_vpc_route:
|
|
|
|
vpc_id: "{{ vpc1.id }}"
|
|
|
|
destination: "192.168.0.0/16"
|
|
|
|
next_hop: "{{ connect.id }}"
|
|
|
|
check_mode: yes
|
|
|
|
register: result
|
|
|
|
- assert:
|
|
|
|
that:
|
|
|
|
- not result.id
|
|
|
|
- result.changed
|
|
|
|
#----------------------------------------------------------
|
|
|
|
- name: create a route
|
|
|
|
hwc_vpc_route:
|
|
|
|
vpc_id: "{{ vpc1.id }}"
|
|
|
|
destination: "192.168.0.0/16"
|
|
|
|
next_hop: "{{ connect.id }}"
|
|
|
|
state: present
|
|
|
|
register: result
|
|
|
|
- name: assert changed is true
|
|
|
|
assert:
|
|
|
|
that:
|
|
|
|
result is changed
|
|
|
|
# ----------------------------------------------------------
|
|
|
|
- name: create a route (idemponent)
|
|
|
|
hwc_vpc_route:
|
|
|
|
vpc_id: "{{ vpc1.id }}"
|
|
|
|
destination: "192.168.0.0/16"
|
|
|
|
next_hop: "{{ connect.id }}"
|
|
|
|
state: present
|
|
|
|
check_mode: yes
|
|
|
|
register: result
|
|
|
|
- name: idemponent
|
|
|
|
assert:
|
|
|
|
that:
|
|
|
|
- not result.changed
|
|
|
|
# -----------------------------------------------------------
|
|
|
|
- name: create a route that already exists
|
|
|
|
hwc_vpc_route:
|
|
|
|
vpc_id: "{{ vpc1.id }}"
|
|
|
|
destination: "192.168.0.0/16"
|
|
|
|
next_hop: "{{ connect.id }}"
|
|
|
|
state: present
|
|
|
|
register: result
|
|
|
|
- name: assert changed is false
|
|
|
|
assert:
|
|
|
|
that:
|
|
|
|
- result.failed == 0
|
|
|
|
- result.changed == false
|
|
|
|
#----------------------------------------------------------
|
|
|
|
- name: delete a route (check mode)
|
|
|
|
hwc_vpc_route:
|
|
|
|
vpc_id: "{{ vpc1.id }}"
|
|
|
|
destination: "192.168.0.0/16"
|
|
|
|
next_hop: "{{ connect.id }}"
|
|
|
|
state: absent
|
|
|
|
check_mode: yes
|
|
|
|
#----------------------------------------------------------
|
|
|
|
- name: delete a route
|
|
|
|
hwc_vpc_route:
|
|
|
|
vpc_id: "{{ vpc1.id }}"
|
|
|
|
destination: "192.168.0.0/16"
|
|
|
|
next_hop: "{{ connect.id }}"
|
|
|
|
state: absent
|
|
|
|
register: result
|
|
|
|
- name: assert changed is true
|
|
|
|
assert:
|
|
|
|
that:
|
|
|
|
result is changed
|
|
|
|
#----------------------------------------------------------
|
|
|
|
- name: delete a (idemponent)
|
|
|
|
hwc_vpc_route:
|
|
|
|
vpc_id: "{{ vpc1.id }}"
|
|
|
|
destination: "192.168.0.0/16"
|
|
|
|
next_hop: "{{ connect.id }}"
|
|
|
|
state: absent
|
|
|
|
check_mode: yes
|
|
|
|
register: result
|
|
|
|
- name: not changed
|
|
|
|
assert:
|
|
|
|
that:
|
|
|
|
not result.changed
|
|
|
|
# ----------------------------------------------------------------------------
|
|
|
|
- name: delete a route that does not exist
|
|
|
|
hwc_vpc_route:
|
|
|
|
vpc_id: "{{ vpc1.id }}"
|
|
|
|
destination: "192.168.0.0/16"
|
|
|
|
next_hop: "{{ connect.id }}"
|
|
|
|
state: absent
|
|
|
|
register: result
|
|
|
|
- name: assert changed is false
|
|
|
|
assert:
|
|
|
|
that:
|
|
|
|
- result.failed == 0
|
|
|
|
- result.changed == false
|
|
|
|
#---------------------------------------------------------
|
|
|
|
# Post-test teardown
|
|
|
|
- name: delete a peering connect
|
|
|
|
hwc_vpc_peering_connect:
|
|
|
|
local_vpc_id: "{{ vpc1.id }}"
|
|
|
|
name: "ansible_network_peering_test"
|
|
|
|
filters:
|
|
|
|
- "name"
|
|
|
|
peering_vpc:
|
|
|
|
vpc_id: "{{ vpc2.id }}"
|
|
|
|
state: absent
|
|
|
|
register: connect
|
|
|
|
- name: delete a vpc
|
|
|
|
hwc_network_vpc:
|
|
|
|
cidr: "192.168.0.0/16"
|
|
|
|
name: "ansible_network_vpc_test_peering"
|
|
|
|
state: absent
|
|
|
|
register: vpc2
|
|
|
|
- name: delete a vpc
|
|
|
|
hwc_network_vpc:
|
|
|
|
cidr: "192.168.0.0/16"
|
|
|
|
name: "ansible_network_vpc_test_local"
|
|
|
|
state: absent
|
|
|
|
register: vpc1
|