Skip to content

Commit 7e12369

Browse files
authored
Merge pull request #21 from ucloud/v0.1.9
fixed default shutdown shell
2 parents 83c7b3e + 9c152cc commit 7e12369

File tree

1 file changed

+14
-4
lines changed

1 file changed

+14
-4
lines changed

pkg/controller/service/generator.go

Lines changed: 14 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -140,11 +140,21 @@ func generateRedisShutdownConfigMap(rc *redisv1beta1.RedisCluster, labels map[st
140140
envSentinelHost := fmt.Sprintf("REDIS_SENTINEL_%s_SERVICE_HOST", strings.ToUpper(rc.Name))
141141
envSentinelPort := fmt.Sprintf("REDIS_SENTINEL_%s_SERVICE_PORT_SENTINEL", strings.ToUpper(rc.Name))
142142
shutdownContent := fmt.Sprintf(`#!/usr/bin/env sh
143-
set -eou pipefail
144-
master=$(redis-cli -h ${%s} -p ${%s} --csv SENTINEL get-master-addr-by-name mymaster | tr ',' ' ' | tr -d '\"' |cut -d' ' -f1)
143+
master=""
144+
response_code=""
145+
while [ "$master" = "" ]; do
146+
echo "Asking sentinel who is master..."
147+
master=$(redis-cli -h ${%s} -p ${%s} --csv SENTINEL get-master-addr-by-name mymaster | tr ',' ' ' | tr -d '\"' |cut -d' ' -f1)
148+
sleep 1
149+
done
150+
echo "Master is $master, doing redis save..."
145151
redis-cli SAVE
146-
if [[ $master == $(hostname -i) ]]; then
147-
redis-cli -h ${%s} -p ${%s} SENTINEL failover mymaster
152+
if [ $master = $(hostname -i) ]; then
153+
while [ ! "$response_code" = "OK" ]; do
154+
response_code=$(redis-cli -h ${%s} -p ${%s} SENTINEL failover mymaster)
155+
echo "after failover with code $response_code"
156+
sleep 1
157+
done
148158
fi`, envSentinelHost, envSentinelPort, envSentinelHost, envSentinelPort)
149159

150160
return &corev1.ConfigMap{

0 commit comments

Comments
 (0)