ansible/test/integration/targets/lvg/tasks/main.yml
Jesse Pretorius 7adc293f65 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)
2018-11-05 10:49:48 -08:00

48 lines
1.3 KiB
YAML

- 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