2 # Test the expected behavior of the
4 # CEPH_FEATURE_ERASURE_CODE_PLUGINS_V3
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
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"
36 # Partial upgrade, osd.2 is not upgraded
45 wait-for-healthy: false
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"
51 daemons: [mon.b, osd.1, osd.0]
52 wait-for-healthy: false
53 wait-for-osds-up: true
55 # The shec plugin cannot be used because osd.2 is not upgraded yet
61 ceph osd erasure-code-profile set profile-shec k=2 m=1 c=1 plugin=shec 2>&1 | grep "unsupported by: osd.2"
63 # Taking osd.2 out, the rest of the cluster is upgraded
70 # Creating an erasure code profile using the shec plugin now works
74 - "ceph osd erasure-code-profile set profile-shec k=2 m=1 c=1 plugin=shec"
76 # osd.2 won't be able to join the because is does not support the feature
80 wait-for-healthy: false
86 grep "protocol feature.*missing" /var/log/ceph/ceph-osd.2.log
88 # mon.c won't be able to join the because it does not support the feature
92 wait-for-healthy: false
98 grep "missing.*feature" /var/log/ceph/ceph-mon.c.log