3 source $CEPH_ROOT/qa
/standalone
/ceph-helpers.sh
8 i
[[3456]]86*|x86_64
*|amd64
*)
9 legacy_jerasure_plugins
=(jerasure_generic jerasure_sse3 jerasure_sse4
)
10 legacy_shec_plugins
=(shec_generic shec_sse3 shec_sse4
)
11 plugins
=(jerasure shec lrc isa
)
14 legacy_jerasure_plugins
=(jerasure_generic jerasure_neon
)
15 legacy_shec_plugins
=(shec_generic shec_neon
)
16 plugins
=(jerasure shec lrc
)
19 echo "unsupported platform ${arch}."
28 export CEPH_MON
="127.0.0.1:17110" # git grep '\<17110\>' : there must be only one
30 CEPH_ARGS
+="--fsid=$(uuidgen) --auth-supported=none "
31 CEPH_ARGS
+="--mon-host=$CEPH_MON "
33 local funcs
=${@:-$(set | sed -n -e 's/^\(TEST_[0-9a-z_]*\) .*/\1/p')}
34 for func
in $funcs ; do
35 $func $dir ||
return 1
39 function TEST_preload_warning
() {
42 for plugin
in ${legacy_jerasure_plugins[*]} ${legacy_shec_plugins[*]}; do
43 setup
$dir ||
return 1
44 run_mon
$dir a
--osd_erasure_code_plugins="${plugin}" ||
return 1
45 run_mgr
$dir x ||
return 1
46 CEPH_ARGS
='' ceph
--admin-daemon $
(get_asok_path mon.a
) log flush ||
return 1
47 run_osd
$dir 0 --osd_erasure_code_plugins="${plugin}" ||
return 1
48 CEPH_ARGS
='' ceph
--admin-daemon $
(get_asok_path osd
.0) log flush ||
return 1
49 grep "WARNING: osd_erasure_code_plugins contains plugin ${plugin}" $dir/mon.a.log ||
return 1
50 grep "WARNING: osd_erasure_code_plugins contains plugin ${plugin}" $dir/osd
.0.log ||
return 1
51 teardown
$dir ||
return 1
56 function TEST_preload_no_warning
() {
59 for plugin
in ${plugins[*]}; do
60 setup
$dir ||
return 1
61 run_mon
$dir a
--osd_erasure_code_plugins="${plugin}" ||
return 1
62 run_mgr
$dir x ||
return 1
63 CEPH_ARGS
='' ceph
--admin-daemon $
(get_asok_path mon.a
) log flush ||
return 1
64 run_osd
$dir 0 --osd_erasure_code_plugins="${plugin}" ||
return 1
65 CEPH_ARGS
='' ceph
--admin-daemon $
(get_asok_path osd
.0) log flush ||
return 1
66 ! grep "WARNING: osd_erasure_code_plugins contains plugin" $dir/mon.a.log ||
return 1
67 ! grep "WARNING: osd_erasure_code_plugins contains plugin" $dir/osd
.0.log ||
return 1
68 teardown
$dir ||
return 1
74 function TEST_preload_no_warning_default
() {
77 setup
$dir ||
return 1
78 run_mon
$dir a ||
return 1
79 CEPH_ARGS
='' ceph
--admin-daemon $
(get_asok_path mon.a
) log flush ||
return 1
80 run_mgr
$dir x ||
return 1
81 run_osd
$dir 0 ||
return 1
82 CEPH_ARGS
='' ceph
--admin-daemon $
(get_asok_path osd
.0) log flush ||
return 1
83 ! grep "WARNING: osd_erasure_code_plugins" $dir/mon.a.log ||
return 1
84 ! grep "WARNING: osd_erasure_code_plugins" $dir/osd
.0.log ||
return 1
85 teardown
$dir ||
return 1
90 function TEST_ec_profile_warning
() {
93 setup
$dir ||
return 1
94 run_mon
$dir a ||
return 1
95 run_mgr
$dir x ||
return 1
96 for id
in $
(seq 0 2) ; do
97 run_osd
$dir $id ||
return 1
99 create_rbd_pool ||
return 1
100 wait_for_clean ||
return 1
102 for plugin
in ${legacy_jerasure_plugins[*]}; do
103 ceph osd erasure-code-profile
set prof-
${plugin} crush-failure-domain
=osd technique
=reed_sol_van plugin
=${plugin} ||
return 1
104 CEPH_ARGS
='' ceph
--admin-daemon $
(get_asok_path mon.a
) log flush ||
return 1
105 grep "WARNING: erasure coding profile prof-${plugin} uses plugin ${plugin}" $dir/mon.a.log ||
return 1
108 for plugin
in ${legacy_shec_plugins[*]}; do
109 ceph osd erasure-code-profile
set prof-
${plugin} crush-failure-domain
=osd plugin
=${plugin} ||
return 1
110 CEPH_ARGS
='' ceph
--admin-daemon $
(get_asok_path mon.a
) log flush ||
return 1
111 grep "WARNING: erasure coding profile prof-${plugin} uses plugin ${plugin}" $dir/mon.a.log ||
return 1
114 teardown
$dir ||
return 1
117 main test-erasure-code-plugins
"$@"