From 7700ea94f971feed1486bce5fe9cf2a88ef046f9 Mon Sep 17 00:00:00 2001 From: Sage Weil Date: Thu, 23 Feb 2012 11:42:08 -0800 Subject: [PATCH] crushtool: add --reweight-item cli tests Test list, tree, and straw buckets. Signed-off-by: Sage Weil --- src/test/cli/crushtool/multitype.after | 87 +++++++++++++++++++++++++ src/test/cli/crushtool/multitype.before | 87 +++++++++++++++++++++++++ src/test/cli/crushtool/reweight.t | 8 +++ 3 files changed, 182 insertions(+) create mode 100644 src/test/cli/crushtool/multitype.after create mode 100644 src/test/cli/crushtool/multitype.before create mode 100644 src/test/cli/crushtool/reweight.t diff --git a/src/test/cli/crushtool/multitype.after b/src/test/cli/crushtool/multitype.after new file mode 100644 index 0000000000000..9c7da0aad6ca4 --- /dev/null +++ b/src/test/cli/crushtool/multitype.after @@ -0,0 +1,87 @@ +# begin crush map + +# devices +device 0 osd0 +device 1 osd1 +device 2 osd2 +device 3 osd3 +device 4 osd4 +device 5 osd5 +device 6 osd6 +device 7 osd7 +device 8 osd8 +device 9 osd9 + +# types +type 0 osd +type 1 host +type 2 cluster + +# buckets +host host0 { + id -2 # do not change unnecessarily + # weight 3.000 + alg straw + hash 0 # rjenkins1 + item osd0 weight 2.000 + item osd1 weight 1.000 +} +host host1 { + id -3 # do not change unnecessarily + # weight 3.000 + alg list # add new items at the end; do not change order unnecessarily + hash 0 # rjenkins1 + item osd3 weight 2.000 + item osd4 weight 1.000 +} +host host2 { + id -4 # do not change unnecessarily + # weight 5.500 + alg tree # do not change pos for existing items unnecessarily + hash 0 # rjenkins1 + item osd5 weight 1.000 pos 0 + item osd6 weight 2.000 pos 1 + item osd7 weight 0.500 pos 2 + item osd8 weight 1.000 pos 3 + item osd9 weight 1.000 pos 4 +} +cluster cluster0 { + id -1 # do not change unnecessarily + # weight 11.500 + alg straw + hash 0 # rjenkins1 + item host0 weight 3.000 + item host1 weight 3.000 + item host2 weight 5.500 +} + +# rules +rule data { + ruleset 0 + type replicated + min_size 1 + max_size 10 + step take cluster0 + step chooseleaf firstn 0 type host + step emit +} +rule metadata { + ruleset 1 + type replicated + min_size 1 + max_size 10 + step take cluster0 + step chooseleaf firstn 0 type host + step emit +} +rule rbd { + ruleset 2 + type replicated + min_size 1 + max_size 10 + step take cluster0 + step chooseleaf firstn 0 type host + step emit +} + +# end crush map diff --git a/src/test/cli/crushtool/multitype.before b/src/test/cli/crushtool/multitype.before new file mode 100644 index 0000000000000..8adcda9c3b7de --- /dev/null +++ b/src/test/cli/crushtool/multitype.before @@ -0,0 +1,87 @@ +# begin crush map + +# devices +device 0 osd0 +device 1 osd1 +device 2 osd2 +device 3 osd3 +device 4 osd4 +device 5 osd5 +device 6 osd6 +device 7 osd7 +device 8 osd8 +device 9 osd9 + +# types +type 0 osd +type 1 host +type 2 cluster + +# buckets +host host0 { + id -2 # do not change unnecessarily + # weight 2.000 + alg straw + hash 0 # rjenkins1 + item osd0 weight 1.000 + item osd1 weight 1.000 +} +host host1 { + id -3 # do not change unnecessarily + # weight 2.000 + alg list + hash 0 # rjenkins1 + item osd3 weight 1.000 + item osd4 weight 1.000 +} +host host2 { + id -4 # do not change unnecessarily + # weight 2.000 + alg tree + hash 0 # rjenkins1 + item osd5 weight 1.000 + item osd6 weight 1.000 + item osd7 weight 1.000 + item osd8 weight 1.000 + item osd9 weight 1.000 +} +cluster cluster0 { + id -1 # do not change unnecessarily + # weight 2.000 + alg straw + hash 0 # rjenkins1 + item host0 weight 2.000 + item host1 weight 2.000 + item host2 weight 5.000 +} + +# rules +rule data { + ruleset 0 + type replicated + min_size 1 + max_size 10 + step take cluster0 + step chooseleaf firstn 0 type host + step emit +} +rule metadata { + ruleset 1 + type replicated + min_size 1 + max_size 10 + step take cluster0 + step chooseleaf firstn 0 type host + step emit +} +rule rbd { + ruleset 2 + type replicated + min_size 1 + max_size 10 + step take cluster0 + step chooseleaf firstn 0 type host + step emit +} + +# end crush map diff --git a/src/test/cli/crushtool/reweight.t b/src/test/cli/crushtool/reweight.t new file mode 100644 index 0000000000000..f4da5c9cb309e --- /dev/null +++ b/src/test/cli/crushtool/reweight.t @@ -0,0 +1,8 @@ + $ crushtool -c "$TESTDIR/multitype.before" -o mt > /dev/null + $ crushtool -i mt --reweight-item osd0 2.0 -o mt > /dev/null + $ crushtool -i mt --reweight-item osd3 2.0 -o mt > /dev/null + $ crushtool -i mt --reweight-item osd6 2.0 -o mt > /dev/null + $ crushtool -i mt --reweight-item osd7 .5 -o mt > /dev/null + $ crushtool -d mt -o final + $ diff final "$TESTDIR/multitype.after" + $ rm mt final -- 2.39.5