Update from using hbase to using cassandra

Also update resources and traversal to remove chef

MK: Addressing the -1 statefulset comment

Issue-ID: AAI-33
Change-Id: Ieee819703764fdda727f17d4e9be43084886828c
Signed-off-by: Kajur, Harish vk250x@att.com <vk250x@att.com>
Signed-off-by: Mandeep Khinda <mandeep.khinda@amdocs.com>
diff --git a/charts/aai-traversal/templates/configmap.yaml b/charts/aai-traversal/templates/configmap.yaml
index a7e9428..cc88444 100644
--- a/charts/aai-traversal/templates/configmap.yaml
+++ b/charts/aai-traversal/templates/configmap.yaml
@@ -4,4 +4,61 @@
   name: {{ include "common.fullname" . }}-log
   namespace: {{ include "common.namespace" . }}
 data:
-{{ tpl (.Files.Glob "resources/config/log/logback.xml").AsConfig . | indent 2 }}
+{{ tpl (.Files.Glob "resources/config/logback.xml").AsConfig . | indent 2 }}
+---
+apiVersion: v1
+kind: ConfigMap
+metadata:
+  name: {{ include "common.fullname" . }}-localhost-access-log-configmap
+  namespace: {{ include "common.namespace" . }}
+data:
+{{ tpl (.Files.Glob "resources/config/localhost-access-logback.xml").AsConfig . | indent 2 }}
+---
+apiVersion: v1
+kind: ConfigMap
+metadata:
+  name: {{ include "common.fullname" . }}-db-real-configmap
+  namespace: {{ include "common.namespace" . }}
+data:
+{{ tpl (.Files.Glob "resources/config/janusgraph-realtime.properties").AsConfig . | indent 2 }}
+---
+apiVersion: v1
+kind: ConfigMap
+metadata:
+  name: {{ include "common.fullname" . }}-db-cached-configmap
+  namespace: {{ include "common.namespace" . }}
+data:
+{{ tpl (.Files.Glob "resources/config/janusgraph-cached.properties").AsConfig . | indent 2 }}
+---
+apiVersion: v1
+kind: ConfigMap
+metadata:
+  name: {{ include "common.fullname" . }}-aaiconfig-configmap
+  namespace: {{ include "common.namespace" . }}
+data:
+{{ tpl (.Files.Glob "resources/config/aaiconfig.properties").AsConfig . | indent 2 }}
+---
+apiVersion: v1
+kind: ConfigMap
+metadata:
+  name: {{ include "common.fullname" . }}-springapp-configmap
+  namespace: {{ include "common.namespace" . }}
+data:
+{{ tpl (.Files.Glob "resources/config/application.properties").AsConfig . | indent 2 }}
+---
+apiVersion: v1
+kind: ConfigMap
+metadata:
+  name: {{ include "common.fullname" . }}-realm-configmap
+  namespace: {{ include "common.namespace" . }}
+data:
+{{ tpl (.Files.Glob "resources/config/realm.properties").AsConfig . | indent 2 }}
+---
+apiVersion: v1
+kind: Secret
+metadata:
+  name: {{ include "common.fullname" . }}-auth-secret
+  namespace: {{ include "common.namespace" . }}
+type: Opaque
+data:
+{{ tpl (.Files.Glob "resources/config/aai_keystore").AsSecrets . | indent 2 }}
\ No newline at end of file
diff --git a/charts/aai-traversal/templates/deployment.yaml b/charts/aai-traversal/templates/deployment.yaml
index b4249ae..bda80a0 100644
--- a/charts/aai-traversal/templates/deployment.yaml
+++ b/charts/aai-traversal/templates/deployment.yaml
@@ -245,11 +245,14 @@
           }
           ]'
     spec:
+      hostname: aai-traversal
       initContainers:
       - command:
         - /root/ready.py
         args:
         - --container-name
+        - aai-cassandra
+        - --container-name
         - aai-resources
         env:
         - name: NAMESPACE
@@ -265,32 +268,39 @@
         image: "{{ .Values.global.repository | default .Values.repository }}/{{ .Values.image }}"
         imagePullPolicy: {{ .Values.global.pullPolicy | default .Values.pullPolicy }}
         env:
-        - name: CHEF_BRANCH
-          value: master
-        - name: AAI_CHEF_ENV
-          value: simpledemo
-        - name: AAI_CORE_VERSION
-          value: {{ .Values.config.aaicoreversion }}
-        - name: AAI_CHEF_LOC
-          value: /var/chef/aai-data/environments
-        - name: CHEF_GIT_URL
-          value: http://gerrit.onap.org/r/aai
-        - name: RESOURCES_HOSTNAME
-          value: aai-resources.{{ include "common.namespace" . }}
+        - name: DISABLE_UPDATE_QUERY
+          value: {{ .Values.config.disableUpdateQuery | quote }}
+        - name: LOCAL_USER_ID
+          value: {{ .Values.config.userId | quote }}
+        - name: LOCAL_GROUP_ID
+          value: {{ .Values.config.groupId | quote }}
         volumeMounts:
         - mountPath: /etc/localtime
           name: localtime
           readOnly: true
-        - mountPath: /var/chef/aai-data/chef-config/dev/.knife/solo.rb
-          subPath: solo.rb
-          name: aai-chef-config
-        - mountPath: /var/chef/aai-data/environments/
-          name: aai-data
+        - mountPath: /opt/app/aai-traversal/resources/etc/appprops/janusgraph-realtime.properties
+          name: {{ include "common.fullname" . }}-db-real-conf
+          subPath: janusgraph-realtime.properties
+        - mountPath: /opt/app/aai-traversal/resources/etc/appprops/janusgraph-cached.properties
+          name: {{ include "common.fullname" . }}-db-cached-conf
+          subPath: janusgraph-cached.properties
+        - mountPath: /opt/app/aai-traversal/resources/etc/appprops/aaiconfig.properties
+          name: {{ include "common.fullname" . }}-aaiconfig-conf
+          subPath: aaiconfig.properties
         - mountPath: /var/log/onap
-          name: aai-traversal-logs
-        - mountPath: /opt/app/aai-traversal/bundleconfig/etc/logback.xml
-          name: aai-traversal-log-conf
+          name: {{ include "common.fullname" . }}-logs
+        - mountPath: /opt/app/aai-traversal/resources/logback.xml
+          name: {{ include "common.fullname" . }}-log-conf
           subPath: logback.xml
+        - mountPath: /opt/app/aai-traversal/resources/localhost-access-logback.xml
+          name: {{ include "common.fullname" . }}-localhost-access-log-conf
+          subPath: localhost-access-logback.xml
+        - mountPath: /opt/app/aai-traversal/resources/application.properties
+          name: {{ include "common.fullname" . }}-springapp-conf
+          subPath: application.properties
+        - mountPath: /opt/app/aai-traversal/resources/etc/auth/aai_keystore
+          name: {{ include "common.fullname" . }}-auth-sec
+          subPath: aai_keystore
         ports:
         - containerPort: {{ .Values.service.internalPort }}
         - containerPort: {{ .Values.service.internalPort2 }}
@@ -328,30 +338,44 @@
           subPath: filebeat.yml
           name: filebeat-conf
         - mountPath: /var/log/onap
-          name: aai-traversal-logs
+          name: {{ include "common.fullname" . }}-logs
         - mountPath: /usr/share/filebeat/data
-          name: aai-traversal-filebeat
-
+          name: {{ include "common.fullname" . }}-filebeat
       volumes:
       - name: localtime
         hostPath:
           path: /etc/localtime
-      - name: aai-chef-config
-        configMap:
-          name: aai-chef-config
-      - name: aai-data
-        configMap:
-          name: aai-resources-environments
       - name: filebeat-conf
         configMap:
           name: aai-filebeat
-      - name: aai-traversal-logs
+      - name: {{ include "common.fullname" . }}-logs
         emptyDir: {}
-      - name: aai-traversal-filebeat
+      - name: {{ include "common.fullname" . }}-filebeat
         emptyDir: {}
-      - name: aai-traversal-log-conf
+      - name: {{ include "common.fullname" . }}-log-conf
         configMap:
          name: {{ include "common.fullname" . }}-log
+      - name: {{ include "common.fullname" . }}-localhost-access-log-conf
+        configMap:
+         name: {{ include "common.fullname" . }}-localhost-access-log-configmap
+      - name: {{ include "common.fullname" . }}-db-real-conf
+        configMap:
+         name: {{ include "common.fullname" . }}-db-real-configmap
+      - name: {{ include "common.fullname" . }}-db-cached-conf
+        configMap:
+         name: {{ include "common.fullname" . }}-db-cached-configmap
+      - name: {{ include "common.fullname" . }}-aaiconfig-conf
+        configMap:
+         name: {{ include "common.fullname" . }}-aaiconfig-configmap
+      - name: {{ include "common.fullname" . }}-springapp-conf
+        configMap:
+         name: {{ include "common.fullname" . }}-springapp-configmap
+      - name: {{ include "common.fullname" . }}-realm-conf
+        configMap:
+         name: {{ include "common.fullname" . }}-realm-configmap
+      - name: {{ include "common.fullname" . }}-auth-sec
+        secret:
+         secretName: {{ include "common.fullname" . }}-auth-secret
       restartPolicy: {{ .Values.global.restartPolicy | default .Values.restartPolicy }}
       imagePullSecrets:
       - name: "{{ include "common.namespace" . }}-docker-registry-key"
diff --git a/charts/aai-traversal/templates/job.yaml b/charts/aai-traversal/templates/job.yaml
new file mode 100644
index 0000000..c15c053
--- /dev/null
+++ b/charts/aai-traversal/templates/job.yaml
@@ -0,0 +1,139 @@
+# Copyright © 2017-2018 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: batch/v1
+kind: Job
+metadata:
+  name: {{ include "common.fullname" . }}-update-query-data
+  namespace: {{ include "common.namespace" . }}
+  labels:
+    app: {{ include "common.name" . }}
+    chart: {{ .Chart.Name }}-{{ .Chart.Version | replace "+" "_" }}
+    release: {{ .Release.Name }}
+    heritage: {{ .Release.Service }}
+spec:
+  template:
+    metadata:
+      labels:
+        app: {{ include "common.name" . }}-job
+        release: {{ .Release.Name }}
+      name: {{ include "common.name" . }}
+    spec:
+      initContainers:
+      - command:
+        - /root/ready.py
+        args:
+        - --container-name
+        - aai
+        env:
+        - name: NAMESPACE
+          valueFrom:
+            fieldRef:
+              apiVersion: v1
+              fieldPath: metadata.namespace
+        image: "{{ .Values.global.readinessRepository }}/{{ .Values.global.readinessImage }}"
+        imagePullPolicy: {{ .Values.global.pullPolicy | default .Values.pullPolicy }}
+        name: {{ include "common.name" . }}-readiness
+      containers:
+      - name: {{ include "common.name" . }}-job
+        image: "{{ .Values.global.repository | default .Values.repository }}/{{ .Values.image }}"
+        imagePullPolicy: {{ .Values.global.pullPolicy | default .Values.pullPolicy }}
+        command:
+        - bash
+        - "-c"
+        - |
+          set -x
+          mkdir -p /opt/aai/logroot/AAI-GQ/misc
+          bash -x /opt/app/aai-traversal/docker-entrypoint.sh install/updateQueryData.sh
+        env:
+        - name: LOCAL_USER_ID
+          value: "1000"
+        - name: LOCAL_GROUP_ID
+          value: "1000"
+        volumeMounts:
+        - mountPath: /etc/localtime
+          name: localtime
+          readOnly: true
+        - mountPath: /opt/app/aai-traversal/resources/etc/appprops/janusgraph-realtime.properties
+          name: {{ include "common.fullname" . }}-db-real-conf
+          subPath: janusgraph-realtime.properties
+        - mountPath: /opt/app/aai-traversal/resources/etc/appprops/janusgraph-cached.properties
+          name: {{ include "common.fullname" . }}-db-cached-conf
+          subPath: janusgraph-cached.properties
+        - mountPath: /opt/app/aai-traversal/resources/etc/appprops/aaiconfig.properties
+          name: {{ include "common.fullname" . }}-aaiconfig-conf
+          subPath: aaiconfig.properties
+        - mountPath: /var/log/onap
+          name: {{ include "common.fullname" . }}-logs
+        - mountPath: /opt/app/aai-traversal/resources/logback.xml
+          name: {{ include "common.fullname" . }}-log-conf
+          subPath: logback.xml
+        - mountPath: /opt/app/aai-traversal/resources/localhost-access-logback.xml
+          name: {{ include "common.fullname" . }}-localhost-access-log-conf
+          subPath: localhost-access-logback.xml
+        - mountPath: /opt/app/aai-traversal/resources/application.properties
+          name: {{ include "common.fullname" . }}-springapp-conf
+          subPath: application.properties
+        - mountPath: /opt/app/aai-traversal/resources/etc/auth/aai_keystore
+          name: {{ include "common.fullname" . }}-auth-sec
+          subPath: aai_keystore
+        # disable liveness probe when breakpoints set in debugger
+        # so K8s doesn't restart unresponsive container
+        volumeMounts:
+        - mountPath: /usr/share/filebeat/filebeat.yml
+          subPath: filebeat.yml
+          name: filebeat-conf
+        - mountPath: /opt/aai/logroot/AAI-GQ
+          name: {{ include "common.fullname" . }}-logs
+        - mountPath: /usr/share/filebeat/data
+          name: {{ include "common.fullname" . }}-filebeat
+      volumes:
+      - name: localtime
+        hostPath:
+          path: /etc/localtime
+      - name: filebeat-conf
+        configMap:
+          name: aai-filebeat
+      - name: {{ include "common.fullname" . }}-logs
+        hostPath:
+          path: {{ .Values.persistence.mountPath }}/{{ include "common.namespace" . }}/{{ .Values.persistence.mountSubPath }}-update-query
+      - name: {{ include "common.fullname" . }}-filebeat
+        emptyDir: {}
+      - name: {{ include "common.fullname" . }}-log-conf
+        configMap:
+         name: {{ include "common.fullname" . }}-log
+      - name: {{ include "common.fullname" . }}-localhost-access-log-conf
+        configMap:
+         name: {{ include "common.fullname" . }}-localhost-access-log-configmap
+      - name: {{ include "common.fullname" . }}-db-real-conf
+        configMap:
+         name: {{ include "common.fullname" . }}-db-real-configmap
+      - name: {{ include "common.fullname" . }}-db-cached-conf
+        configMap:
+         name: {{ include "common.fullname" . }}-db-cached-configmap
+      - name: {{ include "common.fullname" . }}-aaiconfig-conf
+        configMap:
+         name: {{ include "common.fullname" . }}-aaiconfig-configmap
+      - name: {{ include "common.fullname" . }}-springapp-conf
+        configMap:
+         name: {{ include "common.fullname" . }}-springapp-configmap
+      - name: {{ include "common.fullname" . }}-realm-conf
+        configMap:
+         name: {{ include "common.fullname" . }}-realm-configmap
+      - name: {{ include "common.fullname" . }}-auth-sec
+        secret:
+         secretName: {{ include "common.fullname" . }}-auth-secret
+      restartPolicy: OnFailure
+      imagePullSecrets:
+      - name: "{{ include "common.namespace" . }}-docker-registry-key"