apiVersion: v2
description: ONAP Active and Available Inventory
name: aai
-version: 13.0.1
+version: 14.0.0
dependencies:
- name: common
version: ~13.x-0
repository: '@local'
- name: aai-babel
- version: ~13.x-0
+ version: ~14.x-0
repository: 'file://components/aai-babel'
condition: aai-babel.enabled
- name: aai-graphadmin
- version: ~13.x-0
+ version: ~14.x-0
repository: 'file://components/aai-graphadmin'
condition: aai-graphadmin.enabled
- name: aai-modelloader
- version: ~13.x-0
+ version: ~14.x-0
repository: 'file://components/aai-modelloader'
condition: aai-modelloader.enabled
- name: aai-resources
- version: ~13.x-0
+ version: ~14.x-0
repository: 'file://components/aai-resources'
condition: aai-resources.enabled
- name: aai-schema-service
- version: ~13.x-0
+ version: ~14.x-0
repository: 'file://components/aai-schema-service'
condition: aai-schema-service.enabled
- name: aai-sparky-be
- version: ~13.x-0
+ version: ~14.x-0
repository: 'file://components/aai-sparky-be'
condition: aai-sparky-be.enabled
- name: aai-traversal
- version: ~13.x-0
+ version: ~14.x-0
repository: 'file://components/aai-traversal'
condition: aai-traversal.enabled
- name: serviceAccount
apiVersion: v2
description: Babel microservice
name: aai-babel
-version: 13.0.0
+version: 14.0.0
dependencies:
- name: common
apiVersion: v2
description: ONAP AAI GraphAdmin
name: aai-graphadmin
-version: 13.0.0
+version: 14.0.0
dependencies:
- name: common
cache.db-cache = false
#load graphson file on startup
load.snapshot.file=false
+
+{{ if .Values.config.janusgraph.allowUpgrade }}
+graph.allow-upgrade=true
+{{ end }}
heritage: {{ .Release.Service }}
spec:
replicas: {{ .Values.replicaCount }}
+ revisionHistoryLimit: {{ .Values.revisionHistoryLimit }}
minReadySeconds: {{ .Values.minReadySeconds }}
strategy:
type: {{ .Values.updateStrategy.type }}
- name: LOCAL_GROUP_ID
value: {{ .Values.securityContext.group_id | quote }}
- name: INTERNAL_PORT_1
- value: {{ .Values.service.internalPort | quote }}
+ value: {{ .Values.service.appPort | quote }}
- name: INTERNAL_PORT_2
- value: {{ .Values.service.internalPort2 | quote }}
+ value: {{ .Values.service.debugPort | quote }}
- name: INTERNAL_PORT_3
value: {{ .Values.service.internalPort3 | quote }}
- name: BOOTSTRAP_SERVERS
secretKeyRef:
name: {{ include "common.release" . }}-{{ .Values.global.aaiGraphKafkaUser }}
key: sasl.jaas.config
+ {{- if .Values.config.profiling.enabled }}
+ - name: PRE_JVM_ARGS
+ value: '{{ join " " .Values.config.profiling.args }}'
+ {{- end }}
+ {{- if .Values.config.debug.enabled }}
+ - name: POST_JVM_ARGS
+ value: {{ .Values.config.debug.args | quote }}
+ {{- end }}
volumeMounts:
- mountPath: /opt/app/aai-graphadmin/resources/etc/appprops/janusgraph-realtime.properties
name: config
name: properties
subPath: application.properties
ports:
- - containerPort: {{ .Values.service.internalPort }}
- name: {{ .Values.service.portName }}
- - containerPort: {{ .Values.service.internalPort2 }}
- name: {{ .Values.service.portName2 }}
+ - containerPort: {{ .Values.service.appPort }}
+ name: {{ .Values.service.appPortName }}
+ {{- if .Values.config.debug.enabled }}
+ - containerPort: {{ .Values.service.debugPort }}
+ name: {{ .Values.service.debugPortName }}
+ {{- end }}
+ {{- if .Values.config.profiling.enabled }}
+ - containerPort: {{ .Values.service.profilingPort }}
+ name: {{ .Values.service.profilingPortName }}
+ {{- end }}
- containerPort: {{ .Values.service.internalPort3 }}
name: {{ .Values.service.portName3 }}
lifecycle:
while (netstat -an | grep ESTABLISHED | grep -e $INTERNAL_PORT_1 -e $INTERNAL_PORT_2)
do sleep 10
done
- # disable liveness probe when breakpoints set in debugger
- # so K8s doesn't restart unresponsive container
- {{ if .Values.liveness.enabled }}
+ # disable liveness probe when
+ # debugging.enabled=true or profiling.enabled=true
+ {{- if and .Values.liveness.enabled (not (or .Values.config.debug.enabled .Values.config.profiling.enabled)) }}
livenessProbe:
tcpSocket:
- port: {{ .Values.service.internalPort }}
+ port: {{ .Values.service.appPort }}
initialDelaySeconds: {{ .Values.liveness.initialDelaySeconds }}
periodSeconds: {{ .Values.liveness.periodSeconds }}
{{ end }}
readinessProbe:
tcpSocket:
- port: {{ .Values.service.internalPort }}
+ port: {{ .Values.service.appPort }}
initialDelaySeconds: {{ .Values.readiness.initialDelaySeconds }}
periodSeconds: {{ .Values.readiness.periodSeconds }}
resources: {{ include "common.resources" . | nindent 10 }}
type: {{ .Values.service.type }}
ports:
{{if eq .Values.service.type "NodePort" -}}
- - port: {{ .Values.service.internalPort }}
+ - port: {{ .Values.service.appPort }}
nodePort: {{ .Values.global.nodePortPrefix | default .Values.nodePortPrefix }}{{ .Values.service.nodePort }}
- name: {{ .Values.service.portName }}
- targetPort: {{ .Values.service.portName }}
- - port: {{ .Values.service.internalPort2 }}
+ name: {{ .Values.service.appPortName }}
+ targetPort: {{ .Values.service.appPortName }}
+ - port: {{ .Values.service.debugPort }}
nodePort: {{ .Values.global.nodePortPrefix | default .Values.nodePortPrefix }}{{ .Values.service.nodePort2 }}
- name: {{ .Values.service.portName2 }}
- targetPort: {{ .Values.service.portName2 }}
+ name: {{ .Values.service.debugPortName }}
+ targetPort: {{ .Values.service.debugPortName }}
- port: {{ .Values.service.internalPort3 }}
nodePort: {{ .Values.global.nodePortPrefix | default .Values.nodePortPrefix }}{{ .Values.service.nodePort3 }}
name: {{ .Values.service.portName3 }}
targetPort: {{ .Values.service.portName3 }}
{{- else -}}
- - port: {{ .Values.service.internalPort }}
- name: {{ .Values.service.portName }}
- targetPort: {{ .Values.service.portName }}
- - port: {{ .Values.service.internalPort2 }}
- name: {{ .Values.service.portName2 }}
- targetPort: {{ .Values.service.portName2 }}
+ - port: {{ .Values.service.appPort }}
+ name: {{ .Values.service.appPortName }}
+ targetPort: {{ .Values.service.appPortName }}
+ - port: {{ .Values.service.debugPort }}
+ name: {{ .Values.service.debugPortName }}
+ targetPort: {{ .Values.service.debugPortName }}
- port: {{ .Values.service.internalPort3 }}
name: {{ .Values.service.portName3 }}
- targetPort: {{ .Values.service.portName }}
+ targetPort: {{ .Values.service.appPort }}
{{- end}}
selector:
app: {{ include "common.name" . }}
#migration using helm hooks
migration:
enabled: false
+ duplicates:
+ enabled: false
config:
# Specifies that the cluster connected to a dynamic
clients: SDNC,-1|MSO,-1|SO,-1|robot-ete,-1
# application image
-image: onap/aai-graphadmin:1.13.7
+image: onap/aai-graphadmin:1.14.0
pullPolicy: Always
restartPolicy: Always
flavor: small
flavorOverride: small
# default number of instances
replicaCount: 1
+
+# number of ReplicaSets that should be retained for the Deployment
+revisionHistoryLimit: 2
+
# the minimum number of seconds that a newly created Pod should be ready
minReadySeconds: 30
updateStrategy:
# Configuration for the graphadmin deployment
config:
-
+ projectHome: /opt/app/aai-graphadmin
# Specify the profiles for the graphadmin microservice
profiles:
active: kafka
timeout:
enabled: true
limit: 180000
+ janusgraph:
+ # temporarily enable this to update the graph storage version
+ # see: https://docs.janusgraph.org/changelog/#upgrade-instructions_9
+ allowUpgrade: true
# Default maximum records to fix for the data grooming and dupeTool
maxFix:
lock:
uri:
enabled: false
+ # adds jvm args for remote debugging the application
+ debug:
+ enabled: false
+ args: "-agentlib:jdwp=transport=dt_socket,server=y,suspend=n,address=5005"
+ # adds jvm args for remote profiling the application
+ profiling:
+ enabled: false
+ args:
+ - "-Dcom.sun.management.jmxremote"
+ - "-Dcom.sun.management.jmxremote.ssl=false"
+ - "-Dcom.sun.management.jmxremote.authenticate=false"
+ - "-Dcom.sun.management.jmxremote.local.only=false"
+ - "-Dcom.sun.management.jmxremote.port=9999"
+ - "-Dcom.sun.management.jmxremote.rmi.port=9999"
+ - "-Djava.rmi.server.hostname=127.0.0.1"
nodeSelector: {}
service:
type: ClusterIP
# REST API port for the graphadmin microservice
- portName: http
- internalPort: 8449
- portName2: tcp-5005
- internalPort2: 5005
+ appPortName: http
+ appPort: 8449
+ debugPortName: tcp-5005
+ debugPort: 5005
+ profilingPortName: jxm-9999
+ profilingPort: 9999
portName3: http-graphadmin
internalPort3: 8448
terminationGracePeriodSeconds: 120
root: DEBUG
base: DEBUG
logConfigMapNamePrefix: '{{ include "common.fullname" . }}'
+
+#DupeTool cronjob parameters
+dupeToolParams:
+ schedule: "0 8 * * *"
+ userId: "am8383 "
+ nodeType: "complex"
+ timeWindowMinutes: 60
+ autoFix: true
#################################################################
# Secrets metaconfig
#################################################################
apiVersion: v2
description: ONAP AAI modelloader
name: aai-modelloader
-version: 13.0.0
+version: 14.0.0
dependencies:
- name: common
-# Patterns to ignore when building packages.\r
-# This supports shell glob matching, relative path matching, and\r
-# negation (prefixed with !). Only one pattern per line.\r
-.DS_Store\r
-# Common VCS dirs\r
-.git/\r
-.gitignore\r
-.bzr/\r
-.bzrignore\r
-.hg/\r
-.hgignore\r
-.svn/\r
-# Common backup files\r
-*.swp\r
-*.bak\r
-*.tmp\r
-*~\r
-# Various IDEs\r
-.project\r
-.idea/\r
-*.tmproj\r
+# Patterns to ignore when building packages.
+# This supports shell glob matching, relative path matching, and
+# negation (prefixed with !). Only one pattern per line.
+.DS_Store
+# Common VCS dirs
+.git/
+.gitignore
+.bzr/
+.bzrignore
+.hg/
+.hgignore
+.svn/
+# Common backup files
+*.swp
+*.bak
+*.tmp
+*~
+# Various IDEs
+.project
+.idea/
+*.tmproj
apiVersion: v2
description: ONAP AAI resources
name: aai-resources
-version: 13.0.1
+version: 14.0.0
dependencies:
- name: common
# ================================================================================
# Copyright © 2017 AT&T Intellectual Property. All rights reserved.
# 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.
aai.graph.checker.task.delay=5
# Period, in seconds, between two consecutive executions of the scheduled task, if enabled
-aai.graph.checker.task.period=10
\ No newline at end of file
+aai.graph.checker.task.period=10
#load graphson file on startup
load.snapshot.file=false
+
+{{ if .Values.config.janusgraph.allowUpgrade }}
+graph.allow-upgrade=true
+{{ end }}
heritage: {{ .Release.Service }}
spec:
replicas: {{ .Values.replicaCount }}
+ revisionHistoryLimit: {{ .Values.revisionHistoryLimit }}
minReadySeconds: {{ .Values.minReadySeconds }}
strategy:
type: {{ .Values.updateStrategy.type }}
- name: LOCAL_GROUP_ID
value: {{ .Values.global.config.groupId | quote }}
- name: INTERNAL_PORT_1
- value: {{ .Values.service.internalPort | quote }}
+ value: {{ .Values.service.resourcesPort | quote }}
- name: INTERNAL_PORT_2
- value: {{ .Values.service.internalPort2 | quote }}
+ value: {{ .Values.service.debugPort | quote }}
- name: INTERNAL_PORT_3
- value: {{ .Values.service.internalPort3 | quote }}
+ value: {{ .Values.service.metricsPort | quote }}
- name: BOOTSTRAP_SERVERS
value: {{ include "common.release" . }}-strimzi-kafka-bootstrap:9092
- name: JAAS_CONFIG
name: {{ include "common.fullname" . }}-config
subPath: application-keycloak.properties
ports:
- - containerPort: {{ .Values.service.internalPort }}
- name: {{ .Values.service.portName }}
+ - containerPort: {{ .Values.service.resourcesPort }}
+ name: {{ .Values.service.resourcesPortName }}
{{- if .Values.config.debug.enabled }}
- - containerPort: {{ .Values.service.internalPort2 }}
- name: {{ .Values.service.portName2 }}
+ - containerPort: {{ .Values.service.debugPort }}
+ name: {{ .Values.service.debugPortName }}
{{- end }}
- - containerPort: {{ .Values.service.internalPort3 }}
- name: {{ .Values.service.portName3 }}
+ - containerPort: {{ .Values.service.metricsPort }}
+ name: {{ .Values.service.metricsPortName }}
{{- if .Values.config.profiling.enabled }}
- - containerPort: {{ .Values.service.internalPort4 }}
- name: {{ .Values.service.portName4 }}
+ - containerPort: {{ .Values.service.profilingPort }}
+ name: {{ .Values.service.profilingPortName }}
{{- end }}
-
lifecycle:
# wait for active requests (long-running tasks) to be finished
# Before the SIGTERM is invoked, Kubernetes exposes a preStop hook in the Pod.
- sh
- -c
- |
- while (netstat -an | grep ESTABLISHED | grep -e $INTERNAL_PORT_1 -e $INTERNAL_PORT_2)
+ while (netstat -an | grep ESTABLISHED | grep -e $INTERNAL_PORT_1)
do sleep 10
done
- # disable liveness probe when breakpoints set in debugger
- # so K8s doesn't restart unresponsive container
- {{- if .Values.liveness.enabled }}
+ # disable liveness probe when
+ # debugging.enable=true or profiling.enabled=true
+ {{- 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.internalPort }}
+ port: {{ .Values.service.resourcesPort }}
scheme: HTTP
httpHeaders:
- name: X-FromAppId
readinessProbe:
httpGet:
path: /aai/util/echo?action=checkDB
- port: {{ .Values.service.internalPort }}
+ port: {{ .Values.service.resourcesPort }}
scheme: HTTP
httpHeaders:
- name: X-FromAppId
type: {{ .Values.service.type }}
ports:
{{ if eq .Values.service.type "NodePort" -}}
- - port: {{ .Values.service.internalPort }}
+ - port: {{ .Values.service.resourcesPort }}
nodePort: {{ .Values.global.nodePortPrefix | default .Values.nodePortPrefix }}{{ .Values.service.nodePort }}
- name: {{ .Values.service.portName }}
- targetPort: {{ .Values.service.portName }}
- - port: {{ .Values.service.internalPort2 }}
+ name: {{ .Values.service.resourcesPortName }}
+ targetPort: {{ .Values.service.resourcesPortName }}
+ - port: {{ .Values.service.debugPort }}
nodePort: {{ .Values.global.nodePortPrefix | default .Values.nodePortPrefix }}{{ .Values.service.nodePort2 }}
- name: {{ .Values.service.portName2 }}
- targetPort: {{ .Values.service.portName2 }}
- - port: {{ .Values.service.internalPort3 }}
+ name: {{ .Values.service.debugPortName }}
+ targetPort: {{ .Values.service.debugPortName }}
+ - port: {{ .Values.service.metricsPort }}
nodePort: {{ .Values.global.nodePortPrefix | default .Values.nodePortPrefix }}{{ .Values.service.nodePort3 }}
- name: {{ .Values.service.portName3 }}
- targetPort: {{ .Values.service.portName3 }}
+ name: {{ .Values.service.metricsPortName }}
+ targetPort: {{ .Values.service.metricsPortName }}
{{- else -}}
- - port: {{ .Values.service.internalPort }}
- name: {{ .Values.service.portName }}
- targetPort: {{ .Values.service.portName }}
- - port: {{ .Values.service.internalPort2 }}
- name: {{ .Values.service.portName2 }}
- targetPort: {{ .Values.service.portName2 }}
- - port: {{ .Values.service.internalPort3 }}
- name: {{ .Values.service.portName3 }}
- targetPort: {{ .Values.service.portName3 }}
+ - port: {{ .Values.service.resourcesPort }}
+ name: {{ .Values.service.resourcesPortName }}
+ targetPort: {{ .Values.service.resourcesPortName }}
+ {{- if .Values.config.debug.enabled }}
+ - port: {{ .Values.service.debugPort }}
+ name: {{ .Values.service.debugPortName }}
+ targetPort: {{ .Values.service.debugPortName }}
+ {{- end }}
+ - port: {{ .Values.service.metricsPort }}
+ name: {{ .Values.service.metricsPortName }}
+ targetPort: {{ .Values.service.metricsPortName }}
{{- end }}
selector:
app: {{ include "common.name" . }}
# Specifies which clients should always default to realtime graph connection
realtime:
clients: SDNC,MSO,SO,robot-ete
- kafkaBootstrap: strimzi-kafka-bootstrap
- jaasConfExternalSecret: '{{ include "common.release" . }}-{{ .Values.global.aaiKafkaUser }}'
- someConfig: random
- aaiTopic: AAI-EVENT
-
+ kafkaBootstrap: strimzi-kafka-bootstrap
+ jaasConfExternalSecret: '{{ include "common.release" . }}-{{ .Values.global.aaiKafkaUser }}'
+ someConfig: random
+ aaiTopic: AAI-EVENT
api_list:
- 11
- 12
- 17
- 18
- 19
+ - 20
+ - 21
+ - 22
+ - 23
+ - 24
+ - 25
+ - 26
+ - 27
+ - 28
+ - 29
aai_enpoints:
- name: aai-cloudInfrastructure
url: external-system
# application image
-image: onap/aai-resources:1.13.5
+image: onap/aai-resources:1.14.0
pullPolicy: Always
restartPolicy: Always
flavor: small
flavorOverride: small
# default number of instances
replicaCount: 1
+
+# number of ReplicaSets that should be retained for the Deployment
+revisionHistoryLimit: 2
+
# the minimum number of seconds that a newly created Pod should be ready
minReadySeconds: 30
updateStrategy:
# modifications to graph done by this service/janusgraph instance will immediately invalidate the cache
# modifications to graph done by other services (traversal) will only be visible
# after time specified in db-cache-time
- enabled: false
+ 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
dbCacheCleanWait: 20 # in milliseconds
+ # temporarily enable this to update the graph storage version
+ # see: https://docs.janusgraph.org/changelog/#upgrade-instructions_9
+ allowUpgrade: true
+
# Specifies crud related operation timeouts and overrides
# environment variables added to the launch of the image in deployment
env:
MIN_HEAP_SIZE: "512m"
- MAX_HEAP_SIZE: "1024m"
+ MAX_HEAP_SIZE: "2g"
MAX_METASPACE_SIZE: "512m"
# adds jvm args for remote debugging the application
liveness:
initialDelaySeconds: 60
periodSeconds: 60
- # necessary to disable liveness probe when setting breakpoints
- # in debugger so K8s doesn't restart unresponsive container
- enabled: false
+ enabled: true
readiness:
initialDelaySeconds: 60
service:
type: ClusterIP
- portName: http
- internalPort: 8447
- portName2: tcp-5005
- internalPort2: 5005
- portName3: http-resources
- internalPort3: 8448
- terminationGracePeriodSeconds: 120
+ resourcesPortName: http
+ resourcesPort: 8447
+ debugPortName: tcp-5005
+ debugPort: 5005
+ metricsPortName: metrics
+ metricsPort: 8448
+ profilingPortName: jmx-9999
+ profilingPort: 9999
+ terminationGracePeriodSeconds: 60
sessionAffinity: None
ingress:
-# Patterns to ignore when building packages.\r
-# This supports shell glob matching, relative path matching, and\r
-# negation (prefixed with !). Only one pattern per line.\r
-.DS_Store\r
-# Common VCS dirs\r
-.git/\r
-.gitignore\r
-.bzr/\r
-.bzrignore\r
-.hg/\r
-.hgignore\r
-.svn/\r
-# Common backup files\r
-*.swp\r
-*.bak\r
-*.tmp\r
-*~\r
-# Various IDEs\r
-.project\r
-.idea/\r
-*.tmproj\r
+# Patterns to ignore when building packages.
+# This supports shell glob matching, relative path matching, and
+# negation (prefixed with !). Only one pattern per line.
+.DS_Store
+# Common VCS dirs
+.git/
+.gitignore
+.bzr/
+.bzrignore
+.hg/
+.hgignore
+.svn/
+# Common backup files
+*.swp
+*.bak
+*.tmp
+*~
+# Various IDEs
+.project
+.idea/
+*.tmproj
apiVersion: v2
description: ONAP AAI Schema Service
name: aai-schema-service
-version: 13.0.0
+version: 14.0.0
dependencies:
- name: common
# org.onap.aai
# ================================================================================
# Copyright © 2019 AT&T Intellectual Property. All rights reserved.
-# 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.
{{/*
# Copyright © 2018 Amdocs, Bell Canada, AT&T
-# 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.
-# Patterns to ignore when building packages.\r
-# This supports shell glob matching, relative path matching, and\r
-# negation (prefixed with !). Only one pattern per line.\r
-.DS_Store\r
-# Common VCS dirs\r
-.git/\r
-.gitignore\r
-.bzr/\r
-.bzrignore\r
-.hg/\r
-.hgignore\r
-.svn/\r
-# Common backup files\r
-*.swp\r
-*.bak\r
-*.tmp\r
-*~\r
-# Various IDEs\r
-.project\r
-.idea/\r
-*.tmproj\r
+# Patterns to ignore when building packages.
+# This supports shell glob matching, relative path matching, and
+# negation (prefixed with !). Only one pattern per line.
+.DS_Store
+# Common VCS dirs
+.git/
+.gitignore
+.bzr/
+.bzrignore
+.hg/
+.hgignore
+.svn/
+# Common backup files
+*.swp
+*.bak
+*.tmp
+*~
+# Various IDEs
+.project
+.idea/
+*.tmproj
apiVersion: v2
description: ONAP AAI sparky-be
name: aai-sparky-be
-version: 13.0.0
+version: 14.0.0
dependencies:
- name: common
{{/*
# Copyright © 2018 Amdocs, Bell Canada, AT&T
-# 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.
{{/*
# Copyright © 2018 Amdocs, Bell Canada, AT&T
-# 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.
resources.port=80
resources.authType=HTTP_NOAUTH
-
# Copyright © 2018 Amdocs, Bell Canada, AT&T
-# 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.
server.port=8000
security.require-ssl=false
server.ssl.enabled=false
-
# Copyright © 2018 Amdocs, Bell Canada, AT&T
-# 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.
searchservice.port=9509
schema.ingest.file=${CONFIG_HOME}/schemaIngest.properties
+
+# Properties for the SchemaLocationsBean
+# Files named aai_oxm_v*.xml are unpacked here:
+# Schema Version Related Attributes
+schema.uri.base.path=/aai
+# Lists all of the versions in the schema
+schema.version.list=v9,v10,v11,v12,v13,v14
+# Specifies from which version should the depth parameter to default to zero
+schema.version.depth.start=v10
+# Specifies from which version should the related link be displayed in response payload
+schema.version.related.link.start=v10
+# Specifies from which version should the client see only the uri excluding host info
+# Before this version server base will also be included
+schema.version.app.root.start=v11
+# Specifies from which version should the namespace be changed
+schema.version.namespace.change.start=v12
+# Specifies from which version should the client start seeing the edge label in payload
+schema.version.edge.label.start=v12
+# Specifies the version that the application should default to
+schema.version.api.default=v14
+# Schema Location Related Attributes
+schema.configuration.location=NA
+# New propterties required by the aai-common - aai-schema-ingest lib as of 1.3.0
+schema.configuration.location=N/A
+schema.nodes.location=${APP_HOME}/onap/oxm
+schema.edges.location=
+# Setting this values to ${oxm.apiVersion} only to ensure the value used exists (we don't use this properties in our application)
+# schema.version.depth.start=${oxm.apiVersion}
+# schema.version.related.link.start=${oxm.apiVersion}
+# schema.version.app.root.start=${oxm.apiVersion}
+# schema.version.namespace.change.start=${oxm.apiVersion}
+# schema.version.edge.label.start=${oxm.apiVersion}
+# Properties required by AAI Schema Service MS
+schema.translator.list=config
+schema.service.base.url=${oxm.schemaServiceBaseUrl}
+schema.service.nodes.endpoint=nodes?version=
+schema.service.edges.endpoint=edgerules?version=
+schema.service.versions.endpoint=versions
+schema.local=true
+schema.filename=mockrequests
+#Default rest client is the two-way-ssl
+#schema.service.client=two-way-ssl
+#Replace the below with the A&AI client key store
+schema.service.ssl.key-store=${oxm.schemaServiceKeystore}
+#Replace the below with the A&AI tomcat trust store
+schema.service.ssl.trust-store=${oxm.schemaServiceTruststore}
+schema.service.ssl.key-store-password=${oxm.schemaServiceKeystorePassword}
+schema.service.ssl.trust-store-password=${oxm.schemaServiceTruststorePassword}
+spring.application.name=sparky
+nodeDir=src/main/resources/schema/onap/oxm/
+edgeDir=src/main/resources/schema/onap/oxm
+schemaIngestPropLoc=src/main/resources/schema/onap/oxm
-[{\r
- "orgId": null,\r
- "managerId": null,\r
- "firstName": "Demo",\r
- "middleInitial": null,\r
- "lastName": "User",\r
- "phone": null,\r
- "email": "demo@email.com",\r
- "hrid": null,\r
- "orgUserId": "demo",\r
- "orgCode": null,\r
- "orgManagerUserId": null,\r
- "jobTitle": null,\r
- "loginId": "demo",\r
- "active": false,\r
- "roles": [{\r
- "id": 1,\r
- "name": "View"\r
- }]\r
-}]
\ No newline at end of file
+[{
+ "orgId": null,
+ "managerId": null,
+ "firstName": "Demo",
+ "middleInitial": null,
+ "lastName": "User",
+ "phone": null,
+ "email": "demo@email.com",
+ "hrid": null,
+ "orgUserId": "demo",
+ "orgCode": null,
+ "orgManagerUserId": null,
+ "jobTitle": null,
+ "loginId": "demo",
+ "active": false,
+ "roles": [{
+ "id": 1,
+ "name": "View"
+ }]
+}]
spec:
selector: {{- include "common.selectors" . | nindent 4 }}
replicas: {{ .Values.replicaCount }}
+ revisionHistoryLimit: {{ .Values.revisionHistoryLimit }}
strategy:
type: {{ .Values.updateStrategy.type }}
{{- if (eq "RollingUpdate" .Values.updateStrategy.type) }}
- mountPath: /opt/app/sparky/config/logging/logback.xml
name: config
subPath: logback.xml
- ports: {{ include "common.containerPorts" . | nindent 10 }}
- # disable liveness probe when breakpoints set in debugger
- # so K8s doesn't restart unresponsive container
- {{- if eq .Values.liveness.enabled true }}
+ ports:
+ {{- if .Values.debug.enabled }}
+ - containerPort: {{ .Values.debug.port }}
+ name: {{ .Values.debug.portName }}
+ {{- end }}
+ {{- if .Values.profiling.enabled }}
+ - containerPort: {{ .Values.profiling.port }}
+ name: {{ .Values.profiling.portName }}
+ {{- end }}
+ {{ include "common.containerPorts" . | nindent 10 }}
+ env:
+ {{- if .Values.config.env }}
+ {{- range $key,$value := .Values.config.env }}
+ - name: {{ $key | upper | quote}}
+ value: {{ $value | quote}}
+ {{- end }}
+ {{- end }}
+ {{- if .Values.profiling.enabled }}
+ - name: JVM_ARGS
+ value: '{{ join " " .Values.profiling.args }}'
+ {{- end }}
+ {{- if .Values.debug.enabled }}
+ - name: JVM_ARGS
+ value: {{ .Values.debug.args | quote }}
+ {{- end }}
+ # disable liveness probe when
+ # debugging.enabled=true or profiling.enabled=true
+ {{- if and .Values.liveness.enabled (not (or .Values.debug.enabled .Values.profiling.enabled)) }}
livenessProbe:
tcpSocket:
port: {{ .Values.service.internalPort }}
-# Copyright (c) 2018 Amdocs, Bell Canada, AT&T
-# Modifications Copyright (c) 2020 Nokia, Orange
+# Copyright © 2018 Amdocs, Bell Canada, AT&T
+# Modifications Copyright © 2020 Nokia, Orange
# Modifications Copyright © 2023 Nordix Foundation
#
# Licensed under the Apache License, Version 2.0 (the "License");
portalCookieName: UserId
portalAppRoles: ui_view
cookieDecryptorClass: org.onap.aai.sparky.security.BaseCookieDecryptor
+ env:
+ JVM_ARGS: -XX:MaxRAMPercentage=50.0
# ONAP Cookie Processing - During initial development, the following flag, if true, will
# prevent the portal interface's login processing from searching for a user
portalOnapEnabled: true
#
+# adds jvm args for remote debugging the application
+debug:
+ enabled: false
+ args: "-agentlib:jdwp=transport=dt_socket,server=y,suspend=n,address=5005"
+ port: 5555
+ portName: debug
+
+# adds jvm args for remote profiling the application
+profiling:
+ enabled: false
+ args:
+ - "-Dcom.sun.management.jmxremote"
+ - "-Dcom.sun.management.jmxremote.ssl=false"
+ - "-Dcom.sun.management.jmxremote.authenticate=false"
+ - "-Dcom.sun.management.jmxremote.local.only=false"
+ - "-Dcom.sun.management.jmxremote.port=9999"
+ - "-Dcom.sun.management.jmxremote.rmi.port=9999"
+ - "-Djava.rmi.server.hostname=127.0.0.1"
+ port: 9999
+ portName: jmx
+
# default number of instances
replicaCount: 1
+# number of ReplicaSets that should be retained for the Deployment
+revisionHistoryLimit: 2
+
updateStrategy:
type: RollingUpdate
maxUnavailable: 0
-# Patterns to ignore when building packages.\r
-# This supports shell glob matching, relative path matching, and\r
-# negation (prefixed with !). Only one pattern per line.\r
-.DS_Store\r
-# Common VCS dirs\r
-.git/\r
-.gitignore\r
-.bzr/\r
-.bzrignore\r
-.hg/\r
-.hgignore\r
-.svn/\r
-# Common backup files\r
-*.swp\r
-*.bak\r
-*.tmp\r
-*~\r
-# Various IDEs\r
-.project\r
-.idea/\r
-*.tmproj\r
+# Patterns to ignore when building packages.
+# This supports shell glob matching, relative path matching, and
+# negation (prefixed with !). Only one pattern per line.
+.DS_Store
+# Common VCS dirs
+.git/
+.gitignore
+.bzr/
+.bzrignore
+.hg/
+.hgignore
+.svn/
+# Common backup files
+*.swp
+*.bak
+*.tmp
+*~
+# Various IDEs
+.project
+.idea/
+*.tmproj
apiVersion: v2
description: ONAP AAI traversal
name: aai-traversal
-version: 13.0.0
+version: 14.0.0
dependencies:
- name: common
# ================================================================================
# Copyright © 2017 AT&T Intellectual Property. All rights reserved.
# 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.
{{/*
# 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.
#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
#load graphson file on startup
load.snapshot.file=false
+
+{{ if .Values.config.janusgraph.allowUpgrade }}
+graph.allow-upgrade=true
+{{ end }}
{{/*
-# Copyright (c) 2017 Amdocs, Bell Canada
-# Modifications Copyright (c) 2018 AT&T
-# Modifications Copyright (c) 2020 Nokia, Orange
-# Modifications Copyright (c) 2021 Orange
+# Copyright © 2017 Amdocs, Bell Canada
+# Modifications Copyright © 2018 AT&T
+# Modifications Copyright © 2020 Nokia, Orange
+# Modifications Copyright © 2021 Orange
# Modifications Copyright © 2023 Nordix Foundation
#
# Licensed under the Apache License, Version 2.0 (the "License");
heritage: {{ .Release.Service }}
spec:
replicas: {{ .Values.replicaCount }}
+ revisionHistoryLimit: {{ .Values.revisionHistoryLimit }}
minReadySeconds: {{ .Values.minReadySeconds }}
strategy:
type: {{ .Values.updateStrategy.type }}
- name: LOCAL_GROUP_ID
value: {{ .Values.global.config.groupId | quote }}
- name: INTERNAL_PORT_1
- value: {{ .Values.service.internalPort | quote }}
+ value: {{ .Values.service.traversalPort | quote }}
- name: INTERNAL_PORT_2
- value: {{ .Values.service.internalPort2 | quote }}
+ value: {{ .Values.service.debugPort | quote }}
- name: INTERNAL_PORT_3
- value: {{ .Values.service.internalPort3 | quote }}
+ value: {{ .Values.service.metricsPort | quote }}
- name: BOOTSTRAP_SERVERS
value: {{ include "common.release" . }}-strimzi-kafka-bootstrap:9092
- name: JAAS_CONFIG
name: {{ include "common.fullname" . }}-config
subPath: application-keycloak.properties
ports:
- - containerPort: {{ .Values.service.internalPort }}
- name: {{ .Values.service.portName }}
-
+ - containerPort: {{ .Values.service.traversalPort }}
+ name: {{ .Values.service.traversalPortName }}
{{- if .Values.config.debug.enabled }}
- - containerPort: {{ .Values.service.internalPort2 }}
- name: {{ .Values.service.portName2 }}
+ - containerPort: {{ .Values.service.debugPort }}
+ name: {{ .Values.service.debugPortName }}
{{- end }}
- - containerPort: {{ .Values.service.internalPort3 }}
- name: {{ .Values.service.portName3 }}
+ - containerPort: {{ .Values.service.metricsPort }}
+ name: {{ .Values.service.metricsPortName }}
{{- if .Values.config.profiling.enabled }}
- - containerPort: {{ .Values.service.internalPort4 }}
- name: {{ .Values.service.portName4 }}
+ - containerPort: {{ .Values.service.profilingPort }}
+ name: {{ .Values.service.profilingPortName }}
{{- end }}
-
lifecycle:
# wait for active requests (long-running tasks) to be finished
# Before the SIGTERM is invoked, Kubernetes exposes a preStop hook in the Pod.
- sh
- -c
- |
- while (netstat -an | grep ESTABLISHED | grep -e $INTERNAL_PORT_1 -e $INTERNAL_PORT_2)
+ while (netstat -an | grep ESTABLISHED | grep -e $INTERNAL_PORT_1)
do sleep 10
done
- # disable liveness probe when breakpoints set in debugger
- # so K8s doesn't restart unresponsive container
- {{ if .Values.liveness.enabled }}
+ # disable liveness probe when
+ # debugging.enable=true or profiling.enabled=true
+ {{- 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.internalPort }}
+ port: {{ .Values.service.traversalPort }}
scheme: HTTP
httpHeaders:
- name: X-FromAppId
readinessProbe:
httpGet:
path: /aai/util/echo?action=checkDB
- port: {{ .Values.service.internalPort }}
+ port: {{ .Values.service.traversalPort }}
scheme: HTTP
httpHeaders:
- name: X-FromAppId
type: {{ .Values.service.type }}
ports:
{{if eq .Values.service.type "NodePort" -}}
- - port: {{ .Values.service.internalPort }}
+ - port: {{ .Values.service.traversalPort }}
nodePort: {{ .Values.global.nodePortPrefix | default .Values.nodePortPrefix }}{{ .Values.service.nodePort }}
- name: {{ .Values.service.portName }}
- targetPort: {{ .Values.service.portName }}
- - port: {{ .Values.service.internalPort2 }}
+ name: {{ .Values.service.traversalPortName }}
+ targetPort: {{ .Values.service.traversalPortName }}
+ - port: {{ .Values.service.debugPort }}
nodePort: {{ .Values.global.nodePortPrefix | default .Values.nodePortPrefix }}{{ .Values.service.nodePort2 }}
- name: {{ .Values.service.portName2 }}
- targetPort: {{ .Values.service.portName2 }}
- - port: {{ .Values.service.internalPort3 }}
+ name: {{ .Values.service.debugPortName }}
+ targetPort: {{ .Values.service.debugPortName }}
+ - port: {{ .Values.service.metricsPort }}
nodePort: {{ .Values.global.nodePortPrefix | default .Values.nodePortPrefix }}{{ .Values.service.nodePort3 }}
- name: {{ .Values.service.portName3 }}
- targetPort: {{ .Values.service.portName3 }}
+ name: {{ .Values.service.metricsPortName }}
+ targetPort: {{ .Values.service.metricsPortName }}
{{- else -}}
- - port: {{ .Values.service.internalPort }}
- name: {{ .Values.service.portName }}
- targetPort: {{ .Values.service.portName }}
- - port: {{ .Values.service.internalPort2 }}
- name: {{ .Values.service.portName2 }}
- targetPort: {{ .Values.service.portName2 }}
- - port: {{ .Values.service.internalPort3 }}
- name: {{ .Values.service.portName3 }}
- targetPort: {{ .Values.service.portName3 }}
+ - port: {{ .Values.service.traversalPort }}
+ name: {{ .Values.service.traversalPortName }}
+ targetPort: {{ .Values.service.traversalPortName }}
+ {{- if .Values.config.debug.enabled }}
+ - port: {{ .Values.service.debugPort }}
+ name: {{ .Values.service.debugPortName }}
+ targetPort: {{ .Values.service.debugPortName }}
+ {{- end }}
+ - port: {{ .Values.service.metricsPort }}
+ name: {{ .Values.service.metricsPortName }}
+ targetPort: {{ .Values.service.metricsPortName }}
{{- end }}
selector:
app: {{ include "common.name" . }}
nodePortPrefix: 302
kafkaBootstrap: strimzi-kafka-bootstrap
aaiTravKafkaUser: aai-trav-kafka-user
+
cassandra:
#Service Name of the cassandra cluster to connect to.
#Override it to aai-cassandra if localCluster is enabled.
aaiTopic: AAI-EVENT
# application image
-image: onap/aai-traversal:1.13.5
+image: onap/aai-traversal:1.14.0
pullPolicy: Always
restartPolicy: Always
flavor: small
- 17
- 18
- 19
+ - 20
+ - 21
+ - 22
+ - 23
+ - 24
+ - 25
+ - 26
+ - 27
+ - 28
+ - 29
aai_enpoints:
- name: aai-generic-query
# application configuration
config:
+
# configure keycloak according to your environment.
# don't forget to add keycloak in active profiles above (global.config.profiles)
keycloak:
caching:
# enable when running read-heavy workloads
# modifications to graph done by this service/janusgraph instance will immediately invalidate the cache
- # modifications to graph done by other services (resources) will only be visible
+ # modifications to graph done by other services (traversal) will only be visible
# after time specified in db-cache-time
- enabled: false
+ 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
dbCacheCleanWait: 20 # in milliseconds
-
+ # temporarily enable this to update the graph storage version
+ # see: https://docs.janusgraph.org/changelog/#upgrade-instructions_9
+ allowUpgrade: true
# Specifies timeout information such as application specific and limits
timeout:
# environment variables added to the launch of the image in deployment
env:
MIN_HEAP_SIZE: "512m"
- MAX_HEAP_SIZE: "1024m"
+ MAX_HEAP_SIZE: "2g"
MAX_METASPACE_SIZE: "512m"
+ # POST_JVM_ARGS: "-agentlib:jdwp=transport=dt_socket,server=y,suspend=n,address=5005"
# adds jvm args for remote debugging the application
debug:
# default number of instances
replicaCount: 1
+# number of ReplicaSets that should be retained for the Deployment
+revisionHistoryLimit: 2
+
nodeSelector: {}
affinity: {}
liveness:
initialDelaySeconds: 60
periodSeconds: 60
- # necessary to disable liveness probe when setting breakpoints
- # in debugger so K8s doesn't restart unresponsive container
- enabled: false
+ enabled: true
readiness:
initialDelaySeconds: 10
service:
type: ClusterIP
- portName: http
- internalPort: 8446
- portName2: tcp-5005
- internalPort2: 5005
- portName3: http-traversal
- internalPort3: 8448
- terminationGracePeriodSeconds: 120
+ traversalPortName: http
+ traversalPort: 8446
+ debugPortName: tcp-5005
+ debugPort: 5005
+ metricsPortName: metrics
+ metricsPort: 8448
+ profilingPortName: jmx-9999
+ profilingPort: 9999
+ terminationGracePeriodSeconds: 60
sessionAffinity: None
ingress:
queueSize: 1000
accessLogback:
- livenessAccessLogEnabled: false # false: do not log kubernetes liveness probes
logToFileEnabled: false
+ livenessAccessLogEnabled: false # false: do not log kubernetes liveness probes
maxHistory: 7
totalSizeCap: 6GB
memory: "4Gi"
unlimited: {}
+tracing:
+ collector:
+ baseUrl: http://jaeger-collector.istio-system:9411
+ sampling:
+ probability: 1.0 # percentage of requests that are sampled (between 0-1/0%-100%)
+ ignorePatterns:
+ - /aai/util.*
+
endpoints:
enabled: true
health:
repository: '@local'
condition: authentication:enabled
- name: aai
- version: ~13.x-0
+ version: ~14.x-0
repository: '@local'
condition: aai.enabled
- name: cassandra