1---
2- name: setup host is present
3  cs_host:
4    name: sim
5    url: "http://sim/c0-basic/h2"
6    cluster: C0-adv
7    pod: POD0-adv
8    username: root
9    password: password
10    hypervisor: Simulator
11    allocation_state: enabled
12    zone: "{{ cs_common_zone_adv }}"
13  register: host
14- name: verify setup host is present
15  assert:
16    that:
17      - host is successful
18
19- name: setup storage pool is absent
20  cs_storage_pool:
21    name: "storage_pool_adv"
22    zone: "{{ cs_common_zone_adv }}"
23    state: absent
24  register: sp
25- name: verify setup storage pool is absent
26  assert:
27    that:
28      - sp is successful
29
30- name: test fail if missing params
31  cs_storage_pool:
32  register: sp
33  ignore_errors: true
34- name: verify results of fail if missing params
35  assert:
36    that:
37      - sp is failed
38      - "sp.msg == 'missing required arguments: name'"
39
40- name: test fail if provider unknown
41  cs_storage_pool:
42    name: "storage_pool_adv"
43    zone: "{{ cs_common_zone_adv }}"
44    storage_url: rbd://admin:SECRET@ceph-mons.domain/poolname
45    provider: DNE
46    scope: cluster
47    cluster: C0-adv
48    pod: POD0-adv
49  register: sp
50  ignore_errors: true
51- name: verify test fail if provider unknown
52  assert:
53    that:
54      - sp is failed
55      - "sp.msg == 'Storage provider DNE not found'"
56
57- name: test fail if cluster unknown
58  cs_storage_pool:
59    name: "storage_pool_adv"
60    zone: "{{ cs_common_zone_adv }}"
61    storage_url: rbd://admin:SECRET@ceph-mons.domain/poolname
62    scope: cluster
63    cluster: DNE
64    pod: POD0-adv
65  register: sp
66  ignore_errors: true
67- name: verify test fail if cluster unknown
68  assert:
69    that:
70      - sp is failed
71      - "sp.msg == 'Cluster DNE not found'"
72
73- name: test fail if pod unknown
74  cs_storage_pool:
75    name: "storage_pool_adv"
76    zone: "{{ cs_common_zone_adv }}"
77    storage_url: rbd://admin:SECRET@ceph-mons.domain/poolname
78    scope: cluster
79    cluster: C0-adv
80    pod: DNE
81  register: sp
82  ignore_errors: true
83- name: verify test fail if pod unknown
84  assert:
85    that:
86      - sp is failed
87      - "sp.msg == 'Pod DNE not found'"
88
89- name: create storage pool in check mode
90  cs_storage_pool:
91    name: "storage_pool_adv"
92    zone: "{{ cs_common_zone_adv }}"
93    storage_url: rbd://admin:SECRET@ceph-mons.domain/poolname
94    scope: cluster
95    cluster: C0-adv
96    pod: POD0-adv
97  register: sp
98  check_mode: true
99- name: verify create storage pool in check mode
100  assert:
101    that:
102      - sp is successful
103      - sp is changed
104
105- name: create storage pool
106  cs_storage_pool:
107    name: "storage_pool_adv"
108    zone: "{{ cs_common_zone_adv }}"
109    storage_url: rbd://admin:SECRET@ceph-mons.domain/poolname
110    scope: cluster
111    cluster: C0-adv
112    pod: POD0-adv
113  register: sp
114- name: verify create storage pool
115  assert:
116    that:
117      - sp is successful
118      - sp is changed
119      - sp.cluster == "C0-adv"
120      - sp.pod == "POD0-adv"
121      - sp.storage_url == "RBD://ceph-mons.domain/poolname"
122
123- name: create storage pool idempotence
124  cs_storage_pool:
125    name: "storage_pool_adv"
126    zone: "{{ cs_common_zone_adv }}"
127    storage_url: rbd://admin:SECRET@ceph-mons.domain/poolname
128    cluster: C0-adv
129    pod: POD0-adv
130  register: sp
131- name: verify create storage pool idempotence
132  assert:
133    that:
134      - sp is successful
135      - sp is not changed
136      - sp.cluster == "C0-adv"
137      - sp.pod == "POD0-adv"
138      - sp.storage_url == "RBD://ceph-mons.domain/poolname"
139
140- name: disable storage pool in check mode
141  cs_storage_pool:
142    name: "storage_pool_adv"
143    zone: "{{ cs_common_zone_adv }}"
144    storage_url: rbd://admin:SECRET@ceph-mons.domain/poolname
145    cluster: C0-adv
146    pod: POD0-adv
147    allocation_state: disabled
148  check_mode: true
149  register: sp
150- name: verify disable storage pool in check mode
151  assert:
152    that:
153      - sp is successful
154      - sp is changed
155      - sp.allocation_state == 'enabled'
156      - sp.cluster == "C0-adv"
157      - sp.pod == "POD0-adv"
158      - sp.storage_url == "RBD://ceph-mons.domain/poolname"
159
160- name: disable storage pool
161  cs_storage_pool:
162    name: "storage_pool_adv"
163    zone: "{{ cs_common_zone_adv }}"
164    storage_url: rbd://admin:SECRET@ceph-mons.domain/poolname
165    scope: cluster
166    cluster: C0-adv
167    pod: POD0-adv
168    allocation_state: disabled
169  register: sp
170- name: verify disable storage pool
171  assert:
172    that:
173      - sp is successful
174      - sp is changed
175      - sp.allocation_state == 'disabled'
176      - sp.cluster == "C0-adv"
177      - sp.pod == "POD0-adv"
178      - sp.storage_url == "RBD://ceph-mons.domain/poolname"
179
180- name: disable storage pool idempotence
181  cs_storage_pool:
182    name: "storage_pool_adv"
183    zone: "{{ cs_common_zone_adv }}"
184    storage_url: rbd://admin:SECRET@ceph-mons.domain/poolname
185    scope: cluster
186    cluster: C0-adv
187    pod: POD0-adv
188    allocation_state: disabled
189  register: sp
190- name: verify disable storage pool idempotence
191  assert:
192    that:
193      - sp is successful
194      - sp is not changed
195      - sp.allocation_state == 'disabled'
196      - sp.cluster == "C0-adv"
197      - sp.pod == "POD0-adv"
198      - sp.storage_url == "RBD://ceph-mons.domain/poolname"
199
200- name: update while storage pool disabled in check mode
201  cs_storage_pool:
202    name: "storage_pool_adv"
203    zone: "{{ cs_common_zone_adv }}"
204    storage_url: rbd://admin:SECRET@ceph-mons.domain/poolname
205    scope: cluster
206    cluster: C0-adv
207    pod: POD0-adv
208    storage_tags:
209      - eco
210      - ssd
211  check_mode: true
212  register: sp
213- name: verify update while storage pool disabled in check mode
214  assert:
215    that:
216      - sp is successful
217      - sp is changed
218      - sp.allocation_state == 'disabled'
219      - sp.storage_tags == []
220      - sp.cluster == "C0-adv"
221      - sp.pod == "POD0-adv"
222      - sp.storage_url == "RBD://ceph-mons.domain/poolname"
223
224- name: update while storage pool disabled
225  cs_storage_pool:
226    name: "storage_pool_adv"
227    zone: "{{ cs_common_zone_adv }}"
228    storage_url: rbd://admin:SECRET@ceph-mons.domain/poolname
229    scope: cluster
230    cluster: C0-adv
231    pod: POD0-adv
232    storage_tags:
233      - eco
234      - ssd
235  register: sp
236- name: verify update while storage pool disabled
237  assert:
238    that:
239      - sp is successful
240      - sp is changed
241      - sp.allocation_state == 'disabled'
242      - sp.storage_tags == ['eco', 'ssd']
243      - sp.cluster == "C0-adv"
244      - sp.pod == "POD0-adv"
245      - sp.storage_url == "RBD://ceph-mons.domain/poolname"
246
247- name: update while storage pool disabled idempotence
248  cs_storage_pool:
249    name: "storage_pool_adv"
250    zone: "{{ cs_common_zone_adv }}"
251    storage_url: rbd://admin:SECRET@ceph-mons.domain/poolname
252    scope: cluster
253    cluster: C0-adv
254    pod: POD0-adv
255    storage_tags:
256      - eco
257      - ssd
258  register: sp
259- name: verify update while storage pool disabled idempotence
260  assert:
261    that:
262      - sp is successful
263      - sp is not changed
264      - sp.allocation_state == 'disabled'
265      - sp.storage_tags == ['eco', 'ssd']
266      - sp.cluster == "C0-adv"
267      - sp.pod == "POD0-adv"
268      - sp.storage_url == "RBD://ceph-mons.domain/poolname"
269
270- name: put storage in maintenance pool in check mode
271  cs_storage_pool:
272    name: "storage_pool_adv"
273    zone: "{{ cs_common_zone_adv }}"
274    storage_url: rbd://admin:SECRET@ceph-mons.domain/poolname
275    scope: cluster
276    cluster: C0-adv
277    pod: POD0-adv
278    allocation_state: maintenance
279  check_mode: true
280  register: sp
281- name: verify put storage in maintenance pool in check mode
282  assert:
283    that:
284      - sp is successful
285      - sp is changed
286      - sp.allocation_state == 'disabled'
287      - sp.cluster == "C0-adv"
288      - sp.pod == "POD0-adv"
289      - sp.storage_url == "RBD://ceph-mons.domain/poolname"
290
291- name: put storage in maintenance pool
292  cs_storage_pool:
293    name: "storage_pool_adv"
294    zone: "{{ cs_common_zone_adv }}"
295    storage_url: rbd://admin:SECRET@ceph-mons.domain/poolname
296    scope: cluster
297    cluster: C0-adv
298    pod: POD0-adv
299    allocation_state: maintenance
300  register: sp
301- name: verify put storage in maintenance pool
302  assert:
303    that:
304      - sp is successful
305      - sp is changed
306      - sp.allocation_state == 'maintenance'
307      - sp.cluster == "C0-adv"
308      - sp.pod == "POD0-adv"
309      - sp.storage_url == "RBD://ceph-mons.domain/poolname"
310
311- name: put storage in maintenance pool idempotence
312  cs_storage_pool:
313    name: "storage_pool_adv"
314    zone: "{{ cs_common_zone_adv }}"
315    storage_url: rbd://admin:SECRET@ceph-mons.domain/poolname
316    scope: cluster
317    cluster: C0-adv
318    pod: POD0-adv
319    allocation_state: maintenance
320  register: sp
321- name: verify put storage in maintenance pool idempotence
322  assert:
323    that:
324      - sp is successful
325      - sp is not changed
326      - sp.allocation_state == 'maintenance'
327      - sp.cluster == "C0-adv"
328      - sp.pod == "POD0-adv"
329      - sp.storage_url == "RBD://ceph-mons.domain/poolname"
330
331- name: update while in maintenance pool
332  cs_storage_pool:
333    name: "storage_pool_adv"
334    zone: "{{ cs_common_zone_adv }}"
335    storage_url: rbd://admin:SECRET@ceph-mons.domain/poolname
336    scope: cluster
337    cluster: C0-adv
338    pod: POD0-adv
339    storage_tag: perf
340  register: sp
341- name: verify update while in maintenance pool
342  assert:
343    that:
344      - sp is successful
345      - sp is changed
346      - sp.allocation_state == 'maintenance'
347      - sp.cluster == "C0-adv"
348      - sp.pod == "POD0-adv"
349      - sp.storage_url == "RBD://ceph-mons.domain/poolname"
350      - sp.storage_tags == ['perf']
351
352- name: remove storage pool in check mode
353  cs_storage_pool:
354    name: "storage_pool_adv"
355    zone: "{{ cs_common_zone_adv }}"
356    state: absent
357  register: sp
358  check_mode: true
359- name: verify remove storage pool in check mode
360  assert:
361    that:
362      - sp is successful
363      - sp is changed
364      - sp.cluster == "C0-adv"
365      - sp.pod == "POD0-adv"
366      - sp.storage_url == "RBD://ceph-mons.domain/poolname"
367
368- name: remove storage pool
369  cs_storage_pool:
370    name: "storage_pool_adv"
371    zone: "{{ cs_common_zone_adv }}"
372    state: absent
373  register: sp
374- name: verify remove storage pool
375  assert:
376    that:
377      - sp is successful
378      - sp is changed
379      - sp.cluster == "C0-adv"
380      - sp.pod == "POD0-adv"
381      - sp.storage_url == "RBD://ceph-mons.domain/poolname"
382
383- name: remove storage pool idempotence
384  cs_storage_pool:
385    name: "storage_pool_adv"
386    zone: "{{ cs_common_zone_adv }}"
387    state: absent
388  register: sp
389- name: verify remove storage pool idempotence
390  assert:
391    that:
392      - sp is successful
393      - sp is not changed
394
395- name: create storage pool in maintenance
396  cs_storage_pool:
397    name: "storage_pool_adv"
398    zone: "{{ cs_common_zone_adv }}"
399    storage_url: rbd://admin:SECRET@ceph-mons.domain/poolname
400    scope: cluster
401    cluster: C0-adv
402    pod: POD0-adv
403    allocation_state: maintenance
404  register: sp
405- name: verify create storage pool in maintenance
406  assert:
407    that:
408      - sp is successful
409      - sp is changed
410      - sp.allocation_state == 'maintenance'
411      - sp.cluster == "C0-adv"
412      - sp.pod == "POD0-adv"
413      - sp.storage_url == "RBD://ceph-mons.domain/poolname"
414
415- name: remove storage pool in maintenance
416  cs_storage_pool:
417    name: "storage_pool_adv"
418    zone: "{{ cs_common_zone_adv }}"
419    state: absent
420  register: sp
421- name: verify storage pool in maintenance
422  assert:
423    that:
424      - sp is successful
425      - sp is changed
426      - sp.allocation_state == 'maintenance'
427      - sp.cluster == "C0-adv"
428      - sp.pod == "POD0-adv"
429      - sp.storage_url == "RBD://ceph-mons.domain/poolname"
430
431- name: create storage pool disabled
432  cs_storage_pool:
433    name: "storage_pool_adv"
434    zone: "{{ cs_common_zone_adv }}"
435    storage_url: rbd://admin:SECRET@ceph-mons.domain/poolname
436    scope: cluster
437    cluster: C0-adv
438    pod: POD0-adv
439    allocation_state: disabled
440  register: sp
441- name: verify create storage pool in disabled
442  assert:
443    that:
444      - sp is successful
445      - sp is changed
446      - sp.allocation_state == 'disabled'
447      - sp.cluster == "C0-adv"
448      - sp.pod == "POD0-adv"
449      - sp.storage_url == "RBD://ceph-mons.domain/poolname"
450
451- name: verify remove disabled storag e pool
452  cs_storage_pool:
453    name: "storage_pool_adv"
454    zone: "{{ cs_common_zone_adv }}"
455    state: absent
456  register: sp
457- name: verify remove disabled storage pool
458  assert:
459    that:
460      - sp is successful
461      - sp is changed
462      - sp.allocation_state == 'disabled'
463      - sp.cluster == "C0-adv"
464      - sp.pod == "POD0-adv"
465      - sp.storage_url == "RBD://ceph-mons.domain/poolname"
466