diff options
author | Matthieu Cauffiez <matthieu.cauffiez@bell.ca> | 2019-03-18 15:11:38 -0400 |
---|---|---|
committer | Matthieu Cauffiez <matthieu.cauffiez@bell.ca> | 2019-03-18 15:11:44 -0400 |
commit | bfd5906e06e6fbbf70c389400075c5f0734d69f5 (patch) | |
tree | be4e79fb83f6ec000bbf3d5e171e98b4cac602e9 | |
parent | bb26706ffcfbbe412a43a2c04a5e127f4a21b5d4 (diff) |
if increasing zookeeper quorom wont be maintained
https://gerrit.onap.org/r/#/c/82044/ if the number is
even quorum wont be maintained.
Issue-ID: DMAAP-1088
Change-Id: I82a998a4922499c753f9f8e256b0f76ce90fa31f
Signed-off-by: Matthieu Cauffiez <matthieu.cauffiez@bell.ca>
2 files changed, 35 insertions, 1 deletions
diff --git a/kubernetes/dmaap/components/message-router/charts/message-router-zookeeper/templates/_zkquorum.tpl b/kubernetes/dmaap/components/message-router/charts/message-router-zookeeper/templates/_zkquorum.tpl new file mode 100644 index 0000000000..9af910eb89 --- /dev/null +++ b/kubernetes/dmaap/components/message-router/charts/message-router-zookeeper/templates/_zkquorum.tpl @@ -0,0 +1,34 @@ +{{/* +# Copyright © 2019 Amdocs, Bell Canada +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. +*/}} + +{{- /* + Calculate the maximum number of zk server down in order to guarantee ZK quorum. + For guaranteeing ZK quorum we need half of the server + 1 up. + + div in go template cast return an int64 + so we need to know if it is an even number or an odd. + For this we are doing (n/2)*2=n? + if true it is even else it is even +*/ -}} +{{- define "zk.maxUnavailable" -}} +{{- $halfReplica := div .Values.replicaCount 2 -}} + {{/* divide by 2 and multiply by 2 in order to know if it is an even number*/}} + {{if eq (mul $halfReplica 2) (int .Values.replicaCount) }} + {{- toYaml (sub $halfReplica 1) -}} + {{else}} + {{- toYaml $halfReplica -}} + {{end}} +{{- end -}} diff --git a/kubernetes/dmaap/components/message-router/charts/message-router-zookeeper/templates/poddisruptionbudget.yaml b/kubernetes/dmaap/components/message-router/charts/message-router-zookeeper/templates/poddisruptionbudget.yaml index 2d251e90b0..5a370cdc4a 100644 --- a/kubernetes/dmaap/components/message-router/charts/message-router-zookeeper/templates/poddisruptionbudget.yaml +++ b/kubernetes/dmaap/components/message-router/charts/message-router-zookeeper/templates/poddisruptionbudget.yaml @@ -25,4 +25,4 @@ spec: selector: matchLabels: app: {{ include "common.name" . }} - maxUnavailable: {{ div (sub .Values.replicaCount 1) 2 }} + maxUnavailable: {{ include "zk.maxUnavailable" . }} |