summaryrefslogtreecommitdiffstats
path: root/kubernetes/aai
diff options
context:
space:
mode:
authorMahendra Raghuwanshi <mahendra.raghuwanshi@amdocs.com>2019-03-15 12:02:42 +0000
committermahendrr <mahendra.raghuwanshi@amdocs.com>2019-04-17 03:59:20 +0000
commit6b77b72f56094248bbf0cc3cd849afd58450edb1 (patch)
tree6504fb565b08c097143636c627bbd3e19a422225 /kubernetes/aai
parent714f651dd19530510b74e29aa4a5ab084883d0dd (diff)
Upgrade AAI to use common shared Cassandra
Change-Id: I0186b09697f32115595383c4e409e608e2cf767f Issue-ID: OOM-1652 Signed-off-by: Mahendra Raghuwanshi <mahendra.raghuwanshi@amdocs.com>
Diffstat (limited to 'kubernetes/aai')
-rw-r--r--kubernetes/aai/charts/aai-cassandra/.helmignore21
-rw-r--r--kubernetes/aai/charts/aai-cassandra/Chart.yaml19
-rw-r--r--kubernetes/aai/charts/aai-cassandra/templates/service.yaml53
-rw-r--r--kubernetes/aai/charts/aai-cassandra/templates/statefulset.yaml132
-rw-r--r--kubernetes/aai/charts/aai-cassandra/templates/volumes.yaml39
-rw-r--r--kubernetes/aai/charts/aai-cassandra/values.yaml121
-rw-r--r--kubernetes/aai/charts/aai-champ/resources/config/dynamic/conf/champ-beans.xml7
-rw-r--r--kubernetes/aai/charts/aai-champ/templates/deployment.yaml4
-rw-r--r--kubernetes/aai/charts/aai-graphadmin/resources/config/janusgraph-cached.properties7
-rw-r--r--kubernetes/aai/charts/aai-graphadmin/resources/config/janusgraph-realtime.properties8
-rw-r--r--kubernetes/aai/charts/aai-graphadmin/templates/deployment.yaml4
-rw-r--r--kubernetes/aai/charts/aai-graphadmin/templates/job.yaml4
-rw-r--r--kubernetes/aai/charts/aai-resources/resources/config/janusgraph-cached.properties8
-rw-r--r--kubernetes/aai/charts/aai-resources/resources/config/janusgraph-realtime.properties8
-rw-r--r--kubernetes/aai/charts/aai-resources/templates/deployment.yaml4
-rw-r--r--kubernetes/aai/charts/aai-traversal/resources/config/janusgraph-cached.properties8
-rw-r--r--kubernetes/aai/charts/aai-traversal/resources/config/janusgraph-realtime.properties8
-rw-r--r--kubernetes/aai/charts/aai-traversal/templates/deployment.yaml4
-rw-r--r--kubernetes/aai/requirements.yaml7
-rw-r--r--kubernetes/aai/values.yaml24
20 files changed, 64 insertions, 426 deletions
diff --git a/kubernetes/aai/charts/aai-cassandra/.helmignore b/kubernetes/aai/charts/aai-cassandra/.helmignore
deleted file mode 100644
index daebc7da77..0000000000
--- a/kubernetes/aai/charts/aai-cassandra/.helmignore
+++ /dev/null
@@ -1,21 +0,0 @@
-# Patterns to ignore when building packages.
-# This supports shell glob matching, relative path matching, and
-# negation (prefixed with !). Only one pattern per line.
-.DS_Store
-# Common VCS dirs
-.git/
-.gitignore
-.bzr/
-.bzrignore
-.hg/
-.hgignore
-.svn/
-# Common backup files
-*.swp
-*.bak
-*.tmp
-*~
-# Various IDEs
-.project
-.idea/
-*.tmproj
diff --git a/kubernetes/aai/charts/aai-cassandra/Chart.yaml b/kubernetes/aai/charts/aai-cassandra/Chart.yaml
deleted file mode 100644
index 3987a111c0..0000000000
--- a/kubernetes/aai/charts/aai-cassandra/Chart.yaml
+++ /dev/null
@@ -1,19 +0,0 @@
-# Copyright © 2018 Amdocs, Bell Canada, AT&T
-#
-# 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
-description: ONAP AAI Cassandra
-name: aai-cassandra
-version: 4.0.0
diff --git a/kubernetes/aai/charts/aai-cassandra/templates/service.yaml b/kubernetes/aai/charts/aai-cassandra/templates/service.yaml
deleted file mode 100644
index 17176f1ded..0000000000
--- a/kubernetes/aai/charts/aai-cassandra/templates/service.yaml
+++ /dev/null
@@ -1,53 +0,0 @@
-# Copyright © 2018 Amdocs, Bell Canada, AT&T
-#
-# 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 }}
- annotations:
- service.alpha.kubernetes.io/tolerate-unready-endpoints: "true"
-spec:
- type: {{ .Values.service.type }}
-# Not working, open k8s bug: https://github.com/kubernetes/kubernetes/issues/58662
- publishNotReadyAddresses: true
- 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.portName3 }}
- - port: {{ .Values.service.internalPort3 }}
- nodePort: {{ .Values.global.nodePortPrefix | default .Values.nodePortPrefix }}{{ .Values.service.nodePort3 }}
- name: {{ .Values.service.portName3 }}
- {{- else -}}
- - port: {{ .Values.service.internalPort }}
- name: {{ .Values.service.portName }}
- - port: {{ .Values.service.internalPort2 }}
- name: {{ .Values.service.portName2 }}
- - port: {{ .Values.service.internalPort3 }}
- name: {{ .Values.service.portName3 }}
- {{- end}}
- selector:
- app: {{ include "common.name" . }}
- release: {{ .Release.Name }}
- clusterIP: None
diff --git a/kubernetes/aai/charts/aai-cassandra/templates/statefulset.yaml b/kubernetes/aai/charts/aai-cassandra/templates/statefulset.yaml
deleted file mode 100644
index bd62c56001..0000000000
--- a/kubernetes/aai/charts/aai-cassandra/templates/statefulset.yaml
+++ /dev/null
@@ -1,132 +0,0 @@
-# Copyright © 2018 Amdocs, Bell Canada, AT&T
-#
-# 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: apps/v1beta1
-kind: StatefulSet
-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:
- serviceName: {{ include "common.servicename" . }}
- replicas: {{ .Values.replicaCount }}
- podManagementPolicy: {{ .Values.podManagementPolicy }}
- updateStrategy:
- type: {{ .Values.updateStrategy.type }}
- template:
- metadata:
- labels:
- app: {{ include "common.name" . }}
- release: {{ .Release.Name }}
- name: {{ include "common.name" . }}
- spec:
- containers:
- - name: {{ include "common.name" . }}
- image: {{ .Values.image }}
- imagePullPolicy: {{ .Values.global.pullPolicy | default .Values.pullPolicy }}
- ports:
- - containerPort: {{ .Values.service.internalPort }}
- - containerPort: {{ .Values.service.internalPort2 }}
- - containerPort: {{ .Values.service.internalPort3 }}
- {{- if eq .Values.liveness.enabled true }}
- livenessProbe:
- exec:
- command:
- - /bin/bash
- - -c
- - nodetool status | grep $POD_IP | awk '$1!="UN" { exit 1; }'
- initialDelaySeconds: {{ .Values.liveness.initialDelaySeconds }}
- periodSeconds: {{ .Values.liveness.periodSeconds }}
- {{ end -}}
- readinessProbe:
- exec:
- command:
- - /bin/bash
- - -c
- - nodetool status | grep $POD_IP | awk '$1!="UN" { exit 1; }'
- initialDelaySeconds: {{ .Values.readiness.initialDelaySeconds }}
- periodSeconds: {{ .Values.readiness.periodSeconds }}
- lifecycle:
- preStop:
- exec:
- command: ["/bin/sh", "-c", "PID=$(pidof java) && kill $PID && while ps -p $PID > /dev/null; do sleep 1; done"]
- env:
- {{- $seed_size := default 1 .Values.replicaCount | int -}}
- {{- $global := . }}
- - name: MAX_HEAP_SIZE
- value: {{ .Values.config.heap.max }}
- - name: HEAP_NEWSIZE
- value: {{ .Values.config.heap.min }}
- - name: CASSANDRA_SEEDS
- value: "{{- range $i, $e := until $seed_size }}{{ template "common.fullname" $global }}-{{ $i }}.{{ include "common.servicename" $global }},{{- end }}"
- - name: JVM_OPTS
- value: {{ .Values.config.jvmOpts | quote }}
- - name: CASSANDRA_CLUSTER_NAME
- value: {{ .Values.config.clusterName | quote }}
- - name: CASSANDRA_DC
- value: {{ .Values.config.dataCenter | quote }}
- - name: CASSANDRA_RACK
- value: {{ .Values.config.rackName | quote }}
- - name: CASSANDRA_AUTO_BOOTSTRAP
- value: {{ .Values.config.autoBootstrap | quote }}
- - name: POD_IP
- valueFrom:
- fieldRef:
- fieldPath: status.podIP
- volumeMounts:
- - name: cassandra-data
- mountPath: /var/lib/cassandra
- resources:
-{{ include "common.resources" . | indent 10 }}
- {{- if .Values.nodeSelector }}
- nodeSelector:
-{{ toYaml .Values.nodeSelector | indent 8 }}
- {{- end -}}
- {{- if .Values.affinity }}
- affinity:
-{{ toYaml .Values.affinity | indent 8 }}
- {{- end }}
- volumes:
- - name: localtime
- hostPath:
- path: /etc/localtime
- {{- if not .Values.persistence.enabled }}
- - name: cassandra-data
- emptyDir: {}
- {{- else }}
- volumeClaimTemplates:
- - metadata:
- name: cassandra-data
- labels:
- app: {{ template "common.fullname" . }}
- chart: "{{ .Chart.Name }}-{{ .Chart.Version }}"
- release: "{{ .Release.Name }}"
- heritage: "{{ .Release.Service }}"
- annotations:
- volume.beta.kubernetes.io/storage-class: {{ .Values.persistence.storageClass }}
- spec:
- accessModes:
- - {{ .Values.persistence.accessMode | quote }}
- resources:
- requests:
- storage: {{ .Values.persistence.size | quote }}
- selector:
- matchLabels:
- app: {{ include "common.name" . }}
- release: "{{ .Release.Name }}"
- {{- end }}
diff --git a/kubernetes/aai/charts/aai-cassandra/templates/volumes.yaml b/kubernetes/aai/charts/aai-cassandra/templates/volumes.yaml
deleted file mode 100644
index b949064077..0000000000
--- a/kubernetes/aai/charts/aai-cassandra/templates/volumes.yaml
+++ /dev/null
@@ -1,39 +0,0 @@
-# Copyright © 2018 Amdocs, Bell Canada, AT&T
-#
-# 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 .Values.persistence.enabled }}
-{{- $root := . -}}
-{{ range $i, $e := until (atoi (quote $root.Values.replicaCount) | default 3) }}
----
-apiVersion: v1
-kind: PersistentVolume
-metadata:
- name: {{ $root.Release.Name }}-{{ $root.Values.service.name }}-{{ $i }}
- namespace: {{ $root.Release.Namespace }}
- labels:
- type: {{ $root.Values.persistence.storageType }}
- app: {{ $root.Values.service.name }}
- chart: {{ $root.Chart.Name }}-{{ $root.Chart.Version | replace "+" "_" }}
- release: {{ $root.Release.Name }}
- heritage: {{ $root.Release.Service }}
-spec:
- capacity:
- storage: {{ $root.Values.persistence.size }}
- accessModes:
- - {{ $root.Values.persistence.accessMode }}
- hostPath:
- path: {{ $root.Values.persistence.mountPath }}/{{ $root.Release.Name }}/{{ $root.Values.persistence.mountSubPath }}-{{ $i }}
- persistentVolumeReclaimPolicy: {{ $root.Values.persistence.volumeReclaimPolicy }}
-{{ end }}
-#{{ end }}
diff --git a/kubernetes/aai/charts/aai-cassandra/values.yaml b/kubernetes/aai/charts/aai-cassandra/values.yaml
deleted file mode 100644
index 1e1d2c1c2f..0000000000
--- a/kubernetes/aai/charts/aai-cassandra/values.yaml
+++ /dev/null
@@ -1,121 +0,0 @@
-# Copyright © 2018 Amdocs, Bell Canada, AT&T
-#
-# 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.
-
-# Default values for cassandra.
-# This is a YAML-formatted file.
-# Declare variables to be passed into your templates.
-global: # global defaults
- nodePortPrefix: 302
-
-
-# application image
-dockerhubRepository: registry.hub.docker.com
-image: cassandra:2.1
-pullPolicy: Always
-
-# application configuration
-config:
- heap:
- max: 512M
- min: 100M
- jvmOpts: -Dcassandra.consistent.rangemovement=false
- clusterName: aai-cluster
- dataCenter: Pod lab
- rackName: Rack1
- autoBootstrap: true
- ports:
- cql: 9042
- thrift: 9160
- # If a JVM Agent is in place
- # agent: 61621
-
-# default number of instances
-replicaCount: 3
-
-nodeSelector: {}
-
-affinity: {}
-
-# probe configuration parameters
-liveness:
- initialDelaySeconds: 10
- periodSeconds: 10
- # necessary to disable liveness probe when setting breakpoints
- # in debugger so K8s doesn't restart unresponsive container
- enabled: true
-
-readiness:
- initialDelaySeconds: 10
- periodSeconds: 10
-
-service:
- type: ClusterIP
- name: aai-cassandra
- internalPort: 9042
- portName: cql
- internalPort2: 9160
- portName2: thrift
- internalPort3: 61621
- portName3: agent
-
-podManagementPolicy: OrderedReady
-updateStrategy:
- type: OnDelete
-
-ingress:
- enabled: false
-
-persistence:
- enabled: true
-
- ## A manually managed Persistent Volume and Claim
- ## Requires persistence.enabled: true
- ## If defined, PVC must be created manually before volume will be bound
- # existingClaim:
- volumeReclaimPolicy: Retain
-
- ## database data Persistent Volume Storage Class
- ## If defined, storageClassName: <storageClass>
- ## If set to "-", storageClassName: "", which disables dynamic provisioning
- ## If undefined (the default) or set to null, no storageClassName spec is
- ## set, choosing the default provisioner. (gp2 on AWS, standard on
- ## GKE, AWS & OpenStack)
- ##
- ## storageClass: "-"
- accessMode: ReadWriteOnce
- size: 2Gi
- mountPath: /dockerdata-nfs
- mountSubPath: aai/cassandra
- storageType: local
- storageClass: ""
-
-
-resources: {}
- # We usually recommend not to specify default resources and to leave this as a conscious
- # choice for the user. This also increases chances charts run on environments with little
- # resources, such as Minikube. If you do want to specify resources, uncomment the following
- # lines, adjust them as necessary, and remove the curly braces after 'resources:'.
- #
- # Example:
- # Configure resource requests and limits
- # ref: http://kubernetes.io/docs/user-guide/compute-resources/
- # Minimum memory for development is 2 CPU cores and 4GB memory
- # Minimum memory for production is 4 CPU cores and 8GB memory
-#resources:
-# limits:
-# cpu: 2
-# memory: 4Gi
-# requests:
-# cpu: 2
-# memory: 4Gi
diff --git a/kubernetes/aai/charts/aai-champ/resources/config/dynamic/conf/champ-beans.xml b/kubernetes/aai/charts/aai-champ/resources/config/dynamic/conf/champ-beans.xml
index 38fd64c5dc..3977a68834 100644
--- a/kubernetes/aai/charts/aai-champ/resources/config/dynamic/conf/champ-beans.xml
+++ b/kubernetes/aai/charts/aai-champ/resources/config/dynamic/conf/champ-beans.xml
@@ -47,12 +47,9 @@ xsi:schemaLocation="
<entry key="storage.backend" value="cassandra"/>
<entry key="storage.cassandra.read-consistency-level" value="LOCAL_QUORUM"/>
<entry key="storage.cassandra.write-consistency-level" value="LOCAL_QUORUM"/>
- <entry key="storage.cassandra.replication-factor" value="3"/>
+ <entry key="storage.cassandra.replication-factor" value="{{ .Values.global.cassandra.replicas }}"/>
<entry key="storage.cassandra.replication-strategy-class" value="org.apache.cassandra.locator.SimpleStrategy"/>
-
- {{- $seed_size := default 1 .Values.global.cassandra.replicas | int -}}
- {{- $global := . }}
- <entry key="storage.hostname" value="{{- range $i, $e := until $seed_size }}{{ $global.Release.Name }}-{{$global.Values.global.cassandra.serviceName}}-{{ $i }}.{{$global.Values.global.cassandra.serviceName}},{{- end }}"/>
+ <entry key="storage.hostname" value="{{ .Values.global.cassandra.serviceName }}"/>
</util:map>
<!-- Janus Implementation -->
diff --git a/kubernetes/aai/charts/aai-champ/templates/deployment.yaml b/kubernetes/aai/charts/aai-champ/templates/deployment.yaml
index 8e4d7f48cb..a311f68799 100644
--- a/kubernetes/aai/charts/aai-champ/templates/deployment.yaml
+++ b/kubernetes/aai/charts/aai-champ/templates/deployment.yaml
@@ -36,7 +36,11 @@ spec:
- /root/ready.py
args:
- --container-name
+ {{- if .Values.global.cassandra.localCluster }}
- aai-cassandra
+ {{- else }}
+ - cassandra
+ {{- end }}
env:
- name: NAMESPACE
valueFrom:
diff --git a/kubernetes/aai/charts/aai-graphadmin/resources/config/janusgraph-cached.properties b/kubernetes/aai/charts/aai-graphadmin/resources/config/janusgraph-cached.properties
index 6a28dee46e..82e7ea9b72 100644
--- a/kubernetes/aai/charts/aai-graphadmin/resources/config/janusgraph-cached.properties
+++ b/kubernetes/aai/charts/aai-graphadmin/resources/config/janusgraph-cached.properties
@@ -22,17 +22,14 @@ query.smart-limit=false
{{ if .Values.global.config.cluster.cassandra.dynamic }}
-{{- $seed_size := default 1 .Values.global.cassandra.replicas | int -}}
-{{- $global := . }}
-
storage.backend=cassandra
-storage.hostname={{- range $i, $e := until $seed_size }}{{ $global.Release.Name }}-{{$global.Values.global.cassandra.serviceName}}-{{ $i }}.{{$global.Values.global.cassandra.serviceName}},{{- end }}
+storage.hostname={{.Values.global.cassandra.serviceName}}
storage.cassandra.keyspace=aaigraph
storage.cassandra.read-consistency-level=LOCAL_QUORUM
storage.cassandra.write-consistency-level=LOCAL_QUORUM
-storage.cassandra.replication-factor=3
+storage.cassandra.replication-factor={{.Values.global.cassandra.replicas}}
storage.cassandra.replication-strategy-class=org.apache.cassandra.locator.SimpleStrategy
{{ else }}
diff --git a/kubernetes/aai/charts/aai-graphadmin/resources/config/janusgraph-realtime.properties b/kubernetes/aai/charts/aai-graphadmin/resources/config/janusgraph-realtime.properties
index 7832d1a969..e9e9a9e9c9 100644
--- a/kubernetes/aai/charts/aai-graphadmin/resources/config/janusgraph-realtime.properties
+++ b/kubernetes/aai/charts/aai-graphadmin/resources/config/janusgraph-realtime.properties
@@ -20,17 +20,13 @@ query.smart-limit=false
{{ if .Values.global.config.cluster.cassandra.dynamic }}
-{{- $seed_size := default 1 .Values.global.cassandra.replicas | int -}}
-{{- $global := . }}
-
storage.backend=cassandra
-storage.hostname={{- range $i, $e := until $seed_size }}{{ $global.Release.Name }}-{{$global.Values.global.cassandra.serviceName}}-{{ $i }}.{{$global.Values.global.cassandra.serviceName}},{{- end }}
-
+storage.hostname={{.Values.global.cassandra.serviceName}}
storage.cassandra.keyspace=aaigraph
storage.cassandra.read-consistency-level=LOCAL_QUORUM
storage.cassandra.write-consistency-level=LOCAL_QUORUM
-storage.cassandra.replication-factor=3
+storage.cassandra.replication-factor={{.Values.global.cassandra.replicas}}
storage.cassandra.replication-strategy-class=org.apache.cassandra.locator.SimpleStrategy
{{ else }}
diff --git a/kubernetes/aai/charts/aai-graphadmin/templates/deployment.yaml b/kubernetes/aai/charts/aai-graphadmin/templates/deployment.yaml
index b595ac81bf..2888a64f5e 100644
--- a/kubernetes/aai/charts/aai-graphadmin/templates/deployment.yaml
+++ b/kubernetes/aai/charts/aai-graphadmin/templates/deployment.yaml
@@ -54,7 +54,11 @@ spec:
- /root/ready.py
args:
- --container-name
+ {{- if .Values.global.cassandra.localCluster }}
- aai-cassandra
+ {{- else }}
+ - cassandra
+ {{- end }}
- --container-name
- aai-schema-service
{{ end }}
diff --git a/kubernetes/aai/charts/aai-graphadmin/templates/job.yaml b/kubernetes/aai/charts/aai-graphadmin/templates/job.yaml
index a62202ba32..55fce011c7 100644
--- a/kubernetes/aai/charts/aai-graphadmin/templates/job.yaml
+++ b/kubernetes/aai/charts/aai-graphadmin/templates/job.yaml
@@ -55,7 +55,11 @@ spec:
- /root/ready.py
args:
- --container-name
+ {{- if .Values.global.cassandra.localCluster }}
- aai-cassandra
+ {{- else }}
+ - cassandra
+ {{- end }}
- --container-name
- aai-schema-service
env:
diff --git a/kubernetes/aai/charts/aai-resources/resources/config/janusgraph-cached.properties b/kubernetes/aai/charts/aai-resources/resources/config/janusgraph-cached.properties
index 2c22d14a41..9dc66368ce 100644
--- a/kubernetes/aai/charts/aai-resources/resources/config/janusgraph-cached.properties
+++ b/kubernetes/aai/charts/aai-resources/resources/config/janusgraph-cached.properties
@@ -25,17 +25,13 @@ query.smart-limit=false
{{ if .Values.global.config.cluster.cassandra.dynamic }}
-{{- $seed_size := default 1 .Values.global.cassandra.replicas | int -}}
-{{- $global := . }}
-
storage.backend=cassandra
-storage.hostname={{- range $i, $e := until $seed_size }}{{ $global.Release.Name }}-{{$global.Values.global.cassandra.serviceName}}-{{ $i }}.{{$global.Values.global.cassandra.serviceName}},{{- end }}
-
+storage.hostname={{.Values.global.cassandra.serviceName}}
storage.cassandra.keyspace=aaigraph
storage.cassandra.read-consistency-level=LOCAL_QUORUM
storage.cassandra.write-consistency-level=LOCAL_QUORUM
-storage.cassandra.replication-factor=3
+storage.cassandra.replication-factor={{.Values.global.cassandra.replicas}}
storage.cassandra.replication-strategy-class=org.apache.cassandra.locator.SimpleStrategy
{{ else }}
diff --git a/kubernetes/aai/charts/aai-resources/resources/config/janusgraph-realtime.properties b/kubernetes/aai/charts/aai-resources/resources/config/janusgraph-realtime.properties
index b19c9b6df6..8791a0bd7e 100644
--- a/kubernetes/aai/charts/aai-resources/resources/config/janusgraph-realtime.properties
+++ b/kubernetes/aai/charts/aai-resources/resources/config/janusgraph-realtime.properties
@@ -23,17 +23,13 @@ query.smart-limit=false
{{ if .Values.global.config.cluster.cassandra.dynamic }}
-{{- $seed_size := default 1 .Values.global.cassandra.replicas | int -}}
-{{- $global := . }}
-
storage.backend=cassandra
-storage.hostname={{- range $i, $e := until $seed_size }}{{ $global.Release.Name }}-{{$global.Values.global.cassandra.serviceName}}-{{ $i }}.{{$global.Values.global.cassandra.serviceName}},{{- end }}
-
+storage.hostname={{.Values.global.cassandra.serviceName}}
storage.cassandra.keyspace=aaigraph
storage.cassandra.read-consistency-level=LOCAL_QUORUM
storage.cassandra.write-consistency-level=LOCAL_QUORUM
-storage.cassandra.replication-factor=3
+storage.cassandra.replication-factor={{.Values.global.cassandra.replicas}}
storage.cassandra.replication-strategy-class=org.apache.cassandra.locator.SimpleStrategy
{{ else }}
diff --git a/kubernetes/aai/charts/aai-resources/templates/deployment.yaml b/kubernetes/aai/charts/aai-resources/templates/deployment.yaml
index 9fe4c17cc9..84438c1f0c 100644
--- a/kubernetes/aai/charts/aai-resources/templates/deployment.yaml
+++ b/kubernetes/aai/charts/aai-resources/templates/deployment.yaml
@@ -814,7 +814,11 @@ spec:
- /root/ready.py
args:
- --container-name
+ {{- if .Values.global.cassandra.localCluster }}
- aai-cassandra
+ {{- else }}
+ - cassandra
+ {{- end }}
- --container-name
- aai-schema-service
{{ end }}
diff --git a/kubernetes/aai/charts/aai-traversal/resources/config/janusgraph-cached.properties b/kubernetes/aai/charts/aai-traversal/resources/config/janusgraph-cached.properties
index 2c22d14a41..9dc66368ce 100644
--- a/kubernetes/aai/charts/aai-traversal/resources/config/janusgraph-cached.properties
+++ b/kubernetes/aai/charts/aai-traversal/resources/config/janusgraph-cached.properties
@@ -25,17 +25,13 @@ query.smart-limit=false
{{ if .Values.global.config.cluster.cassandra.dynamic }}
-{{- $seed_size := default 1 .Values.global.cassandra.replicas | int -}}
-{{- $global := . }}
-
storage.backend=cassandra
-storage.hostname={{- range $i, $e := until $seed_size }}{{ $global.Release.Name }}-{{$global.Values.global.cassandra.serviceName}}-{{ $i }}.{{$global.Values.global.cassandra.serviceName}},{{- end }}
-
+storage.hostname={{.Values.global.cassandra.serviceName}}
storage.cassandra.keyspace=aaigraph
storage.cassandra.read-consistency-level=LOCAL_QUORUM
storage.cassandra.write-consistency-level=LOCAL_QUORUM
-storage.cassandra.replication-factor=3
+storage.cassandra.replication-factor={{.Values.global.cassandra.replicas}}
storage.cassandra.replication-strategy-class=org.apache.cassandra.locator.SimpleStrategy
{{ else }}
diff --git a/kubernetes/aai/charts/aai-traversal/resources/config/janusgraph-realtime.properties b/kubernetes/aai/charts/aai-traversal/resources/config/janusgraph-realtime.properties
index b19c9b6df6..8791a0bd7e 100644
--- a/kubernetes/aai/charts/aai-traversal/resources/config/janusgraph-realtime.properties
+++ b/kubernetes/aai/charts/aai-traversal/resources/config/janusgraph-realtime.properties
@@ -23,17 +23,13 @@ query.smart-limit=false
{{ if .Values.global.config.cluster.cassandra.dynamic }}
-{{- $seed_size := default 1 .Values.global.cassandra.replicas | int -}}
-{{- $global := . }}
-
storage.backend=cassandra
-storage.hostname={{- range $i, $e := until $seed_size }}{{ $global.Release.Name }}-{{$global.Values.global.cassandra.serviceName}}-{{ $i }}.{{$global.Values.global.cassandra.serviceName}},{{- end }}
-
+storage.hostname={{.Values.global.cassandra.serviceName}}
storage.cassandra.keyspace=aaigraph
storage.cassandra.read-consistency-level=LOCAL_QUORUM
storage.cassandra.write-consistency-level=LOCAL_QUORUM
-storage.cassandra.replication-factor=3
+storage.cassandra.replication-factor={{.Values.global.cassandra.replicas}}
storage.cassandra.replication-strategy-class=org.apache.cassandra.locator.SimpleStrategy
{{ else }}
diff --git a/kubernetes/aai/charts/aai-traversal/templates/deployment.yaml b/kubernetes/aai/charts/aai-traversal/templates/deployment.yaml
index be4b863195..c783f7d977 100644
--- a/kubernetes/aai/charts/aai-traversal/templates/deployment.yaml
+++ b/kubernetes/aai/charts/aai-traversal/templates/deployment.yaml
@@ -449,7 +449,11 @@ spec:
- /root/ready.py
args:
- --container-name
+ {{- if .Values.global.cassandra.localCluster }}
- aai-cassandra
+ {{- else }}
+ - cassandra
+ {{- end }}
- --container-name
- aai-schema-service
{{ end }}
diff --git a/kubernetes/aai/requirements.yaml b/kubernetes/aai/requirements.yaml
index 01f6f1a9aa..24f69b2e10 100644
--- a/kubernetes/aai/requirements.yaml
+++ b/kubernetes/aai/requirements.yaml
@@ -19,3 +19,10 @@ dependencies:
# a part of this chart's package and will not
# be published independently to a repo (at this point)
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
diff --git a/kubernetes/aai/values.yaml b/kubernetes/aai/values.yaml
index 1d3a3a5d24..1b359fc976 100644
--- a/kubernetes/aai/values.yaml
+++ b/kubernetes/aai/values.yaml
@@ -56,7 +56,15 @@ global: # global defaults
serverPort: 30247
cassandra:
- serviceName: aai-cassandra
+ #This will instantiate AAI cassandra cluster, default:shared cassandra.
+ localCluster: false
+
+ #Service Name of the cassandra cluster to connect to.
+ #Override it to aai-cassandra if localCluster is enabled.
+ serviceName: cassandra
+
+ #This should be same as shared cassandra instance or if localCluster is enabled
+ #then it should be same as aai-cassandra replicaCount
replicas: 3
aai:
@@ -252,6 +260,20 @@ liveness:
# in debugger so K8s doesn't restart unresponsive container
enabled: true
+#This section is used when localCluster is enabled. AAI will create its own cassandra cluster for its specific use.
+#Below command will instantiate the aai cassandra instances:
+#helm deploy demo local/onap --version=4.0.0 --namespace onap --set aai.enabled=true \
+# --set aai.global.cassandra.localCluster=true \
+# --set aai.global.cassandra.serviceName=aai-cassandra
+cassandra:
+ nameOverride: aai-cassandra
+ replicaCount: 3
+ service:
+ name: aai-cassandra
+ persistence:
+ mountSubPath: aai/cassandra
+ enabled: true
+
readiness:
initialDelaySeconds: 10
periodSeconds: 10