forked from linux-system-roles/storage
-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathtests_change_fs.yml
More file actions
135 lines (118 loc) · 3.83 KB
/
tests_change_fs.yml
File metadata and controls
135 lines (118 loc) · 3.83 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
---
- name: Test change fs
hosts: all
become: true
vars:
storage_safe_mode: false
mount_location: '/opt/test1'
volume_size: '5g'
fs_after: "{{ (ansible_facts['distribution'] == 'RedHat' and
ansible_facts['distribution_major_version'] == '6') |
ternary('ext4', 'xfs') }}"
tags:
- tests::lvm
tasks:
- name: Run the role
include_role:
name: linux-system-roles.storage
- name: Mark tasks to be skipped
set_fact:
storage_skip_checks:
- blivet_available
- "{{ (lookup('env',
'SYSTEM_ROLES_REMOVE_CLOUD_INIT') in ['', 'false']) |
ternary('packages_installed', '') }}"
- service_facts
- name: Get unused disks
include_tasks: get_unused_disk.yml
vars:
min_size: "{{ volume_size }}"
max_return: 1
- name: Create a LVM logical volume with default fs_type
include_role:
name: linux-system-roles.storage
vars:
storage_pools:
- name: foo
disks: "{{ unused_disks }}"
volumes:
- name: test1
size: "{{ volume_size }}"
mount_point: "{{ mount_location }}"
- name: Verify role results
include_tasks: verify-role-results.yml
- name: Change the file system signature on the logical volume created above
include_role:
name: linux-system-roles.storage
vars:
storage_pools:
- name: foo
disks: "{{ unused_disks }}"
volumes:
- name: test1
size: "{{ volume_size }}"
fs_type: "{{ fs_after }}"
mount_point: "{{ mount_location }}"
- name: Verify role results - 2
include_tasks: verify-role-results.yml
- name: Re-run the role on the same volume without specifying fs_type
include_role:
name: linux-system-roles.storage
vars:
storage_pools:
- name: foo
disks: "{{ unused_disks }}"
volumes:
- name: test1
size: "{{ volume_size }}"
mount_point: "{{ mount_location }}"
- name: Verify the output of the duplicate volumes test
assert:
that:
- not blivet_output.changed
- blivet_output.pools[0].volumes[0].fs_type == fs_after
msg: Failed to preserve omitted fs_type on existing lvm volume
- name: Verify role results - 3
include_tasks: verify-role-results.yml
- name: Repeat the previous invocation to verify idempotence
include_role:
name: linux-system-roles.storage
vars:
storage_pools:
- name: foo
disks: "{{ unused_disks }}"
volumes:
- name: test1
size: "{{ volume_size }}"
fs_type: "{{ fs_after }}"
mount_point: "{{ mount_location }}"
- name: Verify role results - 4
include_tasks: verify-role-results.yml
- name: Remove the FS
include_role:
name: linux-system-roles.storage
vars:
storage_pools:
- name: foo
disks: "{{ unused_disks }}"
volumes:
- name: test1
size: "{{ volume_size }}"
fs_type: unformatted
- name: Verify role results - 5
include_tasks: verify-role-results.yml
- name: Clean up
include_role:
name: linux-system-roles.storage
vars:
storage_pools:
- name: foo
disks: "{{ unused_disks }}"
state: absent
volumes:
- name: test1
size: "{{ volume_size }}"
fs_type: "{{ fs_after }}"
mount_point: "{{ mount_location }}"
- name: Verify role results - 6
include_tasks: verify-role-results.yml