mirror of https://github.com/ansible/ansible.git
Add lvg module idempotence test
To ensure that the lvg module is tested for idempotency,
we add a basic integration test.
Support for MacOS and FreeBSD are skipped because the
module does not currently support those platforms.
(cherry picked from commit 204b40f706
)
pull/48091/head
parent
2b90306398
commit
0c7b715c0d
@ -0,0 +1,5 @@
|
||||
destructive
|
||||
needs/privileged
|
||||
shippable/posix/group1
|
||||
skip/freebsd
|
||||
skip/osx
|
@ -0,0 +1,48 @@
|
||||
- name: Install required packages (Linux)
|
||||
package:
|
||||
name: lvm2
|
||||
state: present
|
||||
when: ansible_system == 'Linux'
|
||||
|
||||
- name: Test lvg module
|
||||
block:
|
||||
- name: Create file to use as a disk device
|
||||
command: "dd if=/dev/zero of={{ ansible_user_dir }}/ansible_testing/img1 bs=1M count=10"
|
||||
|
||||
- name: Create loop device for file
|
||||
command: "losetup --show -f {{ ansible_user_dir }}/ansible_testing/img1"
|
||||
register: loop_device1
|
||||
|
||||
- name: Create volume group on disk device
|
||||
lvg:
|
||||
vg: testvg
|
||||
pvs: "{{ loop_device1.stdout }}"
|
||||
|
||||
- name: Create the volume group again to verify idempotence
|
||||
lvg:
|
||||
vg: testvg
|
||||
pvs: "{{ loop_device1.stdout }}"
|
||||
register: repeat_vg_create
|
||||
|
||||
- name: Do all assertions to verify expected results
|
||||
assert:
|
||||
that:
|
||||
- repeat_vg_create is not changed
|
||||
|
||||
always:
|
||||
- name: Remove test volume group
|
||||
lvg:
|
||||
vg: testvg
|
||||
state: absent
|
||||
|
||||
- name: Detach loop device
|
||||
command: "losetup -d {{ loop_device1.stdout }}"
|
||||
when:
|
||||
- loop_device1 is defined
|
||||
- loop_device1.stdout is defined
|
||||
- loop_device1.stdout is match("/dev/.*")
|
||||
|
||||
- name: Remove the file
|
||||
file:
|
||||
path: "{{ ansible_user_dir }}/ansible_testing/img1"
|
||||
state: absent
|
Loading…
Reference in New Issue