AAF OOM 2.1.20

Cleaned up up configs, JDK11 fixes, Hello and Agent works, now a model for Apps
non-root fix

Issue-ID: AAF-1081, AAF-1102
Signed-off-by: Instrumental <jgonap@stl.gathman.org>
Signed-off-by: ChrisC <christophe.closset@intl.att.com>
Change-Id: I4947075029db8abd7d2072b6b82064af8e2daa3e
diff --git a/kubernetes/aaf/charts/aaf-hello/templates/aaf-hello-pv.yaml b/kubernetes/aaf/charts/aaf-hello/templates/aaf-hello-pv.yaml
index 7fa7407..d2b4f0c 100644
--- a/kubernetes/aaf/charts/aaf-hello/templates/aaf-hello-pv.yaml
+++ b/kubernetes/aaf/charts/aaf-hello/templates/aaf-hello-pv.yaml
@@ -34,10 +34,10 @@
     name: {{ include "common.fullname" . }}
 spec:
   capacity:
-    storage: {{ .Values.persistence.config.size}}
+    storage: {{ .Values.persistence.size}}
   accessModes:
-    - {{ .Values.persistence.config.accessMode }}
-  persistentVolumeReclaimPolicy: {{ .Values.persistence.config.volumeReclaimPolicy }}
+    - {{ .Values.persistence.accessMode }}
+  persistentVolumeReclaimPolicy: {{ .Values.persistence.volumeReclaimPolicy }}
   hostPath:
     path: {{ .Values.global.persistence.mountPath | default .Values.persistence.mountPath }}/{{ include "common.release" . }}/{{ .Values.persistence.mountSubPath }}
   storageClassName: "{{ include "common.fullname" . }}-data"
diff --git a/kubernetes/aaf/charts/aaf-hello/templates/deployment.yaml b/kubernetes/aaf/charts/aaf-hello/templates/deployment.yaml
index 92afc5a..1e120bd 100644
--- a/kubernetes/aaf/charts/aaf-hello/templates/deployment.yaml
+++ b/kubernetes/aaf/charts/aaf-hello/templates/deployment.yaml
@@ -30,60 +30,70 @@
         release: {{ include "common.release" . }}
     spec:
       volumes:
-      - name: localtime
-        hostPath:
-          path: /etc/localtime
-      - name: aaf-hello-vol
+        - name: localtime
+          hostPath:
+            path: /etc/localtime
+        - name: aaf-hello-vol
       {{- if and .Values.persistence.enabled }}
-        persistentVolumeClaim:
-          claimName: {{ include "common.release" . }}-aaf-hello-pvc
+          persistentVolumeClaim:
+            claimName: {{ include "common.release" . }}-aaf-hello-pvc
       {{- else }}
-        emptyDir: {}
+          emptyDir: {}
       {{- end }}
       imagePullSecrets:
       - name: "{{ include "common.namespace" . }}-docker-registry-key"
       initContainers:
-      - name: {{ include "common.name" . }}-config
-        image: {{ .Values.global.repository }}/{{.Values.aaf_init.image}}
+      - name: fix-permission
+        command: ["/bin/sh","-c","chmod -R 775 /opt/app/osaaf/local && chown -R 1000:1000 /opt/app/osaaf"]
+        image: "{{ .Values.global.busyboxRepository }}/{{ .Values.global.busyboxImage }}"
         imagePullPolicy: {{ .Values.global.pullPolicy | default .Values.pullPolicy }}
         volumeMounts:
-        - mountPath: "/opt/app/osaaf"
+        - mountPath: "/opt/app/osaaf/local"
           name: aaf-hello-vol
-# NOTE: Before this, need Liveness Attached to aaf-certman
-        command: ["bash","-c","exec /opt/app/aaf_config/bin/agent.sh"]
+      - name: {{ include "common.name" . }}-config-container
+        image: {{ .Values.global.repository }}/{{.Values.aaf_init.image}}
+        imagePullPolicy: {{ .Values.global.pullPolicy | default .Values.pullPolicy }}
+        command: ["bash","-c","cd /opt/app/aaf_config && bin/agent.sh"]
+#        command: ["bash","-c","cd /opt/app/aaf_config && echo Sleeping && sleep 480"]
+#        command: ["bash","-c","chown 1000:1000 /opt/app/osaaf && cd /opt/app/aaf_config && sleep 480"]
+        volumeMounts:
+        - mountPath: "/opt/app/osaaf/local"
+          name: aaf-hello-vol
         env:
           - name: APP_FQI
             value: "{{ .Values.aaf_init.fqi }}"
           - name: aaf_locate_url
-            value: "https://aaf-locate.{{ .Release.Namespace}}:8095"
+            value: "https://aaf-locate.{{ .Release.Namespace}}:{{.Values.global.aaf.locate.internal_port}}"
           - name: aaf_locator_container
             value: "oom"
           - name: aaf_locator_container_ns
             value: "{{ .Release.Namespace }}"
+# This should the APP's FQDN to be put in Locator
+# This MUST match what is entered for AAF Certificate Artifacts
           - name: aaf_locator_fqdn
-            value: "{{ .Values.aaf_init.fqdn }}"
-          - name: aaf_locator_app_ns
-            value: "{{ .Values.aaf_init.app_ns }}"
-          - name: DEPLOY_FQI
-            value: "deployer@people.osaaf.org"
-# Note: We want to put this in Secrets or at LEAST ConfigMaps
-          - name: DEPLOY_PASSWORD
-            value: "demo123456!"
-# Note: want to put this on Nodes, evenutally
-          - name: cadi_longitude
-            value: "{{ .Values.aaf_init.cadi_longitude }}"
-          - name: cadi_latitude
-            value: "{{ .Values.aaf_init.cadi_latitude }}"
+            value: "{{.Values.aaf_init.fqdn}}"
 # Hello specific.  Clients don't don't need this, unless Registering with AAF Locator
+# This should be the APP's PUBLIC FQDN, if applicable
           - name: aaf_locator_public_fqdn
-            value: "{{.Values.global.aaf.public_fqdn}}"
+            value: "{{.Values.aaf_init.locator_public_fqdn}}"
+          - name: LATITUDE
+            value: "{{ .Values.aaf_init.cadi_latitude }}"
+          - name: LONGITUDE
+            value: "{{ .Values.aaf_init.cadi_longitude }}"
+# Note: We want to put this in Secrets or at LEAST ConfigMaps
+          - name: "DEPLOY_FQI"
+            value: "deployer@people.osaaf.org"
+# Note: want to put this on Nodes, evenutally
+          - name: "DEPLOY_PASSWORD"
+            value: "demo123456!"
+# CONTAINER Definition
       containers:
       - name: {{ include "common.name" . }}
         command: ["bash","-c","cd /opt/app/aaf && if [ ! -d /opt/app/osaaf/etc ]; then cp -Rf etc logs /opt/app/osaaf; fi && exec bin/hello"]
         image: {{ .Values.global.repository }}/{{.Values.service.image }}
         imagePullPolicy: {{ .Values.global.pullPolicy | default .Values.pullPolicy }}
         volumeMounts:
-        - mountPath: "/opt/app/osaaf"
+        - mountPath: "/opt/app/osaaf/local"
           name: aaf-hello-vol
         - mountPath: /etc/localtime
           name: localtime
diff --git a/kubernetes/aaf/charts/aaf-hello/values.yaml b/kubernetes/aaf/charts/aaf-hello/values.yaml
index 36bed9d..0400dcc 100644
--- a/kubernetes/aaf/charts/aaf-hello/values.yaml
+++ b/kubernetes/aaf/charts/aaf-hello/values.yaml
@@ -1,4 +1,5 @@
 # Copyright © 2017 Amdocs, Bell Canada
+# Modifications © 2020 AT&T
 #
 # Licensed under the Apache License, Version 2.0 (the "License");
 # you may not use this file except in compliance with the License.
@@ -12,14 +13,8 @@
 # See the License for the specific language governing permissions and
 # limitations under the License.
 
-#################################################################
-# Global configuration defaults.
-#################################################################
-global:
-  nodePortPrefix: 302
-  readinessRepository: oomk8s
-  readinessImage: readiness-check:2.0.2
 flavor: small
+
 #################################################################
 # Application configuration defaults.
 #################################################################
@@ -27,23 +22,24 @@
 aaf_init:
   # You might want this in your own app.  For AAF, we store in global
   # replicas: 1
-  fqdn: "aaf-hello"
-  image: onap/aaf/aaf_agent:2.1.15
-  app_ns: "org.osaaf.aaf"
+  image: onap/aaf/aaf_agent:2.1.20
   fqi: "aaf@aaf.osaaf.org"
+# This MUST match what is put in AAF's "Artifact" for Certificates
   fqdn: "aaf-hello"
-  public_fqdn: "aaf.osaaf.org"
+# What is put in Locator for External Access
+  locator_public_fqdn: "aaf.osaaf.org"
+  app_ns: "org.osaaf.aaf"
   deploy_fqi: "deployer@people.osaaf.org"
   cadi_latitude: "38.0"
   cadi_longitude: "-72.0"
 
 service:
-  image: onap/aaf/aaf_hello:2.1.15
+  image: onap/aaf/aaf_hello:2.1.20
   port: "8130"
   public_port: "31119"
 
 persistence:
-  enabled: true
+  enabled: false
     #existingClaim:
     # You will want "Reatan" in non-Hello Example.
   volumeReclaimPolicy: Delete