mirror of
https://github.com/ansible-collections/community.general.git
synced 2026-05-06 13:22:48 +00:00
Add hcloud_volume module (#53745)
This commit is contained in:
committed by
René Moser
parent
baa3327387
commit
fe0765eb2b
2
test/integration/targets/hcloud_volume/aliases
Normal file
2
test/integration/targets/hcloud_volume/aliases
Normal file
@@ -0,0 +1,2 @@
|
||||
cloud/hcloud
|
||||
unsupported
|
||||
6
test/integration/targets/hcloud_volume/defaults/main.yml
Normal file
6
test/integration/targets/hcloud_volume/defaults/main.yml
Normal file
@@ -0,0 +1,6 @@
|
||||
# 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"
|
||||
hcloud_server_name: "{{hcloud_prefix}}-integ-server"
|
||||
177
test/integration/targets/hcloud_volume/tasks/main.yml
Normal file
177
test/integration/targets/hcloud_volume/tasks/main.yml
Normal file
@@ -0,0 +1,177 @@
|
||||
# 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 server
|
||||
hcloud_server:
|
||||
name: "{{hcloud_server_name}}"
|
||||
server_type: cx11
|
||||
image: ubuntu-18.04
|
||||
state: started
|
||||
location: "fsn1"
|
||||
register: main_server
|
||||
- name: verify setup server
|
||||
assert:
|
||||
that:
|
||||
- main_server is changed
|
||||
|
||||
- name: test missing size parameter on create Volume
|
||||
hcloud_volume:
|
||||
name: "{{hcloud_volume_name}}"
|
||||
server: "{{hcloud_server_name}}"
|
||||
register: result
|
||||
ignore_errors: yes
|
||||
- name: verify fail test missing size parameter on create Volume
|
||||
assert:
|
||||
that:
|
||||
- result is failed
|
||||
- 'result.msg == "missing required arguments: size"'
|
||||
|
||||
- name: test create volume with check mode
|
||||
hcloud_volume:
|
||||
name: "{{hcloud_volume_name}}"
|
||||
size: 10
|
||||
location: "fsn1"
|
||||
register: result
|
||||
check_mode: yes
|
||||
- name: verify create volume with check mode result
|
||||
assert:
|
||||
that:
|
||||
- result is changed
|
||||
|
||||
- name: test create volume
|
||||
hcloud_volume:
|
||||
name: "{{hcloud_volume_name}}"
|
||||
size: 10
|
||||
location: "fsn1"
|
||||
register: volume
|
||||
- name: verify test create volume
|
||||
assert:
|
||||
that:
|
||||
- volume is changed
|
||||
- volume.hcloud_volume.name == "{{hcloud_volume_name}}"
|
||||
- volume.hcloud_volume.location == "fsn1"
|
||||
- volume.hcloud_volume.size == 10
|
||||
- volume.hcloud_volume.server != "{{hcloud_server_name}}"
|
||||
|
||||
- name: test create volume idempotence
|
||||
hcloud_volume:
|
||||
name: "{{hcloud_volume_name}}"
|
||||
size: 10
|
||||
location: "fsn1"
|
||||
register: volume
|
||||
- name: verify test create volume
|
||||
assert:
|
||||
that:
|
||||
- volume is not changed
|
||||
|
||||
- name: test attach volume with checkmode
|
||||
hcloud_volume:
|
||||
name: "{{hcloud_volume_name}}"
|
||||
server: "{{hcloud_server_name}}"
|
||||
check_mode: yes
|
||||
register: volume
|
||||
- name: verify test attach volume with checkmode
|
||||
assert:
|
||||
that:
|
||||
- volume is changed
|
||||
- volume.hcloud_volume.server != "{{hcloud_server_name}}"
|
||||
|
||||
- name: test attach volume
|
||||
hcloud_volume:
|
||||
name: "{{hcloud_volume_name}}"
|
||||
server: "{{hcloud_server_name}}"
|
||||
register: volume
|
||||
- name: verify attach volume
|
||||
assert:
|
||||
that:
|
||||
- volume is changed
|
||||
- volume.hcloud_volume.server == "{{hcloud_server_name}}"
|
||||
- main_server is changed
|
||||
|
||||
- name: test detach volume with checkmode
|
||||
hcloud_volume:
|
||||
name: "{{hcloud_volume_name}}"
|
||||
check_mode: yes
|
||||
register: volume
|
||||
- name: verify detach volume with checkmode
|
||||
assert:
|
||||
that:
|
||||
- volume is changed
|
||||
- volume.hcloud_volume.server == "{{hcloud_server_name}}"
|
||||
|
||||
- name: test detach volume
|
||||
hcloud_volume:
|
||||
name: "{{hcloud_volume_name}}"
|
||||
register: volume
|
||||
- name: verify detach volume
|
||||
assert:
|
||||
that:
|
||||
- volume is changed
|
||||
- volume.hcloud_volume.location == "fsn1"
|
||||
- volume.hcloud_volume.server != "{{hcloud_server_name}}"
|
||||
- main_server is changed
|
||||
|
||||
- name: test update volume label
|
||||
hcloud_volume:
|
||||
name: "{{hcloud_volume_name}}"
|
||||
labels:
|
||||
key: value
|
||||
register: volume
|
||||
- name: verify test update volume lable
|
||||
assert:
|
||||
that:
|
||||
- volume is changed
|
||||
- volume.hcloud_volume.labels.key == "value"
|
||||
|
||||
- name: test update volume label with the same label
|
||||
hcloud_volume:
|
||||
name: "{{hcloud_volume_name}}"
|
||||
labels:
|
||||
key: value
|
||||
register: volume
|
||||
- name: verify test update volume lable with the same label
|
||||
assert:
|
||||
that:
|
||||
- volume is not changed
|
||||
|
||||
- name: test increase volume size
|
||||
hcloud_volume:
|
||||
name: "{{hcloud_volume_name}}"
|
||||
size: 11
|
||||
register: volume
|
||||
- name: verify test increase volume size
|
||||
assert:
|
||||
that:
|
||||
- volume is changed
|
||||
- volume.hcloud_volume.size == 11
|
||||
|
||||
- name: test decreace volume size
|
||||
hcloud_volume:
|
||||
name: "{{hcloud_volume_name}}"
|
||||
size: 10
|
||||
register: volume
|
||||
- name: verify test decreace volume size
|
||||
assert:
|
||||
that:
|
||||
- volume is not changed
|
||||
- volume.hcloud_volume.size == 11
|
||||
|
||||
- name: test delete volume
|
||||
hcloud_volume:
|
||||
name: "{{hcloud_volume_name}}"
|
||||
state: absent
|
||||
register: result
|
||||
- name: verify delete volume
|
||||
assert:
|
||||
that:
|
||||
- result is success
|
||||
|
||||
- name: cleanup
|
||||
hcloud_server:
|
||||
name: "{{ hcloud_server_name }}"
|
||||
state: absent
|
||||
register: result
|
||||
- name: verify cleanup
|
||||
assert:
|
||||
that:
|
||||
- result is success
|
||||
Reference in New Issue
Block a user