ansible/test/integration/targets/hcloud_server_network/tasks/main.yml

188 lines
4.9 KiB
YAML
Raw Normal View History

# Copyright: (c) 2019, Hetzner Cloud GmbH <info@hetzner-cloud.de>
# GNU General Public License v3.0+ (see COPYING or https://www.gnu.org/licenses/gpl-3.0.txt)
---
- name: setup network
hcloud_network:
name: "{{ hcloud_network_name }}"
ip_range: "10.0.0.0/8"
state: present
register: network
- name: verify setup network
assert:
that:
- network is success
- name: setup subnetwork
hcloud_subnetwork:
network: "{{ hcloud_network_name }}"
ip_range: "10.0.0.0/16"
type: "server"
network_zone: "eu-central"
state: present
register: subnetwork
- name: verify subnetwork
assert:
that:
- subnetwork is success
- name: setup server
hcloud_server:
name: "{{hcloud_server_name}}"
server_type: cx11
image: ubuntu-18.04
state: started
location: "fsn1"
register: server
- name: verify setup server
assert:
that:
- server is success
- name: test missing required parameters on create server network
hcloud_server_network:
state: present
register: result
ignore_errors: yes
- name: verify fail test missing required parameters on create server network
assert:
that:
- result is failed
- 'result.msg == "missing required arguments: network, server"'
- name: test create server network with checkmode
hcloud_server_network:
network: "{{ hcloud_network_name }}"
server: "{{hcloud_server_name}}"
state: present
register: result
check_mode: yes
- name: verify test create server network with checkmode
assert:
that:
- result is changed
- name: test create server network
hcloud_server_network:
network: "{{ hcloud_network_name }}"
server: "{{hcloud_server_name}}"
state: present
register: serverNetwork
- name: verify create server network
assert:
that:
- serverNetwork is changed
- serverNetwork.hcloud_server_network.network == hcloud_network_name
- serverNetwork.hcloud_server_network.server == hcloud_server_name
- name: test create server network idempotency
hcloud_server_network:
network: "{{ hcloud_network_name }}"
server: "{{hcloud_server_name}}"
state: present
register: serverNetwork
- name: verify create server network idempotency
assert:
that:
- serverNetwork is not changed
- name: test absent server network
hcloud_server_network:
network: "{{ hcloud_network_name }}"
server: "{{hcloud_server_name}}"
state: absent
register: result
- name: verify test absent server network
assert:
that:
- result is changed
- name: test create server network with specified ip
hcloud_server_network:
network: "{{ hcloud_network_name }}"
server: "{{hcloud_server_name}}"
ip: "10.0.0.2"
state: present
register: serverNetwork
- name: verify create server network with specified ip
assert:
that:
- serverNetwork is changed
- serverNetwork.hcloud_server_network.network == hcloud_network_name
- serverNetwork.hcloud_server_network.server == hcloud_server_name
- serverNetwork.hcloud_server_network.ip == "10.0.0.2"
- name: cleanup create server network with specified ip
hcloud_server_network:
network: "{{ hcloud_network_name }}"
server: "{{hcloud_server_name}}"
state: absent
register: result
- name: verify cleanup create server network with specified ip
assert:
that:
- result is changed
- name: test create server network with alias ips
hcloud_server_network:
network: "{{ hcloud_network_name }}"
server: "{{hcloud_server_name}}"
ip: "10.0.0.2"
alias_ips:
- "10.0.1.2"
- "10.0.2.3"
state: present
register: serverNetwork
- name: verify create server network with alias ips
assert:
that:
- serverNetwork is changed
- serverNetwork.hcloud_server_network.network == hcloud_network_name
- serverNetwork.hcloud_server_network.server == hcloud_server_name
- serverNetwork.hcloud_server_network.ip == "10.0.0.2"
- 'serverNetwork.hcloud_server_network.alias_ips[0] == "10.0.2.3"'
- 'serverNetwork.hcloud_server_network.alias_ips[1] == "10.0.1.2"'
- name: cleanup create server network with alias ips
hcloud_server_network:
network: "{{ hcloud_network_name }}"
server: "{{hcloud_server_name}}"
state: absent
register: result
- name: verify cleanup create server network with alias ips
assert:
that:
- result is changed
- name: cleanup server
hcloud_server:
name: "{{ hcloud_server_name }}"
state: absent
register: result
- name: verify cleanup server
assert:
that:
- result is success
- name: cleanup subnetwork
hcloud_subnetwork:
network: "{{ hcloud_network_name }}"
ip_range: "10.0.0.0/16"
type: "server"
network_zone: "eu-central"
state: absent
register: result
- name: verify cleanup subnetwork
assert:
that:
- result is changed
- name: cleanup
hcloud_network:
name: "{{hcloud_network_name}}"
state: absent
register: result
- name: verify cleanup
assert:
that:
- result is success