global:
   nodePortPrefix: 302
   readinessRepository: oomk8s
-  readinessImage: readiness-check:2.0.0
+  readinessImage: readiness-check:2.0.2
   loggingRepository: docker.elastic.co
   loggingImage: beats/filebeat:5.5.0
 
 
+++ /dev/null
-# Copyright © 2017 Amdocs, AT&T, Bell Canada
-# Modifications Copyright © 2018  ZTE
-#
-# 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.
-
-apiVersion: extensions/v1beta1
-kind: Deployment
-metadata:
-  name: {{ include "common.fullname" . }}
-  namespace: {{ include "common.namespace" . }}
-  labels:
-    app: {{ include "common.name" . }}
-    chart: {{ .Chart.Name }}-{{ .Chart.Version | replace "+" "_" }}
-    release: {{ .Release.Name }}
-    heritage: {{ .Release.Service }}
-spec:
-  replicas: {{ .Values.replicaCount }}
-  template:
-    metadata:
-      labels:
-        app: {{ include "common.name" . }}
-        release: {{ .Release.Name }}
-    spec:
-      containers:
-        - name: {{ include "common.name" . }}
-          image: "{{ include "common.repository" . }}/{{ .Values.image }}"
-          imagePullPolicy: {{ .Values.global.pullPolicy | default .Values.pullPolicy }}
-          ports:
-          - containerPort: {{ .Values.service.internalPort }}
-          - containerPort: {{ .Values.service.internalPort2 }}
-          {{ if eq .Values.liveness.enabled true }}
-          livenessProbe:
-            tcpSocket:
-              port: {{ .Values.service.internalPort }}
-            initialDelaySeconds: {{ .Values.liveness.initialDelaySeconds }}
-            periodSeconds: {{ .Values.liveness.periodSeconds }}
-          {{ end }}
-          readinessProbe:
-            exec:
-              command:
-              - "/var/lib/ready-probe.sh"
-            initialDelaySeconds: {{ .Values.readiness.initialDelaySeconds }}
-            periodSeconds: {{ .Values.readiness.periodSeconds }}
-          resources:
-{{ include "common.resources" . | indent 12 }}
-          env:
-          - name: ENVNAME
-            value: {{ .Values.global.env.name }}
-          - name: RELEASE
-            value: {{ .Values.config.release }}
-          - name: MAX_HEAP_SIZE
-            value: {{ .Values.config.maxHeapSize }}
-          - name: HEAP_NEWSIZE
-            value: {{ .Values.config.heapNewSize }}
-          - name: HOST_IP
-            valueFrom:
-              fieldRef:
-                fieldPath: status.podIP
-          - name: CS_PASSWORD
-            valueFrom:
-              secretKeyRef: {name: {{ .Release.Name }}-sdc-cs-secrets, key: cs_password}
-          volumeMounts:
-          - name: {{ include "common.fullname" . }}-data
-            mountPath: /var/lib/cassandra/
-          - name: {{ include "common.fullname" . }}-environments
-            mountPath: /root/chef-solo/environments/
-          - name: {{ include "common.fullname" . }}-localtime
-            mountPath: /etc/localtime
-            readOnly: true
-      volumes:
-      - name: {{ include "common.fullname" . }}-localtime
-        hostPath:
-          path: /etc/localtime
-      - name: {{ include "common.fullname" . }}-data
-      {{- if .Values.persistence.enabled }}
-        persistentVolumeClaim:
-          claimName: {{ include "common.fullname" . }}
-      {{- else }}
-        emptyDir: {}
-      {{- end }}
-      - name: {{ include "common.fullname" . }}-environments
-        configMap:
-          name: {{ .Release.Name }}-sdc-environments-configmap
-          defaultMode: 0755
-      imagePullSecrets:
-      - name: "{{ include "common.namespace" . }}-docker-registry-key"
 
         - /root/ready.py
         args:
         - --container-name
+        {{- if .Values.global.cassandra.localCluster }}
         - sdc-cs
+        {{- else }}
+        - cassandra
+        {{- end }}
         env:
         - name: NAMESPACE
           valueFrom:
         volumeMounts:
         - name: {{ include "common.fullname" . }}-environments
           mountPath: /root/chef-solo/environments/
-        - name: {{ include "common.fullname" . }}-data
-          mountPath: /var/lib/cassandra/
         - name: {{ include "common.fullname" . }}-chef-cache
           mountPath: /root/chef-solo/cache
         env:
         configMap:
           name: {{ .Release.Name }}-sdc-environments-configmap
           defaultMode: 0755
-      - name: {{ include "common.fullname" . }}-data
-      {{- if .Values.persistence.enabled }}
-        persistentVolumeClaim:
-          claimName: {{ include "common.fullname" . }}
-      {{- else }}
-        emptyDir: {}
-      {{- end }}
       - name: {{ include "common.fullname" . }}-chef-cache
         emptyDir: {}
       imagePullSecrets:
 
+++ /dev/null
-{{/*
-# Copyright © 2017 Amdocs, Bell Canada
-# Modifications Copyright © 2018 AT&T, ZTE
-#
-# 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.
-*/}}
-
-{{- if and .Values.persistence.enabled (not .Values.persistence.existingClaim) -}}
-kind: PersistentVolume
-apiVersion: v1
-metadata:
-  name: {{ include "common.fullname" . }}
-  namespace: {{ include "common.namespace" . }}
-  labels:
-    app: {{ include "common.name" . }}
-    chart: "{{ .Chart.Name }}-{{ .Chart.Version | replace "+" "_" }}"
-    release: "{{ .Release.Name }}"
-    heritage: "{{ .Release.Service }}"
-    name: {{ include "common.fullname" . }}
-spec:
-  capacity:
-    storage: {{ .Values.persistence.size}}
-  accessModes:
-    - {{ .Values.persistence.accessMode }}
-  persistentVolumeReclaimPolicy: {{ .Values.persistence.volumeReclaimPolicy }}
-  hostPath:
-    path: {{ .Values.global.persistence.mountPath | default .Values.persistence.mountPath }}/{{ .Release.Name }}/{{ .Values.persistence.mountSubPath }}
-{{- end -}}
 
+++ /dev/null
-{{/*
-# Copyright © 2017 Amdocs, Bell Canada
-# Modifications Copyright © 2018 AT&T, ZTE
-#
-# 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.
-*/}}
-
-{{- if and .Values.persistence.enabled (not .Values.persistence.existingClaim) -}}
-kind: PersistentVolumeClaim
-apiVersion: v1
-metadata:
-  name: {{ include "common.fullname" . }}
-  namespace: {{ include "common.namespace" . }}
-  labels:
-    app: {{ include "common.name" . }}
-    chart: "{{ .Chart.Name }}-{{ .Chart.Version }}"
-    release: "{{ .Release.Name }}"
-    heritage: "{{ .Release.Service }}"
-{{- if .Values.persistence.annotations }}
-  annotations:
-{{ toYaml .Values.persistence.annotations | indent 4 }}
-{{- end }}
-spec:
-  selector:
-    matchLabels:
-      name: {{ include "common.fullname" . }}
-  accessModes:
-    - {{ .Values.persistence.accessMode }}
-  resources:
-    requests:
-      storage: {{ .Values.persistence.size }}
-{{- if .Values.persistence.storageClass }}
-{{- if (eq "-" .Values.persistence.storageClass) }}
-  storageClassName: ""
-{{- else }}
-  storageClassName: "{{ .Values.persistence.storageClass }}"
-{{- end }}
-{{- end }}
-{{- end -}}
 
+++ /dev/null
-# Copyright © 2017 Amdocs, Bell Canada
-# Modifications Copyright © 2018 AT&T, ZTE
-#
-# 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.
-
-apiVersion: v1
-kind: Service
-metadata:
-  name: {{ include "common.servicename" . }}
-  namespace: {{ include "common.namespace" . }}
-  labels:
-    app: {{ include "common.name" . }}
-    chart: {{ .Chart.Name }}-{{ .Chart.Version | replace "+" "_" }}
-    release: {{ .Release.Name }}
-    heritage: {{ .Release.Service }}
-spec:
-  type: {{ .Values.service.type }}
-  ports:
-    {{if eq .Values.service.type "NodePort" -}}
-    - port: {{ .Values.service.internalPort }}
-      nodePort: {{ .Values.global.nodePortPrefix | default .Values.nodePortPrefix }}{{ .Values.service.nodePort }}
-      name: {{ .Values.service.portName }}
-    - port: {{ .Values.service.internalPort2 }}
-      nodePort: {{ .Values.global.nodePortPrefix | default .Values.nodePortPrefix }}{{ .Values.service.nodePort2 }}
-      name: {{ .Values.service.portName }}2
-    {{- else -}}
-    - port: {{ .Values.service.externalPort }}
-      targetPort: {{ .Values.service.internalPort }}
-      name: {{ .Values.service.portName }}
-    - port: {{ .Values.service.externalPort2 }}
-      targetPort: {{ .Values.service.internalPort2 }}
-      name: {{ .Values.service.portName }}2
-    {{- end}}
-  selector:
-    app: {{ include "common.name" . }}
-    release: {{ .Release.Name }}
 
 global:
   nodePortPrefix: 302
   readinessRepository: oomk8s
-  readinessImage: readiness-check:2.0.0
+  readinessImage: readiness-check:2.0.2
   loggingRepository: docker.elastic.co
   loggingImage: beats/filebeat:5.5.0
 
 
 global:
   nodePortPrefix: 302
   readinessRepository: oomk8s
-  readinessImage: readiness-check:2.0.0
+  readinessImage: readiness-check:2.0.2
   loggingRepository: docker.elastic.co
   loggingImage: beats/filebeat:5.5.0
 
     requests:
       cpu: 20m
       memory: 2Gi
-  unlimited: {}
\ No newline at end of file
+  unlimited: {}
 
 global:
   nodePortPrefix: 302
   readinessRepository: oomk8s
-  readinessImage: readiness-check:2.0.0
+  readinessImage: readiness-check:2.0.2
   loggingRepository: docker.elastic.co
   loggingImage: beats/filebeat:5.5.0
 
     requests:
       cpu: 20m
       memory: 2Gi
-  unlimited: {}
\ No newline at end of file
+  unlimited: {}
 
 global:
   nodePortPrefix: 302
   readinessRepository: oomk8s
-  readinessImage: readiness-check:2.0.0
+  readinessImage: readiness-check:2.0.2
   loggingRepository: docker.elastic.co
   loggingImage: beats/filebeat:5.5.0
 
     requests:
       cpu: 20m
       memory: 2Gi
-  unlimited: {}
\ No newline at end of file
+  unlimited: {}
 
 global:
   nodePortPrefix: 302
   readinessRepository: oomk8s
-  readinessImage: readiness-check:2.0.0
+  readinessImage: readiness-check:2.0.2
   loggingRepository: docker.elastic.co
   loggingImage: beats/filebeat:5.5.0
 
     requests:
       cpu: 20m
       memory: 2Gi
-  unlimited: {}
\ No newline at end of file
+  unlimited: {}
 
 global:
   nodePortPrefix: 302
   readinessRepository: oomk8s
-  readinessImage: readiness-check:2.0.0
+  readinessImage: readiness-check:2.0.2
   loggingRepository: docker.elastic.co
   loggingImage: beats/filebeat:5.5.0
   ubuntuInitRepository: oomk8s
 
 global:
   nodePortPrefix: 302
   readinessRepository: oomk8s
-  readinessImage: readiness-check:2.0.0
+  readinessImage: readiness-check:2.0.2
   loggingRepository: docker.elastic.co
   loggingImage: beats/filebeat:5.5.0
 
 
 global:
   nodePortPrefix: 302
   readinessRepository: oomk8s
-  readinessImage: readiness-check:2.0.0
+  readinessImage: readiness-check:2.0.2
   loggingRepository: docker.elastic.co
   loggingImage: beats/filebeat:5.5.0
 
 
         volumeMounts:
         - name: {{ include "common.fullname" . }}-environments
           mountPath: /root/chef-solo/environments/
-        - name: {{ include "common.fullname" . }}-data
-          mountPath: /var/lib/cassandra/
         env:
         - name: ENVNAME
           value: {{ .Values.global.env.name }}
           valueFrom:
             secretKeyRef: {name: {{ .Release.Name }}-sdc-cs-secrets, key: cs_password}
         - name: CS_HOST_IP
-          value: "sdc-cs"
+          value: "{{ .Values.global.cassandra.serviceName }}"
       volumes:
       - name: {{ include "common.fullname" . }}-environments
         configMap:
           name: {{ .Release.Name }}-sdc-environments-configmap
           defaultMode: 0755
-      - name: {{ include "common.fullname" . }}-data
-      {{- if .Values.persistence.enabled }}
-        persistentVolumeClaim:
-          claimName: {{ include "common.fullname" . }}
-      {{- else }}
-        emptyDir: {}
-      {{- end }}
       imagePullSecrets:
       - name: "{{ include "common.namespace" . }}-docker-registry-key"
       restartPolicy: Never
 
+++ /dev/null
-{{/*
-# Copyright © 2017 Amdocs, Bell Canada
-# Modifications Copyright © 2018 AT&T, ZTE
-#
-# 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.
-*/}}
-
-{{- if and .Values.persistence.enabled (not .Values.persistence.existingClaim) -}}
-kind: PersistentVolume
-apiVersion: v1
-metadata:
-  name: {{ include "common.fullname" . }}
-  namespace: {{ include "common.namespace" . }}
-  labels:
-    app: {{ include "common.name" . }}
-    chart: "{{ .Chart.Name }}-{{ .Chart.Version | replace "+" "_" }}"
-    release: "{{ .Release.Name }}"
-    heritage: "{{ .Release.Service }}"
-    name: {{ include "common.fullname" . }}
-spec:
-  capacity:
-    storage: {{ .Values.persistence.size}}
-  accessModes:
-    - {{ .Values.persistence.accessMode }}
-  persistentVolumeReclaimPolicy: {{ .Values.persistence.volumeReclaimPolicy }}
-  hostPath:
-    path: {{ .Values.global.persistence.mountPath | default .Values.persistence.mountPath }}/{{ .Release.Name }}/{{ .Values.persistence.mountSubPath }}
-{{- end -}}
 
+++ /dev/null
-{{/*
-# Copyright © 2017 Amdocs, Bell Canada
-# Modifications Copyright © 2018 AT&T, ZTE
-#
-# 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.
-*/}}
-
-{{- if and .Values.persistence.enabled (not .Values.persistence.existingClaim) -}}
-kind: PersistentVolumeClaim
-apiVersion: v1
-metadata:
-  name: {{ include "common.fullname" . }}
-  namespace: {{ include "common.namespace" . }}
-  labels:
-    app: {{ include "common.name" . }}
-    chart: "{{ .Chart.Name }}-{{ .Chart.Version }}"
-    release: "{{ .Release.Name }}"
-    heritage: "{{ .Release.Service }}"
-{{- if .Values.persistence.annotations }}
-  annotations:
-{{ toYaml .Values.persistence.annotations | indent 4 }}
-{{- end }}
-spec:
-  selector:
-    matchLabels:
-      name: {{ include "common.fullname" . }}
-  accessModes:
-    - {{ .Values.persistence.accessMode }}
-  resources:
-    requests:
-      storage: {{ .Values.persistence.size }}
-{{- if .Values.persistence.storageClass }}
-{{- if (eq "-" .Values.persistence.storageClass) }}
-  storageClassName: ""
-{{- else }}
-  storageClassName: "{{ .Values.persistence.storageClass }}"
-{{- end }}
-{{- end }}
-{{- end -}}
 
 global:
   nodePortPrefix: 302
   readinessRepository: oomk8s
-  readinessImage: readiness-check:2.0.0
+  readinessImage: readiness-check:2.0.2
   loggingRepository: docker.elastic.co
   loggingImage: beats/filebeat:5.5.0
 
     requests:
       cpu: 20m
       memory: 2Gi
-  unlimited: {}
\ No newline at end of file
+  unlimited: {}
 
           - name: JAVA_OPTIONS
             value: {{ .Values.config.javaOptions }}
           - name: CS_HOSTS
-            value: "{{ .Values.config.cassandraHosts }}"
+            value: "{{ .Values.global.cassandra.serviceName }}"
           - name: CS_PORT
             value: "{{ .Values.config.cassandraClientPort }}"
           - name: CS_AUTHENTICATE
 
         imagePullPolicy: {{ .Values.global.pullPolicy | default .Values.pullPolicy }}
         env:
         - name: CS_HOST
-          value: "sdc-cs"
+          value: "{{ .Values.global.cassandra.serviceName }}"
         - name: CS_PORT
           value: "{{ .Values.config.cassandraThriftClientPort }}"
         - name: CS_AUTHENTICATE
             secretKeyRef: {name: {{ .Release.Name }}-sdc-cs-secrets, key: sdc_password}
       imagePullSecrets:
       - name: "{{ include "common.namespace" . }}-docker-registry-key"
-{{ end }}
\ No newline at end of file
+{{ end }}
 
 global:
   nodePortPrefix: 302
   readinessRepository: oomk8s
-  readinessImage: readiness-check:2.0.0
+  readinessImage: readiness-check:2.0.2
   loggingRepository: docker.elastic.co
   loggingImage: beats/filebeat:5.5.0
 
 config:
   javaOptions: "-Xdebug -agentlib:jdwp=transport=dt_socket,address=7001,server=y,suspend=n -Xmx1536m -Xms1536m"
   cassandraAuthenticationEnabled: true
-  cassandraHosts: sdc-cs
   cassandraThriftClientPort: 9160
   cassandraClientPort: 9042
   sdcProtocol: HTTP
 
 global:
   nodePortPrefix: 302
   readinessRepository: oomk8s
-  readinessImage: readiness-check:2.0.0
+  readinessImage: readiness-check:2.0.2
   loggingRepository: docker.elastic.co
   loggingImage: beats/filebeat:5.5.0
 
 
   - name: common
     version: ~4.x-0
     repository: '@local'
+
+  - name: cassandra
+    version: ~4.x-0
+    # local reference to common chart, as it is
+    # a part of this chart's package and will not
+    # be published independently to a repo (at this point)
+    repository: '@local'
+    condition: global.cassandra.localCluster
+
 
 
     "default_attributes": {
         "disableHttp": false,
-        "CS_VIP": "sdc-cs.{{include "common.namespace" .}}",
+        "CS_VIP": "{{.Values.global.cassandra.serviceName}}.{{include "common.namespace" .}}",
         "BE_VIP": "sdc-be.{{include "common.namespace" .}}",
         "ONBOARDING_BE_VIP": "sdc-onboarding-be.{{include "common.namespace" .}}",
         "DCAE_BE_VIP": "sdc-dcae-be.{{include "common.namespace" .}}",
         },
         "Nodes": {
             "CS": [
-                "sdc-cs.{{include "common.namespace" .}}"
+                "{{.Values.global.cassandra.serviceName}}.{{include "common.namespace" .}}"
             ],
             "BE": "sdc-be.{{include "common.namespace" .}}",
             "ONBOARDING_BE": "sdc-onboarding-be.{{include "common.namespace" .}}",
             "cassandra_user": "asdc_user",
             "cassandra_password": "Aa1234%^!",
             "concurrent_writes": "32",
-            "cluster_name": "SDC-CS-",
-            "datacenter_name": "SDC-CS-",
+            "cluster_name": "{{.Values.global.cassandra.clusterName}}",
+            "datacenter_name": "{{.Values.global.cassandra.dataCenter}}",
             "multithreaded_compaction": "false",
             "cache_dir": "/var/lib/cassandra/saved_caches",
             "log_file": "/var/lib/cassandra/log/system.log",
             "commitlog_dir": "/var/lib/cassandra/commitlog",
             "socket_read_timeout": "20000",
             "socket_connect_timeout": "20000",
-            "titan_connection_timeout": "10000"
+            "titan_connection_timeout": "10000",
+            "replication_factor": "{{.Values.global.cassandra.replicaCount}}"
         }
     }
 }
 
   secrets:
     sdc_user: YXNkY191c2Vy
     sdc_password: QWExMjM0JV4h
-    cs_password: b25hcDEyMyNAIQ==
+    #Should be the password of shared cassandra instance/chart
+    cs_password: Y2Fzc2FuZHJh
   ubuntuInitRepository: oomk8s
   ubuntuInitImage: ubuntu-init:1.0.0
-
+  cassandra:
+   #This flag allows SDC to instantiate its own cluster, serviceName 
+   #should be sdc-cs if this flag is enabled
+   localCluster: false
+   #The cassandra service name to connect to (default: shared cassandra service)
+   serviceName: cassandra
+   #Shared cassandra cluster replicaCount, should be changed if localCluster is enabled
+   #to match with its own cluster replica
+   replicaCount: 3
+   clusterName: cassandra
+   dataCenter: Pod
 
 config:
   logstashServiceName: log-ls
     workflowUrl: 10.0.2.15
     vnfRepoPort: 8702
 
-
 sdc-es:
   service:
     name: sdc-es
+
+#Used only if localCluster is enabled. Instantiates SDC's own cassandra cluster
+cassandra:
+  nameOverride: sdc-cs
+  replicaCount: 1
+  service:
+    name: sdc-cs
+  persistence:
+    mountSubPath: sdc/sdc-cs/CS
+    enabled: true