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/hcloud_placement_group/tasks/main.yml
Julian Tölle 23c2d7d228
ci: ubuntu-18.04 is deprecated/EOL (#224)
Update all references to ubuntu-18.04 (and 20.04) to 22.04, as ubuntu
18.04 is EOL and deprecated in Hetzner Cloud. This causes a CI failure
in the main branch:

https://dev.azure.com/ansible/hetzner.hcloud/_build/results?buildId=80941&view=logs&j=fdb818b8-39d8-529a-d9da-324e304604bc&t=2d52cce2-88ce-5057-da88-145e92cee00f&l=1094
2023-06-20 11:38:51 +02:00

169 lines
4.8 KiB
YAML

# Copyright: (c) 2020, 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 placement group to be absent
hcloud_placement_group:
name: "{{ hcloud_placement_group_name }}"
state: absent
- name: setup server to be absent
hcloud_server:
name: "{{ hcloud_server_name }}"
state: absent
- name: test missing required parameters on create placement group
hcloud_placement_group:
register: result
ignore_errors: yes
- name: verify fail test missing required parameters on create placement group
assert:
that:
- result is failed
- 'result.msg == "one of the following is required: id, name"'
- name: test create placement group with check mode
hcloud_placement_group:
name: "{{ hcloud_placement_group_name }}"
type: spread
register: result
check_mode: yes
- name: test create placement group with check mode
assert:
that:
- result is changed
- name: test create placement group
hcloud_placement_group:
name: "{{ hcloud_placement_group_name }}"
type: spread
labels:
key: value
my-label: label
register: placement_group
- name: verify create placement group
assert:
that:
- placement_group is changed
- placement_group.hcloud_placement_group.name == "{{ hcloud_placement_group_name }}"
- placement_group.hcloud_placement_group.type == "spread"
- placement_group.hcloud_placement_group.servers | list | count == 0
- name: test create placement group idempotence
hcloud_placement_group:
name: "{{ hcloud_placement_group_name }}"
type: spread
labels:
key: value
my-label: label
register: result
- name: verify create placement group idempotence
assert:
that:
- result is not changed
- name: test create server with placement group
hcloud_server:
name: "{{ hcloud_server_name }}"
server_type: cpx11
placement_group: "{{ hcloud_placement_group_name }}"
image: "ubuntu-22.04"
ssh_keys:
- ci@ansible.hetzner.cloud
state: present
register: server
- name: verify create server with placement group
assert:
that:
- server is changed
- server.hcloud_server.placement_group == "{{ hcloud_placement_group_name }}"
- name: test remove server from placement group
hcloud_server:
name: "{{ hcloud_server_name }}"
placement_group: null
state: present
register: result
- name: verify remove server from placement group
assert:
that:
- result is changed
- result.hcloud_server.placement_group == None
- name: test add server to placement group
hcloud_server:
name: "{{ hcloud_server_name }}"
placement_group: "{{ hcloud_placement_group_name }}"
force: True
state: present
register: result
- name: verify add server to placement group
assert:
that:
- result is changed
- result.hcloud_server.placement_group == "{{ hcloud_placement_group_name }}"
- result.hcloud_server.status == "running"
- name: test add server to placement group idempotence
hcloud_server:
name: "{{ hcloud_server_name }}"
placement_group: "{{ hcloud_placement_group_name }}"
force: True
state: present
register: result
- name: verify add server to placement group idempotence
assert:
that:
- result is not changed
- result.hcloud_server.placement_group == "{{ hcloud_placement_group_name }}"
- result.hcloud_server.status == "running"
- name: test update placement group with check mode
hcloud_placement_group:
id: "{{ placement_group.hcloud_placement_group.id }}"
name: "changed-{{ hcloud_placement_group_name }}"
register: result
check_mode: yes
- name: verify update placement group with check mode
assert:
that:
- result is changed
- name: test update placement group
hcloud_placement_group:
id: "{{ placement_group.hcloud_placement_group.id }}"
name: "changed-{{ hcloud_placement_group_name }}"
labels:
key: value
register: result
- name: verify update placement group
assert:
that:
- result is changed
- result.hcloud_placement_group.name == "changed-{{ hcloud_placement_group_name }}"
- name: test update placement group idempotence
hcloud_placement_group:
id: "{{ placement_group.hcloud_placement_group.id }}"
name: "changed-{{ hcloud_placement_group_name }}"
labels:
key: value
register: result
- name: verify update placement group idempotence
assert:
that:
- result is not changed
- name: absent server
hcloud_server:
id: "{{ server.hcloud_server.id }}"
state: absent
- name: absent placement group
hcloud_placement_group:
id: "{{ placement_group.hcloud_placement_group.id }}"
state: absent
register: result
- name: verify absent placement group
assert:
that:
- result is success