|
|
|
---
|
|
|
|
- name: 'Create disk image'
|
|
|
|
command: >
|
|
|
|
dd if=/dev/zero of={{ remote_tmp_dir }}/img-gquota bs=1M count=20
|
|
|
|
|
|
|
|
- name: 'Create XFS filesystem'
|
|
|
|
filesystem:
|
|
|
|
dev: '{{ remote_tmp_dir }}/img-gquota'
|
|
|
|
fstype: xfs
|
|
|
|
|
|
|
|
- block:
|
|
|
|
- name: 'Mount filesystem'
|
|
|
|
mount:
|
|
|
|
fstab: '{{ remote_tmp_dir }}/fstab'
|
|
|
|
src: '{{ remote_tmp_dir }}/img-gquota'
|
|
|
|
path: '{{ remote_tmp_dir }}/gquota'
|
|
|
|
fstype: xfs
|
|
|
|
opts: gquota
|
|
|
|
state: mounted
|
|
|
|
become: True
|
|
|
|
|
|
|
|
- name: 'Apply default group limits'
|
|
|
|
xfs_quota:
|
|
|
|
bsoft: '{{ gquota_default_bsoft }}'
|
|
|
|
bhard: '{{ gquota_default_bhard }}'
|
|
|
|
isoft: '{{ gquota_default_isoft }}'
|
|
|
|
ihard: '{{ gquota_default_ihard }}'
|
|
|
|
mountpoint: '{{ remote_tmp_dir }}/gquota'
|
|
|
|
rtbsoft: '{{ gquota_default_rtbsoft }}'
|
|
|
|
rtbhard: '{{ gquota_default_rtbhard }}'
|
|
|
|
type: group
|
|
|
|
become: True
|
|
|
|
register: test_gquota_default_before
|
|
|
|
|
|
|
|
- name: Assert default group limits results
|
|
|
|
assert:
|
|
|
|
that:
|
|
|
|
- test_gquota_default_before.changed
|
|
|
|
- test_gquota_default_before.bsoft == gquota_default_bsoft|human_to_bytes
|
|
|
|
- test_gquota_default_before.bhard == gquota_default_bhard|human_to_bytes
|
|
|
|
- test_gquota_default_before.isoft == gquota_default_isoft
|
|
|
|
- test_gquota_default_before.ihard == gquota_default_ihard
|
|
|
|
- test_gquota_default_before.rtbsoft == gquota_default_rtbsoft|human_to_bytes
|
|
|
|
- test_gquota_default_before.rtbhard == gquota_default_rtbhard|human_to_bytes
|
|
|
|
|
|
|
|
- name: 'Apply group limits'
|
|
|
|
xfs_quota:
|
|
|
|
bsoft: '{{ gquota_group_bsoft }}'
|
|
|
|
bhard: '{{ gquota_group_bhard }}'
|
|
|
|
isoft: '{{ gquota_group_isoft }}'
|
|
|
|
ihard: '{{ gquota_group_ihard }}'
|
|
|
|
mountpoint: '{{ remote_tmp_dir }}/gquota'
|
|
|
|
name: xfsquotauser
|
|
|
|
rtbsoft: '{{ gquota_group_rtbsoft }}'
|
|
|
|
rtbhard: '{{ gquota_group_rtbhard }}'
|
|
|
|
type: group
|
|
|
|
become: True
|
|
|
|
register: test_gquota_group_before
|
|
|
|
|
|
|
|
- name: Assert group limits results for xfsquotauser
|
|
|
|
assert:
|
|
|
|
that:
|
|
|
|
- test_gquota_group_before.changed
|
|
|
|
- test_gquota_group_before.bsoft == gquota_group_bsoft|human_to_bytes
|
|
|
|
- test_gquota_group_before.bhard == gquota_group_bhard|human_to_bytes
|
|
|
|
- test_gquota_group_before.isoft == gquota_group_isoft
|
|
|
|
- test_gquota_group_before.ihard == gquota_group_ihard
|
|
|
|
- test_gquota_group_before.rtbsoft == gquota_group_rtbsoft|human_to_bytes
|
|
|
|
- test_gquota_group_before.rtbhard == gquota_group_rtbhard|human_to_bytes
|
|
|
|
|
|
|
|
- name: 'Re-apply default group limits'
|
|
|
|
xfs_quota:
|
|
|
|
bsoft: '{{ gquota_default_bsoft }}'
|
|
|
|
bhard: '{{ gquota_default_bhard }}'
|
|
|
|
isoft: '{{ gquota_default_isoft }}'
|
|
|
|
ihard: '{{ gquota_default_ihard }}'
|
|
|
|
mountpoint: '{{ remote_tmp_dir }}/gquota'
|
|
|
|
rtbsoft: '{{ gquota_default_rtbsoft }}'
|
|
|
|
rtbhard: '{{ gquota_default_rtbhard }}'
|
|
|
|
type: group
|
|
|
|
become: True
|
|
|
|
register: test_gquota_default_after
|
|
|
|
|
|
|
|
- name: Assert default group limits results after re-apply
|
|
|
|
assert:
|
|
|
|
that:
|
|
|
|
- not test_gquota_default_after.changed
|
|
|
|
|
|
|
|
- name: 'Re-apply group limits'
|
|
|
|
xfs_quota:
|
|
|
|
bsoft: '{{ gquota_group_bsoft }}'
|
|
|
|
bhard: '{{ gquota_group_bhard }}'
|
|
|
|
isoft: '{{ gquota_group_isoft }}'
|
|
|
|
ihard: '{{ gquota_group_ihard }}'
|
|
|
|
mountpoint: '{{ remote_tmp_dir }}/gquota'
|
|
|
|
name: xfsquotauser
|
|
|
|
rtbsoft: '{{ gquota_group_rtbsoft }}'
|
|
|
|
rtbhard: '{{ gquota_group_rtbhard }}'
|
|
|
|
type: group
|
|
|
|
become: True
|
|
|
|
register: test_gquota_group_after
|
|
|
|
|
|
|
|
- name: Assert group limits results for xfsquotauser after re-apply
|
|
|
|
assert:
|
|
|
|
that:
|
|
|
|
- not test_gquota_group_after.changed
|
|
|
|
|
|
|
|
- name: 'Reset default group limits'
|
|
|
|
xfs_quota:
|
|
|
|
mountpoint: '{{ remote_tmp_dir }}/gquota'
|
|
|
|
state: absent
|
|
|
|
type: group
|
|
|
|
become: True
|
|
|
|
register: test_reset_gquota_default
|
|
|
|
|
|
|
|
- name: Assert reset of default group limits results
|
|
|
|
assert:
|
|
|
|
that:
|
|
|
|
- test_reset_gquota_default.changed
|
|
|
|
- test_reset_gquota_default.bsoft == 0
|
|
|
|
- test_reset_gquota_default.bhard == 0
|
|
|
|
- test_reset_gquota_default.isoft == 0
|
|
|
|
- test_reset_gquota_default.ihard == 0
|
|
|
|
- test_reset_gquota_default.rtbsoft == 0
|
|
|
|
- test_reset_gquota_default.rtbhard == 0
|
|
|
|
|
|
|
|
- name: 'Reset group limits for xfsquotauser'
|
|
|
|
xfs_quota:
|
|
|
|
mountpoint: '{{ remote_tmp_dir }}/gquota'
|
|
|
|
name: xfsquotauser
|
|
|
|
state: absent
|
|
|
|
type: group
|
|
|
|
become: True
|
|
|
|
register: test_reset_gquota_group
|
|
|
|
|
|
|
|
- name: Assert reset of default group limits results
|
|
|
|
assert:
|
|
|
|
that:
|
|
|
|
- test_reset_gquota_group.changed
|
|
|
|
- test_reset_gquota_group.bsoft == 0
|
|
|
|
- test_reset_gquota_group.bhard == 0
|
|
|
|
- test_reset_gquota_group.isoft == 0
|
|
|
|
- test_reset_gquota_group.ihard == 0
|
|
|
|
- test_reset_gquota_group.rtbsoft == 0
|
|
|
|
- test_reset_gquota_group.rtbhard == 0
|
|
|
|
|
|
|
|
always:
|
|
|
|
- name: 'Unmount filesystem'
|
|
|
|
mount:
|
|
|
|
fstab: '{{ remote_tmp_dir }}/fstab'
|
|
|
|
path: '{{ remote_tmp_dir }}/gquota'
|
|
|
|
state: unmounted
|
|
|
|
become: True
|
|
|
|
|
|
|
|
- name: Remove disk image
|
|
|
|
file:
|
|
|
|
path: '{{ remote_tmp_dir }}/img-gquota'
|
|
|
|
state: absent
|