mirror of
https://github.com/ansible-collections/hetzner.hcloud.git
synced 2026-02-04 08:01:49 +00:00
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>
This commit is contained in:
parent
303cdeda74
commit
4534cf6b9d
16 changed files with 68 additions and 23 deletions
|
|
@ -5,5 +5,5 @@
|
|||
server_type: "{{ hcloud_server_type_name }}"
|
||||
image: "{{ hcloud_image_name }}"
|
||||
location: "{{ hcloud_location_name }}"
|
||||
state: stopped
|
||||
state: created
|
||||
register: test_server
|
||||
|
|
|
|||
|
|
@ -7,7 +7,7 @@
|
|||
location: "{{ hcloud_location_name }}"
|
||||
labels:
|
||||
firewall: "{{ hcloud_firewall_name }}"
|
||||
state: stopped
|
||||
state: created
|
||||
register: test_server
|
||||
|
||||
- name: Create test_firewall
|
||||
|
|
|
|||
|
|
@ -7,7 +7,7 @@
|
|||
location: "{{ hcloud_location_name }}"
|
||||
labels:
|
||||
key: value
|
||||
state: stopped
|
||||
state: created
|
||||
register: test_server
|
||||
|
||||
- name: Create test_firewall
|
||||
|
|
|
|||
|
|
@ -22,7 +22,7 @@
|
|||
server_type: "{{ hcloud_server_type_name }}"
|
||||
image: "{{ hcloud_image_name }}"
|
||||
location: "{{ hcloud_location_name }}"
|
||||
state: stopped
|
||||
state: created
|
||||
register: main_server
|
||||
- name: verify setup server
|
||||
assert:
|
||||
|
|
@ -35,7 +35,7 @@
|
|||
server_type: "{{ hcloud_server_type_name }}"
|
||||
image: "{{ hcloud_image_name }}"
|
||||
location: "{{ hcloud_location_name }}"
|
||||
state: stopped
|
||||
state: created
|
||||
register: main_server2
|
||||
- name: verify setup another server
|
||||
assert:
|
||||
|
|
|
|||
|
|
@ -5,7 +5,7 @@
|
|||
server_type: "{{ hcloud_server_type_name }}"
|
||||
image: "{{ hcloud_image_name }}"
|
||||
location: "{{ hcloud_location_name }}"
|
||||
state: stopped
|
||||
state: created
|
||||
register: test_server
|
||||
|
||||
- name: Create test_snapshot
|
||||
|
|
|
|||
|
|
@ -5,7 +5,7 @@
|
|||
server_type: "{{ hcloud_server_type_name }}"
|
||||
image: "{{ hcloud_image_name }}"
|
||||
location: "{{ hcloud_location_name }}"
|
||||
state: stopped
|
||||
state: created
|
||||
register: test_server
|
||||
|
||||
- name: Create test_load_balancer
|
||||
|
|
|
|||
|
|
@ -5,7 +5,7 @@
|
|||
server_type: "{{ hcloud_server_type_name }}"
|
||||
image: "{{ hcloud_image_name }}"
|
||||
location: "{{ hcloud_location_name }}"
|
||||
state: stopped
|
||||
state: created
|
||||
register: test_server
|
||||
|
||||
- name: Create test_load_balancer
|
||||
|
|
|
|||
|
|
@ -5,7 +5,7 @@
|
|||
server_type: "{{ hcloud_server_type_name }}"
|
||||
image: "{{ hcloud_image_name }}"
|
||||
location: "{{ hcloud_location_name }}"
|
||||
state: stopped
|
||||
state: created
|
||||
enable_ipv4: false
|
||||
enable_ipv6: false
|
||||
register: test_server
|
||||
|
|
|
|||
|
|
@ -32,7 +32,7 @@
|
|||
ipv6: "{{primaryIPv6.hcloud_primary_ip.id}}"
|
||||
ssh_keys:
|
||||
- "{{ hcloud_ssh_key_name }}"
|
||||
state: stopped
|
||||
state: created
|
||||
register: result
|
||||
- name: verify test create server with primary ips
|
||||
assert:
|
||||
|
|
@ -50,7 +50,7 @@
|
|||
enable_ipv6: false
|
||||
ssh_keys:
|
||||
- "{{ hcloud_ssh_key_name }}"
|
||||
state: stopped
|
||||
state: created
|
||||
register: result
|
||||
- name: verify test create server with primary ips
|
||||
assert:
|
||||
|
|
|
|||
|
|
@ -72,7 +72,7 @@
|
|||
- "{{ primaryNetwork.hcloud_network.name }}"
|
||||
ssh_keys:
|
||||
- "{{ hcloud_ssh_key_name }}"
|
||||
state: stopped
|
||||
state: created
|
||||
register: result
|
||||
- name: verify test create server with primary network
|
||||
assert:
|
||||
|
|
@ -92,7 +92,7 @@
|
|||
- "{{ secondaryNetwork.hcloud_network.id }}"
|
||||
ssh_keys:
|
||||
- "{{ hcloud_ssh_key_name }}"
|
||||
state: stopped
|
||||
state: created
|
||||
register: result
|
||||
- name: verify test update server by adding secondary network
|
||||
assert:
|
||||
|
|
@ -112,7 +112,47 @@
|
|||
- "{{ secondaryNetwork.hcloud_network.id }}"
|
||||
ssh_keys:
|
||||
- "{{ hcloud_ssh_key_name }}"
|
||||
state: stopped
|
||||
state: created
|
||||
register: result
|
||||
- name: verify test update server idem
|
||||
assert:
|
||||
that:
|
||||
- result is not changed
|
||||
|
||||
- name: test server can now be started
|
||||
hetzner.hcloud.server:
|
||||
name: "{{ hcloud_server_name }}"
|
||||
server_type: "{{ hcloud_server_type_name }}"
|
||||
datacenter: "{{ hcloud_datacenter_name }}"
|
||||
image: "{{ hcloud_image_name }}"
|
||||
enable_ipv4: false
|
||||
enable_ipv6: false
|
||||
private_networks:
|
||||
- "{{ primaryNetwork.hcloud_network.name }}"
|
||||
- "{{ secondaryNetwork.hcloud_network.id }}"
|
||||
ssh_keys:
|
||||
- "{{ hcloud_ssh_key_name }}"
|
||||
state: started
|
||||
register: result
|
||||
- name: verify test server can now be started
|
||||
assert:
|
||||
that:
|
||||
- result is changed
|
||||
|
||||
- name: test update server idem
|
||||
hetzner.hcloud.server:
|
||||
name: "{{ hcloud_server_name }}"
|
||||
server_type: "{{ hcloud_server_type_name }}"
|
||||
datacenter: "{{ hcloud_datacenter_name }}"
|
||||
image: "{{ hcloud_image_name }}"
|
||||
enable_ipv4: false
|
||||
enable_ipv6: false
|
||||
private_networks:
|
||||
- "{{ primaryNetwork.hcloud_network.name }}"
|
||||
- "{{ secondaryNetwork.hcloud_network.id }}"
|
||||
ssh_keys:
|
||||
- "{{ hcloud_ssh_key_name }}"
|
||||
state: created
|
||||
register: result
|
||||
- name: verify test update server idem
|
||||
assert:
|
||||
|
|
|
|||
|
|
@ -5,18 +5,18 @@
|
|||
server_type: "{{ hcloud_server_type_name }}"
|
||||
image: "{{ hcloud_image_name }}"
|
||||
location: "{{ hcloud_location_name }}"
|
||||
state: stopped
|
||||
state: created
|
||||
labels:
|
||||
key: value
|
||||
register: test_server
|
||||
|
||||
- name: Create test_server2 (stopped + without ip)
|
||||
- name: Create test_server2 (without ip)
|
||||
hetzner.hcloud.server:
|
||||
name: "{{ hcloud_server_name }}2"
|
||||
server_type: "{{ hcloud_server_type_name }}"
|
||||
image: "{{ hcloud_image_name }}"
|
||||
location: "{{ hcloud_location_name }}"
|
||||
state: stopped
|
||||
state: created
|
||||
labels:
|
||||
key: value
|
||||
enable_ipv4: false
|
||||
|
|
|
|||
|
|
@ -21,5 +21,5 @@
|
|||
server_type: "{{ hcloud_server_type_name }}"
|
||||
image: "{{ hcloud_image_name }}"
|
||||
location: "{{ hcloud_location_name }}"
|
||||
state: stopped
|
||||
state: created
|
||||
register: test_server
|
||||
|
|
|
|||
|
|
@ -6,7 +6,7 @@
|
|||
name: "{{hcloud_server_name}}"
|
||||
server_type: "{{ hcloud_server_type_name }}"
|
||||
image: "{{ hcloud_image_name }}"
|
||||
state: stopped
|
||||
state: created
|
||||
location: "{{ hcloud_location_name }}"
|
||||
register: vol_server
|
||||
- name: verify setup server
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue