Fix some bugs when testing opensds ansible
[stor4nfv.git] / src / ceph / qa / erasure-code / ec-feature-plugins-v2.yaml
1 #
2 # Test the expected behavior of the
3 #
4 #    CEPH_FEATURE_ERASURE_CODE_PLUGINS_V2 
5 #
6 # feature.
7 #
8 roles:
9 - - mon.a
10   - mon.b
11   - osd.0
12   - osd.1
13 - - osd.2
14   - mon.c
15   - mgr.x
16 tasks:
17 #
18 # Install firefly
19 #
20 - install:
21     branch: firefly
22 - ceph:
23     fs: xfs
24 #
25 # We don't need mon.c for now: it will be used later to make sure an old
26 # mon cannot join the quorum once the feature has been activated
27 #
28 - ceph.stop:
29     daemons: [mon.c]
30 - exec:
31     mon.a: 
32       - |-
33         ceph osd erasure-code-profile set WRONG plugin=WRONG
34         ceph osd pool create poolWRONG 12 12 erasure WRONG 2>&1 | grep "failed to load plugin using profile WRONG"
35 #
36 # Partial upgrade, osd.2 is not upgraded
37 #
38 - install.upgrade:
39     osd.0: 
40 #
41 # a is the leader
42 #
43 - ceph.restart:
44     daemons: [mon.a]
45     wait-for-healthy: false
46 - exec:
47     mon.a:
48       - |-
49         ceph osd erasure-code-profile set profile-lrc plugin=lrc 2>&1 | grep "unsupported by: the monitor cluster"
50 - ceph.restart:
51     daemons: [mon.b, osd.1, osd.0]
52     wait-for-healthy: false
53     wait-for-osds-up: true
54 #
55 # The lrc plugin cannot be used because osd.2 is not upgraded yet
56 # and would crash.
57 #
58 - exec:
59     mon.a: 
60       - |-
61         ceph osd erasure-code-profile set profile-lrc plugin=lrc 2>&1 | grep "unsupported by: osd.2"
62 #
63 # Taking osd.2 out, the rest of the cluster is upgraded
64 #
65 - ceph.stop:
66     daemons: [osd.2]
67 - sleep:
68     duration: 60
69 #
70 # Creating an erasure code profile using the lrc plugin now works
71 #
72 - exec:
73     mon.a: 
74       - "ceph osd erasure-code-profile set profile-lrc plugin=lrc"
75 #
76 # osd.2 won't be able to join the because is does not support the feature
77 #
78 - ceph.restart:
79     daemons: [osd.2]
80     wait-for-healthy: false
81 - sleep:
82     duration: 60
83 - exec:
84     osd.2: 
85       - |-
86         grep "protocol feature.*missing 100000000000" /var/log/ceph/ceph-osd.2.log
87 #
88 # mon.c won't be able to join the because it does not support the feature
89 #
90 - ceph.restart:
91     daemons: [mon.c]
92     wait-for-healthy: false
93 - sleep:
94     duration: 60
95 - exec:
96     mon.c: 
97       - |-
98         grep "missing.*feature" /var/log/ceph/ceph-mon.c.log