#!/bin/bash . $(dirname $0)/common.rc . $(dirname $0)/../../volume.rc cleanup; TEST glusterd TEST pidof glusterd TEST $CLI volume info; TEST $CLI volume create $V0 replica 2 $H0:$B0/${V0}1 $H0:$B0/${V0}2; TEST $CLI volume info $V0; TEST $CLI volume start $V0; TEST glusterfs -s $H0 --volfile-id=$V0 $M0; TEST $PYTHON $(dirname $0)/../../utils/create-files.py \ --multi -b 10 -d 10 -n 10 $M0; EXPECT_WITHIN $UMOUNT_TIMEOUT "Y" force_umount $M0 ############### ## Rebalance ## ############### TEST $CLI volume add-brick $V0 replica 2 $H0:$B0/${V0}3 $H0:$B0/${V0}4; COMMAND="volume rebalance $V0 start" PATTERN="task-id" TEST check-and-store-task-id-xml COMMAND="volume status $V0" PATTERN="id" EXPECT $TASK_ID get-task-id-xml COMMAND="volume rebalance $V0 status" PATTERN="task-id" EXPECT $TASK_ID get-task-id-xml ## TODO: Add tests for rebalance stop COMMAND="volume rebalance $V0 status" PATTERN="completed" EXPECT_WITHIN $REBALANCE_TIMEOUT "0" get-task-status $PATTERN ################### ## Replace-brick ## ################### TEST $CLI volume replace-brick $V0 $H0:$B0/${V0}4 $H0:$B0/${V0}5 commit force ################## ## Remove-brick ## ################## EXPECT_WITHIN $PROCESS_UP_TIMEOUT "1" brick_up_status $V0 $H0 $B0/${V0}5 COMMAND="volume remove-brick $V0 $H0:$B0/${V0}3 $H0:$B0/${V0}5 start" PATTERN="task-id" TEST check-and-store-task-id-xml COMMAND="volume status $V0" PATTERN="id" EXPECT $TASK_ID get-task-id-xml COMMAND="volume remove-brick $V0 $H0:$B0/${V0}3 $H0:$B0/${V0}5 status" PATTERN="task-id" EXPECT $TASK_ID get-task-id-xml COMMAND="volume remove-brick $V0 $H0:$B0/${V0}3 $H0:$B0/${V0}5 status" PATTERN="completed" EXPECT_WITHIN $REBALANCE_TIMEOUT "0" get-task-status $PATTERN ## TODO: Add tests for remove-brick stop COMMAND="volume remove-brick $V0 $H0:$B0/${V0}3 $H0:$B0/${V0}5 commit" PATTERN="task-id" EXPECT $TASK_ID get-task-id-xml TEST $CLI volume stop $V0; TEST $CLI volume delete $V0; TEST ! $CLI volume info $V0; cleanup;