-
Notifications
You must be signed in to change notification settings - Fork 12
/
Copy pathswift-prep-rings.sh
executable file
·80 lines (68 loc) · 2.8 KB
/
swift-prep-rings.sh
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
#!/bin/bash
export KOLLA_BASE_DISTRO="ubuntu"
export KOLLA_INSTALL_TYPE="source"
export REGISTRY="localhost:4000"
export TAG="3.0.0"
file1="/opt/ref-impl-kolla/scripts/disks.lst"
DISKS=$(cat $file1 |tr "\n" " ")
file2="/opt/ref-impl-kolla/scripts/storage_nodes"
STORAGE=$(cat $file2 |tr "\n" " ")
slen=$(cat $file2 | wc -l)
dlen=$(cat $file1 | wc -l)
# Object ring
docker run \
-v /etc/kolla/config/swift/:/etc/kolla/config/swift/ \
${REGISTRY}/kolla/${KOLLA_BASE_DISTRO}-${KOLLA_INSTALL_TYPE}-swift-base:${TAG} \
swift-ring-builder /etc/kolla/config/swift/object.builder create 10 3 1
echo "Created Object builder"
for NODE in $STORAGE; do
for ((i=0; i<=$((dlen-1)); i++)); do
docker run \
-v /etc/kolla/config/swift/:/etc/kolla/config/swift/ \
${REGISTRY}/kolla/${KOLLA_BASE_DISTRO}-${KOLLA_INSTALL_TYPE}-swift-base:${TAG} swift-ring-builder \
/etc/kolla/config/swift/object.builder add r1z1-$NODE:6000/d${i} 1;
done
echo "Added $NODE to object ring"
done
echo "STORAGE NODES ADDED IN OBJECT RING"
# Account ring
docker run \
-v /etc/kolla/config/swift/:/etc/kolla/config/swift/ \
${REGISTRY}/kolla/${KOLLA_BASE_DISTRO}-${KOLLA_INSTALL_TYPE}-swift-base:${TAG} \
swift-ring-builder /etc/kolla/config/swift/account.builder create 10 3 1
echo "Create account builder"
for NODE in $STORAGE; do
for ((i=0; i<=$((dlen-1)); i++)); do
docker run \
-v /etc/kolla/config/swift/:/etc/kolla/config/swift/ \
${REGISTRY}/kolla/${KOLLA_BASE_DISTRO}-${KOLLA_INSTALL_TYPE}-swift-base:${TAG} swift-ring-builder \
/etc/kolla/config/swift/account.builder add r1z1-$NODE:6001/d${i} 1;
done
echo "Added $NODE to account ring"
done
echo "STORAGE NODES ADDED IN ACCOUNT RING"
# Container ring
docker run \
-v /etc/kolla/config/swift/:/etc/kolla/config/swift/ \
${REGISTRY}/kolla/${KOLLA_BASE_DISTRO}-${KOLLA_INSTALL_TYPE}-swift-base:${TAG} \
swift-ring-builder /etc/kolla/config/swift/container.builder create 10 3 1
echo "Created container builder"
for NODE in $STORAGE; do
for ((i=0; i<=$((dlen-1)); i++)); do
docker run \
-v /etc/kolla/config/swift/:/etc/kolla/config/swift/ \
${REGISTRY}/kolla/${KOLLA_BASE_DISTRO}-${KOLLA_INSTALL_TYPE}-swift-base:${TAG} swift-ring-builder \
/etc/kolla/config/swift/container.builder add r1z1-$NODE:6002/d${i} 1;
done
echo "Added $NODE to container ring"
done
echo "STORAGE NODES ADDED IN CONTAINER RING"
# Rebalancing done
for ring in object account container; do
docker run \
-v /etc/kolla/config/swift/:/etc/kolla/config/swift/ \
${REGISTRY}/kolla/${KOLLA_BASE_DISTRO}-${KOLLA_INSTALL_TYPE}-swift-base:${TAG} swift-ring-builder \
/etc/kolla/config/swift/${ring}.builder rebalance;
done
cp /opt/ref-impl-kolla/playbooks/start.yml /usr/local/share/kolla/ansible/roles/swift/tasks/
echo "REBALANCING DONE"