[AAI] 15.0.0 chart release 17/139317/6
authorFiete Ostkamp <Fiete.Ostkamp@telekom.de>
Mon, 4 Nov 2024 07:09:09 +0000 (08:09 +0100)
committerFiete Ostkamp <Fiete.Ostkamp@telekom.de>
Mon, 4 Nov 2024 10:43:15 +0000 (11:43 +0100)
- update graphadmin image (1.14.7 -> 1.15.1)
- update babel image (1.13.3 -> 1.13.4)
- update resources image (1.14.7 -> 1.15.1)
- make logging partially configurable and less verbose

Issue-ID: AAI-4047
Change-Id: I78695dfccab88244bf119a4fc8877c1b9ddf90c2
Signed-off-by: Fiete Ostkamp <Fiete.Ostkamp@telekom.de>
55 files changed:
kubernetes/aai/Chart.yaml
kubernetes/aai/components/aai-babel/Chart.yaml
kubernetes/aai/components/aai-babel/resources/config/application.properties
kubernetes/aai/components/aai-babel/values.yaml
kubernetes/aai/components/aai-graphadmin/Chart.yaml
kubernetes/aai/components/aai-graphadmin/resources/config/aaiconfig.properties
kubernetes/aai/components/aai-graphadmin/resources/config/application.properties
kubernetes/aai/components/aai-graphadmin/templates/job-create-db.yaml
kubernetes/aai/components/aai-graphadmin/templates/servicemonitor.yaml
kubernetes/aai/components/aai-graphadmin/values.yaml
kubernetes/aai/components/aai-modelloader/Chart.yaml
kubernetes/aai/components/aai-modelloader/resources/config/log/logback.xml
kubernetes/aai/components/aai-modelloader/resources/config/model-loader.properties
kubernetes/aai/components/aai-modelloader/values.yaml
kubernetes/aai/components/aai-resources/Chart.yaml
kubernetes/aai/components/aai-resources/resources/config/aaiconfig.properties
kubernetes/aai/components/aai-resources/resources/config/application-keycloak.properties
kubernetes/aai/components/aai-resources/resources/config/application.properties
kubernetes/aai/components/aai-resources/resources/config/janusgraph-cached.properties [deleted file]
kubernetes/aai/components/aai-resources/resources/config/janusgraph-realtime.properties
kubernetes/aai/components/aai-resources/resources/config/localhost-access-logback.xml
kubernetes/aai/components/aai-resources/resources/config/logback.xml
kubernetes/aai/components/aai-resources/templates/autoscaling.yaml [new file with mode: 0644]
kubernetes/aai/components/aai-resources/templates/configmap.yaml
kubernetes/aai/components/aai-resources/templates/deployment.yaml
kubernetes/aai/components/aai-resources/values.yaml
kubernetes/aai/components/aai-schema-service/Chart.yaml
kubernetes/aai/components/aai-schema-service/config/localhost-access-logback.xml
kubernetes/aai/components/aai-schema-service/config/logback.xml
kubernetes/aai/components/aai-schema-service/templates/deployment.yaml
kubernetes/aai/components/aai-schema-service/values.yaml
kubernetes/aai/components/aai-sparky-be/Chart.yaml
kubernetes/aai/components/aai-sparky-be/resources/config/application/application-oxm-default.properties
kubernetes/aai/components/aai-sparky-be/resources/config/application/application-oxm-override.properties
kubernetes/aai/components/aai-sparky-be/resources/config/application/application-sync.properties
kubernetes/aai/components/aai-sparky-be/resources/config/application/logback.xml
kubernetes/aai/components/aai-sparky-be/templates/deployment.yaml
kubernetes/aai/components/aai-sparky-be/values.yaml
kubernetes/aai/components/aai-traversal/Chart.yaml
kubernetes/aai/components/aai-traversal/resources/config/application.properties
kubernetes/aai/components/aai-traversal/resources/config/janusgraph-cached.properties [deleted file]
kubernetes/aai/components/aai-traversal/resources/config/janusgraph-realtime.properties
kubernetes/aai/components/aai-traversal/resources/config/localhost-access-logback.xml
kubernetes/aai/components/aai-traversal/resources/config/logback.xml
kubernetes/aai/components/aai-traversal/templates/autoscaling.yaml [new file with mode: 0644]
kubernetes/aai/components/aai-traversal/templates/configmap.yaml
kubernetes/aai/components/aai-traversal/templates/deployment.yaml
kubernetes/aai/components/aai-traversal/templates/job.yaml
kubernetes/aai/components/aai-traversal/templates/servicemonitor.yaml
kubernetes/aai/components/aai-traversal/values.yaml
kubernetes/aai/templates/deployment.yaml
kubernetes/aai/templates/service.yaml
kubernetes/aai/templates/servicemonitor.yaml
kubernetes/aai/values.yaml
kubernetes/onap/Chart.yaml

index b06609a..351f01a 100644 (file)
@@ -18,7 +18,7 @@
 apiVersion: v2
 description: ONAP Active and Available Inventory
 name: aai
-version: 14.0.3
+version: 15.0.0
 
 dependencies:
   - name: common
@@ -35,31 +35,31 @@ dependencies:
     version: ~13.x-0
     repository: '@local'
   - name: aai-babel
-    version: ~14.x-0
+    version: ~15.x-0
     repository: 'file://components/aai-babel'
     condition: aai-babel.enabled
   - name: aai-graphadmin
-    version: ~14.x-1
+    version: ~15.x-0
     repository: 'file://components/aai-graphadmin'
     condition: aai-graphadmin.enabled
   - name: aai-modelloader
-    version: ~14.x-0
+    version: ~15.x-0
     repository: 'file://components/aai-modelloader'
     condition: aai-modelloader.enabled
   - name: aai-resources
-    version: ~14.x-1
+    version: ~15.x-0
     repository: 'file://components/aai-resources'
     condition: aai-resources.enabled
   - name: aai-schema-service
-    version: ~14.x-0
+    version: ~15.x-0
     repository: 'file://components/aai-schema-service'
     condition: aai-schema-service.enabled
   - name: aai-sparky-be
-    version: ~14.x-0
+    version: ~15.x-0
     repository: 'file://components/aai-sparky-be'
     condition: aai-sparky-be.enabled
   - name: aai-traversal
-    version: ~14.x-1
+    version: ~15.x-0
     repository: 'file://components/aai-traversal'
     condition: aai-traversal.enabled
   - name: serviceAccount
index 50a7c24..d578306 100644 (file)
@@ -18,7 +18,7 @@
 apiVersion: v2
 description: Babel microservice
 name: aai-babel
-version: 14.0.2
+version: 15.0.0
 
 dependencies:
   - name: common
index 56560d5..b28a4e7 100644 (file)
@@ -24,4 +24,13 @@ server.servlet.context-path=/services/babel-service
 logging.config=${CONFIG_HOME}/logback.xml
 tosca.mappings.config=${CONFIG_HOME}/tosca-mappings.json
 
+spring.application.name=aai-babel
+spring.sleuth.enabled=true
+spring.zipkin.baseUrl={{ .Values.tracing.collector.baseUrl }}
+spring.sleuth.messaging.jms.enabled = false
+spring.sleuth.trace-id128=true
+spring.sleuth.sampler.probability={{ .Values.tracing.sampling.probability }}
+spring.sleuth.propagation.type=w3c, b3
+spring.sleuth.supports-join=false
+
 management.endpoints.web.exposure.include=*
index 54f8c5e..c07b124 100644 (file)
@@ -25,10 +25,9 @@ global: {}
 #################################################################
 
 # application image
-image: onap/babel:1.13.3
+image: onap/babel:1.13.4
 
 flavor: small
-flavorOverride: small
 
 # default number of instances
 replicaCount: 1
@@ -85,16 +84,16 @@ resources:
   small:
     limits:
       cpu: "1"
-      memory: "4Gi"
+      memory: "3Gi"
     requests:
-      cpu: "0.5"
+      cpu: "200m"
       memory: "1Gi"
   large:
     limits:
       cpu: "4"
-      memory: "8Gi"
+      memory: "6Gi"
     requests:
-      cpu: "2"
+      cpu: "1"
       memory: "2Gi"
   unlimited: {}
 
index 7c86fed..1264d73 100644 (file)
@@ -22,7 +22,7 @@
 apiVersion: v2
 description: ONAP AAI GraphAdmin
 name: aai-graphadmin
-version: 14.0.2
+version: 15.0.0
 
 dependencies:
   - name: common
index 8f63ac8..cf91642 100644 (file)
@@ -5,7 +5,7 @@
 # ================================================================================
 # Copyright © 2018 AT&T Intellectual Property. All rights reserved.
 # Modifications Copyright © 2021 Orange
-# Modifications Copyright © 2023 Nordix Foundation
+# Modifications Copyright Â© 2023 Nordix Foundation
 # ================================================================================
 # Licensed under the Apache License, Version 2.0 (the "License");
 # you may not use this file except in compliance with the License.
@@ -29,11 +29,11 @@ aai.server.url.base=http://aai.{{ include "common.namespace" . }}/aai/
 aai.server.url=http://aai.{{ include "common.namespace" . }}/aai/{{ .Values.global.config.schema.version.api.default }}/
 aai.global.callback.url=http://aai.{{ include "common.namespace" . }}/aai/
 
-{{ if or (.Values.global.config.basic.auth.enabled) ( include "common.onServiceMesh" .) }}
+{{- if or (.Values.global.config.basic.auth.enabled) ( include "common.onServiceMesh" .) }}
 aai.tools.enableBasicAuth=true
 aai.tools.username={{ .Values.global.config.basic.auth.username }}
 aai.tools.password={{ .Values.global.config.basic.auth.passwd }}
-{{ end }}
+{{- end }}
 
 aai.notification.current.version={{ .Values.global.config.schema.version.api.default }}
 aai.notificationEvent.default.status=UNPROCESSED
index d124f63..cc6b567 100644 (file)
@@ -111,5 +111,11 @@ aperture.service.timeout-in-milliseconds=300000
 #To Expose the Prometheus scraping endpoint
 management.server.port={{ .Values.service.actuatorPort }}
 management.endpoints.enabled-by-default=true
-management.endpoints.web.exposure.include=info,health,prometheus
+management.endpoints.web.exposure.include=*
 management.security.enabled=false
+
+# If true, the actuator health check will be overriden
+# to use the AaiGraphChecker check instead.
+# This does the same as the /echo endpoint,
+# but doesn't show up in micrometer metrics
+aai.actuator.echo.enabled={{ .Values.actuator.echo.enabled }}
index e67479a..5d7e9b6 100644 (file)
@@ -76,6 +76,17 @@ spec:
         - name: JVM_OPTS
           value: {{ .Values.config.debug.args | quote }}
         {{- end }}
+        {{- if .Values.config.env }}
+        {{- range $key,$value := .Values.config.env }}
+        - name: {{ $key | upper | quote}}
+          value: {{ $value | quote}}
+        {{- end }}
+        {{- end }}
+        - name: JAAS_CONFIG
+          valueFrom:
+            secretKeyRef:
+              name: {{ include "common.release" . }}-{{ .Values.global.aaiGraphKafkaUser }}
+              key: sasl.jaas.config
         ports:
         {{- if .Values.config.debug.enabled }}
         - containerPort: {{ .Values.service.debugPort }}
index c0d9f21..dc70602 100644 (file)
@@ -1,3 +1,3 @@
 {{- if .Values.metrics.serviceMonitor.enabled }}
 {{  include "common.serviceMonitor" . }}
-{{- end }}
\ No newline at end of file
+{{- end }}
index dd95c8b..fab3423 100644 (file)
@@ -103,7 +103,7 @@ global: # global defaults
       clients: SDNC,-1|MSO,-1|SO,-1|robot-ete,-1
 
 # application image
-image: onap/aai-graphadmin:1.14.7
+image: onap/aai-graphadmin:1.15.1
 pullPolicy: Always
 restartPolicy: Always
 flavor: small
@@ -194,6 +194,9 @@ config:
       - "-Dcom.sun.management.jmxremote.port=9999"
       - "-Dcom.sun.management.jmxremote.rmi.port=9999"
       - "-Djava.rmi.server.hostname=127.0.0.1"
+  env:
+    BOOTSTRAP_SERVERS: onap-strimzi-kafka-bootstrap:9092
+
 
 nodeSelector: {}
 
@@ -214,6 +217,10 @@ startup:
   failureThreshold: 60
   periodSeconds: 5
 
+actuator:
+  echo:
+    enabled: true
+
 readinessCheck:
   waitForWithCreateSchemaEnabled:
     jobs:
index 5ce5902..23ce50a 100644 (file)
@@ -17,7 +17,7 @@
 apiVersion: v2
 description: ONAP AAI modelloader
 name: aai-modelloader
-version: 14.0.1
+version: 15.0.0
 
 dependencies:
   - name: common
index dd8da59..90579b0 100644 (file)
   <!-- Model Loader loggers -->
   <logger name="org.openecomp.modelloader" level="INFO" />
 
+  <logger name="org.onap.sdc.impl.NotificationConsumer" level="WARN" />
+
   <!-- Other Loggers that may help troubleshoot -->
   <logger name="net.sf" level="WARN" />
   <logger name="org.apache.commons.httpclient" level="WARN" />
index e32f48f..7c65c86 100644 (file)
@@ -1,7 +1,7 @@
 {{/*
 # Copyright © 2018 Amdocs, Bell Canada, AT&T
 # Modifications Copyright © 2021 Orange
-# Modifications Copyright © 2023 Nordix Foundation
+# Modifications Copyright Â© 2023 Nordix Foundation
 #
 # Licensed under the Apache License, Version 2.0 (the "License");
 # you may not use this file except in compliance with the License.
index b28989c..d76b1d3 100644 (file)
@@ -25,7 +25,6 @@ image: onap/model-loader:1.14.2
 pullPolicy: Always
 restartPolicy: Always
 flavor: small
-flavorOverride: small
 
 # Strimzi KafkaUser config
 kafkaUser:
index c67329d..7d7075e 100644 (file)
@@ -18,7 +18,7 @@
 apiVersion: v2
 description: ONAP AAI resources
 name: aai-resources
-version: 14.0.2
+version: 15.0.0
 
 dependencies:
   - name: common
index 0f6f292..6392a8e 100644 (file)
@@ -91,7 +91,7 @@ aai.bulkconsumer.payloadoverride={{ .Values.config.bulk.override }}
 #
 
 # Indicator to enable or disable scheduled task (true/false)
-aai.graph.checker.task.enabled=true
+aai.graph.checker.task.enabled=false
 
 # Delay, in seconds, before the scheduled task is started, if enabled
 aai.graph.checker.task.delay=5
index 774e8bd..738634d 100644 (file)
@@ -11,4 +11,4 @@ keycloak.public-client=true
 keycloak.principal-attribute=preferred_username
 
 keycloak.ssl-required=external
-keycloak.bearer-only=true
\ No newline at end of file
+keycloak.bearer-only=true
index 5762460..eae146b 100644 (file)
@@ -107,7 +107,7 @@ schema.service.client=no-auth
 #to expose the Prometheus scraping endpoint
 management.server.port=8448
 management.endpoints.enabled-by-default=true
-management.endpoints.web.exposure.include=info,health,prometheus
+management.endpoints.web.exposure.include=*
 endpoints.enabled={{ .Values.endpoints.enabled }}
 endpoints.info.enabled={{ .Values.endpoints.info.enabled }}
 endpoints.prometheus.enabled={{ .Values.metrics.serviceMonitor.enabled }}
@@ -118,4 +118,10 @@ management.metrics.distribution.sla[http.server.requests]=20ms, 30ms, 40ms, 50ms
 #Add common tag for grouping all aai related metrics
 management.metrics.tags.group_id=aai
 #It is not advisable to use labels to store dimensions with high cardinality. Enable this option only for debug purposes. For more information: https://github.com/micrometer-metrics/micrometer/issues/1584
-scrape.uri.metrics=false
\ No newline at end of file
+scrape.uri.metrics=false
+
+# If true, the actuator health check will be overriden
+# to use the AaiGraphChecker check instead.
+# This does the same as the /echo endpoint,
+# but doesn't show up in micrometer metrics
+aai.actuator.echo.enabled={{ .Values.actuator.echo.enabled }}
diff --git a/kubernetes/aai/components/aai-resources/resources/config/janusgraph-cached.properties b/kubernetes/aai/components/aai-resources/resources/config/janusgraph-cached.properties
deleted file mode 100644 (file)
index b6fdd4c..0000000
+++ /dev/null
@@ -1,102 +0,0 @@
-{{/*
-#
-# ============LICENSE_START=======================================================
-# org.onap.aai
-# ================================================================================
-# Copyright © 2017 AT&T Intellectual Property. All rights reserved.
-# ================================================================================
-# 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.
-# ============LICENSE_END=========================================================
-#
-# ECOMP is a trademark and service mark of AT&T Intellectual Property.
-#
-*/}}
-
-query.fast-property=true
-query.smart-limit=false
-
-{{ if .Values.global.config.cluster.cassandra.dynamic }}
-
-storage.backend=cql
-storage.hostname={{.Values.global.cassandra.serviceName}}
-storage.cql.keyspace=aaigraph
-storage.username={{.Values.global.cassandra.username}}
-storage.password={{.Values.global.cassandra.password}}
-
-storage.cql.read-consistency-level=LOCAL_QUORUM
-storage.cql.write-consistency-level=LOCAL_QUORUM
-storage.cql.replication-factor={{.Values.global.cassandra.replicas}}
-storage.cql.only-use-local-consistency-for-system-operations=true
-
-{{ else }}
-
-{{ if .Values.global.config.storage }}
-
-storage.backend={{ .Values.global.config.storage.backend }}
-
-{{ if eq .Values.global.config.storage.backend "cassandra" }}
-
-storage.hostname={{ .Values.global.config.storage.hostname }}
-storage.cassandra.keyspace={{ .Values.global.config.storage.name }}
-
-storage.cassandra.read-consistency-level={{ .Values.global.config.storage.cassandra.readConsistency }}
-storage.cassandra.write-consistency-level={{ .Values.global.config.storage.cassandra.writeConsistency }}
-storage.cassandra.replication-factor={{ .Values.global.config.storage.cassandra.replicationFactor | int }}
-storage.cassandra.astyanax.cluster-name= {{ .Values.global.config.storage.clusterName }}
-storage.cassandra.astyanax.local-datacenter= {{ .Values.global.config.storage.localDataCenter }}
-
-storage.connection-timeout={{ .Values.global.config.storage.connectionTimeout | int }}
-cache.tx-cache-size={{ .Values.global.config.storage.cacheSize | int }}
-log.tx.key-consistent={{ .Values.global.config.storage.keyConsistent }}
-
-{{ else if eq .Values.global.config.storage.backend "cql" }}
-
-storage.hostname={{ .Values.global.config.storage.hostname }}
-storage.cql.keyspace={{ .Values.global.config.storage.name }}
-
-storage.cql.read-consistency-level={{ .Values.global.config.storage.cql.readConsistency }}
-storage.cql.write-consistency-level={{ .Values.global.config.storage.cql.readConsistency }}
-storage.cql.replication-factor={{ .Values.global.config.storage.cql.replicationFactor | int }}
-
-storage.cql.only-use-local-consistency-for-system-operations={{ .Values.global.config.storage.cql.localConsistencyForSysOps }}
-storage.cql.cluster-name={{ .Values.global.config.storage.clusterName }}
-storage.cql.local-datacenter={{ .Values.global.config.storage.localDataCenter }}
-
-storage.connection-timeout={{ .Values.global.config.storage.connectionTimeout | int }}
-cache.tx-cache-size={{ .Values.global.config.storage.cacheSize | int }}
-log.tx.key-consistent={{ .Values.global.config.storage.keyConsistent }}
-
-{{ else if eq .Values.global.config.storage.backend "hbase" }}
-
-storage.hostname={{ .Values.global.config.storage.hostname }}
-storage.hbase.table={{ .Values.global.config.storage.name }}
-
-storage.connection-timeout={{ .Values.global.config.storage.connectionTimeout | int }}
-cache.tx-cache-size={{ .Values.global.config.storage.cacheSize | int }}
-log.tx.key-consistent={{ .Values.global.config.storage.keyConsistent }}
-
-{{ end }}
-
-{{ end }}
-
-{{ end }}
-
-storage.lock.wait-time=300
-#caching on
-cache.db-cache = true
-cache.db-cache-clean-wait = 20
-cache.db-cache-time = 180000
-cache.db-cache-size = 0.3
-
-#load graphson file on startup
-load.snapshot.file=false
index 36940a8..1f46755 100644 (file)
 # limitations under the License.
 # ============LICENSE_END=========================================================
 */}}
-
 query.fast-property=true
 query.smart-limit=false
 
-{{ if .Values.global.config.cluster.cassandra.dynamic }}
-
+{{- if .Values.global.config.cluster.cassandra.dynamic }}
 storage.backend=cql
 storage.hostname={{.Values.global.cassandra.serviceName}}
 storage.username={{.Values.global.cassandra.username}}
@@ -34,21 +32,16 @@ storage.cql.write-consistency-level=LOCAL_QUORUM
 storage.cql.replication-factor={{.Values.global.cassandra.replicas}}
 storage.cql.only-use-local-consistency-for-system-operations=true
 
-{{ if .Values.global.cassandra.partitionerName }}
+{{- if .Values.global.cassandra.partitionerName }}
 storage.cql.partitioner-name={{ .Values.global.cassandra.partitionerName }}
-{{ end }}
-
-{{ else }}
-
-{{ if .Values.global.config.storage }}
-
+{{- end }}
+{{- else -}}
+{{- if .Values.global.config.storage }}
 storage.backend={{ .Values.global.config.storage.backend }}
-
-{{ if eq .Values.global.config.storage.backend "cql" }}
-
+{{- if eq .Values.global.config.storage.backend "cql" }}
 storage.hostname={{ .Values.global.config.storage.hostname }}
 storage.cql.keyspace={{ .Values.global.config.storage.name }}
-storage.cql.local-datacenter={{ .Values.global.config.storage.localDataCenter }}
+storage.cql.local-datacenter={{ .Values.global.cassandra.localDataCenter }}
 
 storage.cql.read-consistency-level={{ .Values.global.config.storage.cql.readConsistency }}
 storage.cql.write-consistency-level={{ .Values.global.config.storage.cql.readConsistency }}
@@ -56,26 +49,21 @@ storage.cql.replication-factor={{ .Values.global.config.storage.cql.replicationF
 
 storage.cql.only-use-local-consistency-for-system-operations={{ .Values.global.config.storage.cql.localConsistencyForSysOps }}
 storage.cql.cluster-name={{ .Values.global.config.storage.clusterName }}
-storage.cql.local-datacenter={{ .Values.global.config.storage.localDataCenter }}
+storage.cql.local-datacenter={{ .Values.global.cassandra.localDataCenter }}
 
 storage.connection-timeout={{ .Values.global.config.storage.connectionTimeout | int }}
 cache.tx-cache-size={{ .Values.global.config.storage.cacheSize | int }}
 log.tx.key-consistent={{ .Values.global.config.storage.keyConsistent }}
-
 {{ else if eq .Values.global.config.storage.backend "hbase" }}
-
 storage.hostname={{ .Values.global.config.storage.hostname }}
 storage.hbase.table={{ .Values.global.config.storage.name }}
 
 storage.connection-timeout={{ .Values.global.config.storage.connectionTimeout | int }}
 cache.tx-cache-size={{ .Values.global.config.storage.cacheSize | int }}
 log.tx.key-consistent={{ .Values.global.config.storage.keyConsistent }}
-
-{{ end }}
-
-{{ end }}
-
-{{ end }}
+{{- end }}
+{{- end }}
+{{- end }}
 
 storage.lock.wait-time=300
 
@@ -83,16 +71,16 @@ storage.lock.wait-time=300
 # Setting db-cache to false will ensure the fastest propagation of changes across servers
 # Setting db-cache to true will ensure fastest response times
 cache.db-cache={{ .Values.config.janusgraph.caching.enabled }}
-{{ if .Values.config.janusgraph.caching.enabled }}
+{{- if .Values.config.janusgraph.caching.enabled }}
 # cache-time in milliseconds
 cache.db-cache-time={{ .Values.config.janusgraph.caching.dbCacheTime }}
 cache.db-cache-size={{ .Values.config.janusgraph.caching.dbCacheSize }}
 cache.db-cache-clean-wait={{ .Values.config.janusgraph.caching.dbCacheCleanWait }}
-{{ end }}
+{{- end }}
 
 #load graphson file on startup
 load.snapshot.file=false
 
-{{ if .Values.config.janusgraph.allowUpgrade }}
+{{- if .Values.config.janusgraph.allowUpgrade }}
 graph.allow-upgrade=true
-{{ end }}
+{{- end }}
index 07919a9..54c3d81 100644 (file)
@@ -11,7 +11,7 @@
     you may not use this file except in compliance with the License.\r
     You may obtain a copy of the License at\r
 \r
-       http://www.apache.org/licenses/LICENSE-2.0\r
+        http://www.apache.org/licenses/LICENSE-2.0\r
 \r
     Unless required by applicable law or agreed to in writing, software\r
     distributed under the License is distributed on an "AS IS" BASIS,\r
 %z - Custom pattern that parses the cert for the subject\r
 %y - Custom pattern determines rest or dme2\r
 -->\r
-*/}}
\ No newline at end of file
+*/}}\r
index 4415393..a90f354 100644 (file)
       <logger name="org.onap.aai.aailog.logs.AaiScheduledTaskAuditLog" level="INFO">
         <appender-ref ref="asyncAUDIT"/>
       </logger>
-      <logger name="org.onap.logging.filter.base.AbstractAuditLogFilter" level="INFO">
+      <logger name="org.onap.logging.filter.base.AbstractAuditLogFilter" level={{ .Values.log.level.audit | upper | quote }}>
         <appender-ref ref="asyncAUDIT"/>
       </logger>
-      <logger name="org.onap.aai.aailog.logs.AaiDBMetricLog" level="INFO">
+      <logger name="org.onap.aai.aailog.logs.AaiDBMetricLog" level={{ .Values.log.level.dbMetric | upper | quote }}>
         <appender-ref ref="asyncMETRIC"/>
       </logger>
       <logger name="org.onap.aai.aailog.logs.AaiDmaapMetricLog" level="INFO">
     </if>
     <appender-ref ref="STDOUT"/>
   </root>
-</configuration>
\ No newline at end of file
+</configuration>
diff --git a/kubernetes/aai/components/aai-resources/templates/autoscaling.yaml b/kubernetes/aai/components/aai-resources/templates/autoscaling.yaml
new file mode 100644 (file)
index 0000000..ed1f8e3
--- /dev/null
@@ -0,0 +1,36 @@
+{{- if and .Values.autoscaling.enabled (not (or .Values.config.debug.enabled .Values.config.profiling.enabled)) }}
+apiVersion: autoscaling/v2
+kind: HorizontalPodAutoscaler
+metadata:
+  name: {{ include "common.fullname" . }}
+  namespace: {{ include "common.namespace" . }}
+  labels:
+    app: {{ include "common.name" . }}
+    chart: {{ .Chart.Name }}-{{ .Chart.Version | replace "+" "_" }}
+    release: {{ include "common.release" . }}
+    heritage: {{ .Release.Service }}
+spec:
+  scaleTargetRef:
+    apiVersion: apps/v1
+    kind: Deployment
+    name: {{ include "common.fullname" . }}
+  minReplicas: {{ .Values.autoscaling.minReplicas }}
+  maxReplicas: {{ .Values.autoscaling.maxReplicas }}
+  metrics:
+    {{- if .Values.autoscaling.targetCPUUtilizationPercentage }}
+    - type: Resource
+      resource:
+        name: cpu
+        target:
+          type: Utilization
+          averageUtilization: {{ .Values.autoscaling.targetCPUUtilizationPercentage }}
+    {{- end }}
+    {{- if .Values.autoscaling.targetMemoryUtilizationPercentage }}
+    - type: Resource
+      resource:
+        name: memory
+        target:
+          type: Utilization
+          averageUtilization: {{ .Values.autoscaling.targetMemoryUtilizationPercentage }}
+    {{- end }}
+{{- end }}
index eccc4ba..c3c2262 100644 (file)
@@ -29,7 +29,6 @@ data:
 {{ tpl (.Files.Glob "resources/config/logback.xml").AsConfig . | indent 2 }}
 {{ tpl (.Files.Glob "resources/config/localhost-access-logback.xml").AsConfig . | indent 2 }}
 {{ tpl (.Files.Glob "resources/config/janusgraph-realtime.properties").AsConfig . | indent 2 }}
-{{ tpl (.Files.Glob "resources/config/janusgraph-cached.properties").AsConfig . | indent 2 }}
 {{ tpl (.Files.Glob "resources/config/aaiconfig.properties").AsConfig . | indent 2 }}
 {{ tpl (.Files.Glob "resources/config/application.properties").AsConfig . | indent 2 }}
 {{ tpl (.Files.Glob "resources/config/application-keycloak.properties").AsConfig . | indent 2 }}
index f00cb99..4c6c12b 100644 (file)
@@ -35,7 +35,13 @@ metadata:
     release: {{ include "common.release" . }}
     heritage: {{ .Release.Service }}
 spec:
+  {{- if or .Values.config.debug.enabled .Values.config.profiling.enabled }}
+  replicas: 1
+  {{- else }}
+  {{- if not .Values.autoscaling.enabled }}
   replicas: {{ .Values.replicaCount }}
+  {{- end }}
+  {{- end }}
   revisionHistoryLimit: {{ .Values.revisionHistoryLimit }}
   minReadySeconds: {{ .Values.minReadySeconds }}
   strategy:
@@ -146,10 +152,6 @@ spec:
         - name: POST_JVM_ARGS
           value: {{ .Values.config.debug.args | quote }}
         {{- end }}
-        - name: LOCAL_USER_ID
-          value: {{ .Values.global.config.userId | quote }}
-        - name: LOCAL_GROUP_ID
-          value: {{ .Values.global.config.groupId | quote }}
         - name: INTERNAL_PORT_1
           value: {{ .Values.service.resourcesPort | quote }}
         - name: INTERNAL_PORT_2
@@ -167,9 +169,6 @@ spec:
         - mountPath: /opt/app/aai-resources/resources/etc/appprops/janusgraph-realtime.properties
           name: {{ include "common.fullname" . }}-config
           subPath: janusgraph-realtime.properties
-        - mountPath: /opt/app/aai-resources/resources/etc/appprops/janusgraph-cached.properties
-          name: {{ include "common.fullname" . }}-config
-          subPath: janusgraph-cached.properties
         - mountPath: /opt/app/aai-resources/resources/etc/appprops/aaiconfig.properties
           name: {{ include "common.fullname" . }}-config
           subPath: aaiconfig.properties
@@ -220,33 +219,27 @@ spec:
         {{- if and .Values.liveness.enabled (not (or .Values.config.debug.enabled .Values.config.profiling.enabled)) }}
         livenessProbe:
           httpGet:
-            path: /aai/util/echo?action=checkDB
-            port: {{ .Values.service.resourcesPort }}
-            scheme: HTTP
-            httpHeaders:
-            - name: X-FromAppId
-              value: LivenessCheck
-            - name: X-TransactionId
-              value: LiveCheck_TID
-            - name: Accept
-              value: application/json
+            port: {{ .Values.service.metricsPort }}
+            path: {{ .Values.liveness.path }}
+          {{- if .Values.liveness.initialDelaySeconds }}
           initialDelaySeconds: {{ .Values.liveness.initialDelaySeconds }}
+          {{- end }}
           periodSeconds: {{ .Values.liveness.periodSeconds }}
         {{- end }}
         readinessProbe:
           httpGet:
-            path: /aai/util/echo?action=checkDB
-            port: {{ .Values.service.resourcesPort }}
-            scheme: HTTP
-            httpHeaders:
-            - name: X-FromAppId
-              value: ReadinessCheck
-            - name: X-TransactionId
-              value: ReadinessCheck_TID
-            - name: Accept
-              value: application/json
+            port: {{ .Values.service.metricsPort }}
+            path: {{ .Values.readiness.path }}
+          {{- if .Values.readiness.initialDelaySeconds }}
           initialDelaySeconds: {{ .Values.readiness.initialDelaySeconds }}
+          {{- end }}
           periodSeconds: {{ .Values.readiness.periodSeconds }}
+        startupProbe:
+          httpGet:
+            port: {{ .Values.service.metricsPort }}
+            path: {{ .Values.startup.path }}
+          failureThreshold: {{ .Values.startup.failureThreshold }}
+          periodSeconds: {{ .Values.startup.periodSeconds }}
         resources: {{ include "common.resources" . | nindent 10 }}
       {{- if .Values.nodeSelector }}
       nodeSelector: {{ toYaml .Values.nodeSelector | nindent 8 }}
index 630c88a..8902762 100644 (file)
@@ -134,11 +134,10 @@ aai_enpoints:
     url: external-system
 
 # application image
-image: onap/aai-resources:1.14.7
+image: onap/aai-resources:1.15.1
 pullPolicy: Always
 restartPolicy: Always
 flavor: small
-flavorOverride: small
 # default number of instances
 replicaCount: 1
 
@@ -178,7 +177,7 @@ config:
       enabled: true
       # Documentation: https://docs.janusgraph.org/operations/cache/#database-level-caching
       dbCacheTime: 180000 # in milliseconds
-      dbCacheSize: 0.1 # percentage (expressed as a decimal between 0 and 1) of the total heap space available to the JVM running
+      dbCacheSize: 0.5 # percentage (expressed as a decimal between 0 and 1) of the total heap space available to the JVM running
       dbCacheCleanWait: 20 # in milliseconds
     # temporarily enable this to update the graph storage version
     # see: https://docs.janusgraph.org/changelog/#upgrade-instructions_9
@@ -209,7 +208,6 @@ config:
   # environment variables added to the launch of the image in deployment
   env:
     MIN_HEAP_SIZE: "512m"
-    MAX_HEAP_SIZE: "2g"
     MAX_METASPACE_SIZE: "512m"
 
   # adds jvm args for remote debugging the application
@@ -239,14 +237,23 @@ affinity: {}
 
 # probe configuration parameters
 liveness:
-  initialDelaySeconds: 60
-  periodSeconds: 60
   enabled: true
+  path: /actuator/health/liveness
+  periodSeconds: 10
 
 readiness:
-  initialDelaySeconds: 60
+  path: /actuator/health/readiness
   periodSeconds: 10
 
+startup:
+  path: /actuator/health/liveness
+  failureThreshold: 60
+  periodSeconds: 5
+
+actuator:
+  echo:
+    enabled: true
+
 service:
   type: ClusterIP
   resourcesPortName: http
@@ -290,7 +297,7 @@ resources:
   large:
     limits:
       cpu: "8"
-      memory: "12Gi"
+      memory: "8Gi"
     requests:
       cpu: "4"
       memory: "6Gi"
@@ -311,9 +318,15 @@ endpoints:
   info:
     enabled: true
 
+autoscaling:
+  enabled: false
+  minReplicas: 1
+  maxReplicas: 3
+  targetCPUUtilizationPercentage: 80
+
 metrics:
   serviceMonitor:
-    enabled: false
+    enabled: true
     targetPort: 8448
     path: /actuator/prometheus
     basicAuth:
@@ -373,8 +386,10 @@ serviceAccount:
 log:
   path: /var/log/onap
   level:
-    root: DEBUG
-    base: DEBUG # base package (org.onap.aai)
+    root: INFO
+    base: INFO # base package (org.onap.aai)
+    audit: WARN
+    dbMetric: WARN
 logConfigMapNamePrefix: '{{ include "common.fullname" . }}'
 
 # To make logback capping values configurable
index 4706485..512090d 100644 (file)
@@ -18,7 +18,7 @@
 apiVersion: v2
 description: ONAP AAI Schema Service
 name: aai-schema-service
-version: 14.0.2
+version: 15.0.0
 
 dependencies:
   - name: common
index d062835..36acef2 100644 (file)
@@ -9,7 +9,7 @@
     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
+        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,
@@ -58,4 +58,4 @@
 %z - Custom pattern that parses the cert for the subject
 %y - Custom pattern determines rest or dme2
  -->
-*/}}
\ No newline at end of file
+*/}}
index e91e257..11837c5 100644 (file)
@@ -10,7 +10,7 @@
   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
+      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,
   <logger name="com.att.aft.dme2" level="WARN"/>
 
 
-  <root level="DEBUG">
+  <root level={{ .Values.log.level.root | upper | quote }}>
     <appender-ref ref="STDOUT" />
     <appender-ref ref="external"/>
   </root>
index d4041be..7254670 100644 (file)
@@ -34,7 +34,11 @@ metadata:
     release: {{ include "common.release" . }}
     heritage: {{ .Release.Service }}
 spec:
+  {{- if .Values.debug.enabled }}
+  replicas: 1
+  {{- else }}
   replicas: {{ .Values.replicaCount }}
+  {{- end }}
   revisionHistoryLimit: {{ .Values.revisionHistoryLimit }}
   strategy:
     type: {{ .Values.updateStrategy.type }}
@@ -66,10 +70,6 @@ spec:
         image: {{ include "repositoryGenerator.repository" . }}/{{ .Values.image }}
         imagePullPolicy: {{ .Values.global.pullPolicy | default .Values.pullPolicy }}
         env:
-        - name: LOCAL_USER_ID
-          value: {{ .Values.securityContext.user_id | quote }}
-        - name: LOCAL_GROUP_ID
-          value: {{ .Values.securityContext.group_id | quote }}
         {{- if .Values.profiling.enabled }}
         - name: PRE_JVM_ARGS
           value: '{{ join " " .Values.profiling.args }}'
index 12dfaea..0ffeb55 100644 (file)
@@ -63,7 +63,7 @@ global: # global defaults
 image: onap/aai-schema-service:1.12.5
 pullPolicy: Always
 restartPolicy: Always
-flavorOverride: small
+flavor: small
 # default number of instances
 replicaCount: 1
 
@@ -175,4 +175,6 @@ securityContext:
 #Log configuration
 log:
   path: /var/log/onap
+  level:
+    root: INFO
 logConfigMapNamePrefix: '{{ include "common.fullname" . }}'
index 5f05c6d..9c9185b 100644 (file)
@@ -17,7 +17,7 @@
 apiVersion: v2
 description: ONAP AAI sparky-be
 name: aai-sparky-be
-version: 14.0.0
+version: 15.0.0
 
 dependencies:
   - name: common
index cd5338f..5ceae5c 100644 (file)
 <configuration scan="true" scanPeriod="3 seconds" debug="false">
-    <!--{{/*
-    # Copyright © 2018 AT&T
-    # Copyright © 2021 Orange
-    #
-    # 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.
-    */}}-->
-  <!--<jmxConfigurator /> -->
-  <!-- directory path for all other type logs -->
-
-  <property name="logDir" value="/var/log/onap" />
-
-  <!-- <ECOMP-component-name>::= "MSO" | "DCAE" | "ASDC " | "AAI" |"Policy"
-          | "SDNC" | "AC" -->
-  <property name="componentName" value="AAI-UI"></property>
-
-  <!-- default eelf log file names -->
-  <property name="generalLogName" value="error" />
-  <property name="metricsLogName" value="metrics" />
-  <property name="auditLogName" value="audit" />
-  <property name="debugLogName" value="debug" />
-
-  <property name="errorLogPattern" value="%d{yyyy-MM-dd'T'HH:mm:ss.SSSXXX}|%mdc{RequestId}|%thread|AAIUI|%mdc{PartnerName}|%logger|%.-5level|%msg%n" />
-  <property name="auditMetricPattern" value="%m%n" />
-
-  <property name="logDirectory" value="${logDir}/${componentName}" />
-
-
-  <!-- Example evaluator filter applied against console appender -->
-  <appender name="STDOUT" class="ch.qos.logback.core.ConsoleAppender">
-    <encoder>
-      <pattern>${errorLogPattern}</pattern>
-    </encoder>
-  </appender>
-
-  <!-- ============================================================================ -->
-  <!-- EELF Appenders -->
-  <!-- ============================================================================ -->
-
-  <!-- The EELFAppender is used to record events to the general application
-          log -->
-
-  <appender name="EELF" class="ch.qos.logback.core.rolling.RollingFileAppender">
-    <file>${logDirectory}/${generalLogName}.log</file>
-    <rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">
-      <fileNamePattern>${logDirectory}/${generalLogName}.%d{yyyy-MM-dd}.log.zip
+<!--{{/*
+  # Copyright © 2018 AT&T
+  # Copyright © 2021 Orange
+  #
+  # 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.
+  */}}-->
+<!--<jmxConfigurator /> -->
+<!-- directory path for all other type logs -->
+
+<property name="logDir" value="/var/log/onap" />
+
+<!-- <ECOMP-component-name>::= "MSO" | "DCAE" | "ASDC " | "AAI" |"Policy"
+        | "SDNC" | "AC" -->
+<property name="componentName" value="AAI-UI"></property>
+
+<!-- default eelf log file names -->
+<property name="generalLogName" value="error" />
+<property name="metricsLogName" value="metrics" />
+<property name="auditLogName" value="audit" />
+<property name="debugLogName" value="debug" />
+
+<property name="errorLogPattern" value="%d{yyyy-MM-dd'T'HH:mm:ss.SSSXXX}|%mdc{RequestId}|%thread|AAIUI|%mdc{PartnerName}|%logger|%.-5level|%msg%n" />
+<property name="auditMetricPattern" value="%m%n" />
+
+<property name="logDirectory" value="${logDir}/${componentName}" />
+
+
+<!-- Example evaluator filter applied against console appender -->
+<appender name="STDOUT" class="ch.qos.logback.core.ConsoleAppender">
+  <encoder>
+    <pattern>${errorLogPattern}</pattern>
+  </encoder>
+</appender>
+
+<!-- ============================================================================ -->
+<!-- EELF Appenders -->
+<!-- ============================================================================ -->
+
+<!-- The EELFAppender is used to record events to the general application
+        log -->
+
+<appender name="EELF" class="ch.qos.logback.core.rolling.RollingFileAppender">
+  <file>${logDirectory}/${generalLogName}.log</file>
+  <rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">
+    <fileNamePattern>${logDirectory}/${generalLogName}.%d{yyyy-MM-dd}.log.zip
 </fileNamePattern>
-      <maxHistory>60</maxHistory>
-    </rollingPolicy>
-    <encoder>
-      <pattern>${errorLogPattern}</pattern>
-    </encoder>
-  </appender>
-  <appender name="asyncEELF" class="ch.qos.logback.classic.AsyncAppender">
-    <!-- deny all events with a level below INFO, that is TRACE and DEBUG -->
-    <filter class="ch.qos.logback.classic.filter.ThresholdFilter">
-      <level>INFO</level>
-    </filter>
-    <queueSize>256</queueSize>
-    <appender-ref ref="EELF" />
-  </appender>
-
-
-  <!-- EELF Audit Appender. This appender is used to record audit engine related
-          logging events. The audit logger and appender are specializations of the
-          EELF application root logger and appender. This can be used to segregate
-          Policy engine events from other components, or it can be eliminated to record
-          these events as part of the application root log. -->
-
-  <appender name="EELFAudit" class="ch.qos.logback.core.rolling.RollingFileAppender">
-    <file>${logDirectory}/${auditLogName}.log</file>
-    <rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">
-      <fileNamePattern>${logDirectory}/${auditLogName}.%d{yyyy-MM-dd}.log.zip
+    <maxHistory>60</maxHistory>
+  </rollingPolicy>
+  <encoder>
+    <pattern>${errorLogPattern}</pattern>
+  </encoder>
+</appender>
+<appender name="asyncEELF" class="ch.qos.logback.classic.AsyncAppender">
+  <!-- deny all events with a level below INFO, that is TRACE and DEBUG -->
+  <filter class="ch.qos.logback.classic.filter.ThresholdFilter">
+    <level>INFO</level>
+  </filter>
+  <queueSize>256</queueSize>
+  <appender-ref ref="EELF" />
+</appender>
+
+
+<!-- EELF Audit Appender. This appender is used to record audit engine related
+        logging events. The audit logger and appender are specializations of the
+        EELF application root logger and appender. This can be used to segregate
+        Policy engine events from other components, or it can be eliminated to record
+        these events as part of the application root log. -->
+
+<appender name="EELFAudit" class="ch.qos.logback.core.rolling.RollingFileAppender">
+  <file>${logDirectory}/${auditLogName}.log</file>
+  <rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">
+    <fileNamePattern>${logDirectory}/${auditLogName}.%d{yyyy-MM-dd}.log.zip
 </fileNamePattern>
-      <maxHistory>60</maxHistory>
-    </rollingPolicy>
-    <encoder>
-      <pattern>${auditMetricPattern}</pattern>
-    </encoder>
-  </appender>
-  <appender name="asyncEELFAudit" class="ch.qos.logback.classic.AsyncAppender">
-    <queueSize>256</queueSize>
-    <appender-ref ref="EELFAudit" />
-  </appender>
-
-  <appender name="EELFMetrics" class="ch.qos.logback.core.rolling.RollingFileAppender">
-    <file>${logDirectory}/${metricsLogName}.log</file>
-    <rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">
-      <fileNamePattern>${logDirectory}/${metricsLogName}.%d{yyyy-MM-dd}.log.zip
+    <maxHistory>60</maxHistory>
+  </rollingPolicy>
+  <encoder>
+    <pattern>${auditMetricPattern}</pattern>
+  </encoder>
+</appender>
+<appender name="asyncEELFAudit" class="ch.qos.logback.classic.AsyncAppender">
+  <queueSize>256</queueSize>
+  <appender-ref ref="EELFAudit" />
+</appender>
+
+<appender name="EELFMetrics" class="ch.qos.logback.core.rolling.RollingFileAppender">
+  <file>${logDirectory}/${metricsLogName}.log</file>
+  <rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">
+    <fileNamePattern>${logDirectory}/${metricsLogName}.%d{yyyy-MM-dd}.log.zip
 </fileNamePattern>
-      <maxHistory>60</maxHistory>
-    </rollingPolicy>
-    <encoder>
-      <!-- <pattern>"%d{HH:mm:ss.SSS} [%thread] %-5level %logger{1024} - %msg%n"</pattern> -->
-      <pattern>${auditMetricPattern}</pattern>
-    </encoder>
-  </appender>
-
-
-  <appender name="asyncEELFMetrics" class="ch.qos.logback.classic.AsyncAppender">
-    <queueSize>256</queueSize>
-    <appender-ref ref="EELFMetrics" />
-  </appender>
-
-  <appender name="EELFDebug" class="ch.qos.logback.core.rolling.RollingFileAppender">
-    <file>${logDirectory}/${debugLogName}.log</file>
-    <rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">
-      <fileNamePattern>${logDirectory}/${debugLogName}.%d{yyyy-MM-dd}.log.zip
+    <maxHistory>60</maxHistory>
+  </rollingPolicy>
+  <encoder>
+    <!-- <pattern>"%d{HH:mm:ss.SSS} [%thread] %-5level %logger{1024} - %msg%n"</pattern> -->
+    <pattern>${auditMetricPattern}</pattern>
+  </encoder>
+</appender>
+
+
+<appender name="asyncEELFMetrics" class="ch.qos.logback.classic.AsyncAppender">
+  <queueSize>256</queueSize>
+  <appender-ref ref="EELFMetrics" />
+</appender>
+
+<appender name="EELFDebug" class="ch.qos.logback.core.rolling.RollingFileAppender">
+  <file>${logDirectory}/${debugLogName}.log</file>
+  <rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">
+    <fileNamePattern>${logDirectory}/${debugLogName}.%d{yyyy-MM-dd}.log.zip
 </fileNamePattern>
-      <maxHistory>60</maxHistory>
-    </rollingPolicy>
-    <encoder>
-      <pattern>${errorLogPattern}</pattern>
-    </encoder>
-  </appender>
-
-  <appender name="asyncEELFDebug" class="ch.qos.logback.classic.AsyncAppender">
-    <queueSize>256</queueSize>
-    <appender-ref ref="EELFDebug" />
-    <includeCallerData>false</includeCallerData>
-  </appender>
-
-  <!-- ============================================================================ -->
-  <!-- EELF loggers -->
-  <!-- ============================================================================ -->
-  <logger name="com.att.eelf" level="info" additivity="false">
-    <appender-ref ref="asyncEELF" />
-    <appender-ref ref="asyncEELFDebug" />
-    <appender-ref ref="STDOUT" />
-  </logger>
-
-  <logger name="com.att.eelf.audit" level="info" additivity="false">
-    <appender-ref ref="asyncEELFAudit" />
-  </logger>
-  <logger name="com.att.eelf.metrics" level="info" additivity="false">
-    <appender-ref ref="asyncEELFMetrics" />
-  </logger>
-
-  <!-- Spring related loggers -->
-  <logger name="org.springframework" level="WARN" />
-  <logger name="org.springframework.beans" level="WARN" />
-  <logger name="org.springframework.web" level="WARN" />
-  <logger name="com.blog.spring.jms" level="WARN" />
-
-  <!-- Sparky loggers -->
-  <logger name="org.onap" level="INFO">
-    <appender-ref ref="STDOUT" />
-  </logger>
-
-  <!-- Other Loggers that may help troubleshoot -->
-  <logger name="net.sf" level="WARN" />
-  <logger name="org.apache.commons.httpclient" level="WARN" />
-  <logger name="org.apache.commons" level="WARN" />
-  <logger name="org.apache.coyote" level="WARN" />
-  <logger name="org.apache.jasper" level="WARN" />
-
-  <!-- Camel Related Loggers (including restlet/servlet/jaxrs/cxf logging.
-          May aid in troubleshooting) -->
-  <logger name="org.apache.camel" level="WARN" />
-  <logger name="org.apache.cxf" level="WARN" />
-  <logger name="org.apache.camel.processor.interceptor" level="WARN" />
-  <logger name="org.apache.cxf.jaxrs.interceptor" level="WARN" />
-  <logger name="org.apache.cxf.service" level="WARN" />
-  <logger name="org.restlet" level="WARN" />
-  <logger name="org.apache.camel.component.restlet" level="WARN" />
-
-  <!-- logback internals logging -->
-  <logger name="ch.qos.logback.classic" level="WARN" />
-  <logger name="ch.qos.logback.core" level="WARN" />
-
-  <root>
-    <appender-ref ref="asyncEELF" />
-    <appender-ref ref="STDOUT" />
-    <!-- <appender-ref ref="asyncEELFDebug" /> -->
-  </root>
-
-</configuration>
\ No newline at end of file
+    <maxHistory>60</maxHistory>
+  </rollingPolicy>
+  <encoder>
+    <pattern>${errorLogPattern}</pattern>
+  </encoder>
+</appender>
+
+<appender name="asyncEELFDebug" class="ch.qos.logback.classic.AsyncAppender">
+  <queueSize>256</queueSize>
+  <appender-ref ref="EELFDebug" />
+  <includeCallerData>false</includeCallerData>
+</appender>
+
+<!-- ============================================================================ -->
+<!-- EELF loggers -->
+<!-- ============================================================================ -->
+<logger name="com.att.eelf" level="info" additivity="false">
+  <appender-ref ref="asyncEELF" />
+  <appender-ref ref="asyncEELFDebug" />
+  <appender-ref ref="STDOUT" />
+</logger>
+
+<logger name="com.att.eelf.audit" level="info" additivity="false">
+  <appender-ref ref="asyncEELFAudit" />
+</logger>
+<logger name="com.att.eelf.metrics" level="info" additivity="false">
+  <appender-ref ref="asyncEELFMetrics" />
+</logger>
+
+<!-- Spring related loggers -->
+<logger name="org.springframework" level="WARN" />
+<logger name="org.springframework.beans" level="WARN" />
+<logger name="org.springframework.web" level="WARN" />
+<logger name="com.blog.spring.jms" level="WARN" />
+
+<!-- Sparky loggers -->
+<logger name="org.onap" level="INFO">
+  <appender-ref ref="STDOUT" />
+</logger>
+
+<!-- Other Loggers that may help troubleshoot -->
+<logger name="net.sf" level="WARN" />
+<logger name="org.apache.commons.httpclient" level="WARN" />
+<logger name="org.apache.commons" level="WARN" />
+<logger name="org.apache.coyote" level="WARN" />
+<logger name="org.apache.jasper" level="WARN" />
+
+<!-- Camel Related Loggers (including restlet/servlet/jaxrs/cxf logging.
+        May aid in troubleshooting) -->
+<logger name="org.apache.camel" level="WARN" />
+<logger name="org.apache.cxf" level="WARN" />
+<logger name="org.apache.camel.processor.interceptor" level="WARN" />
+<logger name="org.apache.cxf.jaxrs.interceptor" level="WARN" />
+<logger name="org.apache.cxf.service" level="WARN" />
+<logger name="org.restlet" level="WARN" />
+<logger name="org.apache.camel.component.restlet" level="WARN" />
+
+<!-- logback internals logging -->
+<logger name="ch.qos.logback.classic" level="WARN" />
+<logger name="ch.qos.logback.core" level="WARN" />
+
+<root>
+  <appender-ref ref="asyncEELF" />
+  <appender-ref ref="STDOUT" />
+  <!-- <appender-ref ref="asyncEELFDebug" /> -->
+</root>
+
+</configuration>
index 3c0b4b9..28fe1d5 100644 (file)
@@ -22,7 +22,11 @@ kind: Deployment
 metadata: {{- include "common.resourceMetadata" . | nindent 2 }}
 spec:
   selector: {{- include "common.selectors" . | nindent 4 }}
+  {{- if .Values.debug.enabled }}
+  replicas: 1
+  {{- else }}
   replicas: {{ .Values.replicaCount }}
+  {{- end }}
   revisionHistoryLimit: {{ .Values.revisionHistoryLimit }}
   strategy:
     type: {{ .Values.updateStrategy.type }}
index e017032..c4b90d3 100644 (file)
@@ -33,7 +33,6 @@ image: onap/sparky-be:2.0.5
 pullPolicy: Always
 restartPolicy: Always
 flavor: small
-flavorOverride: small
 dockerhubRepository: registry.hub.docker.com
 ubuntuInitImage: oomk8s/ubuntu-init:2.0.0
 # application configuration
index 3b2d8b8..e9545b7 100644 (file)
@@ -17,7 +17,7 @@
 apiVersion: v2
 description: ONAP AAI traversal
 name: aai-traversal
-version: 14.0.2
+version: 15.0.0
 
 dependencies:
   - name: common
index da2703d..fff5d5d 100644 (file)
@@ -1,7 +1,7 @@
 {{/*
 # Copyright © 2018 Amdocs, Bell Canada, AT&T
 # Modifications Copyright © 2020 Orange
-# Modifications Copyright © 2023 Nordix Foundation
+# Modifications Copyright  2023 Nordix Foundation
 #
 # Licensed under the Apache License, Version 2.0 (the "License");
 # you may not use this file except in compliance with the License.
@@ -26,11 +26,21 @@ spring.application.name=aai-traversal
 spring.jersey.type=filter
 
 spring.main.allow-bean-definition-overriding=true
-server.servlet.context-path=/
+server.servlet.context-path=${schema.uri.base.path}
 
 spring.autoconfigure.exclude=org.springframework.boot.autoconfigure.jdbc.DataSourceAutoConfiguration,org.springframework.boot.autoconfigure.orm.jpa.HibernateJpaAutoConfiguration,org.keycloak.adapters.springboot.KeycloakAutoConfiguration,org.springframework.boot.autoconfigure.security.servlet.SecurityAutoConfiguration,org.springframework.boot.actuate.autoconfigure.security.servlet.ManagementWebSecurityAutoConfiguration
 spring.profiles.active={{ .Values.global.config.profiles.active }}
-spring.jersey.application-path=${schema.uri.base.path}
+spring.jersey.application-path=/
+
+spring.zipkin.baseUrl={{ .Values.tracing.collector.baseUrl }}
+spring.sleuth.messaging.jms.enabled = false
+spring.sleuth.trace-id128=true
+spring.sleuth.sampler.probability={{ .Values.tracing.sampling.probability }}
+spring.sleuth.propagation.type=w3c, b3
+spring.sleuth.supports-join=false
+spring.sleuth.web.skip-pattern={{ join "," .Values.tracing.ignorePatterns }}
+
+
 #The max number of active threads in this pool
 server.tomcat.max-threads=200
 #The minimum number of threads always kept alive
@@ -49,7 +59,6 @@ server.ssl.enabled=false
 
 # JMS bind address host port
 jms.bind.address=tcp://localhost:61647
-
 # dmaap is deprecated now kafka is used
 spring.kafka.producer.bootstrap-servers=${BOOTSTRAP_SERVERS}
 spring.kafka.producer.properties.security.protocol=SASL_PLAINTEXT
@@ -101,7 +110,8 @@ schema.service.client=no-auth
 #to expose the Prometheus scraping endpoint
 management.server.port=8448
 management.endpoints.enabled-by-default=true
-management.endpoints.web.exposure.include=info,health,prometheus
+management.endpoints.web.exposure.include=*
+management.security.enabled=false
 endpoints.enabled={{ .Values.endpoints.enabled }}
 endpoints.info.enabled={{ .Values.endpoints.info.enabled }}
 endpoints.prometheus.enabled={{ .Values.metrics.serviceMonitor.enabled }}
@@ -113,3 +123,9 @@ management.metrics.distribution.sla[http.server.requests]=20ms, 30ms, 40ms, 50ms
 management.metrics.tags.group_id=aai
 #It is not advisable to use labels to store dimensions with high cardinality. Enable this option only for debug purposes. For more information: https://github.com/micrometer-metrics/micrometer/issues/1584
 scrape.uri.metrics=false
+
+# If true, the actuator health check will be overriden
+# to use the AaiGraphChecker check instead.
+# This does the same as the /echo endpoint,
+# but doesn't show up in micrometer metrics
+aai.actuator.echo.enabled={{ .Values.actuator.echo.enabled }}
diff --git a/kubernetes/aai/components/aai-traversal/resources/config/janusgraph-cached.properties b/kubernetes/aai/components/aai-traversal/resources/config/janusgraph-cached.properties
deleted file mode 100644 (file)
index b6fdd4c..0000000
+++ /dev/null
@@ -1,102 +0,0 @@
-{{/*
-#
-# ============LICENSE_START=======================================================
-# org.onap.aai
-# ================================================================================
-# Copyright © 2017 AT&T Intellectual Property. All rights reserved.
-# ================================================================================
-# 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.
-# ============LICENSE_END=========================================================
-#
-# ECOMP is a trademark and service mark of AT&T Intellectual Property.
-#
-*/}}
-
-query.fast-property=true
-query.smart-limit=false
-
-{{ if .Values.global.config.cluster.cassandra.dynamic }}
-
-storage.backend=cql
-storage.hostname={{.Values.global.cassandra.serviceName}}
-storage.cql.keyspace=aaigraph
-storage.username={{.Values.global.cassandra.username}}
-storage.password={{.Values.global.cassandra.password}}
-
-storage.cql.read-consistency-level=LOCAL_QUORUM
-storage.cql.write-consistency-level=LOCAL_QUORUM
-storage.cql.replication-factor={{.Values.global.cassandra.replicas}}
-storage.cql.only-use-local-consistency-for-system-operations=true
-
-{{ else }}
-
-{{ if .Values.global.config.storage }}
-
-storage.backend={{ .Values.global.config.storage.backend }}
-
-{{ if eq .Values.global.config.storage.backend "cassandra" }}
-
-storage.hostname={{ .Values.global.config.storage.hostname }}
-storage.cassandra.keyspace={{ .Values.global.config.storage.name }}
-
-storage.cassandra.read-consistency-level={{ .Values.global.config.storage.cassandra.readConsistency }}
-storage.cassandra.write-consistency-level={{ .Values.global.config.storage.cassandra.writeConsistency }}
-storage.cassandra.replication-factor={{ .Values.global.config.storage.cassandra.replicationFactor | int }}
-storage.cassandra.astyanax.cluster-name= {{ .Values.global.config.storage.clusterName }}
-storage.cassandra.astyanax.local-datacenter= {{ .Values.global.config.storage.localDataCenter }}
-
-storage.connection-timeout={{ .Values.global.config.storage.connectionTimeout | int }}
-cache.tx-cache-size={{ .Values.global.config.storage.cacheSize | int }}
-log.tx.key-consistent={{ .Values.global.config.storage.keyConsistent }}
-
-{{ else if eq .Values.global.config.storage.backend "cql" }}
-
-storage.hostname={{ .Values.global.config.storage.hostname }}
-storage.cql.keyspace={{ .Values.global.config.storage.name }}
-
-storage.cql.read-consistency-level={{ .Values.global.config.storage.cql.readConsistency }}
-storage.cql.write-consistency-level={{ .Values.global.config.storage.cql.readConsistency }}
-storage.cql.replication-factor={{ .Values.global.config.storage.cql.replicationFactor | int }}
-
-storage.cql.only-use-local-consistency-for-system-operations={{ .Values.global.config.storage.cql.localConsistencyForSysOps }}
-storage.cql.cluster-name={{ .Values.global.config.storage.clusterName }}
-storage.cql.local-datacenter={{ .Values.global.config.storage.localDataCenter }}
-
-storage.connection-timeout={{ .Values.global.config.storage.connectionTimeout | int }}
-cache.tx-cache-size={{ .Values.global.config.storage.cacheSize | int }}
-log.tx.key-consistent={{ .Values.global.config.storage.keyConsistent }}
-
-{{ else if eq .Values.global.config.storage.backend "hbase" }}
-
-storage.hostname={{ .Values.global.config.storage.hostname }}
-storage.hbase.table={{ .Values.global.config.storage.name }}
-
-storage.connection-timeout={{ .Values.global.config.storage.connectionTimeout | int }}
-cache.tx-cache-size={{ .Values.global.config.storage.cacheSize | int }}
-log.tx.key-consistent={{ .Values.global.config.storage.keyConsistent }}
-
-{{ end }}
-
-{{ end }}
-
-{{ end }}
-
-storage.lock.wait-time=300
-#caching on
-cache.db-cache = true
-cache.db-cache-clean-wait = 20
-cache.db-cache-time = 180000
-cache.db-cache-size = 0.3
-
-#load graphson file on startup
-load.snapshot.file=false
index 36940a8..47095ad 100644 (file)
@@ -20,7 +20,7 @@
 query.fast-property=true
 query.smart-limit=false
 
-{{ if .Values.global.config.cluster.cassandra.dynamic }}
+{{- if .Values.global.config.cluster.cassandra.dynamic }}
 
 storage.backend=cql
 storage.hostname={{.Values.global.cassandra.serviceName}}
@@ -34,21 +34,21 @@ storage.cql.write-consistency-level=LOCAL_QUORUM
 storage.cql.replication-factor={{.Values.global.cassandra.replicas}}
 storage.cql.only-use-local-consistency-for-system-operations=true
 
-{{ if .Values.global.cassandra.partitionerName }}
+{{- if .Values.global.cassandra.partitionerName }}
 storage.cql.partitioner-name={{ .Values.global.cassandra.partitionerName }}
-{{ end }}
+{{- end }}
 
-{{ else }}
+{{- else -}}
 
-{{ if .Values.global.config.storage }}
+{{- if .Values.global.config.storage }}
 
 storage.backend={{ .Values.global.config.storage.backend }}
 
-{{ if eq .Values.global.config.storage.backend "cql" }}
+{{- if eq .Values.global.config.storage.backend "cql" }}
 
 storage.hostname={{ .Values.global.config.storage.hostname }}
 storage.cql.keyspace={{ .Values.global.config.storage.name }}
-storage.cql.local-datacenter={{ .Values.global.config.storage.localDataCenter }}
+storage.cql.local-datacenter={{ .Values.global.cassandra.localDataCenter }}
 
 storage.cql.read-consistency-level={{ .Values.global.config.storage.cql.readConsistency }}
 storage.cql.write-consistency-level={{ .Values.global.config.storage.cql.readConsistency }}
@@ -56,13 +56,13 @@ storage.cql.replication-factor={{ .Values.global.config.storage.cql.replicationF
 
 storage.cql.only-use-local-consistency-for-system-operations={{ .Values.global.config.storage.cql.localConsistencyForSysOps }}
 storage.cql.cluster-name={{ .Values.global.config.storage.clusterName }}
-storage.cql.local-datacenter={{ .Values.global.config.storage.localDataCenter }}
+storage.cql.local-datacenter={{ .Values.global.cassandra.localDataCenter }}
 
 storage.connection-timeout={{ .Values.global.config.storage.connectionTimeout | int }}
 cache.tx-cache-size={{ .Values.global.config.storage.cacheSize | int }}
 log.tx.key-consistent={{ .Values.global.config.storage.keyConsistent }}
 
-{{ else if eq .Values.global.config.storage.backend "hbase" }}
+{{- else if eq .Values.global.config.storage.backend "hbase" -}}
 
 storage.hostname={{ .Values.global.config.storage.hostname }}
 storage.hbase.table={{ .Values.global.config.storage.name }}
@@ -71,11 +71,9 @@ storage.connection-timeout={{ .Values.global.config.storage.connectionTimeout |
 cache.tx-cache-size={{ .Values.global.config.storage.cacheSize | int }}
 log.tx.key-consistent={{ .Values.global.config.storage.keyConsistent }}
 
-{{ end }}
-
-{{ end }}
-
-{{ end }}
+{{- end }}
+{{- end }}
+{{- end }}
 
 storage.lock.wait-time=300
 
@@ -83,16 +81,16 @@ storage.lock.wait-time=300
 # Setting db-cache to false will ensure the fastest propagation of changes across servers
 # Setting db-cache to true will ensure fastest response times
 cache.db-cache={{ .Values.config.janusgraph.caching.enabled }}
-{{ if .Values.config.janusgraph.caching.enabled }}
+{{- if .Values.config.janusgraph.caching.enabled }}
 # cache-time in milliseconds
 cache.db-cache-time={{ .Values.config.janusgraph.caching.dbCacheTime }}
 cache.db-cache-size={{ .Values.config.janusgraph.caching.dbCacheSize }}
 cache.db-cache-clean-wait={{ .Values.config.janusgraph.caching.dbCacheCleanWait }}
-{{ end }}
+{{- end }}
 
 #load graphson file on startup
 load.snapshot.file=false
 
-{{ if .Values.config.janusgraph.allowUpgrade }}
+{{- if .Values.config.janusgraph.allowUpgrade }}
 graph.allow-upgrade=true
-{{ end }}
+{{- end }}
index 5e3a15c..1e3756a 100644 (file)
@@ -1,23 +1,23 @@
 {{/*<!--\r
-    ============LICENSE_START=======================================================\r
-    org.onap.aai\r
-    ================================================================================\r
-    Copyright © 2017 AT&T Intellectual Property. All rights reserved.\r
-    Modifications Copyright © 2018 Amdocs, Bell Canada\r
-    Modifications Copyright © 2020 Orange\r
-    ================================================================================\r
-    Licensed under the Apache License, Version 2.0 (the "License");\r
-    you may not use this file except in compliance with the License.\r
-    You may obtain a copy of the License at\r
+  ============LICENSE_START=======================================================\r
+  org.onap.aai\r
+  ================================================================================\r
+  Copyright © 2017 AT&T Intellectual Property. All rights reserved.\r
+  Modifications Copyright © 2018 Amdocs, Bell Canada\r
+  Modifications Copyright © 2020 Orange\r
+  ================================================================================\r
+  Licensed under the Apache License, Version 2.0 (the "License");\r
+  you may not use this file except in compliance with the License.\r
+  You may obtain a copy of the License at\r
 \r
-        http://www.apache.org/licenses/LICENSE-2.0\r
+      http://www.apache.org/licenses/LICENSE-2.0\r
 \r
-    Unless required by applicable law or agreed to in writing, software\r
-    distributed under the License is distributed on an "AS IS" BASIS,\r
-    WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\r
-    See the License for the specific language governing permissions and\r
-    limitations under the License.\r
-    ============LICENSE_END=========================================================\r
+  Unless required by applicable law or agreed to in writing, software\r
+  distributed under the License is distributed on an "AS IS" BASIS,\r
+  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\r
+  See the License for the specific language governing permissions and\r
+  limitations under the License.\r
+  ============LICENSE_END=========================================================\r
 -->\r
 */}}\r
 <configuration scan="true" scanPeriod="60 seconds" debug="false">\r
@@ -94,4 +94,4 @@
 \r
 %z - Custom pattern that parses the cert for the subject\r
 %y - Custom pattern determines rest or dme2\r
--->*/}}
\ No newline at end of file
+-->*/}}\r
index 21f48f7..faae0ee 100644 (file)
@@ -1,23 +1,23 @@
 {{/*<!--
-    ============LICENSE_START=======================================================
-    org.onap.aai
-    ================================================================================
-    Copyright © 2017 AT&T Intellectual Property. All rights reserved.
-    Modifications Copyright © 2018 Amdocs, Bell Canada
-    Modifications Copyright © 2020 Orange
-    ================================================================================
-    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
+  ============LICENSE_START=======================================================
+  org.onap.aai
+  ================================================================================
+  Copyright © 2017 AT&T Intellectual Property. All rights reserved.
+  Modifications Copyright © 2018 Amdocs, Bell Canada
+  Modifications Copyright © 2020 Orange
+  ================================================================================
+  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
+      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.
-    ============LICENSE_END=========================================================
+  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.
+  ============LICENSE_END=========================================================
 -->
 */}}
 <configuration scan="true" scanPeriod="60 seconds" debug="false">
     </if>
     <appender-ref ref="STDOUT" />
   </root>
-</configuration>
\ No newline at end of file
+</configuration>
diff --git a/kubernetes/aai/components/aai-traversal/templates/autoscaling.yaml b/kubernetes/aai/components/aai-traversal/templates/autoscaling.yaml
new file mode 100644 (file)
index 0000000..76d2611
--- /dev/null
@@ -0,0 +1,36 @@
+{{- if .Values.autoscaling.enabled }}
+apiVersion: autoscaling/v2
+kind: HorizontalPodAutoscaler
+metadata:
+  name: {{ include "common.fullname" . }}
+  namespace: {{ include "common.namespace" . }}
+  labels:
+    app: {{ include "common.name" . }}
+    chart: {{ .Chart.Name }}-{{ .Chart.Version | replace "+" "_" }}
+    release: {{ include "common.release" . }}
+    heritage: {{ .Release.Service }}
+spec:
+  scaleTargetRef:
+    apiVersion: apps/v1
+    kind: Deployment
+    name: {{ include "common.fullname" . }}
+  minReplicas: {{ .Values.autoscaling.minReplicas }}
+  maxReplicas: {{ .Values.autoscaling.maxReplicas }}
+  metrics:
+    {{- if .Values.autoscaling.targetCPUUtilizationPercentage }}
+    - type: Resource
+      resource:
+        name: cpu
+        target:
+          type: Utilization
+          averageUtilization: {{ .Values.autoscaling.targetCPUUtilizationPercentage }}
+    {{- end }}
+    {{- if .Values.autoscaling.targetMemoryUtilizationPercentage }}
+    - type: Resource
+      resource:
+        name: memory
+        target:
+          type: Utilization
+          averageUtilization: {{ .Values.autoscaling.targetMemoryUtilizationPercentage }}
+    {{- end }}
+{{- end }}
index e3d7299..905c21f 100644 (file)
@@ -30,7 +30,6 @@ data:
 {{ tpl (.Files.Glob "resources/config/logback.xml").AsConfig . | indent 2 }}
 {{ tpl (.Files.Glob "resources/config/localhost-access-logback.xml").AsConfig . | indent 2 }}
 {{ tpl (.Files.Glob "resources/config/janusgraph-realtime.properties").AsConfig . | indent 2 }}
-{{ tpl (.Files.Glob "resources/config/janusgraph-cached.properties").AsConfig . | indent 2 }}
 {{ tpl (.Files.Glob "resources/config/aaiconfig.properties").AsConfig . | indent 2 }}
 {{ tpl (.Files.Glob "resources/config/application.properties").AsConfig . | indent 2 }}
 {{ tpl (.Files.Glob "resources/config/application-keycloak.properties").AsConfig . | indent 2 }}
index d897752..6d97b0e 100644 (file)
@@ -35,7 +35,13 @@ metadata:
     release: {{ include "common.release" . }}
     heritage: {{ .Release.Service }}
 spec:
+  {{- if or .Values.config.debug.enabled .Values.config.profiling.enabled }}
+  replicas: 1
+  {{- else }}
+  {{- if not .Values.autoscaling.enabled }}
   replicas: {{ .Values.replicaCount }}
+  {{- end }}
+  {{- end }}
   revisionHistoryLimit: {{ .Values.revisionHistoryLimit }}
   minReadySeconds: {{ .Values.minReadySeconds }}
   strategy:
@@ -157,6 +163,13 @@ spec:
           value: {{ $value | quote}}
         {{- end }}
         {{- end }}
+        {{- if eq .Values.flavor "small" }}
+        - name: MAX_HEAP_SIZE
+          value: {{ .Values.small.maxHeapSize | quote }}
+        {{- else if eq .Values.flavor "large" }}
+        - name: MAX_HEAP_SIZE
+          value: {{ .Values.large.maxHeapSize | quote }}
+        {{- end }}
         {{- if .Values.config.profiling.enabled }}
         - name: PRE_JVM_ARGS
           value: '{{ join " " .Values.config.profiling.args }}'
@@ -167,10 +180,6 @@ spec:
         {{- end }}
         - name: DISABLE_UPDATE_QUERY
           value: {{ .Values.config.disableUpdateQuery | quote }}
-        - name: LOCAL_USER_ID
-          value: {{ .Values.global.config.userId | quote }}
-        - name: LOCAL_GROUP_ID
-          value: {{ .Values.global.config.groupId | quote }}
         - name: INTERNAL_PORT_1
           value: {{ .Values.service.traversalPort | quote }}
         - name: INTERNAL_PORT_2
@@ -188,9 +197,6 @@ spec:
         - mountPath: /opt/app/aai-traversal/resources/etc/appprops/janusgraph-realtime.properties
           name: {{ include "common.fullname" . }}-config
           subPath: janusgraph-realtime.properties
-        - mountPath: /opt/app/aai-traversal/resources/etc/appprops/janusgraph-cached.properties
-          name: {{ include "common.fullname" . }}-config
-          subPath: janusgraph-cached.properties
         - mountPath: /opt/app/aai-traversal/resources/etc/appprops/aaiconfig.properties
           name: {{ include "common.fullname" . }}-config
           subPath: aaiconfig.properties
@@ -243,41 +249,27 @@ spec:
         {{- if and .Values.liveness.enabled (not (or .Values.config.debug.enabled .Values.config.profiling.enabled)) }}
         livenessProbe:
           httpGet:
-            path: /aai/util/echo?action=checkDB
-            port: {{ .Values.service.traversalPort }}
-            scheme: HTTP
-            httpHeaders:
-            - name: X-FromAppId
-              value: LivenessCheck
-            - name: X-TransactionId
-              value: LiveCheck_TID
-            - name: Accept
-              value: application/json
+            port: {{ .Values.service.metricsPort }}
+            path: {{ .Values.liveness.path }}
+          {{- if .Values.liveness.initialDelaySeconds }}
           initialDelaySeconds: {{ .Values.liveness.initialDelaySeconds }}
+          {{- end }}
           periodSeconds: {{ .Values.liveness.periodSeconds }}
-        {{ end }}
+        {{- end }}
         readinessProbe:
           httpGet:
-            path: /aai/util/echo?action=checkDB
-            port: {{ .Values.service.traversalPort }}
-            scheme: HTTP
-            httpHeaders:
-            - name: X-FromAppId
-              value: ReadinessCheck
-            - name: X-TransactionId
-              value: ReadinessCheck_TID
-            - name: Accept
-              value: application/json
+            port: {{ .Values.service.metricsPort }}
+            path: {{ .Values.readiness.path }}
+          {{- if .Values.readiness.initialDelaySeconds }}
           initialDelaySeconds: {{ .Values.readiness.initialDelaySeconds }}
+          {{- end }}
           periodSeconds: {{ .Values.readiness.periodSeconds }}
         resources: {{ include "common.resources" . | nindent 10 }}
       {{- if .Values.nodeSelector }}
-      nodeSelector:
-{{ toYaml .Values.nodeSelector | indent 8 }}
+      nodeSelector: {{ toYaml .Values.nodeSelector | indent 8 }}
       {{- end }}
       {{- if .Values.affinity }}
-      affinity:
-{{ toYaml .Values.affinity | indent 8 }}
+      affinity: {{ toYaml .Values.affinity | indent 8 }}
       {{- end }}
 
       # side car containers
index 3977f82..db90f82 100644 (file)
@@ -72,6 +72,8 @@ spec:
         - sh
         - "-c"
         - |
+           set -x;
+
            until nc -w10 -z -v aai.{{.Release.Namespace}} 80; do
             echo "Retrying to reach aai on port 80";
             sleep 1;
@@ -99,20 +101,11 @@ spec:
            sh -x /opt/app/aai-traversal/bin/install/updateQueryData.sh ;
 
            {{ include "common.serviceMesh.killSidecar" . | indent 11 | trim }}
-
-        env:
-        - name: LOCAL_USER_ID
-          value: {{ .Values.global.config.userId | quote }}
-        - name: LOCAL_GROUP_ID
-          value: {{ .Values.global.config.groupId | quote }}
         resources: {{ include "common.resources" . | nindent 10 }}
         volumeMounts:
         - mountPath: /opt/app/aai-traversal/resources/etc/appprops/janusgraph-realtime.properties
           name: {{ include "common.fullname" . }}-config
           subPath: janusgraph-realtime.properties
-        - mountPath: /opt/app/aai-traversal/resources/etc/appprops/janusgraph-cached.properties
-          name: {{ include "common.fullname" . }}-config
-          subPath: janusgraph-cached.properties
         - mountPath: /opt/app/aai-traversal/resources/etc/appprops/aaiconfig.properties
           name: {{ include "common.fullname" . }}-config
           subPath: aaiconfig.properties
index c0d9f21..dc70602 100644 (file)
@@ -1,3 +1,3 @@
 {{- if .Values.metrics.serviceMonitor.enabled }}
 {{  include "common.serviceMonitor" . }}
-{{- end }}
\ No newline at end of file
+{{- end }}
index 6b268ca..e19ea65 100644 (file)
@@ -111,11 +111,10 @@ global: # global defaults
     someConfig: random
 
 # application image
-image: onap/aai-traversal:1.14.7
+image: onap/aai-traversal:1.15.1
 pullPolicy: Always
 restartPolicy: Always
 flavor: small
-flavorOverride: small
 # the minimum number of seconds that a newly created Pod should be ready
 minReadySeconds: 30
 updateStrategy:
@@ -197,7 +196,6 @@ config:
   # environment variables added to the launch of the image in deployment
   env:
     MIN_HEAP_SIZE: "512m"
-    MAX_HEAP_SIZE: "2g"
     MAX_METASPACE_SIZE: "512m"
     # POST_JVM_ARGS: "-agentlib:jdwp=transport=dt_socket,server=y,suspend=n,address=5005"
 
@@ -259,14 +257,20 @@ affinity: {}
 
 # probe configuration parameters
 liveness:
+  path: /actuator/health/liveness
   initialDelaySeconds: 60
   periodSeconds: 60
   enabled: true
 
 readiness:
+  path: /actuator/health/readiness
   initialDelaySeconds: 10
   periodSeconds: 10
 
+actuator:
+  echo:
+    enabled: true
+
 service:
   type: ClusterIP
   traversalPortName: http
@@ -321,6 +325,19 @@ resources:
       memory: "4Gi"
   unlimited: {}
 
+# define the heap size for the JVM
+# according to the resource flavor
+small:
+  maxHeapSize: "2500m"
+large:
+  maxHeapSize: "3g"
+
+autoscaling:
+  enabled: false
+  minReplicas: 1
+  maxReplicas: 3
+  targetCPUUtilizationPercentage: 80
+
 tracing:
   collector:
     baseUrl: http://jaeger-collector.istio-system:9411
@@ -338,7 +355,7 @@ endpoints:
 
 metrics:
   serviceMonitor:
-    enabled: false
+    enabled: true
     targetPort: 8448
     path: /actuator/prometheus
     basicAuth:
@@ -398,8 +415,8 @@ serviceAccount:
 log:
   path: /var/log/onap
   level:
-    root: DEBUG
-    base: DEBUG # base package (org.onap.aai)
+    root: INFO
+    base: INFO # base package (org.onap.aai)
 logConfigMapNamePrefix: '{{ include "common.fullname" . }}'
 #################################################################
 # Secrets metaconfig
index d64410c..58bbc8a 100644 (file)
@@ -37,6 +37,7 @@ spec:
     matchLabels:
       app: {{ include "common.name" . }}
   replicas: {{ .Values.replicaCount }}
+  revisionHistoryLimit: {{ .Values.revisionHistoryLimit }}
   strategy:
     type: {{ .Values.updateStrategy.type }}
     {{- if (eq "RollingUpdate" .Values.updateStrategy.type) }}
index ecbab26..b5a8cc1 100644 (file)
@@ -79,4 +79,4 @@ spec:
   type: {{ .Values.metricsService.type }}
   selector:
     app: {{ include "common.name" . }}
-  clusterIP: None
\ No newline at end of file
+  clusterIP: None
index c0d9f21..dc70602 100644 (file)
@@ -1,3 +1,3 @@
 {{- if .Values.metrics.serviceMonitor.enabled }}
 {{  include "common.serviceMonitor" . }}
-{{- end }}
\ No newline at end of file
+{{- end }}
index 8607e58..e129220 100644 (file)
@@ -72,7 +72,6 @@ global: # global defaults
     # See storage.cql.partitioner-name in https://docs.janusgraph.org/v0.6/configs/configuration-reference/#storagecql
     partitionerName: org.apache.cassandra.dht.Murmur3Partitioner
 
-
   aai:
     serviceName: aai
   babel:
@@ -314,7 +313,6 @@ image: onap/aai-haproxy:1.11.0
 pullPolicy: Always
 
 flavor: small
-flavorOverride: small
 
 # flag to enable debugging - application support required
 debugEnabled: false
@@ -327,9 +325,12 @@ config:
 # default number of instances
 replicaCount: 1
 
+# number of ReplicaSets that should be retained for the Deployment
+revisionHistoryLimit: 2
+
 updateStrategy:
   type: RollingUpdate
-  maxUnavailable: 0
+  maxUnavailable: 33%
   maxSurge: 1
 
 nodeSelector: {}
@@ -346,8 +347,11 @@ haproxy:
     enabled: false
     customConfigs: []
   replicas:
-    aaiResources: 1
-    aaiTraversal: 1
+    aaiResources: 3
+    aaiTraversal: 3
+  # stickiness based on path.
+  # For multiple replicas, requests will not be distributed evenly
+  stickOnPath: true
 
 # probe configuration parameters
 liveness:
@@ -396,7 +400,7 @@ metricsService:
 
 metrics:
   serviceMonitor:
-    enabled: false
+    enabled: true
     targetPort: 8448
     path: /metrics
     basicAuth:
index a035097..dd1f432 100644 (file)
@@ -30,7 +30,7 @@ dependencies:
     repository: '@local'
     condition: authentication:enabled
   - name: aai
-    version: ~14.x-0
+    version: ~15.x-0
     repository: '@local'
     condition: aai.enabled
   - name: cassandra