7adc293f65
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
)
48 lines
1.3 KiB
YAML
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
|