Multi-site High-availability Manual Failover (PoC)

Change-Id: Ib11a01170962a932466bcfb1b12e6e0563476e73
Signed-off-by: Neha Jain <neha.jain3@amdocs.com>
Issue-ID: SDNC-214
diff --git a/kubernetes/common/mysql/templates/service.yaml b/kubernetes/common/mysql/templates/service.yaml
index c6a28c4..db08c3a 100644
--- a/kubernetes/common/mysql/templates/service.yaml
+++ b/kubernetes/common/mysql/templates/service.yaml
@@ -88,3 +88,27 @@
     app: {{ include "common.name" . }}
     release: {{ .Release.Name }}
   clusterIP: None
+---
+{{ if .Values.geoEnabled }}
+apiVersion: v1
+kind: Service
+metadata:
+  name: {{ .Values.service.name }}-nodeport
+  namespace: {{ include "common.namespace" . }}
+  labels:
+    statefulset.kubernetes.io/pod-name: {{ include "common.fullname" . }}-0
+spec:
+  ports:
+  - name: {{ .Values.service.internalPort }}
+    port: {{ .Values.service.internalPort }}
+    targetPort: {{ .Values.service.internalPort }}
+    nodePort: {{ .Values.global.nodePortPrefix | default .Values.nodePortPrefix }}{{ .Values.service.externalPort1 }}
+  - name: {{ .Values.xtrabackup.internalPort }}
+    port: {{ .Values.xtrabackup.internalPort }}
+    targetPort: {{ .Values.xtrabackup.internalPort }}
+    nodePort: {{ .Values.global.nodePortPrefix | default .Values.nodePortPrefix }}{{ .Values.service.externalPort2 }}
+  type: NodePort
+  selector:
+    statefulset.kubernetes.io/pod-name: {{ include "common.fullname" . }}-0
+    release: {{ .Release.Name }}
+{{ end }}
diff --git a/kubernetes/common/mysql/templates/statefulset.yaml b/kubernetes/common/mysql/templates/statefulset.yaml
index 7b55bf2..e3f3428 100644
--- a/kubernetes/common/mysql/templates/statefulset.yaml
+++ b/kubernetes/common/mysql/templates/statefulset.yaml
@@ -45,10 +45,11 @@
           # Generate mysql server-id from pod ordinal index.
           [[ `hostname` =~ -([0-9]+)$ ]] || exit 1
           ordinal=${BASH_REMATCH[1]}
+          siteId={{ .Values.geoSiteId }}
           echo BASH_REMATCH=${BASH_REMATCH}
           echo [mysqld] > /mnt/conf.d/server-id.cnf
           # Add an offset to avoid reserved server-id=0 value.
-          echo server-id=$((100 + $ordinal)) >> /mnt/conf.d/server-id.cnf
+          echo server-id=$(($siteId*100 + $ordinal)) >> /mnt/conf.d/server-id.cnf
           # Copy appropriate conf.d files from config-map to emptyDir.
           if [[ $ordinal -eq 0 ]]; then
             cp /mnt/config-map/master.cnf /mnt/conf.d/
@@ -93,7 +94,7 @@
           subPath: mysql
         - name: conf
           mountPath: /etc/mysql/conf.d
-          
+
       containers:
         #sdnc-db-container
         - name: {{ include "common.name" . }}
@@ -236,3 +237,4 @@
 #{{ else }}
         emptyDir: {}
 #{{ end }}
+