glusterfs
47 строк · 1.3 Кб
1#!/bin/bash
2
3. $(dirname $0)/../../include.rc
4. $(dirname $0)/../../volume.rc
5
6cleanup;
7
8TEST glusterd
9TEST pidof glusterd
10
11mkdir -p $H0:$B0/${V0}0
12mkdir -p $H0:$B0/${V0}1
13mkdir -p $H0:$B0/${V0}2
14mkdir -p $H0:$B0/${V0}3
15
16# Create and start a volume.
17TEST $CLI volume create $V0 $H0:$B0/${V0}0 $H0:$B0/${V0}1 $H0:$B0/${V0}2
18TEST $CLI volume start $V0
19EXPECT_WITHIN $PROCESS_UP_TIMEOUT 'Started' volinfo_field $V0 'Status';
20TEST $CLI volume set $V0 cluster.weighted-rebalance off
21
22# Force assignment of initial ranges.
23TEST $CLI volume rebalance $V0 fix-layout start
24EXPECT_WITHIN $REBALANCE_TIMEOUT "fix-layout completed" fix-layout_status_field $V0
25
26# Get the original values.
27xattrs=""
28for i in $(seq 0 2); do
29xattrs="$xattrs $(dht_get_layout $B0/${V0}$i)"
30done
31
32# Expand the volume and force assignment of new ranges.
33TEST $CLI volume add-brick $V0 $H0:$B0/${V0}3
34EXPECT_WITHIN $PROCESS_UP_TIMEOUT "4" online_brick_count
35# Force assignment of initial ranges.
36TEST $CLI volume rebalance $V0 fix-layout start
37EXPECT_WITHIN $REBALANCE_TIMEOUT "fix-layout completed" fix-layout_status_field $V0
38
39for i in $(seq 0 3); do
40xattrs="$xattrs $(dht_get_layout $B0/${V0}$i)"
41done
42
43overlap=$( $PYTHON $(dirname $0)/overlap.py $xattrs)
44# 2863311531 = 0xaaaaaaab = 2/3 overlap
45TEST [ "$overlap" -ge 2863311531 ]
46
47cleanup
48