|
68 | 68 | {{- end }} |
69 | 69 | {{- range $key, $value := .Values.sentinel.config }} |
70 | 70 | {{- if eq "maxclients" $key }} |
71 | | - {{ $key }} {{ $value }} |
| 71 | + {{ $key }} {{ $value }} |
72 | 72 | {{- else }} |
73 | | - sentinel {{ $key }} {{ template "redis-ha.masterGroupName" $ }} {{ $value }} |
| 73 | + sentinel {{ $key }} {{ template "redis-ha.masterGroupName" $ }} {{ $value }} |
74 | 74 | {{- end }} |
75 | 75 | {{- end }} |
76 | 76 | {{- if .Values.auth }} |
|
79 | 79 | {{- if .Values.sentinel.auth }} |
80 | 80 | requirepass replace-default-sentinel-auth |
81 | 81 | {{- end }} |
| 82 | +{{- if .Values.sentinel.resolveHostnames }} |
| 83 | + sentinel resolve-hostnames yes |
| 84 | +{{- end }} |
| 85 | +{{- if .Values.sentinel.announceHostnames }} |
| 86 | + sentinel announce-hostnames yes |
| 87 | +{{- end }} |
82 | 88 | {{- end }} |
83 | 89 | {{- end }} |
84 | 90 |
|
85 | 91 | {{- define "lib.sh" }} |
86 | 92 | sentinel_get_master() { |
87 | 93 | set +e |
88 | 94 | if [ "$SENTINEL_PORT" -eq 0 ]; then |
89 | | - redis-cli -h "${SERVICE}" -p "${SENTINEL_TLS_PORT}" {{ if .Values.sentinel.auth }} -a "${SENTINELAUTH}" --no-auth-warning{{ end }} --tls --cacert /tls-certs/{{ .Values.tls.caCertFile }} {{ if ne (default "yes" .Values.sentinel.authClients) "no"}} --cert /tls-certs/{{ .Values.tls.certFile }} --key /tls-certs/{{ .Values.tls.keyFile }}{{ end }} sentinel get-master-addr-by-name "${MASTER_GROUP}" |\ |
90 | | - grep -E '((^\s*((([0-9]|[1-9][0-9]|1[0-9]{2}|2[0-4][0-9]|25[0-5])\.){3}([0-9]|[1-9][0-9]|1[0-9]{2}|2[0-4][0-9]|25[0-5]))\s*$)|(^\s*((([0-9A-Fa-f]{1,4}:){7}([0-9A-Fa-f]{1,4}|:))|(([0-9A-Fa-f]{1,4}:){6}(:[0-9A-Fa-f]{1,4}|((25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)(\.(25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)){3})|:))|(([0-9A-Fa-f]{1,4}:){5}(((:[0-9A-Fa-f]{1,4}){1,2})|:((25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)(\.(25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)){3})|:))|(([0-9A-Fa-f]{1,4}:){4}(((:[0-9A-Fa-f]{1,4}){1,3})|((:[0-9A-Fa-f]{1,4})?:((25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)(\.(25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)){3}))|:))|(([0-9A-Fa-f]{1,4}:){3}(((:[0-9A-Fa-f]{1,4}){1,4})|((:[0-9A-Fa-f]{1,4}){0,2}:((25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)(\.(25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)){3}))|:))|(([0-9A-Fa-f]{1,4}:){2}(((:[0-9A-Fa-f]{1,4}){1,5})|((:[0-9A-Fa-f]{1,4}){0,3}:((25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)(\.(25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)){3}))|:))|(([0-9A-Fa-f]{1,4}:){1}(((:[0-9A-Fa-f]{1,4}){1,6})|((:[0-9A-Fa-f]{1,4}){0,4}:((25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)(\.(25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)){3}))|:))|(:(((:[0-9A-Fa-f]{1,4}){1,7})|((:[0-9A-Fa-f]{1,4}){0,5}:((25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)(\.(25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)){3}))|:)))(%.+)?s*$))' |
| 95 | + if [ "$RESOLVE_HOSTNAMES" = true ]; then |
| 96 | + redis-cli -h "${SERVICE}" -p "${SENTINEL_TLS_PORT}" {{ if .Values.sentinel.auth }} -a "${SENTINELAUTH}" --no-auth-warning{{ end }} --tls --cacert /tls-certs/{{ .Values.tls.caCertFile }} {{ if ne (default "yes" .Values.sentinel.authClients) "no"}} --cert /tls-certs/{{ .Values.tls.certFile }} --key /tls-certs/{{ .Values.tls.keyFile }}{{ end }} sentinel get-master-addr-by-name "${MASTER_GROUP}" |\ |
| 97 | + head -n 1 | grep -E '^\s*[a-zA-Z0-9.-]+\s*$' |
| 98 | + else |
| 99 | + redis-cli -h "${SERVICE}" -p "${SENTINEL_TLS_PORT}" {{ if .Values.sentinel.auth }} -a "${SENTINELAUTH}" --no-auth-warning{{ end }} --tls --cacert /tls-certs/{{ .Values.tls.caCertFile }} {{ if ne (default "yes" .Values.sentinel.authClients) "no"}} --cert /tls-certs/{{ .Values.tls.certFile }} --key /tls-certs/{{ .Values.tls.keyFile }}{{ end }} sentinel get-master-addr-by-name "${MASTER_GROUP}" |\ |
| 100 | + head -n 1 | grep -E '((^\s*((([0-9]|[1-9][0-9]|1[0-9]{2}|2[0-4][0-9]|25[0-5])\.){3}([0-9]|[1-9][0-9]|1[0-9]{2}|2[0-4][0-9]|25[0-5]))\s*$)|(^\s*((([0-9A-Fa-f]{1,4}:){7}([0-9A-Fa-f]{1,4}|:))|(([0-9A-Fa-f]{1,4}:){6}(:[0-9A-Fa-f]{1,4}|((25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)(\.(25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)){3})|:))|(([0-9A-Fa-f]{1,4}:){5}(((:[0-9A-Fa-f]{1,4}){1,2})|:((25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)(\.(25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)){3})|:))|(([0-9A-Fa-f]{1,4}:){4}(((:[0-9A-Fa-f]{1,4}){1,3})|((:[0-9A-Fa-f]{1,4})?:((25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)(\.(25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)){3}))|:))|(([0-9A-Fa-f]{1,4}:){3}(((:[0-9A-Fa-f]{1,4}){1,4})|((:[0-9A-Fa-f]{1,4}){0,2}:((25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)(\.(25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)){3}))|:))|(([0-9A-Fa-f]{1,4}:){2}(((:[0-9A-Fa-f]{1,4}){1,5})|((:[0-9A-Fa-f]{1,4}){0,3}:((25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)(\.(25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)){3}))|:))|(([0-9A-Fa-f]{1,4}:){1}(((:[0-9A-Fa-f]{1,4}){1,6})|((:[0-9A-Fa-f]{1,4}){0,4}:((25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)(\.(25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)){3}))|:))|(:(((:[0-9A-Fa-f]{1,4}){1,7})|((:[0-9A-Fa-f]{1,4}){0,5}:((25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)(\.(25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)){3}))|:)))(%.+)?s*$))' |
| 101 | + fi |
91 | 102 | else |
92 | | - redis-cli -h "${SERVICE}" -p "${SENTINEL_PORT}" {{ if .Values.sentinel.auth }} -a "${SENTINELAUTH}" --no-auth-warning{{ end }} sentinel get-master-addr-by-name "${MASTER_GROUP}" |\ |
93 | | - grep -E '((^\s*((([0-9]|[1-9][0-9]|1[0-9]{2}|2[0-4][0-9]|25[0-5])\.){3}([0-9]|[1-9][0-9]|1[0-9]{2}|2[0-4][0-9]|25[0-5]))\s*$)|(^\s*((([0-9A-Fa-f]{1,4}:){7}([0-9A-Fa-f]{1,4}|:))|(([0-9A-Fa-f]{1,4}:){6}(:[0-9A-Fa-f]{1,4}|((25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)(\.(25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)){3})|:))|(([0-9A-Fa-f]{1,4}:){5}(((:[0-9A-Fa-f]{1,4}){1,2})|:((25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)(\.(25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)){3})|:))|(([0-9A-Fa-f]{1,4}:){4}(((:[0-9A-Fa-f]{1,4}){1,3})|((:[0-9A-Fa-f]{1,4})?:((25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)(\.(25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)){3}))|:))|(([0-9A-Fa-f]{1,4}:){3}(((:[0-9A-Fa-f]{1,4}){1,4})|((:[0-9A-Fa-f]{1,4}){0,2}:((25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)(\.(25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)){3}))|:))|(([0-9A-Fa-f]{1,4}:){2}(((:[0-9A-Fa-f]{1,4}){1,5})|((:[0-9A-Fa-f]{1,4}){0,3}:((25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)(\.(25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)){3}))|:))|(([0-9A-Fa-f]{1,4}:){1}(((:[0-9A-Fa-f]{1,4}){1,6})|((:[0-9A-Fa-f]{1,4}){0,4}:((25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)(\.(25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)){3}))|:))|(:(((:[0-9A-Fa-f]{1,4}){1,7})|((:[0-9A-Fa-f]{1,4}){0,5}:((25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)(\.(25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)){3}))|:)))(%.+)?s*$))' |
| 103 | + if [ "$RESOLVE_HOSTNAMES" = true ]; then |
| 104 | + redis-cli -h "${SERVICE}" -p "${SENTINEL_PORT}" {{ if .Values.sentinel.auth }} -a "${SENTINELAUTH}" --no-auth-warning{{ end }} sentinel get-master-addr-by-name "${MASTER_GROUP}" |\ |
| 105 | + head -n 1 | grep -E '^\s*[a-zA-Z0-9.-]+\s*$' |
| 106 | + else |
| 107 | + redis-cli -h "${SERVICE}" -p "${SENTINEL_PORT}" {{ if .Values.sentinel.auth }} -a "${SENTINELAUTH}" --no-auth-warning{{ end }} sentinel get-master-addr-by-name "${MASTER_GROUP}" |\ |
| 108 | + head -n 1 | grep -E '((^\s*((([0-9]|[1-9][0-9]|1[0-9]{2}|2[0-4][0-9]|25[0-5])\.){3}([0-9]|[1-9][0-9]|1[0-9]{2}|2[0-4][0-9]|25[0-5]))\s*$)|(^\s*((([0-9A-Fa-f]{1,4}:){7}([0-9A-Fa-f]{1,4}|:))|(([0-9A-Fa-f]{1,4}:){6}(:[0-9A-Fa-f]{1,4}|((25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)(\.(25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)){3})|:))|(([0-9A-Fa-f]{1,4}:){5}(((:[0-9A-Fa-f]{1,4}){1,2})|:((25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)(\.(25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)){3})|:))|(([0-9A-Fa-f]{1,4}:){4}(((:[0-9A-Fa-f]{1,4}){1,3})|((:[0-9A-Fa-f]{1,4})?:((25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)(\.(25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)){3}))|:))|(([0-9A-Fa-f]{1,4}:){3}(((:[0-9A-Fa-f]{1,4}){1,4})|((:[0-9A-Fa-f]{1,4}){0,2}:((25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)(\.(25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)){3}))|:))|(([0-9A-Fa-f]{1,4}:){2}(((:[0-9A-Fa-f]{1,4}){1,5})|((:[0-9A-Fa-f]{1,4}){0,3}:((25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)(\.(25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)){3}))|:))|(([0-9A-Fa-f]{1,4}:){1}(((:[0-9A-Fa-f]{1,4}){1,6})|((:[0-9A-Fa-f]{1,4}){0,4}:((25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)(\.(25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)){3}))|:))|(:(((:[0-9A-Fa-f]{1,4}){1,7})|((:[0-9A-Fa-f]{1,4}){0,5}:((25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)(\.(25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)){3}))|:)))(%.+)?s*$))' |
| 109 | + fi |
94 | 110 | fi |
95 | 111 | set -e |
96 | 112 | } |
|
177 | 193 | echo " make sure ${ANNOUNCE_IP} is not a slave (slaveof no one)" |
178 | 194 | sed -i "s/^.*slaveof.*//" "${REDIS_CONF}" |
179 | 195 | else |
180 | | - echo "Getting redis master ip.." |
181 | | - echo " blindly assuming (${SERVICE}-announce-0) or (${SERVICE}-server-0) are master" |
182 | | - DEFAULT_MASTER="$(getent_hosts 0 | awk '{ print $1 }')" |
183 | | - if [ -z "${DEFAULT_MASTER}" ]; then |
184 | | - echo "Error: Unable to resolve redis master (getent hosts)." |
185 | | - exit 1 |
| 196 | + if [ "$RESOLVE_HOSTNAMES" = true ]; then |
| 197 | + echo "Getting redis master hostname.." |
| 198 | + echo " blindly assuming (${SERVICE}-announce-0.${NAMESPACE}.svc) is master" |
| 199 | + DEFAULT_MASTER="${SERVICE}-announce-0.${NAMESPACE}.svc" |
| 200 | + echo " identified redis (may be redis master) hostname (${DEFAULT_MASTER})" |
| 201 | + else |
| 202 | + echo "Getting redis master ip.." |
| 203 | + echo " blindly assuming (${SERVICE}-announce-0) or (${SERVICE}-server-0) are master" |
| 204 | + DEFAULT_MASTER="$(getent_hosts 0 | awk '{ print $1 }')" |
| 205 | + if [ -z "${DEFAULT_MASTER}" ]; then |
| 206 | + echo "Error: Unable to resolve redis master (getent hosts)." |
| 207 | + exit 1 |
| 208 | + fi |
| 209 | + echo " identified redis (may be redis master) ip (${DEFAULT_MASTER})" |
186 | 210 | fi |
187 | | - echo " identified redis (may be redis master) ip (${DEFAULT_MASTER})" |
188 | 211 | echo "Setting default slave config for redis and sentinel.." |
189 | | - echo " using master ip (${DEFAULT_MASTER})" |
| 212 | + echo " using master address (${DEFAULT_MASTER})" |
190 | 213 | redis_update "${DEFAULT_MASTER}" |
191 | 214 | sentinel_update "${DEFAULT_MASTER}" |
192 | 215 | fi |
|
281 | 304 | getent_hosts() { |
282 | 305 | index=${1:-${INDEX}} |
283 | 306 | service="${SERVICE}-announce-${index}" |
284 | | - host=$(getent hosts "${service}") |
285 | | - echo "${host}" |
| 307 | + if [ "$RESOLVE_HOSTNAMES" = true ]; then |
| 308 | + echo "${service}.${NAMESPACE}.svc" |
| 309 | + else |
| 310 | + host=$(getent hosts "${service}") |
| 311 | + echo "${host}" |
| 312 | + fi |
286 | 313 | } |
287 | 314 |
|
288 | 315 | identify_announce_ip() { |
289 | | - echo "Identify announce ip for this pod.." |
290 | | - echo " using (${SERVICE}-announce-${INDEX}) or (${SERVICE}-server-${INDEX})" |
291 | | - ANNOUNCE_IP=$(getent_hosts | awk '{ print $1 }') |
| 316 | + if [ "$ANNOUNCE_HOSTNAMES" = true ]; then |
| 317 | + echo "Identify announce hostname for this pod.." |
| 318 | + echo " using (${SERVICE}-announce-${INDEX}.${NAMESPACE}.svc)" |
| 319 | + ANNOUNCE_IP="${SERVICE}-announce-${INDEX}.${NAMESPACE}.svc" |
| 320 | + else |
| 321 | + echo "Identify announce ip for this pod.." |
| 322 | + echo " using (${SERVICE}-announce-${INDEX}) or (${SERVICE}-server-${INDEX})" |
| 323 | + ANNOUNCE_IP=$(getent_hosts | awk '{ print $1 }') |
| 324 | + fi |
292 | 325 | echo " identified announce (${ANNOUNCE_IP})" |
293 | 326 | } |
294 | 327 | {{- end }} |
|
310 | 343 | SENTINEL_CONF=/data/conf/sentinel.conf |
311 | 344 | SENTINEL_TLS_PORT={{ .Values.sentinel.tlsPort }} |
312 | 345 | SERVICE={{ template "redis-ha.fullname" . }} |
| 346 | + NAMESPACE="{{ .Release.Namespace }}" |
313 | 347 | SENTINEL_TLS_REPLICATION_ENABLED={{ default false .Values.sentinel.tlsReplication }} |
314 | 348 | REDIS_TLS_REPLICATION_ENABLED={{ default false .Values.redis.tlsReplication }} |
| 349 | + RESOLVE_HOSTNAMES={{ default false .Values.sentinel.resolveHostnames }} |
| 350 | + ANNOUNCE_HOSTNAMES={{ default false .Values.sentinel.announceHostnames }} |
315 | 351 | {{- end }} |
316 | 352 |
|
317 | 353 | {{- define "config-init.sh" }} |
|
333 | 369 | identify_announce_ip |
334 | 370 |
|
335 | 371 | if [ -z "${ANNOUNCE_IP}" ]; then |
336 | | - "Error: Could not resolve the announce ip for this pod" |
| 372 | + echo "Error: Could not resolve the announce address for this pod" |
337 | 373 | exit 1 |
338 | 374 | elif [ "${MASTER}" ]; then |
339 | 375 | find_master |
|
460 | 496 | identify_announce_ip |
461 | 497 |
|
462 | 498 | while [ -z "${ANNOUNCE_IP}" ]; do |
463 | | - echo "Error: Could not resolve the announce ip for this pod." |
| 499 | + echo "Error: Could not resolve the announce address for this pod." |
464 | 500 | sleep 30 |
465 | 501 | identify_announce_ip |
466 | 502 | done |
|
540 | 576 | tcp-check expect string REPLACE_ANNOUNCE{{ $i }} |
541 | 577 | tcp-check send QUIT\r\n |
542 | 578 | {{- range $i := until $replicas }} |
| 579 | + {{- if $.Values.sentinel.resolveHostnames }} |
| 580 | + server R{{ $i }} {{ $fullName }}-announce-{{ $i }}.{{ $.Release.Namespace }}.svc:26379 check inter {{ $root.Values.haproxy.checkInterval }} |
| 581 | + {{- else }} |
543 | 582 | server R{{ $i }} {{ $fullName }}-announce-{{ $i }}:26379 check inter {{ $root.Values.haproxy.checkInterval }} |
544 | 583 | {{- end }} |
| 584 | + {{- end }} |
545 | 585 | {{- end }} |
546 | 586 |
|
547 | 587 | # decide redis backend to use |
|
580 | 620 | tcp-check expect string +OK |
581 | 621 | {{- range $i := until $replicas }} |
582 | 622 | use-server R{{ $i }} if { srv_is_up(R{{ $i }}) } { nbsrv(check_if_redis_is_master_{{ $i }}) ge 2 } |
| 623 | + {{- if $.Values.sentinel.resolveHostnames }} |
| 624 | + server R{{ $i }} {{ $fullName }}-announce-{{ $i }}.{{ $.Release.Namespace }}.svc:{{ $root.Values.redis.port }} check inter {{ $root.Values.haproxy.checkInterval }} fall {{ $root.Values.haproxy.checkFall }} rise 1 |
| 625 | + {{- else }} |
583 | 626 | server R{{ $i }} {{ $fullName }}-announce-{{ $i }}:{{ $root.Values.redis.port }} check inter {{ $root.Values.haproxy.checkInterval }} fall {{ $root.Values.haproxy.checkFall }} rise 1 |
584 | 627 | {{- end }} |
| 628 | + {{- end }} |
585 | 629 | {{- if .Values.haproxy.readOnly.enabled }} |
586 | 630 | backend bk_redis_slave |
587 | 631 | {{- if .Values.haproxy.stickyBalancing }} |
|
602 | 646 | tcp-check send QUIT\r\n |
603 | 647 | tcp-check expect string +OK |
604 | 648 | {{- range $i := until $replicas }} |
| 649 | + {{- if $.Values.sentinel.resolveHostnames }} |
| 650 | + server R{{ $i }} {{ $fullName }}-announce-{{ $i }}.{{ $.Release.Namespace }}.svc:{{ $root.Values.redis.port }} check inter {{ $root.Values.haproxy.checkInterval }} fall {{ $root.Values.haproxy.checkFall }} rise 1 |
| 651 | + {{- else }} |
605 | 652 | server R{{ $i }} {{ $fullName }}-announce-{{ $i }}:{{ $root.Values.redis.port }} check inter {{ $root.Values.haproxy.checkInterval }} fall {{ $root.Values.haproxy.checkFall }} rise 1 |
606 | 653 | {{- end }} |
| 654 | + {{- end }} |
607 | 655 | {{- end }} |
608 | 656 | {{- if .Values.haproxy.metrics.enabled }} |
609 | 657 | frontend stats |
|
627 | 675 | cp /readonly/haproxy.cfg "$HAPROXY_CONF" |
628 | 676 | {{- $fullName := include "redis-ha.fullname" . }} |
629 | 677 | {{- $replicas := int (toString .Values.replicas) }} |
| 678 | + {{- $resolveHostnames := .Values.sentinel.resolveHostnames }} |
| 679 | + {{- $namespace := .Release.Namespace }} |
630 | 680 | {{- range $i := until $replicas }} |
| 681 | + {{- if $resolveHostnames }} |
| 682 | + ANNOUNCE_IP{{ $i }}="{{ $fullName }}-announce-{{ $i }}.{{ $namespace }}.svc" |
| 683 | + echo "Using hostname for {{ $fullName }}-announce-{{ $i }}.{{ $namespace }}.svc: $ANNOUNCE_IP{{ $i }}" |
| 684 | + {{- else }} |
631 | 685 | for loop in $(seq 1 10); do |
632 | 686 | getent hosts {{ $fullName }}-announce-{{ $i }} && break |
633 | 687 | echo "Waiting for service {{ $fullName }}-announce-{{ $i }} to be ready ($loop) ..." && sleep 1 |
634 | 688 | done |
635 | 689 | ANNOUNCE_IP{{ $i }}=$(getent hosts "{{ $fullName }}-announce-{{ $i }}" | awk '{ print $1 }') |
636 | 690 | if [ -z "$ANNOUNCE_IP{{ $i }}" ]; then |
637 | | - echo "Could not resolve the announce ip for {{ $fullName }}-announce-{{ $i }}" |
| 691 | + echo "Could not resolve the announce address for {{ $fullName }}-announce-{{ $i }}" |
638 | 692 | exit 1 |
639 | 693 | fi |
| 694 | + {{- end }} |
640 | 695 | sed -i "s/REPLACE_ANNOUNCE{{ $i }}/$ANNOUNCE_IP{{ $i }}/" "$HAPROXY_CONF" |
641 | 696 |
|
642 | 697 | {{- end }} |
|
0 commit comments