Fix DCAE Redis cluster config
[oom.git] / kubernetes / dcaegen2 / charts / dcae-redis / resources / redis / scripts / redis-cluster-config.sh
index 3431e7e..a63ab16 100755 (executable)
@@ -15,8 +15,9 @@
 # limitations under the License.
 # ============LICENSE_END=========================================================
 
-
-if [[ "$HOSTNAME" == *{{.Chart.Name}}-0 ]]; then
+(if [[ "$HOSTNAME" == *{{.Chart.Name}}-0 ]]; then
+  echo "delay by 10 seconds for redis server starting"
+  sleep 10
 
   NODES=""
   echo "====> wait for all {{.Values.replicaCount}} redis pods up"
@@ -27,8 +28,11 @@ if [[ "$HOSTNAME" == *{{.Chart.Name}}-0 ]]; then
     RESP=$(wget -vO- --ca-certificate /var/run/secrets/kubernetes.io/serviceaccount/ca.crt  --header "Authorization: Bearer $(</var/run/secrets/kubernetes.io/serviceaccount/token)" https://$KUBERNETES_SERVICE_HOST:$KUBERNETES_PORT_443_TCP_PORT/api/v1/namespaces/{{.Release.Namespace}}/pods?labelSelector=app={{.Chart.Name}})
 
     IPS=$(echo $RESP | jq -r '.items[].status.podIP')
+    IPS2=$(echo $IPS | sed -e 's/[a-zA-Z]*//g')
+    echo "======> IPs: ["$IPS2"]"
     NODES=""
-    for I in $IPS; do NODES="$NODES $I:{{.Values.service.externalPort}}"; done
+    for I in $IPS2; do NODES="$NODES $I:{{.Values.service.externalPort}}"; done
+    echo "======> nodes: ["$NODES"]"
   done
   echo "====> all {{.Values.replicaCount}} redis cluster pods are up. wait 10 seconds before the next step"; echo
   sleep 10
@@ -36,6 +40,9 @@ if [[ "$HOSTNAME" == *{{.Chart.Name}}-0 ]]; then
   echo "====> Configure the cluster"
 
   # $NODES w/o quotes
+  echo "======> nodes: [$(echo $NODES |paste -s)]"
   redis-trib create --replicas 1 $(echo $NODES |paste -s)
+fi ) &
+
+redis-server /conf/redis.conf
 
-fi