diff options
Diffstat (limited to 'bin/gluster-swift-gen-builders')
-rwxr-xr-x | bin/gluster-swift-gen-builders | 44 |
1 files changed, 44 insertions, 0 deletions
diff --git a/bin/gluster-swift-gen-builders b/bin/gluster-swift-gen-builders new file mode 100755 index 0000000..bef5d14 --- /dev/null +++ b/bin/gluster-swift-gen-builders @@ -0,0 +1,44 @@ +#!/bin/bash + +# Note that these port numbers must match the configured values for the +# various servers in their configuration files. +declare -A port=(["account.builder"]=6012 ["container.builder"]=6011 \ + ["object.builder"]=6010) + +builder_files="account.builder container.builder object.builder" + +function create { + swift-ring-builder $1 create 1 1 1 >> /tmp/out +} + +function add { + swift-ring-builder $1 add z$2-127.0.0.1:$3/$4_ 100.0 +} + +function rebalance { + swift-ring-builder $1 rebalance +} + +function build { + swift-ring-builder $1 +} + +if [ "$1x" = "x" ]; then + echo "Please specify the gluster volume name to use." + exit 1 +fi + +for builder_file in $builder_files +do + create $builder_file + + zone=1 + for volname in $@ + do + add $builder_file $zone ${port[$builder_file]} $volname + zone=$(expr $zone + 1) + done + + rebalance $builder_file + build $builder_file +done |