diff options
Diffstat (limited to 'src/test/cli/crushtool/build.t')
-rw-r--r-- | src/test/cli/crushtool/build.t | 77 |
1 files changed, 77 insertions, 0 deletions
diff --git a/src/test/cli/crushtool/build.t b/src/test/cli/crushtool/build.t new file mode 100644 index 00000000..4061d8fb --- /dev/null +++ b/src/test/cli/crushtool/build.t @@ -0,0 +1,77 @@ + $ map="$TESTDIR/build.crushmap" + +# +# display the crush tree by default +# + $ crushtool --outfn "$map" --build --num_osds 5 node straw 2 rack straw 1 root straw 0 + +# +# silence all messages with --debug-crush 0 +# + $ CEPH_ARGS="--debug-crush 0" crushtool --outfn "$map" --build --num_osds 5 node straw 2 rack straw 1 root straw 0 + +# +# display a warning if there is more than one root +# + $ crushtool --outfn "$map" --build --num_osds 5 node straw 2 rack straw 1 + The crush rulesets will use the root rack0 (re) + and ignore the others. + There are 3 roots, they can be + grouped into a single root by appending something like: + root straw 0 + +# +# crush rulesets are generated using the OSDMap helpers +# + $ CEPH_ARGS="--debug-crush 0" crushtool --outfn "$map" --set-straw-calc-version 0 --build --num_osds 1 root straw 0 --set-chooseleaf-stable 0 + $ crushtool -o "$map.txt" -d "$map" + $ cat "$map.txt" + # begin crush map + tunable choose_local_tries 0 + tunable choose_local_fallback_tries 0 + tunable choose_total_tries 50 + tunable chooseleaf_descend_once 1 + tunable chooseleaf_vary_r 1 + tunable allowed_bucket_algs 54 + + # devices + device 0 osd.0 + + # types + type 0 osd + type 1 root + + # buckets + root root { + \tid -1\t\t# do not change unnecessarily (esc) + \t# weight 1.000 (esc) + \talg straw (esc) + \thash 0\t# rjenkins1 (esc) + \titem osd.0 weight 1.000 (esc) + } + + # rules + rule replicated_rule { + \tid 0 (esc) + \ttype replicated (esc) + \tmin_size 1 (esc) + \tmax_size 10 (esc) + \tstep take root (esc) + \tstep chooseleaf firstn 0 type root (esc) + \tstep emit (esc) + } + + # end crush map + $ rm "$map" "$map.txt" + +# +# Wrong number of arguments +# + $ crushtool --outfn "$map" --debug-crush 0 --build --num_osds 5 node straw 0 + remaining args: [--debug-crush,0,node,straw,0] + layers must be specified with 3-tuples of (name, buckettype, size) + [1] + +# Local Variables: +# compile-command: "cd ../../.. ; make crushtool && test/run-cli-tests" +# End: |