]> git.proxmox.com Git - ceph.git/blob - ceph/qa/erasure-code/ec-feature-plugins-v3.yaml
add subtree-ish sources for 12.0.3
[ceph.git] / ceph / qa / erasure-code / ec-feature-plugins-v3.yaml
1 #
2 # Test the expected behavior of the
3 #
4 # CEPH_FEATURE_ERASURE_CODE_PLUGINS_V3
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 hammer
19 #
20 - install:
21 branch: hammer
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-shec k=2 m=1 c=1 plugin=shec 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 shec 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-shec k=2 m=1 c=1 plugin=shec 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 shec plugin now works
71 #
72 - exec:
73 mon.a:
74 - "ceph osd erasure-code-profile set profile-shec k=2 m=1 c=1 plugin=shec"
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" /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