Add hcloud_volume_facts (#54666)

* Add hcloud_volume_facts

* Fix server name
This commit is contained in:
Lukas Kämmerling
2019-04-01 18:25:46 +02:00
committed by John R Barker
parent 90c4b22205
commit 72f1e4b83a
4 changed files with 274 additions and 0 deletions

View File

@@ -0,0 +1,2 @@
cloud/hcloud
unsupported

View File

@@ -0,0 +1,5 @@
# 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)
---
hcloud_prefix: "tests"
hcloud_volume_name: "{{hcloud_prefix}}-integ"

View File

@@ -0,0 +1,95 @@
# 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 ensure volume is absent
hcloud_volume:
name: "{{ hcloud_volume_name }}"
state: absent
register: result
- name: test gather hcloud volume facts - empty resources
hcloud_volume_facts:
- name: verify test gather hcloud volume facts - empty resources
assert:
that:
- ansible_facts.hcloud_volume_facts | count == 0
- name: setup volume
hcloud_volume:
name: "{{hcloud_volume_name}}"
size: 10
location: "fsn1"
labels:
key: value
register: main_volume
- name: verify setup volume
assert:
that:
- main_volume is changed
- name: test gather hcloud volume facts in check mode
hcloud_volume_facts:
check_mode: yes
- name: verify test gather hcloud volume facts in check mode
assert:
that:
- ansible_facts.hcloud_volume_facts|selectattr('name','equalto','{{ hcloud_volume_name }}') | list | count == 1
- name: test gather hcloud volume facts with correct label selector
hcloud_volume_facts:
label_selector: "key=value"
- name: verify test gather hcloud volume with correct label selector
assert:
that:
- ansible_facts.hcloud_volume_facts|selectattr('name','equalto','{{ hcloud_volume_name }}') | list | count == 1
- name: test gather hcloud volume facts with wrong label selector
hcloud_volume_facts:
label_selector: "key!=value"
- name: verify test gather hcloud volume with wrong label selector
assert:
that:
- ansible_facts.hcloud_volume_facts | list | count == 0
- name: test gather hcloud volume facts with correct name
hcloud_volume_facts:
name: "{{hcloud_volume_name}}"
- name: verify test gather hcloud volume with correct name
assert:
that:
- ansible_facts.hcloud_volume_facts|selectattr('name','equalto','{{ hcloud_volume_name }}') | list | count == 1
- name: test gather hcloud volume facts with wrong name
hcloud_volume_facts:
name: "{{hcloud_volume_name}}1"
- name: verify test gather hcloud volume with wrong name
assert:
that:
- ansible_facts.hcloud_volume_facts | list | count == 0
- name: test gather hcloud volume facts with correct id
hcloud_volume_facts:
id: "{{main_volume.hcloud_volume.id}}"
- name: verify test gather hcloud volume with correct id
assert:
that:
- ansible_facts.hcloud_volume_facts|selectattr('name','equalto','{{ hcloud_volume_name }}') | list | count == 1
- name: test gather hcloud volume facts with wrong id
hcloud_volume_facts:
name: "4711"
- name: verify test gather hcloud volume with wrong id
assert:
that:
- ansible_facts.hcloud_volume_facts | list | count == 0
- name: cleanup
hcloud_volume:
name: "{{ hcloud_volume_name }}"
state: absent
register: result
- name: verify cleanup
assert:
that:
- result is success