1
0
Fork 0
mirror of https://github.com/ansible-collections/hetzner.hcloud.git synced 2026-02-04 08:01:49 +00:00
hetzner.hcloud/tests/integration/targets/server/tasks/test_primary_ips.yml
Daniele Fognini 4534cf6b9d
feat: add new created state for idempotent server creation (#606)
##### SUMMARY

Add a new state for server creation without immediate start, to allow
idempotent network customization before starting

##### ISSUE TYPE
- Feature Pull Request

##### COMPONENT NAME
server

---------

Co-authored-by: jo <ljonas@riseup.net>
2025-03-21 14:05:03 +01:00

82 lines
2.3 KiB
YAML

# Copyright: (c) 2022, 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 create primary ipv4
hetzner.hcloud.primary_ip:
name: "{{ hcloud_primary_ip_name }}v4"
type: ipv4
datacenter: "{{ hcloud_datacenter_name }}"
register: primaryIPv4
- name: setup create second primary ipv4
hetzner.hcloud.primary_ip:
name: "{{ hcloud_primary_ip_name }}v42"
type: ipv4
datacenter: "{{ hcloud_datacenter_name }}"
register: secondPrimaryIPv4
- name: setup create primary ipv6
hetzner.hcloud.primary_ip:
name: "{{ hcloud_primary_ip_name }}v6"
type: ipv6
datacenter: "{{ hcloud_datacenter_name }}"
register: primaryIPv6
- name: test create server with primary ips
hetzner.hcloud.server:
name: "{{ hcloud_server_name }}"
server_type: "{{ hcloud_server_type_name }}"
datacenter: "{{ hcloud_datacenter_name }}"
image: "{{ hcloud_image_name }}"
ipv4: "{{primaryIPv4.hcloud_primary_ip.id}}"
ipv6: "{{primaryIPv6.hcloud_primary_ip.id}}"
ssh_keys:
- "{{ hcloud_ssh_key_name }}"
state: created
register: result
- name: verify test create server with primary ips
assert:
that:
- result is changed
- name: test update server with primary ips
hetzner.hcloud.server:
name: "{{ hcloud_server_name }}"
server_type: "{{ hcloud_server_type_name }}"
datacenter: "{{ hcloud_datacenter_name }}"
image: "{{ hcloud_image_name }}"
ipv4: "{{secondPrimaryIPv4.hcloud_primary_ip.id}}"
ipv6: ""
enable_ipv6: false
ssh_keys:
- "{{ hcloud_ssh_key_name }}"
state: created
register: result
- name: verify test create server with primary ips
assert:
that:
- result is changed
- name: cleanup server with primary ips
hetzner.hcloud.server:
name: "{{ hcloud_server_name }}"
state: absent
- name: cleanup test create primary ips
hetzner.hcloud.primary_ip:
name: "{{ hcloud_server_name }}v4"
state: absent
- name: cleanup test create primary ips
hetzner.hcloud.primary_ip:
name: "{{ hcloud_server_name }}v42"
state: absent
until: result is not failed
retries: 5
delay: 2
- name: cleanup test create primary ips
hetzner.hcloud.primary_ip:
name: "{{ hcloud_server_name }}v6"
state: absent
until: result is not failed
retries: 5
delay: 2