diff options
200 files changed, 7561 insertions, 1282 deletions
diff --git a/kubernetes/a1policymanagement/templates/pv.yaml b/kubernetes/a1policymanagement/templates/pv.yaml index 904d863b03..0a3cbdeff5 100644 --- a/kubernetes/a1policymanagement/templates/pv.yaml +++ b/kubernetes/a1policymanagement/templates/pv.yaml @@ -16,27 +16,5 @@ ################################################################################ */}} -{{- if and .Values.persistence.enabled (not .Values.persistence.existingClaim) -}} -{{- if not .Values.persistence.storageClass -}} -kind: PersistentVolume -apiVersion: v1 -metadata: - name: {{ include "common.fullname" . }}-data - namespace: {{ include "common.namespace" . }} - labels: - app: {{ include "common.name" . }} - chart: "{{ .Chart.Name }}-{{ .Chart.Version | replace "+" "_" }}" - release: "{{ include "common.release" . }}" - heritage: "{{ .Release.Service }}" - name: {{ include "common.fullname" . }} -spec: - capacity: - storage: {{ .Values.persistence.size}} - accessModes: - - {{ .Values.persistence.accessMode }} - persistentVolumeReclaimPolicy: {{ .Values.persistence.volumeReclaimPolicy }} - storageClassName: "{{ include "common.fullname" . }}-data" - hostPath: - path: {{ .Values.persistence.mountPath }}/{{ include "common.release" . }}/{{ .Values.persistence.mountSubPath }}/app -{{- end -}} -{{- end -}} + +{{ include "common.replicaPV" . }} diff --git a/kubernetes/a1policymanagement/templates/pvc.yaml b/kubernetes/a1policymanagement/templates/pvc.yaml deleted file mode 100644 index 4183edfdbb..0000000000 --- a/kubernetes/a1policymanagement/templates/pvc.yaml +++ /dev/null @@ -1,41 +0,0 @@ -{{/* -################################################################################ -# Copyright (c) 2021 Nordix Foundation. # -# # -# Licensed under the Apache License, Version 2.0 (the "License"); # -# you may not use this file except in compliance with the License. # -# You may obtain a copy of the License at # -# # -# http://www.apache.org/licenses/LICENSE-2.0 # -# # -# Unless required by applicable law or agreed to in writing, software # -# distributed under the License is distributed on an "AS IS" BASIS, # -# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. # -# See the License for the specific language governing permissions and # -# limitations under the License. # -################################################################################ -*/}} - -{{- if and .Values.persistence.enabled (not .Values.persistence.existingClaim) -}} -kind: PersistentVolumeClaim -apiVersion: v1 -metadata: - name: {{ include "common.fullname" . }} - namespace: {{ include "common.namespace" . }} - labels: - app: {{ include "common.name" . }} - chart: "{{ .Chart.Name }}-{{ .Chart.Version }}" - release: "{{ include "common.release" . }}" - heritage: "{{ .Release.Service }}" - {{- if .Values.persistence.annotations }} - annotations: -{{ .Values.persistence.annotations | indent 4 }} - {{- end }} -spec: - accessModes: - - {{ .Values.persistence.accessMode }} - resources: - requests: - storage: {{ .Values.persistence.size }} - storageClassName: {{ include "common.fullname" . }}-data -{{- end -}} diff --git a/kubernetes/a1policymanagement/templates/deployment.yaml b/kubernetes/a1policymanagement/templates/statefulset.yaml index 0d8399c8b3..54ee1515bc 100644 --- a/kubernetes/a1policymanagement/templates/deployment.yaml +++ b/kubernetes/a1policymanagement/templates/statefulset.yaml @@ -17,17 +17,11 @@ ################################################################################ */}} -kind: Deployment +kind: StatefulSet apiVersion: apps/v1 -metadata: - name: {{ include "common.fullname" . }} - namespace: {{ include "common.namespace" . }} - labels: - app: {{ include "common.name" . }} - chart: "{{ .Chart.Name }}-{{ .Chart.Version }}" - release: "{{ include "common.release" . }}" - heritage: "{{ .Release.Service }}" +metadata: {{- include "common.resourceMetadata" . | nindent 2 }} spec: + serviceName: {{ include "common.servicename" . }} replicas: {{ index .Values.replicaCount }} selector: {{- include "common.selectors" . | nindent 4 }} template: @@ -108,8 +102,8 @@ spec: subPath: application_configuration.json - name: config mountPath: /opt/app/policy-agent/config/application.yaml - subPath: application.yaml - - name: vardata + subPath: application.yaml + - name: {{ include "common.fullname" . }} mountPath: "/var/policy-management-service/database" resources: {{ include "common.resources" . | nindent 10 }} volumes: {{ include "common.certInitializer.volumes" . | nindent 8 }} @@ -123,6 +117,10 @@ spec: - name: config emptyDir: medium: Memory - - name: vardata - persistentVolumeClaim: - claimName: {{ include "common.fullname" . }} +{{- if not .Values.persistence.enabled }} + - name: {{ include "common.fullname" . }} + emptyDir: {} +{{- else }} + volumeClaimTemplates: + - {{include "common.PVCTemplate" . | indent 6 | trim }} +{{- end }} diff --git a/kubernetes/a1policymanagement/values.yaml b/kubernetes/a1policymanagement/values.yaml index 08590d891c..4768349736 100644 --- a/kubernetes/a1policymanagement/values.yaml +++ b/kubernetes/a1policymanagement/values.yaml @@ -20,7 +20,8 @@ global: nodePortPrefix: 302 - + persistence: {} + secrets: - uid: controller-secret type: basicAuth diff --git a/kubernetes/aai/components/aai-resources/templates/deployment.yaml b/kubernetes/aai/components/aai-resources/templates/deployment.yaml index d630647883..1297809658 100644 --- a/kubernetes/aai/components/aai-resources/templates/deployment.yaml +++ b/kubernetes/aai/components/aai-resources/templates/deployment.yaml @@ -122,7 +122,7 @@ spec: - name: LOCAL_GROUP_ID value: {{ .Values.global.config.groupId | quote }} - name: POST_JAVA_OPTS - value: '-Djavax.net.ssl.trustStore=/opt/app/aai-resources/resources/aaf/truststoreONAPall.jks -Djavax.net.ssl.trustStorePassword={{ .Values.certInitializer.truststorePassword }}' + value: '-Djavax.net.ssl.trustStore={{ .Values.certInitializer.credsPath }}/truststoreONAPall.jks -Djavax.net.ssl.trustStorePassword={{ .Values.certInitializer.truststorePassword }}' - name: TRUSTORE_ALL_PASSWORD value: {{ .Values.certInitializer.truststorePassword }} volumeMounts: {{ include "common.certInitializer.volumeMount" . | nindent 8 }} diff --git a/kubernetes/appc/resources/config/appc/opt/onap/appc/bin/startODL.sh b/kubernetes/appc/resources/config/appc/opt/onap/appc/bin/startODL.sh index 717ea6679c..68b50e1ad6 100755 --- a/kubernetes/appc/resources/config/appc/opt/onap/appc/bin/startODL.sh +++ b/kubernetes/appc/resources/config/appc/opt/onap/appc/bin/startODL.sh @@ -83,7 +83,7 @@ then show databases like 'sdnctl'; END ) - if [ "x${sdnc_db_exists}" = "x" ] + if [ "${sdnc_db_exists}" = "" ] then echo "Installing SDNC database" ${SDNC_HOME}/bin/installSdncDb.sh @@ -92,7 +92,7 @@ END show databases like 'appcctl'; END ) - if [ "x${appc_db_exists}" = "x" ] + if [ "${appc_db_exists}" = "" ] then echo "Installing APPC database" ${APPC_HOME}/bin/installAppcDb.sh diff --git a/kubernetes/appc/values.yaml b/kubernetes/appc/values.yaml index 83d00a7545..e3f88b1c37 100644 --- a/kubernetes/appc/values.yaml +++ b/kubernetes/appc/values.yaml @@ -143,7 +143,8 @@ dgbuilder: dbServiceName: *appc-db service: name: appc-dgbuilder - + serviceAccount: + nameOverride: appc-dgbuilder ingress: enabled: false service: diff --git a/kubernetes/cds/components/cds-blueprints-processor/requirements.yaml b/kubernetes/cds/components/cds-blueprints-processor/requirements.yaml index d0ff6231b9..7a3a920087 100755 --- a/kubernetes/cds/components/cds-blueprints-processor/requirements.yaml +++ b/kubernetes/cds/components/cds-blueprints-processor/requirements.yaml @@ -19,3 +19,6 @@ dependencies: - name: repositoryGenerator version: ~8.x-0 repository: '@local' + - name: serviceAccount + version: ~8.x-0 + repository: '@local' diff --git a/kubernetes/cds/components/cds-blueprints-processor/templates/deployment.yaml b/kubernetes/cds/components/cds-blueprints-processor/templates/deployment.yaml index c2e034204c..fd5265d2ce 100755 --- a/kubernetes/cds/components/cds-blueprints-processor/templates/deployment.yaml +++ b/kubernetes/cds/components/cds-blueprints-processor/templates/deployment.yaml @@ -190,6 +190,7 @@ spec: affinity: {{ toYaml .Values.affinity | indent 10 }} {{- end }} + serviceAccountName: {{ include "common.fullname" (dict "suffix" "read" "dot" . )}} volumes: - name: localtime hostPath: diff --git a/kubernetes/cds/components/cds-blueprints-processor/values.yaml b/kubernetes/cds/components/cds-blueprints-processor/values.yaml index fe60b8023c..71f934fbe5 100755 --- a/kubernetes/cds/components/cds-blueprints-processor/values.yaml +++ b/kubernetes/cds/components/cds-blueprints-processor/values.yaml @@ -178,3 +178,9 @@ resources: cpu: 2 memory: 4Gi unlimited: {} + +#Pods Service Account +serviceAccount: + nameOverride: cds-blueprints-processor + roles: + - read diff --git a/kubernetes/cds/components/cds-command-executor/requirements.yaml b/kubernetes/cds/components/cds-command-executor/requirements.yaml index bd647a6c42..96ce828880 100755 --- a/kubernetes/cds/components/cds-command-executor/requirements.yaml +++ b/kubernetes/cds/components/cds-command-executor/requirements.yaml @@ -19,3 +19,6 @@ dependencies: - name: repositoryGenerator version: ~8.x-0 repository: '@local' + - name: serviceAccount + version: ~8.x-0 + repository: '@local' diff --git a/kubernetes/cds/components/cds-command-executor/templates/deployment.yaml b/kubernetes/cds/components/cds-command-executor/templates/deployment.yaml index 40238c2513..523339ca70 100755 --- a/kubernetes/cds/components/cds-command-executor/templates/deployment.yaml +++ b/kubernetes/cds/components/cds-command-executor/templates/deployment.yaml @@ -86,6 +86,7 @@ spec: affinity: {{ toYaml .Values.affinity | indent 10 }} {{- end }} + serviceAccountName: {{ include "common.fullname" (dict "suffix" "read" "dot" . )}} volumes: - name: localtime hostPath: diff --git a/kubernetes/cds/components/cds-command-executor/values.yaml b/kubernetes/cds/components/cds-command-executor/values.yaml index f867565915..12a7fe9b40 100755 --- a/kubernetes/cds/components/cds-command-executor/values.yaml +++ b/kubernetes/cds/components/cds-command-executor/values.yaml @@ -91,3 +91,9 @@ resources: cpu: 2 memory: 4Gi unlimited: {} + +#Pods Service Account +serviceAccount: + nameOverride: cds-command-executor + roles: + - read diff --git a/kubernetes/cds/components/cds-py-executor/requirements.yaml b/kubernetes/cds/components/cds-py-executor/requirements.yaml index 626de2fe33..6b7064caca 100755 --- a/kubernetes/cds/components/cds-py-executor/requirements.yaml +++ b/kubernetes/cds/components/cds-py-executor/requirements.yaml @@ -19,3 +19,6 @@ dependencies: - name: repositoryGenerator version: ~8.x-0 repository: '@local' + - name: serviceAccount + version: ~8.x-0 + repository: '@local' diff --git a/kubernetes/cds/components/cds-py-executor/templates/deployment.yaml b/kubernetes/cds/components/cds-py-executor/templates/deployment.yaml index d7b2959fcb..754e0d0f50 100755 --- a/kubernetes/cds/components/cds-py-executor/templates/deployment.yaml +++ b/kubernetes/cds/components/cds-py-executor/templates/deployment.yaml @@ -78,6 +78,7 @@ spec: affinity: {{ toYaml .Values.affinity | nindent 10 }} {{- end }} + serviceAccountName: {{ include "common.fullname" (dict "suffix" "read" "dot" . )}} volumes: - name: localtime hostPath: diff --git a/kubernetes/cds/components/cds-py-executor/values.yaml b/kubernetes/cds/components/cds-py-executor/values.yaml index af042c1605..b7338f88aa 100755 --- a/kubernetes/cds/components/cds-py-executor/values.yaml +++ b/kubernetes/cds/components/cds-py-executor/values.yaml @@ -110,3 +110,9 @@ resources: cpu: 2 memory: 4Gi unlimited: {} + +#Pods Service Account +serviceAccount: + nameOverride: cds-py-executor + roles: + - read diff --git a/kubernetes/cds/components/cds-sdc-listener/requirements.yaml b/kubernetes/cds/components/cds-sdc-listener/requirements.yaml index bd647a6c42..96ce828880 100755 --- a/kubernetes/cds/components/cds-sdc-listener/requirements.yaml +++ b/kubernetes/cds/components/cds-sdc-listener/requirements.yaml @@ -19,3 +19,6 @@ dependencies: - name: repositoryGenerator version: ~8.x-0 repository: '@local' + - name: serviceAccount + version: ~8.x-0 + repository: '@local' diff --git a/kubernetes/cds/components/cds-sdc-listener/templates/deployment.yaml b/kubernetes/cds/components/cds-sdc-listener/templates/deployment.yaml index 7dca49c761..4ac847005e 100644 --- a/kubernetes/cds/components/cds-sdc-listener/templates/deployment.yaml +++ b/kubernetes/cds/components/cds-sdc-listener/templates/deployment.yaml @@ -94,6 +94,7 @@ spec: affinity: {{ toYaml .Values.affinity | indent 10 }} {{- end }} + serviceAccountName: {{ include "common.fullname" (dict "suffix" "read" "dot" . )}} volumes: - name: {{ include "common.fullname" . }}-config configMap: diff --git a/kubernetes/cds/components/cds-sdc-listener/values.yaml b/kubernetes/cds/components/cds-sdc-listener/values.yaml index e46539fb35..4a67317298 100644 --- a/kubernetes/cds/components/cds-sdc-listener/values.yaml +++ b/kubernetes/cds/components/cds-sdc-listener/values.yaml @@ -99,3 +99,9 @@ resources: cpu: 2 memory: 4Gi unlimited: {} + +#Pods Service Account +serviceAccount: + nameOverride: cds-sdc-listener + roles: + - read diff --git a/kubernetes/cds/components/cds-ui/requirements.yaml b/kubernetes/cds/components/cds-ui/requirements.yaml index a4e5fe5603..8f6d158a17 100644 --- a/kubernetes/cds/components/cds-ui/requirements.yaml +++ b/kubernetes/cds/components/cds-ui/requirements.yaml @@ -22,3 +22,6 @@ dependencies: - name: repositoryGenerator version: ~8.x-0 repository: '@local' + - name: serviceAccount + version: ~8.x-0 + repository: '@local' diff --git a/kubernetes/cds/components/cds-ui/templates/deployment.yaml b/kubernetes/cds/components/cds-ui/templates/deployment.yaml index 359c713ed4..6457ce3736 100644 --- a/kubernetes/cds/components/cds-ui/templates/deployment.yaml +++ b/kubernetes/cds/components/cds-ui/templates/deployment.yaml @@ -99,6 +99,7 @@ spec: affinity: {{ toYaml .Values.affinity | indent 10 }} {{- end }} + serviceAccountName: {{ include "common.fullname" (dict "suffix" "read" "dot" . )}} volumes: {{ include "common.certInitializer.volumes" . | nindent 8 }} - name: localtime hostPath: diff --git a/kubernetes/cds/components/cds-ui/values.yaml b/kubernetes/cds/components/cds-ui/values.yaml index 697602f209..e91e999259 100644 --- a/kubernetes/cds/components/cds-ui/values.yaml +++ b/kubernetes/cds/components/cds-ui/values.yaml @@ -127,3 +127,9 @@ resources: cpu: 200m memory: 200Mi unlimited: {} + +#Pods Service Account +serviceAccount: + nameOverride: cds-ui + roles: + - read diff --git a/kubernetes/common/cassandra/resources/config/docker-entrypoint.sh b/kubernetes/common/cassandra/resources/config/docker-entrypoint.sh index ff1908c1bb..5f23a89867 100644 --- a/kubernetes/common/cassandra/resources/config/docker-entrypoint.sh +++ b/kubernetes/common/cassandra/resources/config/docker-entrypoint.sh @@ -12,7 +12,7 @@ fi if [ "$1" = 'cassandra' -a "$(id -u)" = '0' ]; then find /var/lib/cassandra /var/log/cassandra "$CASSANDRA_CONFIG" \ \! -user cassandra -exec chown cassandra '{}' + - exec gosu cassandra "$BASH_SOURCE" "$@" + exec gosu cassandra "$0" "$@" fi _ip_address() { diff --git a/kubernetes/common/cassandra/resources/restore.sh b/kubernetes/common/cassandra/resources/restore.sh index a8105345f7..7f271d262f 100644 --- a/kubernetes/common/cassandra/resources/restore.sh +++ b/kubernetes/common/cassandra/resources/restore.sh @@ -41,7 +41,7 @@ then print_usage fi -while [[ $# -gt 0 ]] +while [ $# -gt 0 ] do key="$1" shift diff --git a/kubernetes/common/cmpv2Certificate/templates/_certServiceClient.tpl b/kubernetes/common/cmpv2Certificate/templates/_certServiceClient.tpl deleted file mode 100644 index f80b06b4d3..0000000000 --- a/kubernetes/common/cmpv2Certificate/templates/_certServiceClient.tpl +++ /dev/null @@ -1,189 +0,0 @@ -{{/* -# Copyright © 2021 Nokia -# -# 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. -*/}} - -{{/* -In order to use certServiceClient it is needed do define certificates array in target component values.yaml. Each -certificate will be requested from separate init container - -Minimum example of array in target component values.yaml: -certificates: - - mountPath: /var/custom-certs - commonName: common-name - -Full example (other fields are ignored): -certificates: - - mountPath: /var/custom-certs - caName: RA - keystore: - outputType: - - jks - commonName: common-name - dnsNames: - - dns-name-1 - - dns-name-2 - ipAddresses: - - 192.168.0.1 - - 192.168.0.2 - emailAddresses: - - email-1@onap.org - - email-2@onap.org - uris: - - http://uri-1.onap.org - - http://uri-2.onap.org - subject: - organization: Linux-Foundation - country: US - locality: San Francisco - province: California - organizationalUnit: ONAP - -There also need to be some includes used in a target component deployment (indent values may need to be adjusted): - 1. In initContainers section: - {{ include "common.certServiceClient.initContainer" . | indent 6 }} - 2. In volumeMounts section of container using certificates: - {{ include "common.certServiceClient.volumeMounts" . | indent 10 }} - 3. In volumes section: - {{ include "common.certServiceClient.volumes" . | indent 8 }} - -*/}} - -{{- define "common.certServiceClient.initContainer" -}} -{{- $dot := default . .dot -}} -{{- $initRoot := default $dot.Values.cmpv2Certificate.cmpv2Config .initRoot -}} -{{- $subchartGlobal := mergeOverwrite (deepCopy $initRoot.global) $dot.Values.global -}} -{{- if and $subchartGlobal.cmpv2Enabled (not $subchartGlobal.CMPv2CertManagerIntegration) -}} -{{- range $index, $certificate := $dot.Values.certificates -}} -{{/*# General certifiacate attributes #*/}} -{{- $commonName := (required "'commonName' for Certificate is required." $certificate.commonName) -}} -{{/*# SAN's #*/}} -{{- $dnsNames := default (list) $certificate.dnsNames -}} -{{- $ipAddresses := default (list) $certificate.ipAddresses -}} -{{- $uris := default (list) $certificate.uris -}} -{{- $emailAddresses := default (list) $certificate.emailAddresses -}} -{{- $sansList := concat $dnsNames $ipAddresses $uris $emailAddresses -}} -{{- $sans := join "," $sansList }} -{{/*# Subject #*/}} -{{- $organization := $subchartGlobal.certificate.default.subject.organization -}} -{{- $country := $subchartGlobal.certificate.default.subject.country -}} -{{- $locality := $subchartGlobal.certificate.default.subject.locality -}} -{{- $province := $subchartGlobal.certificate.default.subject.province -}} -{{- $orgUnit := $subchartGlobal.certificate.default.subject.organizationalUnit -}} -{{- if $certificate.subject -}} -{{- $organization := $certificate.subject.organization -}} -{{- $country := $certificate.subject.country -}} -{{- $locality := $certificate.subject.locality -}} -{{- $province := $certificate.subject.province -}} -{{- $orgUnit := $certificate.subject.organizationalUnit -}} -{{- end -}} -{{- $caName := default $subchartGlobal.platform.certServiceClient.envVariables.caName $certificate.caName -}} -{{- $outputType := $subchartGlobal.platform.certServiceClient.envVariables.outputType -}} -{{- if $certificate.keystore -}} -{{- $outputTypeList := (required "'outputType' in 'keystore' section is required." $certificate.keystore.outputType) -}} -{{- $outputType = mustFirst ($outputTypeList) | upper -}} -{{- end -}} -{{- $requestUrl := $subchartGlobal.platform.certServiceClient.envVariables.requestURL -}} -{{- $certPath := $subchartGlobal.platform.certServiceClient.envVariables.certPath -}} -{{- $requestTimeout := $subchartGlobal.platform.certServiceClient.envVariables.requestTimeout -}} -{{- $certificatesSecret:= $subchartGlobal.platform.certServiceClient.clientSecretName -}} -{{- $certificatesSecretMountPath := $subchartGlobal.platform.certServiceClient.certificatesSecretMountPath -}} -{{- $keystorePath := (printf "%s%s" $subchartGlobal.platform.certServiceClient.certificatesSecretMountPath $subchartGlobal.platform.certificates.keystoreKeyRef ) -}} -{{- $keystorePasswordSecret := $subchartGlobal.platform.certificates.keystorePasswordSecretName -}} -{{- $keystorePasswordSecretKey := $subchartGlobal.platform.certificates.keystorePasswordSecretKey -}} -{{- $truststorePath := (printf "%s%s" $subchartGlobal.platform.certServiceClient.certificatesSecretMountPath $subchartGlobal.platform.certificates.truststoreKeyRef ) -}} -{{- $truststorePasswordSecret := $subchartGlobal.platform.certificates.truststorePasswordSecretName -}} -{{- $truststorePasswordSecretKey := $subchartGlobal.platform.certificates.truststorePasswordSecretKey -}} -- name: certs-init-{{ $index }} - image: {{ include "repositoryGenerator.image.certserviceclient" $dot }} - imagePullPolicy: {{ $dot.Values.global.pullPolicy | default $dot.Values.pullPolicy }} - env: - - name: REQUEST_URL - value: {{ $requestUrl | quote }} - - name: REQUEST_TIMEOUT - value: {{ $requestTimeout | quote }} - - name: OUTPUT_PATH - value: {{ $certPath | quote }} - - name: OUTPUT_TYPE - value: {{ $outputType | quote }} - - name: CA_NAME - value: {{ $caName | quote }} - - name: COMMON_NAME - value: {{ $commonName | quote }} - - name: SANS - value: {{ $sans | quote }} - - name: ORGANIZATION - value: {{ $organization | quote }} - - name: ORGANIZATION_UNIT - value: {{ $orgUnit | quote }} - - name: LOCATION - value: {{ $locality | quote }} - - name: STATE - value: {{ $province | quote }} - - name: COUNTRY - value: {{ $country | quote }} - - name: KEYSTORE_PATH - value: {{ $keystorePath | quote }} - - name: KEYSTORE_PASSWORD - valueFrom: - secretKeyRef: - name: {{ $keystorePasswordSecret | quote}} - key: {{ $keystorePasswordSecretKey | quote}} - - name: TRUSTSTORE_PATH - value: {{ $truststorePath | quote }} - - name: TRUSTSTORE_PASSWORD - valueFrom: - secretKeyRef: - name: {{ $truststorePasswordSecret | quote}} - key: {{ $truststorePasswordSecretKey | quote}} - terminationMessagePath: /dev/termination-log - terminationMessagePolicy: File - volumeMounts: - - mountPath: {{ $certPath }} - name: cmpv2-certs-volume-{{ $index }} - - mountPath: {{ $certificatesSecretMountPath }} - name: certservice-tls-volume -{{- end -}} -{{- end -}} -{{- end -}} - -{{- define "common.certServiceClient.volumes" -}} -{{- $dot := default . .dot -}} -{{- $initRoot := default $dot.Values.cmpv2Certificate.cmpv2Config .initRoot -}} -{{- $subchartGlobal := mergeOverwrite (deepCopy $initRoot.global) $dot.Values.global -}} -{{- if and $subchartGlobal.cmpv2Enabled (not $subchartGlobal.CMPv2CertManagerIntegration) -}} -{{- $certificatesSecretName := $subchartGlobal.platform.certificates.clientSecretName -}} -- name: certservice-tls-volume - secret: - secretName: {{ $certificatesSecretName }} -{{ range $index, $certificate := $dot.Values.certificates -}} -- name: cmpv2-certs-volume-{{ $index }} - emptyDir: - medium: Memory -{{- end -}} -{{- end -}} -{{- end -}} - -{{- define "common.certServiceClient.volumeMounts" -}} -{{- $dot := default . .dot -}} -{{- $initRoot := default $dot.Values.cmpv2Certificate.cmpv2Config .initRoot -}} -{{- $subchartGlobal := mergeOverwrite (deepCopy $initRoot.global) $dot.Values.global -}} -{{- if and $subchartGlobal.cmpv2Enabled (not $subchartGlobal.CMPv2CertManagerIntegration) -}} -{{- range $index, $certificate := $dot.Values.certificates -}} -{{- $mountPath := $certificate.mountPath -}} -- mountPath: {{ $mountPath }} - name: cmpv2-certs-volume-{{ $index }} -{{ end -}} -{{- end -}} -{{- end -}} diff --git a/kubernetes/common/cmpv2Config/values.yaml b/kubernetes/common/cmpv2Config/values.yaml index 695e40616c..02595b348d 100644 --- a/kubernetes/common/cmpv2Config/values.yaml +++ b/kubernetes/common/cmpv2Config/values.yaml @@ -15,7 +15,6 @@ global: # Enabling CMPv2 cmpv2Enabled: true - CMPv2CertManagerIntegration: false certificate: default: @@ -35,17 +34,6 @@ global: keystorePasswordSecretKey: password truststorePasswordSecretName: oom-cert-service-truststore-password truststorePasswordSecretKey: password - certServiceClient: - image: onap/org.onap.oom.platform.cert-service.oom-certservice-client:2.3.3 - certificatesSecretMountPath: /etc/onap/oom/certservice/certs/ - envVariables: - certPath: "/var/custom-certs" - # Certificate related - caName: "RA" - # Client configuration related - requestURL: "https://oom-cert-service:8443/v1/certificate/" - requestTimeout: "30000" - outputType: "P12" certPostProcessor: image: onap/org.onap.oom.platform.cert-service.oom-certservice-post-processor:2.3.3 diff --git a/kubernetes/common/dgbuilder/requirements.yaml b/kubernetes/common/dgbuilder/requirements.yaml index 0157b7063e..1bbab11af4 100644 --- a/kubernetes/common/dgbuilder/requirements.yaml +++ b/kubernetes/common/dgbuilder/requirements.yaml @@ -22,3 +22,6 @@ dependencies: - name: repositoryGenerator version: ~8.x-0 repository: 'file://../repositoryGenerator' + - name: serviceAccount + version: ~8.x-0 + repository: 'file://../serviceAccount' diff --git a/kubernetes/common/dgbuilder/templates/deployment.yaml b/kubernetes/common/dgbuilder/templates/deployment.yaml index ad3e4cf128..6538ad0836 100644 --- a/kubernetes/common/dgbuilder/templates/deployment.yaml +++ b/kubernetes/common/dgbuilder/templates/deployment.yaml @@ -128,6 +128,7 @@ spec: affinity: {{ toYaml .Values.affinity | indent 10 }} {{- end }} + serviceAccountName: {{ include "common.fullname" (dict "suffix" "read" "dot" . )}} volumes: {{ include "common.certInitializer.volumes" . | nindent 8 }} - name: localtime diff --git a/kubernetes/common/dgbuilder/values.yaml b/kubernetes/common/dgbuilder/values.yaml index ae1d85795d..0f91bbd882 100644 --- a/kubernetes/common/dgbuilder/values.yaml +++ b/kubernetes/common/dgbuilder/values.yaml @@ -186,3 +186,8 @@ resources: memory: 4Gi unlimited: {} +#Pods Service Account +serviceAccount: + nameOverride: dgbuilder + roles: + - read diff --git a/kubernetes/common/etcd-init/.helmignore b/kubernetes/common/etcd-init/.helmignore new file mode 100644 index 0000000000..f0c1319444 --- /dev/null +++ b/kubernetes/common/etcd-init/.helmignore @@ -0,0 +1,21 @@ +# Patterns to ignore when building packages. +# This supports shell glob matching, relative path matching, and +# negation (prefixed with !). Only one pattern per line. +.DS_Store +# Common VCS dirs +.git/ +.gitignore +.bzr/ +.bzrignore +.hg/ +.hgignore +.svn/ +# Common backup files +*.swp +*.bak +*.tmp +*~ +# Various IDEs +.project +.idea/ +*.tmproj diff --git a/kubernetes/common/cmpv2Certificate/Chart.yaml b/kubernetes/common/etcd-init/Chart.yaml index 6641ec6954..20f5ac40cc 100644 --- a/kubernetes/common/cmpv2Certificate/Chart.yaml +++ b/kubernetes/common/etcd-init/Chart.yaml @@ -1,4 +1,4 @@ -# Copyright © 2021 Nokia +# Copyright (C) 2021 Wipro Limited. # # Licensed under the Apache License, Version 2.0 (the "License"); # you may not use this file except in compliance with the License. @@ -13,6 +13,6 @@ # limitations under the License. apiVersion: v1 -description: Template used to add cmpv2 certificates to components -name: cmpv2Certificate +description: Chart for etcd init job +name: etcd-init version: 8.0.0 diff --git a/kubernetes/common/cmpv2Certificate/requirements.yaml b/kubernetes/common/etcd-init/requirements.yaml index b10896d2ce..008789b822 100644 --- a/kubernetes/common/cmpv2Certificate/requirements.yaml +++ b/kubernetes/common/etcd-init/requirements.yaml @@ -1,4 +1,4 @@ -# Copyright © 2021 Nokia +# Copyright (C) 2021 Wipro Limited. # # Licensed under the Apache License, Version 2.0 (the "License"); # you may not use this file except in compliance with the License. @@ -19,6 +19,3 @@ dependencies: - name: repositoryGenerator version: ~8.x-0 repository: 'file://../repositoryGenerator' - - name: cmpv2Config - version: ~8.x-0 - repository: 'file://../cmpv2Config' diff --git a/kubernetes/common/etcd-init/templates/job.yaml b/kubernetes/common/etcd-init/templates/job.yaml new file mode 100644 index 0000000000..69bcfaaf99 --- /dev/null +++ b/kubernetes/common/etcd-init/templates/job.yaml @@ -0,0 +1,104 @@ +{{/* +# Copyright (C) 2021 Wipro Limited. +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. +*/}} +apiVersion: batch/v1 +kind: Job +metadata: + name: {{ include "common.fullname" . }}-job + namespace: {{ include "common.namespace" . }} + labels: + app: {{ include "common.name" . }} + chart: {{ .Chart.Name }}-{{ .Chart.Version | replace "+" "_" }} + release: {{ include "common.release" . }} + heritage: {{ .Release.Service }} +spec: + backoffLimit: {{ .Values.backoffLimit }} + template: + metadata: + labels: + app: {{ include "common.name" . }} + release: {{ include "common.release" . }} + name: {{ include "common.name" . }} + spec: + initContainers: + - name: {{ include "common.name" . }}-readiness + command: + - /app/ready.py + args: + - --container-name + - {{ .Values.etcd.containerName }} + env: + - name: NAMESPACE + valueFrom: + fieldRef: + apiVersion: v1 + fieldPath: metadata.namespace + image: {{ include "repositoryGenerator.image.readiness" . }} + imagePullPolicy: {{ .Values.global.pullPolicy | default .Values.pullPolicy }} + containers: + - name: {{ include "common.name" . }} + image: {{ include "repositoryGenerator.dockerHubRepository" . }}/{{ .Values.image }} + imagePullPolicy: {{ .Values.global.pullPolicy | default .Values.pullPolicy }} + command: + - /bin/sh + - -ec + - | + # Create users + export ETCDCTL_ENDPOINTS=http://${ETCD_HOST}:${ETCD_PORT} + export ETCDCTL_API=3 + echo "${ROOT_PASSWORD}" | etcdctl user add root --interactive=false + echo "${APP_PASSWORD}" | etcdctl user add ${APP_USER} --interactive=false + + # Create roles + etcdctl role add ${APP_ROLE} + etcdctl role grant-permission ${APP_ROLE} --prefix=true readwrite ${KEY_PREFIX} + + etcdctl user grant-role ${APP_USER} ${APP_ROLE} + etcdctl auth enable + env: + - name: ALLOW_NONE_AUTHENTICATION + value: "yes" + - name: ETCD_HOST + value: "{{ .Values.etcd.serviceName }}.{{ include "common.namespace" . }}" + - name: ETCD_PORT + value: "{{ .Values.etcd.port }}" + - name: ROOT_PASSWORD + {{- include "common.secret.envFromSecretFast" (dict "global" . "uid" "root-password" "key" "password" ) | indent 10 }} + - name: APP_USER + {{- include "common.secret.envFromSecretFast" (dict "global" . "uid" "app-creds" "key" "login") | indent 10 }} + - name: APP_PASSWORD + {{- include "common.secret.envFromSecretFast" (dict "global" . "uid" "app-creds" "key" "password") | indent 10 }} + - name: APP_ROLE + value: "{{ .Values.config.appRole }}" + - name: KEY_PREFIX + value: "{{ .Values.config.keyPrefix }}" + volumeMounts: + - mountPath: /etc/localtime + name: localtime + readOnly: true + resources: {{ include "common.resources" . | nindent 12 }} + {{- if .Values.nodeSelector }} + nodeSelector: {{ toYaml .Values.nodeSelector | nindent 10 }} + {{- end -}} + {{- if .Values.affinity }} + affinity: {{ toYaml .Values.affinity | nindent 10 }} + {{- end }} + volumes: + - name: localtime + hostPath: + path: /etc/localtime + restartPolicy: Never + imagePullSecrets: + - name: "{{ include "common.namespace" . }}-docker-registry-key" diff --git a/kubernetes/common/cmpv2Certificate/values.yaml b/kubernetes/common/etcd-init/templates/secret.yaml index 504947525d..e874185693 100644 --- a/kubernetes/common/cmpv2Certificate/values.yaml +++ b/kubernetes/common/etcd-init/templates/secret.yaml @@ -1,4 +1,5 @@ -# Copyright © 2021 Nokia +{{/* +# Copyright (C) 2021 Wipro Limited. # # Licensed under the Apache License, Version 2.0 (the "License"); # you may not use this file except in compliance with the License. @@ -11,3 +12,6 @@ # 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. +*/}} + +{{ include "common.secretFast" . }} diff --git a/kubernetes/common/etcd-init/values.yaml b/kubernetes/common/etcd-init/values.yaml new file mode 100644 index 0000000000..c99c9f1e5b --- /dev/null +++ b/kubernetes/common/etcd-init/values.yaml @@ -0,0 +1,74 @@ +# Copyright (C) 2021 Wipro Limited. +# +# 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. + +################################################################# +# Global configuration defaults. +################################################################# +global: {} + +################################################################# +# Secrets metaconfig +################################################################# +secrets: + - uid: root-password + type: password + externalSecret: '{{ tpl (default "" .Values.config.userRootSecret) . }}' + password: '{{ .Values.config.userRootPassword }}' + - uid: app-creds + type: basicAuth + externalSecret: '{{ tpl (default "" .Values.config.userCredentialsExternalSecret) . }}' + login: '{{ .Values.config.appUser }}' + password: '{{ .Values.config.appPassword }}' + +################################################################# +# Application configuration defaults. +################################################################# + +image: bitnami/etcd:3.3.15 +pullPolicy: Always +backoffLimit: 20 + +nodeSelector: {} + +affinity: {} + +etcd: + serviceName: k8s-etcd + port : 2379 + containerName: k8s-etcd + +config: + userRootSecret: root +# userCredentialsExternalSecret: + appUser: user + appRole: role + keyPrefix: key + +flavor: small +resources: + small: + limits: + cpu: 100m + memory: 500Mi + requests: + cpu: 10m + memory: 10Mi + large: + limits: + cpu: 200m + memory: 500Mi + requests: + cpu: 20m + memory: 20Mi + unlimited: {} diff --git a/kubernetes/common/etcd/templates/statefulset.yaml b/kubernetes/common/etcd/templates/statefulset.yaml index a343d4fce5..48c8b6d0cc 100644 --- a/kubernetes/common/etcd/templates/statefulset.yaml +++ b/kubernetes/common/etcd/templates/statefulset.yaml @@ -49,7 +49,7 @@ spec: {{ toYaml .Values.tolerations | indent 8 }} {{- end }} containers: - - name: {{ include "common.fullname" . }} + - name: {{ include "common.name" . }} image: {{ include "repositoryGenerator.googleK8sRepository" . }}/{{ .Values.image }} imagePullPolicy: "{{ .Values.pullPolicy }}" ports: diff --git a/kubernetes/common/repositoryGenerator/templates/_repository.tpl b/kubernetes/common/repositoryGenerator/templates/_repository.tpl index 91f21ab0c9..488db054a0 100644 --- a/kubernetes/common/repositoryGenerator/templates/_repository.tpl +++ b/kubernetes/common/repositoryGenerator/templates/_repository.tpl @@ -83,10 +83,6 @@ {{- include "repositoryGenerator.image._helper" (merge (dict "image" "curlImage") .) }} {{- end -}} -{{- define "repositoryGenerator.image.certserviceclient" -}} - {{- include "repositoryGenerator.image._helper" (merge (dict "image" "certServiceClientImage") .) }} -{{- end -}} - {{- define "repositoryGenerator.image.dcaepolicysync" -}} {{- include "repositoryGenerator.image._helper" (merge (dict "image" "dcaePolicySyncImage") .) }} {{- end -}} @@ -143,7 +139,7 @@ {{/* Our version of helm doesn't support deepCopy so we need this nasty trick */}} {{- $subchartDot := fromJson (include "common.subChartDot" (dict "dot" $dot "initRoot" $initRoot)) }} {{- $repoCreds := "" }} - {{- if $subchartDot.Values.global.dockerHubRepositoryCred }} + {{- if $subchartDot.Values.global.repositoryCred }} {{- $repo := $subchartDot.Values.global.repository }} {{- $cred := $subchartDot.Values.global.repositoryCred }} {{- $mail := default "@" $cred.mail }} diff --git a/kubernetes/common/repositoryGenerator/values.yaml b/kubernetes/common/repositoryGenerator/values.yaml index 8a68f6dd9c..bf21e2da08 100644 --- a/kubernetes/common/repositoryGenerator/values.yaml +++ b/kubernetes/common/repositoryGenerator/values.yaml @@ -23,7 +23,6 @@ global: # common global images busyboxImage: busybox:1.32 curlImage: curlimages/curl:7.69.1 - certServiceClientImage: onap/org.onap.oom.platform.cert-service.oom-certservice-client:2.3.3 envsubstImage: dibi/envsubst:1 # there's only latest image for htpasswd htpasswdImage: xmartlabs/htpasswd:latest @@ -56,7 +55,6 @@ global: imageRepoMapping: busyboxImage: dockerHubRepository curlImage: dockerHubRepository - certServiceClientImage: repository envsubstImage: dockerHubRepository htpasswdImage: dockerHubRepository jreImage: repository diff --git a/kubernetes/config/prepull_docker.sh b/kubernetes/config/prepull_docker.sh index 040adec23d..590d651f87 100755 --- a/kubernetes/config/prepull_docker.sh +++ b/kubernetes/config/prepull_docker.sh @@ -102,7 +102,7 @@ do for line in `parse_yaml $filename` do #skiping commented line - if [[ ${line:0:1} != '#' ]]; then + if [ "${line:0:1}" != '#' ]; then #find all image subtag inside converted values.yaml file's lines if echo $line | grep -q $IMAGE_TEXT ; then #find imageName inside line diff --git a/kubernetes/contrib/dns-server-for-vhost-ingress-testing/deploy_dns.sh b/kubernetes/contrib/dns-server-for-vhost-ingress-testing/deploy_dns.sh index 1a75bd7a85..163877deca 100755 --- a/kubernetes/contrib/dns-server-for-vhost-ingress-testing/deploy_dns.sh +++ b/kubernetes/contrib/dns-server-for-vhost-ingress-testing/deploy_dns.sh @@ -1,5 +1,5 @@ #!/bin/bash -e -# + # Copyright 2020 Samsung Electronics Co., Ltd. # # Licensed under the Apache License, Version 2.0 (the "License"); @@ -70,7 +70,8 @@ ingress_controller_ip() { deploy() { local ingress_ip=$(ingress_controller_ip) - pushd "$SPATH/bind9dns" > /dev/null + initdir = $(pwd) + cd $SPATH/bind9dns if [ $# -eq 0 ]; then local cl_domain="simpledemo.onap.org" else @@ -82,13 +83,15 @@ deploy() { shift fi helm install . --set dnsconf.wildcard="$cl_domain=$ingress_ip" $@ - popd > /dev/null + cd $initdir target_machine_notice_info } -if [[ $# -eq 1 ]] && [[ $1 = "-h" || $1 = "--help" ]]; then +if [ $# -eq 1 ] && [ "$1" = "-h" ]; then + usage +elif [ $# -eq 1 ] && [ "$1" = "--help" ]; then usage -elif [[ $# -eq 1 ]] && [[ $1 = "--info" ]]; then +elif [ $# -eq 1 ] && [ "$1" = "--info" ]; then target_machine_notice_info else deploy $@ diff --git a/kubernetes/contrib/metallb-loadbalancer-inst/install-metallb-on-cluster.sh b/kubernetes/contrib/metallb-loadbalancer-inst/install-metallb-on-cluster.sh index 44fe79a0c6..bf2bc121a7 100755 --- a/kubernetes/contrib/metallb-loadbalancer-inst/install-metallb-on-cluster.sh +++ b/kubernetes/contrib/metallb-loadbalancer-inst/install-metallb-on-cluster.sh @@ -76,9 +76,11 @@ manual_configuration() { generate_config_map $@ } -if [[ $# -eq 1 ]] && [[ $1 = "-h" || $1 = "--help" ]]; then +if [ $# -eq 1 ] && [ "$1" = "-h" ]; then usage -elif [[ $# -eq 0 ]]; then +if [ $# -eq 1 ] && [ "$1" = "--help" ]; then + usage +elif [ $# -eq 0 ]; then automatic_configuration else manual_configuration $@ diff --git a/kubernetes/contrib/tools/rke/rke_setup.sh b/kubernetes/contrib/tools/rke/rke_setup.sh index 7950e0cc88..2ee123b36a 100755 --- a/kubernetes/contrib/tools/rke/rke_setup.sh +++ b/kubernetes/contrib/tools/rke/rke_setup.sh @@ -344,7 +344,7 @@ while getopts ":b:s:e:u:l:k:v" PARAM; do esac done -if [[ -z $BRANCH ]]; then +if [ -z $BRANCH ]; then usage exit 1 fi diff --git a/kubernetes/dcaegen2-services/Makefile b/kubernetes/dcaegen2-services/Makefile index bf267b7720..70bb031af3 100644 --- a/kubernetes/dcaegen2-services/Makefile +++ b/kubernetes/dcaegen2-services/Makefile @@ -1,4 +1,5 @@ # Copyright © 2020 Samsung Electronics +# Copyright (c) 2021 AT&T. 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. @@ -13,10 +14,12 @@ # limitations under the License. ROOT_DIR := $(shell dirname $(realpath $(lastword $(MAKEFILE_LIST)))) -OUTPUT_DIR := $(ROOT_DIR)/../../dist +OUTPUT_DIR := $(ROOT_DIR)/../dist PACKAGE_DIR := $(OUTPUT_DIR)/packages SECRET_DIR := $(OUTPUT_DIR)/secrets +HELM_REPO := local + EXCLUDES := HELM_BIN := helm HELM_CHARTS := $(filter-out $(EXCLUDES), $(sort $(patsubst %/.,%,$(wildcard */.)))) @@ -40,8 +43,8 @@ lint-%: dep-% package-%: lint-% @mkdir -p $(PACKAGE_DIR) - @if [ -f $*/Chart.yaml ]; then $(HELM_BIN) package -d $(PACKAGE_DIR) $*; fi - @$(HELM_BIN) repo index $(PACKAGE_DIR) + @if [ -f $*/Chart.yaml ]; then PACKAGE_NAME=$$($(HELM_BIN) package -d $(PACKAGE_DIR) $* | cut -d":" -f2) && $(HELM_BIN) push -f $$PACKAGE_NAME $(HELM_REPO); fi + @sleep 3 clean: @rm -f */requirements.lock diff --git a/kubernetes/dcaegen2-services/common/Makefile b/kubernetes/dcaegen2-services/common/Makefile index bf267b7720..4a6491d8cc 100644 --- a/kubernetes/dcaegen2-services/common/Makefile +++ b/kubernetes/dcaegen2-services/common/Makefile @@ -1,4 +1,5 @@ # Copyright © 2020 Samsung Electronics +# Copyright (c) 2021 AT&T. 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. @@ -17,6 +18,8 @@ OUTPUT_DIR := $(ROOT_DIR)/../../dist PACKAGE_DIR := $(OUTPUT_DIR)/packages SECRET_DIR := $(OUTPUT_DIR)/secrets +HELM_REPO := local + EXCLUDES := HELM_BIN := helm HELM_CHARTS := $(filter-out $(EXCLUDES), $(sort $(patsubst %/.,%,$(wildcard */.)))) @@ -40,8 +43,8 @@ lint-%: dep-% package-%: lint-% @mkdir -p $(PACKAGE_DIR) - @if [ -f $*/Chart.yaml ]; then $(HELM_BIN) package -d $(PACKAGE_DIR) $*; fi - @$(HELM_BIN) repo index $(PACKAGE_DIR) + @if [ -f $*/Chart.yaml ]; then PACKAGE_NAME=$$($(HELM_BIN) package -d $(PACKAGE_DIR) $* | cut -d":" -f2) && $(HELM_BIN) push -f $$PACKAGE_NAME $(HELM_REPO); fi + @sleep 3 clean: @rm -f */requirements.lock diff --git a/kubernetes/dcaegen2-services/common/dcaegen2-services-common/templates/_deployment.tpl b/kubernetes/dcaegen2-services/common/dcaegen2-services-common/templates/_deployment.tpl index 5de526288e..328a4c625f 100644 --- a/kubernetes/dcaegen2-services/common/dcaegen2-services-common/templates/_deployment.tpl +++ b/kubernetes/dcaegen2-services/common/dcaegen2-services-common/templates/_deployment.tpl @@ -274,6 +274,10 @@ spec: imagePullPolicy: {{ .Values.global.pullPolicy | default .Values.pullPolicy }} name: {{ include "common.name" . }} env: + {{- range $cred := .Values.credentials }} + - name: {{ $cred.name }} + {{- include "common.secret.envFromSecretFast" (dict "global" $ "uid" $cred.uid "key" $cred.key) | indent 10 }} + {{- end }} {{- if $certDir }} - name: DCAE_CA_CERTPATH value: {{ $certDir }}/cacert.pem @@ -317,6 +321,8 @@ spec: volumeMounts: - mountPath: /app-config name: app-config + - mountPath: /app-config-input + name: app-config-input {{- if $logDir }} - mountPath: {{ $logDir}} name: component-log @@ -324,7 +330,7 @@ spec: {{- if $certDir }} - mountPath: {{ $certDir }} name: tls-info - {{- if and .Values.certificates .Values.global.cmpv2Enabled .Values.global.CMPv2CertManagerIntegration -}} + {{- if (include "dcaegen2-services-common.shouldUseCmpv2Certificates" .) -}} {{- include "common.certManager.volumeMountsReadOnly" . | nindent 8 -}} {{- end -}} {{- end }} @@ -422,7 +428,7 @@ spec: {{- if $certDir }} - emptyDir: {} name: tls-info - {{ if and .Values.certificates .Values.global.cmpv2Enabled .Values.global.CMPv2CertManagerIntegration -}} + {{ if (include "dcaegen2-services-common.shouldUseCmpv2Certificates" .) -}} {{ include "common.certManager.volumesReadOnly" . | nindent 6 }} {{- end }} {{- end }} @@ -443,7 +449,7 @@ spec: */}} {{- define "dcaegen2-services-common._certPostProcessor" -}} {{- $certDir := default "" .Values.certDirectory . -}} - {{- if and $certDir .Values.certificates .Values.global.cmpv2Enabled .Values.global.CMPv2CertManagerIntegration -}} + {{- if (include "dcaegen2-services-common.shouldUseCmpv2Certificates" .) -}} {{- $cmpv2Certificate := (index .Values.certificates 0) -}} {{- $cmpv2CertificateDir := $cmpv2Certificate.mountPath -}} {{- $certType := "pem" -}} @@ -480,3 +486,16 @@ spec: value: {{ $keystoreDestinationPaths | quote }} {{- end }} {{- end -}} + +{{/* + Template returns string "true" if CMPv2 certificates should be used and nothing (so it can be used in with statements) + when they shouldn't. Example use: + {{- if (include "dcaegen2-services-common.shouldUseCmpv2Certificates" .) -}} + +*/}} +{{- define "dcaegen2-services-common.shouldUseCmpv2Certificates" -}} + {{- $certDir := default "" .Values.certDirectory . -}} + {{- if (and $certDir .Values.certificates .Values.global.cmpv2Enabled .Values.useCmpv2Certificates) -}} + true + {{- end -}} +{{- end -}} diff --git a/kubernetes/dcaegen2-services/components/Makefile b/kubernetes/dcaegen2-services/components/Makefile index bf267b7720..98dfb97f8f 100644 --- a/kubernetes/dcaegen2-services/components/Makefile +++ b/kubernetes/dcaegen2-services/components/Makefile @@ -1,4 +1,5 @@ # Copyright © 2020 Samsung Electronics +# Copyright (c) 2021 AT&T. 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. @@ -17,6 +18,8 @@ OUTPUT_DIR := $(ROOT_DIR)/../../dist PACKAGE_DIR := $(OUTPUT_DIR)/packages SECRET_DIR := $(OUTPUT_DIR)/secrets +HELM_REPO := local + EXCLUDES := HELM_BIN := helm HELM_CHARTS := $(filter-out $(EXCLUDES), $(sort $(patsubst %/.,%,$(wildcard */.)))) @@ -40,8 +43,8 @@ lint-%: dep-% package-%: lint-% @mkdir -p $(PACKAGE_DIR) - @if [ -f $*/Chart.yaml ]; then $(HELM_BIN) package -d $(PACKAGE_DIR) $*; fi - @$(HELM_BIN) repo index $(PACKAGE_DIR) + @if [ -f $*/Chart.yaml ]; then PACKAGE_NAME=$$($(HELM_BIN) package -d $(PACKAGE_DIR) $* | cut -d":" -f2) && $(HELM_BIN) push -f $$PACKAGE_NAME $(HELM_REPO); fi + @sleep 5 clean: @rm -f */requirements.lock diff --git a/kubernetes/dcaegen2-services/components/dcae-hv-ves-collector/requirements.yaml b/kubernetes/dcaegen2-services/components/dcae-hv-ves-collector/requirements.yaml index 929cdbbc5f..d45745404d 100644 --- a/kubernetes/dcaegen2-services/components/dcae-hv-ves-collector/requirements.yaml +++ b/kubernetes/dcaegen2-services/components/dcae-hv-ves-collector/requirements.yaml @@ -1,5 +1,6 @@ # Copyright (c) 2021 J. F. Lucas. All rights reserved. # Copyright (c) 2021 Nokia. All rights reserved. +# Copyright (c) 2021 AT&T. 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. @@ -25,7 +26,7 @@ dependencies: repository: '@local' - name: dcaegen2-services-common version: ~8.x-0 - repository: 'file://../../common/dcaegen2-services-common' + repository: '@local' - name: certManagerCertificate version: ~8.x-0 repository: '@local' diff --git a/kubernetes/dcaegen2-services/components/dcae-hv-ves-collector/templates/certificates.yaml b/kubernetes/dcaegen2-services/components/dcae-hv-ves-collector/templates/certificates.yaml index 0db2138a4f..12a05885ca 100644 --- a/kubernetes/dcaegen2-services/components/dcae-hv-ves-collector/templates/certificates.yaml +++ b/kubernetes/dcaegen2-services/components/dcae-hv-ves-collector/templates/certificates.yaml @@ -14,6 +14,6 @@ # limitations under the License. */}} -{{ if and .Values.certDirectory .Values.global.cmpv2Enabled .Values.global.CMPv2CertManagerIntegration }} +{{- if (include "dcaegen2-services-common.shouldUseCmpv2Certificates" .) -}} {{ include "certManagerCertificate.certificate" . }} {{ end }} diff --git a/kubernetes/dcaegen2-services/components/dcae-hv-ves-collector/values.yaml b/kubernetes/dcaegen2-services/components/dcae-hv-ves-collector/values.yaml index bb65f37f73..64e4ba9b43 100644 --- a/kubernetes/dcaegen2-services/components/dcae-hv-ves-collector/values.yaml +++ b/kubernetes/dcaegen2-services/components/dcae-hv-ves-collector/values.yaml @@ -65,8 +65,12 @@ secrets: passwordPolicy: required # CMPv2 certificate -# It is used only when global parameter cmpv2Enabled is true +# It is used only when: +# - certDirectory is set +# - global cmpv2Enabled flag is set to true +# - flag useCmpv2Certificates is set to true # Disabled by default +useCmpv2Certificates: false certificates: - mountPath: /etc/ves-hv/ssl/external commonName: dcae-hv-ves-collector diff --git a/kubernetes/dcaegen2-services/components/dcae-pmsh/Chart.yaml b/kubernetes/dcaegen2-services/components/dcae-pmsh/Chart.yaml index 3d8c24b131..0ebda2eed5 100644 --- a/kubernetes/dcaegen2-services/components/dcae-pmsh/Chart.yaml +++ b/kubernetes/dcaegen2-services/components/dcae-pmsh/Chart.yaml @@ -1,6 +1,7 @@ # ================================ LICENSE_START ============================= # ============================================================================ # Copyright (C) 2021 Nordix Foundation. +# Copyright (c) 2021 AT&T. 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. @@ -17,6 +18,6 @@ apiVersion: v1 appVersion: "Honolulu" -description: A Helm chart for DCAE PMSH +description: DCAE PMSH Service name: dcae-pmsh -version: 8.0.0
\ No newline at end of file +version: 8.0.0 diff --git a/kubernetes/dcaegen2-services/components/dcae-pmsh/requirements.yaml b/kubernetes/dcaegen2-services/components/dcae-pmsh/requirements.yaml index 13f9a6aedd..4dfc837bf8 100644 --- a/kubernetes/dcaegen2-services/components/dcae-pmsh/requirements.yaml +++ b/kubernetes/dcaegen2-services/components/dcae-pmsh/requirements.yaml @@ -30,4 +30,4 @@ dependencies: repository: '@local' - name: dcaegen2-services-common version: ~8.x-0 - repository: 'file://../../common/dcaegen2-services-common'
\ No newline at end of file + repository: '@local' diff --git a/kubernetes/dcaegen2-services/components/dcae-prh/requirements.yaml b/kubernetes/dcaegen2-services/components/dcae-prh/requirements.yaml index 639fc2c740..80e79fe28e 100644 --- a/kubernetes/dcaegen2-services/components/dcae-prh/requirements.yaml +++ b/kubernetes/dcaegen2-services/components/dcae-prh/requirements.yaml @@ -1,4 +1,5 @@ # Copyright (c) 2021 J. F. Lucas. All rights reserved. +# Copyright (c) 2021 AT&T. 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. @@ -24,4 +25,4 @@ dependencies: repository: '@local' - name: dcaegen2-services-common version: ~8.x-0 - repository: 'file://../../common/dcaegen2-services-common' + repository: '@local' diff --git a/kubernetes/dcaegen2-services/components/dcae-slice-analysis-ms/Chart.yaml b/kubernetes/dcaegen2-services/components/dcae-slice-analysis-ms/Chart.yaml new file mode 100644 index 0000000000..64b0d0f96a --- /dev/null +++ b/kubernetes/dcaegen2-services/components/dcae-slice-analysis-ms/Chart.yaml @@ -0,0 +1,23 @@ +#============LICENSE_START======================================================== +# ================================================================================ +# Copyright (c) 2021 Wipro Limited. +# ================================================================================ +# 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========================================================= + +apiVersion: v1 +appVersion: "Honolulu" +description: DCAE SliceAnalysis MS charts +name: dcae-slice-analysis-ms +version: 8.0.0 + diff --git a/kubernetes/dcaegen2-services/components/dcae-slice-analysis-ms/requirements.yaml b/kubernetes/dcaegen2-services/components/dcae-slice-analysis-ms/requirements.yaml new file mode 100644 index 0000000000..9cab8e92e6 --- /dev/null +++ b/kubernetes/dcaegen2-services/components/dcae-slice-analysis-ms/requirements.yaml @@ -0,0 +1,34 @@ +#============LICENSE_START======================================================== +# ================================================================================ +# Copyright (c) 2021 Wipro Limited. +# ================================================================================ +# 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========================================================= + +dependencies: + - name: common + version: ~8.x-0 + repository: '@local' + - name: postgres + version: ~8.x-0 + repository: '@local' + - name: repositoryGenerator + version: ~8.x-0 + repository: '@local' + - name: readinessCheck + version: ~8.x-0 + repository: '@local' + - name: dcaegen2-services-common + version: ~8.x-0 + repository: '@local' + diff --git a/kubernetes/dcaegen2-services/components/dcae-slice-analysis-ms/templates/configmap.yaml b/kubernetes/dcaegen2-services/components/dcae-slice-analysis-ms/templates/configmap.yaml new file mode 100644 index 0000000000..26be310888 --- /dev/null +++ b/kubernetes/dcaegen2-services/components/dcae-slice-analysis-ms/templates/configmap.yaml @@ -0,0 +1,20 @@ +{{/* +#============LICENSE_START======================================================== +# ================================================================================ +# Copyright (c) 2021 Wipro Limited. +# ================================================================================ +# 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========================================================= +*/}} + +{{ include "dcaegen2-services-common.configMap" . }} diff --git a/kubernetes/dcaegen2-services/components/dcae-slice-analysis-ms/templates/deployment.yaml b/kubernetes/dcaegen2-services/components/dcae-slice-analysis-ms/templates/deployment.yaml new file mode 100644 index 0000000000..02b5df8135 --- /dev/null +++ b/kubernetes/dcaegen2-services/components/dcae-slice-analysis-ms/templates/deployment.yaml @@ -0,0 +1,20 @@ +{{/* +#============LICENSE_START======================================================== +# ================================================================================ +# Copyright (c) 2021 Wipro Limited. +# ================================================================================ +# 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========================================================= +*/}} + +{{ include "dcaegen2-services-common.microserviceDeployment" . }} diff --git a/kubernetes/dcaegen2-services/components/dcae-slice-analysis-ms/templates/secret.yaml b/kubernetes/dcaegen2-services/components/dcae-slice-analysis-ms/templates/secret.yaml new file mode 100644 index 0000000000..c4596e5b21 --- /dev/null +++ b/kubernetes/dcaegen2-services/components/dcae-slice-analysis-ms/templates/secret.yaml @@ -0,0 +1,20 @@ +{{/* +#============LICENSE_START======================================================== +# ================================================================================ +# Copyright (c) 2021 Wipro Limited. +# ================================================================================ +# 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========================================================= +*/}} + +{{ include "common.secretFast" . }} diff --git a/kubernetes/dcaegen2-services/components/dcae-slice-analysis-ms/templates/service.yaml b/kubernetes/dcaegen2-services/components/dcae-slice-analysis-ms/templates/service.yaml new file mode 100644 index 0000000000..ba0283dda5 --- /dev/null +++ b/kubernetes/dcaegen2-services/components/dcae-slice-analysis-ms/templates/service.yaml @@ -0,0 +1,20 @@ +{{/* +#============LICENSE_START======================================================== +# ================================================================================ +# Copyright (c) 2021 Wipro Limited. +# ================================================================================ +# 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========================================================= +*/}} + +{{ include "common.service" . }} diff --git a/kubernetes/dcaegen2-services/components/dcae-slice-analysis-ms/values.yaml b/kubernetes/dcaegen2-services/components/dcae-slice-analysis-ms/values.yaml new file mode 100644 index 0000000000..6790541bd9 --- /dev/null +++ b/kubernetes/dcaegen2-services/components/dcae-slice-analysis-ms/values.yaml @@ -0,0 +1,212 @@ +# ============= LICENSE_START ================================================ +# ============================================================================ +# Copyright (C) 2021 Wipro Limited. +# ============================================================================ +# 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 ================================================== + +################################################################# +# Global Configuration Defaults. +################################################################# +global: + nodePortPrefix: 302 + nodePortPrefixExt: 304 + +################################################################# +# Filebeat Configuration Defaults. +################################################################# +filebeatConfig: + logstashServiceName: log-ls + logstashPort: 5044 + +################################################################# +# Secrets Configuration. +################################################################# +secrets: + - uid: &aafCredsUID aafcreds + type: basicAuth + login: '{{ .Values.aafCreds.identity }}' + password: '{{ .Values.aafCreds.password }}' + passwordPolicy: required + - uid: &pgUserCredsSecretUid pg-user-creds + name: &pgUserCredsSecretName '{{ include "common.release" . }}-sliceanalysisms-pg-user-creds' + type: basicAuth + externalSecret: '{{ ternary "" (tpl (default "" .Values.postgres.config.pgUserExternalSecret) .) (hasSuffix "sliceanalysisms-pg-user-creds" .Values.postgres.config.pgUserExternalSecret) }}' + login: '{{ .Values.postgres.config.pgUserName }}' + password: '{{ .Values.postgres.config.pgUserPassword }}' + passwordPolicy: generate + +################################aafcreds################################# +# InitContainer Images. +################################################################# +tlsImage: onap/org.onap.dcaegen2.deployments.tls-init-container:2.1.0 +consulLoaderImage: onap/org.onap.dcaegen2.deployments.consul-loader-container:1.1.0 + +################################################################# +# Application Configuration Defaults. +################################################################# +# Application Image +image: onap/org.onap.dcaegen2.services.components.slice-analysis-ms:1.0.4 + +# Log directory where logging sidecar should look for log files +# if absent, no sidecar will be deployed +logDirectory: /var/log/ONAP/dcaegen2/services/sliceanalysisms + +# Directory where TLS certs should be stored +# if absent, no certs will be retrieved and stored +certDirectory: /opt/app/sliceanalysisms/etc/cert/ + +# TLS role -- set to true if microservice acts as server +# If true, an init container will retrieve a server cert +# and key from AAF and mount them in certDirectory. +tlsServer: true + +# Dependencies +readinessCheck: + wait_for: + - dcae-config-binding-service + - aaf-cm + - &postgresName dcae-sliceanalysisms-postgres + +# Probe Configuration +readiness: + initialDelaySeconds: 60 + periodSeconds: 15 + timeoutSeconds: 1 + path: /healthcheck + scheme: HTTP + port: 8080 + +# Service Configuration +service: + type: ClusterIP + name: dcae-slice-analysis-ms + ports: + - name: https + port: 8080 + port_protocol: http + +# AAF Credentials +aafCreds: + identity: dcae@dcae.onap.org + password: demo123456! + +credentials: +- name: AAF_IDENTITY + uid: *aafCredsUID + key: login +- name: AAF_PASSWORD + uid: *aafCredsUID + key: password +- name: PG_USERNAME + uid: *pgUserCredsSecretUid + key: login +- name: PG_PASSWORD + uid: *pgUserCredsSecretUid + key: password + +# Initial Application Configuration +applicationConfig: + aafUsername: ${AAF_IDENTITY} + aafPassword: ${AAF_PASSWORD} + postgres.host: dcae-sliceanalysisms-pg-primary + postgres.port: 5432 + postgres.username: ${PG_USERNAME} + postgres.password: ${PG_PASSWORD} + trust_store_path: /opt/app/sliceanalysisms/etc/cert/trust.jks + trust_store_pass_path: /opt/app/sliceanalysisms/etc/cert/trust.pass + sliceanalysisms.pollingInterval: 20 + sliceanalysisms.pollingTimeout: 60 + cbsPollingInterval: 60 + sliceanalysisms.namespace: onap + sliceanalysisms.dmaap.server: ["message-router"] + sliceanalysisms.bufferTime: 60 + sliceanalysisms.cg: sliceanalysisms-cg + sliceanalysisms.cid: sliceanalysisms-cid + sliceanalysisms.configDb.service: http://config-db:8080 + sliceanalysisms.configDbEnabled: true + sliceanalysisms.aai.url: https://aai.onap.svc.cluster.local:8443/aai/v21 + sliceanalysisms.cps.url: https://cps:8088 + sliceanalysisms.samples: 3 + sliceanalysisms.minPercentageChange: 5 + sliceanalysisms.initialDelaySeconds: 120000 + streams_publishes: + CL_topic: + type: message-router + aaf_username: ${AAF_IDENTITY} + aaf_password: ${AAF_PASSWORD} + dmaap_info: + topic_url: https://message-router.onap.svc.cluster.local:3905/events/unauthenticated.DCAE_CL_OUTPUT + streams_subscribes: + performance_management_topic: + type: message-router + aaf_username: ${AAF_IDENTITY} + aaf_password: ${AAF_PASSWORD} + dmaap_info: + topic_url: https://message-router.onap.svc.cluster.local:3905/events/org.onap.dmaap.mr.PERFORMANCE_MEASUREMENTS + intelligent_slicing_topic: + type: message-router + aaf_username: ${AAF_IDENTITY} + aaf_password: ${AAF_PASSWORD} + dmaap_info: + topic_url: https://message-router.onap.svc.cluster.local:3905/events/unauthenticated.ML_RESPONSE_TOPIC + dcae_cl_response_topic: + type: message-router + aaf_username: ${AAF_IDENTITY} + aaf_password: ${AAF_PASSWORD} + dmaap_info: + topic_url: https://message-router.onap.svc.cluster.local:3905/events/DCAE_CL_RSP + +applicationEnv: + STANDALONE: 'false' + +# Resource Limit Flavor -By Default Using Small +flavor: small +# Segregation for Different Environment (Small and Large) +resources: + small: + limits: + cpu: 1 + memory: 1Gi + requests: + cpu: 1 + memory: 1Gi + large: + limits: + cpu: 2 + memory: 2Gi + requests: + cpu: 2 + memory: 2Gi + unlimited: {} + +################################################################# +# Application configuration Overriding Defaults in the Postgres. +################################################################# +postgres: + nameOverride: *postgresName + service: + name: *postgresName + name2: dcae-sliceanalysisms-pg-primary + name3: dcae-sliceanalysisms-pg-replica + container: + name: + primary: dcae-sliceanalysisms-pg-primary + replica: dcae-sliceanalysisms-pg-replica + persistence: + mountSubPath: sliceanalysisms/data + mountInitPath: sliceanalysisms + config: + pgUserName: sliceanalysisms + pgDatabase: sliceanalysisms + pgUserExternalSecret: *pgUserCredsSecretName diff --git a/kubernetes/dcaegen2-services/components/dcae-tcagen2/requirements.yaml b/kubernetes/dcaegen2-services/components/dcae-tcagen2/requirements.yaml index 021c357f35..02a2a674c3 100644 --- a/kubernetes/dcaegen2-services/components/dcae-tcagen2/requirements.yaml +++ b/kubernetes/dcaegen2-services/components/dcae-tcagen2/requirements.yaml @@ -1,4 +1,5 @@ # Copyright (c) 2020 J. F. Lucas. All rights reserved. +# Copyright (c) 2021 AT&T. 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. @@ -24,4 +25,4 @@ dependencies: repository: '@local' - name: dcaegen2-services-common version: ~8.x-0 - repository: 'file://../../common/dcaegen2-services-common' + repository: '@local' diff --git a/kubernetes/dcaegen2-services/components/dcae-tcagen2/values.yaml b/kubernetes/dcaegen2-services/components/dcae-tcagen2/values.yaml index 89cf13447a..f4516ed7e8 100644 --- a/kubernetes/dcaegen2-services/components/dcae-tcagen2/values.yaml +++ b/kubernetes/dcaegen2-services/components/dcae-tcagen2/values.yaml @@ -41,7 +41,7 @@ consulLoaderImage: onap/org.onap.dcaegen2.deployments.consul-loader-container:1. # Application configuration defaults. ################################################################# # application image -image: onap/org.onap.dcaegen2.analytics.tca-gen2.dcae-analytics-tca-web:1.2.1 +image: onap/org.onap.dcaegen2.analytics.tca-gen2.dcae-analytics-tca-web:1.3.0 pullPolicy: Always # log directory where logging sidecar should look for log files diff --git a/kubernetes/dcaegen2-services/components/dcae-ves-collector/requirements.yaml b/kubernetes/dcaegen2-services/components/dcae-ves-collector/requirements.yaml index 929cdbbc5f..d45745404d 100644 --- a/kubernetes/dcaegen2-services/components/dcae-ves-collector/requirements.yaml +++ b/kubernetes/dcaegen2-services/components/dcae-ves-collector/requirements.yaml @@ -1,5 +1,6 @@ # Copyright (c) 2021 J. F. Lucas. All rights reserved. # Copyright (c) 2021 Nokia. All rights reserved. +# Copyright (c) 2021 AT&T. 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. @@ -25,7 +26,7 @@ dependencies: repository: '@local' - name: dcaegen2-services-common version: ~8.x-0 - repository: 'file://../../common/dcaegen2-services-common' + repository: '@local' - name: certManagerCertificate version: ~8.x-0 repository: '@local' diff --git a/kubernetes/dcaegen2-services/components/dcae-ves-collector/templates/certificates.yaml b/kubernetes/dcaegen2-services/components/dcae-ves-collector/templates/certificates.yaml index 0db2138a4f..12a05885ca 100644 --- a/kubernetes/dcaegen2-services/components/dcae-ves-collector/templates/certificates.yaml +++ b/kubernetes/dcaegen2-services/components/dcae-ves-collector/templates/certificates.yaml @@ -14,6 +14,6 @@ # limitations under the License. */}} -{{ if and .Values.certDirectory .Values.global.cmpv2Enabled .Values.global.CMPv2CertManagerIntegration }} +{{- if (include "dcaegen2-services-common.shouldUseCmpv2Certificates" .) -}} {{ include "certManagerCertificate.certificate" . }} {{ end }} diff --git a/kubernetes/dcaegen2-services/components/dcae-ves-collector/values.yaml b/kubernetes/dcaegen2-services/components/dcae-ves-collector/values.yaml index a675db6797..982d770595 100644 --- a/kubernetes/dcaegen2-services/components/dcae-ves-collector/values.yaml +++ b/kubernetes/dcaegen2-services/components/dcae-ves-collector/values.yaml @@ -58,8 +58,12 @@ certDirectory: /opt/app/dcae-certificate tlsServer: true # CMPv2 certificate -# It is used only when global parameter cmpv2Enabled is true +# It is used only when: +# - certDirectory is set +# - global cmpv2Enabled flag is set to true +# - flag useCmpv2Certificates is set to true # Disabled by default +useCmpv2Certificates: false certificates: - mountPath: /opt/app/dcae-certificate/external commonName: dcae-ves-collector diff --git a/kubernetes/dcaegen2-services/requirements.yaml b/kubernetes/dcaegen2-services/requirements.yaml index faf0b69875..e59fe98205 100644 --- a/kubernetes/dcaegen2-services/requirements.yaml +++ b/kubernetes/dcaegen2-services/requirements.yaml @@ -1,4 +1,5 @@ # Copyright (c) 2021 J. F. Lucas. All rights reserved. +# Copyright (c) 2021 AT&T. 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. @@ -18,25 +19,36 @@ dependencies: repository: '@local' - name: dcae-ms-healthcheck version: ~8.x-0 - repository: 'file://components/dcae-ms-healthcheck' + repository: '@local' + #repository: 'file://components/dcae-ms-healthcheck' condition: dcae-ms-healthcheck.enabled - name: dcae-pmsh version: ~8.x-0 - repository: 'file://components/dcae-pmsh' + repository: '@local' + #repository: 'file://components/dcae-pmsh' condition: dcae-pmsh.enabled - name: dcae-prh version: ~8.x-0 - repository: 'file://components/dcae-prh' + repository: '@local' + #repository: 'file://components/dcae-prh' condition: dcae-bootstrap.enabled - name: dcae-tcagen2 version: ~8.x-0 - repository: 'file://components/dcae-tcagen2' + repository: '@local' + #repository: 'file://components/dcae-tcagen2' condition: dcae-tcagen2.enabled - name: dcae-ves-collector version: ~8.x-0 - repository: 'file://components/dcae-ves-collector' + repository: '@local' + #repository: 'file://components/dcae-ves-collector' condition: dcae-ves-collector.enabled - name: dcae-hv-ves-collector version: ~8.x-0 - repository: 'file://components/dcae-hv-ves-collector' + repository: '@local' + #repository: 'file://components/dcae-hv-ves-collector' condition: dcae-hv-ves-collector.enabled + - name: dcae-slice-analysis-ms + version: ~8.x-0 + repository: '@local' + #repository: 'file://components/dcae-slice-analysis-ms' + condition: dcae-slice-analysis-ms.enabled diff --git a/kubernetes/dcaegen2-services/resources/external/map/schema-map.json b/kubernetes/dcaegen2-services/resources/external/map/schema-map.json new file mode 100644 index 0000000000..498521cfee --- /dev/null +++ b/kubernetes/dcaegen2-services/resources/external/map/schema-map.json @@ -0,0 +1,18 @@ +[ + { + "publicURL": "https://forge.3gpp.org/rep/sa5/MnS/blob/Rel-16-SA-91/OpenAPI/faultMnS.yaml", + "localURL": "3gpp/rep/sa5/MnS/blob/Rel-16-SA-91/OpenAPI/faultMnS.yaml" + }, + { + "publicURL": "https://forge.3gpp.org/rep/sa5/MnS/blob/Rel-16-SA-91/OpenAPI/FileDataReportingMnS.yaml", + "localURL": "3gpp/rep/sa5/MnS/blob/Rel-16-SA-91/OpenAPI/FileDataReportingMnS.yaml" + }, + { + "publicURL": "https://forge.3gpp.org/rep/sa5/MnS/blob/Rel-16-SA-91/OpenAPI/heartbeatNtf.yaml", + "localURL": "3gpp/rep/sa5/MnS/blob/Rel-16-SA-91/OpenAPI/heartbeatNtf.yaml" + }, + { + "publicURL": "https://forge.3gpp.org/rep/sa5/MnS/blob/Rel-16-SA-91/OpenAPI/provMnS.yaml", + "localURL": "3gpp/rep/sa5/MnS/blob/Rel-16-SA-91/OpenAPI/provMnS.yaml" + } +]
\ No newline at end of file diff --git a/kubernetes/dcaegen2-services/resources/external/schemas/sa91-rel16/5gcNrm.yaml b/kubernetes/dcaegen2-services/resources/external/schemas/sa91-rel16/5gcNrm.yaml new file mode 100644 index 0000000000..eb40832285 --- /dev/null +++ b/kubernetes/dcaegen2-services/resources/external/schemas/sa91-rel16/5gcNrm.yaml @@ -0,0 +1,1980 @@ +openapi: 3.0.1 +info: + title: 3GPP 5GC NRM + version: 16.6.0 + description: >- + OAS 3.0.1 specification of the 5GC NRM + © 2020, 3GPP Organizational Partners (ARIB, ATIS, CCSA, ETSI, TSDSI, TTA, TTC). + All rights reserved. +externalDocs: + description: 3GPP TS 28.541 V16.6.0; 5G NRM, 5GC NRM + url: http://www.3gpp.org/ftp/Specs/archive/28_series/28.541/ +paths: {} +components: + schemas: + +#-------- Definition of types----------------------------------------------------- + + AmfIdentifier: + type: object + description: 'AmfIdentifier comprise of amfRegionId, amfSetId and amfPointer' + properties: + amfRegionId: + $ref: '#/components/schemas/AmfRegionId' + amfSetId: + $ref: '#/components/schemas/AmfSetId' + amfPointer: + $ref: '#/components/schemas/AmfPointer' + AmfRegionId: + type: integer + description: AmfRegionId is defined in TS 23.003 + maximum: 255 + AmfSetId: + type: string + description: AmfSetId is defined in TS 23.003 + maximum: 1023 + AmfPointer: + type: integer + description: AmfPointer is defined in TS 23.003 + maximum: 63 + IpEndPoint: + type: object + properties: + ipv4Address: + $ref: 'genericNrm.yaml#/components/schemas/Ipv4Addr' + ipv6Address: + $ref: 'genericNrm.yaml#/components/schemas/Ipv6Addr' + ipv6Prefix: + $ref: 'genericNrm.yaml#/components/schemas/Ipv6Prefix' + transport: + $ref: 'genericNrm.yaml#/components/schemas/TransportProtocol' + port: + type: integer + NFProfileList: + type: array + description: List of NF profile + items: + $ref: '#/components/schemas/NFProfile' + NFProfile: + type: object + description: 'NF profile stored in NRF, defined in TS 29.510' + properties: + nFInstanceId: + type: string + description: uuid of NF instance + nFType: + $ref: 'genericNrm.yaml#/components/schemas/NFType' + nFStatus: + $ref: '#/components/schemas/NFStatus' + plmn: + $ref: 'nrNrm.yaml#/components/schemas/PlmnId' + sNssais: + $ref: 'nrNrm.yaml#/components/schemas/Snssai' + fqdn: + $ref: 'genericNrm.yaml#/components/schemas/Fqdn' + interPlmnFqdn: + $ref: 'genericNrm.yaml#/components/schemas/Fqdn' + nfServices: + type: array + items: + $ref: '#/components/schemas/NFService' + NFService: + type: object + description: NF Service is defined in TS 29.510 + properties: + serviceInstanceId: + type: string + serviceName: + type: string + version: + type: string + schema: + type: string + fqdn: + $ref: 'genericNrm.yaml#/components/schemas/Fqdn' + interPlmnFqdn: + $ref: 'genericNrm.yaml#/components/schemas/Fqdn' + ipEndPoints: + type: array + items: + $ref: '#/components/schemas/IpEndPoint' + apiPrfix: + type: string + allowedPlmns: + $ref: 'nrNrm.yaml#/components/schemas/PlmnId' + allowedNfTypes: + type: array + items: + $ref: 'genericNrm.yaml#/components/schemas/NFType' + allowedNssais: + type: array + items: + $ref: 'nrNrm.yaml#/components/schemas/Snssai' + NFStatus: + type: string + description: any of enumrated value + enum: + - REGISTERED + - SUSPENDED + CNSIIdList: + type: array + items: + $ref: '#/components/schemas/CNSIId' + CNSIId: + type: string + description: CNSI Id is defined in TS 29.531, only for Core Network + TACList: + type: array + items: + $ref: 'nrNrm.yaml#/components/schemas/NrTac' + WeightFactor: + type: integer + UdmInfo: + type: object + properties: + nFSrvGroupId: + type: string + AusfInfo: + type: object + properties: + nFSrvGroupId: + type: string + UpfInfo: + type: object + properties: + smfServingAreas: + type: string + AmfInfo: + type: object + properties: + priority: + type: integer + SupportedDataSetId: + type: string + description: any of enumrated value + enum: + - SUBSCRIPTION + - POLICY + - EXPOSURE + - APPLICATION + Udrinfo: + type: object + properties: + supportedDataSetIds: + type: array + items: + $ref: '#/components/schemas/SupportedDataSetId' + nFSrvGroupId: + type: string + NFInfo: + oneOf: + - $ref: '#/components/schemas/UdmInfo' + - $ref: '#/components/schemas/AusfInfo' + - $ref: '#/components/schemas/UpfInfo' + - $ref: '#/components/schemas/AmfInfo' + - $ref: '#/components/schemas/Udrinfo' + ManagedNFProfile: + type: object + properties: + nfInstanceID: + type: string + nfType: + $ref: 'genericNrm.yaml#/components/schemas/NFType' + authzInfo: + type: string + hostAddr: + $ref: 'genericNrm.yaml#/components/schemas/HostAddr' + locality: + type: string + nFInfo: + $ref: '#/components/schemas/NFInfo' + capacity: + type: integer + SEPPType: + type: string + description: any of enumrated value + enum: + - CSEPP + - PSEPP + SupportedFunc: + type: object + properties: + function: + type: string + policy: + type: string + SupportedFuncList: + type: array + items: + $ref: '#/components/schemas/SupportedFunc' + CommModelType: + type: string + description: any of enumrated value + enum: + - DIRECT_COMMUNICATION_WO_NRF + - DIRECT_COMMUNICATION_WITH_NRF + - INDIRECT_COMMUNICATION_WO_DEDICATED_DISCOVERY + - INDIRECT_COMMUNICATION_WITH_DEDICATED_DISCOVERY + CommModel: + type: object + properties: + groupId: + type: integer + commModelType: + $ref: '#/components/schemas/CommModelType' + targetNFServiceList: + $ref: 'comDefs.yaml#/components/schemas/DnList' + commModelConfiguration: + type: string + CommModelList: + type: array + items: + $ref: '#/components/schemas/CommModel' + CapabilityList: + type: array + items: + type: string + FiveQiDscpMapping: + type: object + properties: + fiveQIValues: + type: array + items: + type: integer + dscp: + type: integer + + PacketErrorRate: + type: object + properties: + scalar: + type: integer + exponent: + type: integer + FiveQICharacteristics: + type: object + properties: + fiveQIValue: + type: integer + resourceType: + type: string + enum: + - GBR + - NonGBR + priorityLevel: + type: integer + packetDelayBudget: + type: integer + packetErrorRate: + $ref: '#/components/schemas/PacketErrorRate' + averagingWindow: + type: integer + maximumDataBurstVolume: + type: integer + + + GtpUPathDelayThresholdsType: + type: object + properties: + n3AveragePacketDelayThreshold: + type: integer + n3MinPacketDelayThreshold: + type: integer + n3MaxPacketDelayThreshold: + type: integer + n9AveragePacketDelayThreshold: + type: integer + n9MinPacketDelayThreshold: + type: integer + n9MaxPacketDelayThreshold: + type: integer + QFPacketDelayThresholdsType: + type: object + properties: + thresholdDl: + type: integer + thresholdUl: + type: integer + thresholdRtt: + type: integer + + QosData: + type: object + properties: + qosId: + type: string + fiveQIValue: + type: integer + maxbrUl: + $ref: 'https://forge.3gpp.org/rep/all/5G_APIs/raw/REL-16/TS29571_CommonData.yaml#/components/schemas/BitRateRm' + maxbrDl: + $ref: 'https://forge.3gpp.org/rep/all/5G_APIs/raw/REL-16/TS29571_CommonData.yaml#/components/schemas/BitRateRm' + gbrUl: + $ref: 'https://forge.3gpp.org/rep/all/5G_APIs/raw/REL-16/TS29571_CommonData.yaml#/components/schemas/BitRateRm' + gbrDl: + $ref: 'https://forge.3gpp.org/rep/all/5G_APIs/raw/REL-16/TS29571_CommonData.yaml#/components/schemas/BitRateRm' + arp: + $ref: 'https://forge.3gpp.org/rep/all/5G_APIs/raw/REL-16/TS29571_CommonData.yaml#/components/schemas/Arp' + qosNotificationControl: + type: boolean + reflectiveQos: + type: boolean + sharingKeyDl: + type: string + sharingKeyUl: + type: string + maxPacketLossRateDl: + $ref: 'https://forge.3gpp.org/rep/all/5G_APIs/raw/REL-16/TS29571_CommonData.yaml#/components/schemas/PacketLossRateRm' + maxPacketLossRateUl: + $ref: 'https://forge.3gpp.org/rep/all/5G_APIs/raw/REL-16/TS29571_CommonData.yaml#/components/schemas/PacketLossRateRm' + extMaxDataBurstVol: + $ref: 'https://forge.3gpp.org/rep/all/5G_APIs/raw/REL-16/TS29571_CommonData.yaml#/components/schemas/ExtMaxDataBurstVolRm' + + QosDataList: + type: array + items: + $ref: '#/components/schemas/QosData' + + SteeringMode: + type: object + properties: + steerModeValue: + $ref: 'https://forge.3gpp.org/rep/all/5G_APIs/raw/REL-16/TS29512_Npcf_SMPolicyControl.yaml#/components/schemas/SteerModeValue' + active: + $ref: 'https://forge.3gpp.org/rep/all/5G_APIs/raw/REL-16/TS29571_CommonData.yaml#/components/schemas/AccessType' + standby: + $ref: 'https://forge.3gpp.org/rep/all/5G_APIs/raw/REL-16/TS29571_CommonData.yaml#/components/schemas/AccessTypeRm' + threeGLoad: + $ref: 'https://forge.3gpp.org/rep/all/5G_APIs/raw/REL-16/TS29571_CommonData.yaml#/components/schemas/Uinteger' + prioAcc: + $ref: 'https://forge.3gpp.org/rep/all/5G_APIs/raw/REL-16/TS29571_CommonData.yaml#/components/schemas/AccessType' + + TrafficControlData: + type: object + properties: + tcId: + type: string + flowStatus: + $ref: 'https://forge.3gpp.org/rep/all/5G_APIs/raw/REL-16/TS29514_Npcf_PolicyAuthorization.yaml#/components/schemas/FlowStatus' + redirectInfo: + $ref: 'https://forge.3gpp.org/rep/all/5G_APIs/raw/REL-16/TS29512_Npcf_SMPolicyControl.yaml#/components/schemas/RedirectInformation' + addRedirectInfo: + type: array + items: + $ref: 'https://forge.3gpp.org/rep/all/5G_APIs/raw/REL-16/TS29512_Npcf_SMPolicyControl.yaml#/components/schemas/RedirectInformation' + minItems: 1 + muteNotif: + type: boolean + trafficSteeringPolIdDl: + type: string + nullable: true + trafficSteeringPolIdUl: + type: string + nullable: true + routeToLocs: + type: array + items: + $ref: 'https://forge.3gpp.org/rep/all/5G_APIs/raw/REL-16/TS29571_CommonData.yaml#/components/schemas/RouteToLocation' + traffCorreInd: + type: boolean + upPathChgEvent: + $ref: 'https://forge.3gpp.org/rep/all/5G_APIs/raw/REL-16/TS29512_Npcf_SMPolicyControl.yaml#/components/schemas/UpPathChgEvent' + steerFun: + $ref: 'https://forge.3gpp.org/rep/all/5G_APIs/raw/REL-16/TS29512_Npcf_SMPolicyControl.yaml#/components/schemas/SteeringFunctionality' + steerModeDl: + $ref: '#/components/schemas/SteeringMode' + steerModeUl: + $ref: '#/components/schemas/SteeringMode' + mulAccCtrl: + $ref: 'https://forge.3gpp.org/rep/all/5G_APIs/raw/REL-16/TS29512_Npcf_SMPolicyControl.yaml#/components/schemas/MulticastAccessControl' + + TrafficControlDataList: + type: array + items: + $ref: '#/components/schemas/TrafficControlData' + + PccRule: + type: object + properties: + pccRuleId: + type: string + description: Univocally identifies the PCC rule within a PDU session. + flowInfoList: + type: array + items: + $ref: 'https://forge.3gpp.org/rep/all/5G_APIs/raw/REL-16/TS29512_Npcf_SMPolicyControl.yaml#/components/schemas/FlowInformation' + applicationId: + type: string + appDescriptor: + $ref: 'https://forge.3gpp.org/rep/all/5G_APIs/raw/REL-16/TS29512_Npcf_SMPolicyControl.yaml#/components/schemas/ApplicationDescriptor' + contentVersion: + $ref: 'https://forge.3gpp.org/rep/all/5G_APIs/raw/REL-16/TS29514_Npcf_PolicyAuthorization.yaml#/components/schemas/ContentVersion' + precedence: + $ref: 'https://forge.3gpp.org/rep/all/5G_APIs/raw/REL-16/TS29571_CommonData.yaml#/components/schemas/Uinteger' + afSigProtocol: + $ref: 'https://forge.3gpp.org/rep/all/5G_APIs/raw/REL-16/TS29512_Npcf_SMPolicyControl.yaml#/components/schemas/AfSigProtocol' + isAppRelocatable: + type: boolean + isUeAddrPreserved: + type: boolean + qosData: + type: array + items: + $ref: '#/components/schemas/QosDataList' + altQosParams: + type: array + items: + $ref: '#/components/schemas/QosDataList' + trafficControlData: + type: array + items: + $ref: '#/components/schemas/TrafficControlDataList' + conditionData: + $ref: 'https://forge.3gpp.org/rep/all/5G_APIs/raw/REL-16/TS29512_Npcf_SMPolicyControl.yaml#/components/schemas/ConditionData' + tscaiInputDl: + $ref: 'https://forge.3gpp.org/rep/all/5G_APIs/raw/REL-16/TS29514_Npcf_PolicyAuthorization.yaml#/components/schemas/TscaiInputContainer' + tscaiInputUl: + $ref: 'https://forge.3gpp.org/rep/all/5G_APIs/raw/REL-16/TS29514_Npcf_PolicyAuthorization.yaml#/components/schemas/TscaiInputContainer' + + +#-------- Definition of concrete IOCs -------------------------------------------- + + SubNetwork-Single: + allOf: + - $ref: 'genericNrm.yaml#/components/schemas/Top-Attr' + - type: object + properties: + attributes: + allOf: + - $ref: 'genericNrm.yaml#/components/schemas/SubNetwork-Attr' + - $ref: 'genericNrm.yaml#/components/schemas/SubNetwork-ncO' + - type: object + properties: + SubNetwork: + $ref: '#/components/schemas/SubNetwork-Multiple' + ManagedElement: + $ref: '#/components/schemas/ManagedElement-Multiple' + ExternalAmfFunction: + $ref: '#/components/schemas/ExternalAmfFunction-Multiple' + ExternalNrfFunction: + $ref: '#/components/schemas/ExternalNrfFunction-Multiple' + ExternalNssfFunction: + $ref: '#/components/schemas/ExternalNssfFunction-Multiple' + AmfSet: + $ref: '#/components/schemas/AmfSet-Multiple' + AmfRegion: + $ref: '#/components/schemas/AmfRegion-Multiple' + Configurable5QISet: + $ref: '#/components/schemas/Configurable5QISet-Multiple' + Dynamic5QISet: + $ref: '#/components/schemas/Dynamic5QISet-Multiple' + + ManagedElement-Single: + allOf: + - $ref: 'genericNrm.yaml#/components/schemas/Top-Attr' + - type: object + properties: + attributes: + allOf: + - $ref: 'genericNrm.yaml#/components/schemas/ManagedElement-Attr' + - $ref: 'genericNrm.yaml#/components/schemas/ManagedElement-ncO' + - type: object + properties: + AmfFunction: + $ref: '#/components/schemas/AmfFunction-Multiple' + SmfFunction: + $ref: '#/components/schemas/SmfFunction-Multiple' + UpfFunction: + $ref: '#/components/schemas/UpfFunction-Multiple' + N3iwfFunction: + $ref: '#/components/schemas/N3iwfFunction-Multiple' + PcfFunction: + $ref: '#/components/schemas/PcfFunction-Multiple' + AusfFunction: + $ref: '#/components/schemas/AusfFunction-Multiple' + UdmFunction: + $ref: '#/components/schemas/UdmFunction-Multiple' + UdrFunction: + $ref: '#/components/schemas/UdrFunction-Multiple' + UdsfFunction: + $ref: '#/components/schemas/UdsfFunction-Multiple' + NrfFunction: + $ref: '#/components/schemas/NrfFunction-Multiple' + NssfFunction: + $ref: '#/components/schemas/NssfFunction-Multiple' + SmsfFunction: + $ref: '#/components/schemas/SmsfFunction-Multiple' + LmfFunction: + $ref: '#/components/schemas/LmfFunction-Multiple' + NgeirFunction: + $ref: '#/components/schemas/NgeirFunction-Multiple' + SeppFunction: + $ref: '#/components/schemas/SeppFunction-Multiple' + NwdafFunction: + $ref: '#/components/schemas/NwdafFunction-Multiple' + ScpFunction: + $ref: '#/components/schemas/ScpFunction-Multiple' + NefFunction: + $ref: '#/components/schemas/NefFunction-Multiple' + Configurable5QISet: + $ref: '#/components/schemas/Configurable5QISet-Multiple' + Dynamic5QISet: + $ref: '#/components/schemas/Dynamic5QISet-Multiple' + + AmfFunction-Single: + allOf: + - $ref: 'genericNrm.yaml#/components/schemas/Top-Attr' + - type: object + properties: + attributes: + allOf: + - $ref: 'genericNrm.yaml#/components/schemas/ManagedFunction-Attr' + - type: object + properties: + plmnIdList: + $ref: 'nrNrm.yaml#/components/schemas/PlmnIdList' + amfIdentifier: + $ref: '#/components/schemas/AmfIdentifier' + sBIFqdn: + type: string + weightFactor: + $ref: '#/components/schemas/WeightFactor' + snssaiList: + $ref: 'nrNrm.yaml#/components/schemas/SnssaiList' + amfSet: + $ref: 'comDefs.yaml#/components/schemas/Dn' + managedNFProfile: + $ref: '#/components/schemas/ManagedNFProfile' + commModelList: + $ref: '#/components/schemas/CommModelList' + - $ref: 'genericNrm.yaml#/components/schemas/ManagedFunction-ncO' + - type: object + properties: + EP_N2: + $ref: '#/components/schemas/EP_N2-Multiple' + EP_N8: + $ref: '#/components/schemas/EP_N8-Multiple' + EP_N11: + $ref: '#/components/schemas/EP_N11-Multiple' + EP_N12: + $ref: '#/components/schemas/EP_N12-Multiple' + EP_N14: + $ref: '#/components/schemas/EP_N14-Multiple' + EP_N15: + $ref: '#/components/schemas/EP_N15-Multiple' + EP_N17: + $ref: '#/components/schemas/EP_N17-Multiple' + EP_N20: + $ref: '#/components/schemas/EP_N20-Multiple' + EP_N22: + $ref: '#/components/schemas/EP_N22-Multiple' + EP_N26: + $ref: '#/components/schemas/EP_N26-Multiple' + EP_NLS: + $ref: '#/components/schemas/EP_NLS-Multiple' + EP_NLG: + $ref: '#/components/schemas/EP_NLG-Multiple' + AmfSet-Single: + allOf: + - $ref: 'genericNrm.yaml#/components/schemas/Top-Attr' + - type: object + properties: + attributes: + allOf: + - $ref: 'genericNrm.yaml#/components/schemas/ManagedFunction-Attr' + - type: object + properties: + plmnIdList: + $ref: 'nrNrm.yaml#/components/schemas/PlmnIdList' + nRTACList: + $ref: '#/components/schemas/TACList' + amfSetId: + $ref: '#/components/schemas/AmfSetId' + snssaiList: + $ref: 'nrNrm.yaml#/components/schemas/SnssaiList' + AmfRegion-Single: + allOf: + - $ref: 'genericNrm.yaml#/components/schemas/Top-Attr' + - type: object + properties: + attributes: + allOf: + - $ref: 'genericNrm.yaml#/components/schemas/ManagedFunction-Attr' + - type: object + properties: + plmnIdList: + $ref: 'nrNrm.yaml#/components/schemas/PlmnIdList' + nRTACList: + $ref: '#/components/schemas/TACList' + amfRegionId: + $ref: '#/components/schemas/AmfRegionId' + snssaiList: + $ref: 'nrNrm.yaml#/components/schemas/SnssaiList' + SmfFunction-Single: + allOf: + - $ref: 'genericNrm.yaml#/components/schemas/Top-Attr' + - type: object + properties: + attributes: + allOf: + - $ref: 'genericNrm.yaml#/components/schemas/ManagedFunction-Attr' + - type: object + properties: + plmnIdList: + $ref: 'nrNrm.yaml#/components/schemas/PlmnIdList' + nRTACList: + $ref: '#/components/schemas/TACList' + sBIFqdn: + type: string + snssaiList: + $ref: 'nrNrm.yaml#/components/schemas/SnssaiList' + managedNFProfile: + $ref: '#/components/schemas/ManagedNFProfile' + commModelList: + $ref: '#/components/schemas/CommModelList' + configurable5QISetRef: + $ref: 'comDefs.yaml#/components/schemas/Dn' + dynamic5QISetRef: + $ref: 'comDefs.yaml#/components/schemas/Dn' + + - $ref: 'genericNrm.yaml#/components/schemas/ManagedFunction-ncO' + - type: object + properties: + EP_N4: + $ref: '#/components/schemas/EP_N4-Multiple' + EP_N7: + $ref: '#/components/schemas/EP_N7-Multiple' + EP_N10: + $ref: '#/components/schemas/EP_N10-Multiple' + EP_N11: + $ref: '#/components/schemas/EP_N11-Multiple' + EP_N16: + $ref: '#/components/schemas/EP_N16-Multiple' + EP_S5C: + $ref: '#/components/schemas/EP_S5C-Multiple' + FiveQiDscpMappingSet: + $ref: '#/components/schemas/FiveQiDscpMappingSet-Single' + GtpUPathQoSMonitoringControl: + $ref: '#/components/schemas/GtpUPathQoSMonitoringControl-Single' + QFQoSMonitoringControl: + $ref: '#/components/schemas/QFQoSMonitoringControl-Single' + PredefinedPccRuleSet: + $ref: '#/components/schemas/PredefinedPccRuleSet-Single' + + UpfFunction-Single: + allOf: + - $ref: 'genericNrm.yaml#/components/schemas/Top-Attr' + - type: object + properties: + attributes: + allOf: + - $ref: 'genericNrm.yaml#/components/schemas/ManagedFunction-Attr' + - type: object + properties: + plmnIdList: + $ref: 'nrNrm.yaml#/components/schemas/PlmnIdList' + nRTACList: + $ref: '#/components/schemas/TACList' + snssaiList: + $ref: 'nrNrm.yaml#/components/schemas/SnssaiList' + managedNFProfile: + $ref: '#/components/schemas/ManagedNFProfile' + commModelList: + $ref: '#/components/schemas/CommModelList' + - $ref: 'genericNrm.yaml#/components/schemas/ManagedFunction-ncO' + - type: object + properties: + EP_N3: + $ref: '#/components/schemas/EP_N3-Multiple' + EP_N4: + $ref: '#/components/schemas/EP_N4-Multiple' + EP_N6: + $ref: '#/components/schemas/EP_N6-Multiple' + EP_N9: + $ref: '#/components/schemas/EP_N9-Multiple' + EP_S5U: + $ref: '#/components/schemas/EP_S5U-Multiple' + N3iwfFunction-Single: + allOf: + - $ref: 'genericNrm.yaml#/components/schemas/Top-Attr' + - type: object + properties: + attributes: + allOf: + - $ref: 'genericNrm.yaml#/components/schemas/ManagedFunction-Attr' + - type: object + properties: + plmnIdList: + $ref: 'nrNrm.yaml#/components/schemas/PlmnIdList' + commModelList: + $ref: '#/components/schemas/CommModelList' + - $ref: 'genericNrm.yaml#/components/schemas/ManagedFunction-ncO' + - type: object + properties: + EP_N3: + $ref: '#/components/schemas/EP_N3-Multiple' + EP_N4: + $ref: '#/components/schemas/EP_N4-Multiple' + PcfFunction-Single: + allOf: + - $ref: 'genericNrm.yaml#/components/schemas/Top-Attr' + - type: object + properties: + attributes: + allOf: + - $ref: 'genericNrm.yaml#/components/schemas/ManagedFunction-Attr' + - type: object + properties: + plmnIdList: + $ref: 'nrNrm.yaml#/components/schemas/PlmnIdList' + sBIFqdn: + type: string + snssaiList: + $ref: 'nrNrm.yaml#/components/schemas/SnssaiList' + managedNFProfile: + $ref: '#/components/schemas/ManagedNFProfile' + commModelList: + $ref: '#/components/schemas/CommModelList' + configurable5QISetRef: + $ref: 'comDefs.yaml#/components/schemas/Dn' + dynamic5QISetRef: + $ref: 'comDefs.yaml#/components/schemas/Dn' + + - $ref: 'genericNrm.yaml#/components/schemas/ManagedFunction-ncO' + - type: object + properties: + EP_N5: + $ref: '#/components/schemas/EP_N5-Multiple' + EP_N7: + $ref: '#/components/schemas/EP_N7-Multiple' + EP_N15: + $ref: '#/components/schemas/EP_N15-Multiple' + EP_N16: + $ref: '#/components/schemas/EP_N16-Multiple' + EP_Rx: + $ref: '#/components/schemas/EP_Rx-Multiple' + PredefinedPccRuleSet: + $ref: '#/components/schemas/PredefinedPccRuleSet-Single' + + AusfFunction-Single: + allOf: + - $ref: 'genericNrm.yaml#/components/schemas/Top-Attr' + - type: object + properties: + attributes: + allOf: + - $ref: 'genericNrm.yaml#/components/schemas/ManagedFunction-Attr' + - type: object + properties: + plmnIdList: + $ref: 'nrNrm.yaml#/components/schemas/PlmnIdList' + sBIFqdn: + type: string + snssaiList: + $ref: 'nrNrm.yaml#/components/schemas/SnssaiList' + managedNFProfile: + $ref: '#/components/schemas/ManagedNFProfile' + commModelList: + $ref: '#/components/schemas/CommModelList' + - $ref: 'genericNrm.yaml#/components/schemas/ManagedFunction-ncO' + - type: object + properties: + EP_N12: + $ref: '#/components/schemas/EP_N12-Multiple' + EP_N13: + $ref: '#/components/schemas/EP_N13-Multiple' + UdmFunction-Single: + allOf: + - $ref: 'genericNrm.yaml#/components/schemas/Top-Attr' + - type: object + properties: + attributes: + allOf: + - $ref: 'genericNrm.yaml#/components/schemas/ManagedFunction-Attr' + - type: object + properties: + plmnIdList: + $ref: 'nrNrm.yaml#/components/schemas/PlmnIdList' + sBIFqdn: + type: string + snssaiList: + $ref: 'nrNrm.yaml#/components/schemas/SnssaiList' + managedNFProfile: + $ref: '#/components/schemas/ManagedNFProfile' + commModelList: + $ref: '#/components/schemas/CommModelList' + - $ref: 'genericNrm.yaml#/components/schemas/ManagedFunction-ncO' + - type: object + properties: + EP_N8: + $ref: '#/components/schemas/EP_N8-Multiple' + EP_N10: + $ref: '#/components/schemas/EP_N10-Multiple' + EP_N13: + $ref: '#/components/schemas/EP_N13-Multiple' + UdrFunction-Single: + allOf: + - $ref: 'genericNrm.yaml#/components/schemas/Top-Attr' + - type: object + properties: + attributes: + allOf: + - $ref: 'genericNrm.yaml#/components/schemas/ManagedFunction-Attr' + - type: object + properties: + plmnIdList: + $ref: 'nrNrm.yaml#/components/schemas/PlmnIdList' + sBIFqdn: + type: string + snssaiList: + $ref: 'nrNrm.yaml#/components/schemas/SnssaiList' + managedNFProfile: + $ref: '#/components/schemas/ManagedNFProfile' + UdsfFunction-Single: + allOf: + - $ref: 'genericNrm.yaml#/components/schemas/Top-Attr' + - type: object + properties: + attributes: + allOf: + - $ref: 'genericNrm.yaml#/components/schemas/ManagedFunction-Attr' + - type: object + properties: + plmnIdList: + $ref: 'nrNrm.yaml#/components/schemas/PlmnIdList' + sBIFqdn: + type: string + snssaiList: + $ref: 'nrNrm.yaml#/components/schemas/SnssaiList' + managedNFProfile: + $ref: '#/components/schemas/ManagedNFProfile' + NrfFunction-Single: + allOf: + - $ref: 'genericNrm.yaml#/components/schemas/Top-Attr' + - type: object + properties: + attributes: + allOf: + - $ref: 'genericNrm.yaml#/components/schemas/ManagedFunction-Attr' + - type: object + properties: + plmnIdList: + $ref: 'nrNrm.yaml#/components/schemas/PlmnIdList' + sBIFqdn: + type: string + cNSIIdList: + $ref: '#/components/schemas/CNSIIdList' + nFProfileList: + $ref: '#/components/schemas/NFProfileList' + snssaiList: + $ref: 'nrNrm.yaml#/components/schemas/SnssaiList' + - $ref: 'genericNrm.yaml#/components/schemas/ManagedFunction-ncO' + - type: object + properties: + EP_N27: + $ref: '#/components/schemas/EP_N27-Multiple' + NssfFunction-Single: + allOf: + - $ref: 'genericNrm.yaml#/components/schemas/Top-Attr' + - type: object + properties: + attributes: + allOf: + - $ref: 'genericNrm.yaml#/components/schemas/ManagedFunction-Attr' + - type: object + properties: + plmnIdList: + $ref: 'nrNrm.yaml#/components/schemas/PlmnIdList' + sBIFqdn: + type: string + cNSIIdList: + $ref: '#/components/schemas/CNSIIdList' + nFProfileList: + $ref: '#/components/schemas/NFProfileList' + snssaiList: + $ref: 'nrNrm.yaml#/components/schemas/SnssaiList' + commModelList: + $ref: '#/components/schemas/CommModelList' + - $ref: 'genericNrm.yaml#/components/schemas/ManagedFunction-ncO' + - type: object + properties: + EP_N22: + $ref: '#/components/schemas/EP_N22-Multiple' + EP_N31: + $ref: '#/components/schemas/EP_N31-Multiple' + SmsfFunction-Single: + allOf: + - $ref: 'genericNrm.yaml#/components/schemas/Top-Attr' + - type: object + properties: + attributes: + allOf: + - $ref: 'genericNrm.yaml#/components/schemas/ManagedFunction-Attr' + - type: object + properties: + plmnIdList: + $ref: 'nrNrm.yaml#/components/schemas/PlmnIdList' + sBIFqdn: + type: string + managedNFProfile: + $ref: '#/components/schemas/ManagedNFProfile' + commModelList: + $ref: '#/components/schemas/CommModelList' + - $ref: 'genericNrm.yaml#/components/schemas/ManagedFunction-ncO' + - type: object + properties: + EP_N20: + $ref: '#/components/schemas/EP_N20-Multiple' + EP_N21: + $ref: '#/components/schemas/EP_N21-Multiple' + EP_MAP_SMSC: + $ref: '#/components/schemas/EP_MAP_SMSC-Multiple' + LmfFunction-Single: + allOf: + - $ref: 'genericNrm.yaml#/components/schemas/Top-Attr' + - type: object + properties: + attributes: + allOf: + - $ref: 'genericNrm.yaml#/components/schemas/ManagedFunction-Attr' + - type: object + properties: + plmnIdList: + $ref: 'nrNrm.yaml#/components/schemas/PlmnIdList' + managedNFProfile: + $ref: '#/components/schemas/ManagedNFProfile' + commModelList: + $ref: '#/components/schemas/CommModelList' + - $ref: 'genericNrm.yaml#/components/schemas/ManagedFunction-ncO' + - type: object + properties: + EP_NLS: + $ref: '#/components/schemas/EP_NLS-Multiple' + NgeirFunction-Single: + allOf: + - $ref: 'genericNrm.yaml#/components/schemas/Top-Attr' + - type: object + properties: + attributes: + allOf: + - $ref: 'genericNrm.yaml#/components/schemas/ManagedFunction-Attr' + - type: object + properties: + plmnIdList: + $ref: 'nrNrm.yaml#/components/schemas/PlmnIdList' + sBIFqdn: + type: string + snssaiList: + $ref: 'nrNrm.yaml#/components/schemas/SnssaiList' + managedNFProfile: + $ref: '#/components/schemas/ManagedNFProfile' + commModelList: + $ref: '#/components/schemas/CommModelList' + - $ref: 'genericNrm.yaml#/components/schemas/ManagedFunction-ncO' + - type: object + properties: + EP_N17: + $ref: '#/components/schemas/EP_N17-Multiple' + SeppFunction-Single: + allOf: + - $ref: 'genericNrm.yaml#/components/schemas/Top-Attr' + - type: object + properties: + attributes: + allOf: + - $ref: 'genericNrm.yaml#/components/schemas/ManagedFunction-Attr' + - type: object + properties: + plmnId: + $ref: 'nrNrm.yaml#/components/schemas/PlmnId' + sEPPType: + $ref: '#/components/schemas/SEPPType' + sEPPId: + type: integer + fqdn: + $ref: 'genericNrm.yaml#/components/schemas/Fqdn' + - $ref: 'genericNrm.yaml#/components/schemas/ManagedFunction-ncO' + - type: object + properties: + EP_N32: + $ref: '#/components/schemas/EP_N32-Multiple' + NwdafFunction-Single: + allOf: + - $ref: 'genericNrm.yaml#/components/schemas/Top-Attr' + - type: object + properties: + attributes: + allOf: + - $ref: 'genericNrm.yaml#/components/schemas/ManagedFunction-Attr' + - type: object + properties: + plmnIdList: + $ref: 'nrNrm.yaml#/components/schemas/PlmnIdList' + sBIFqdn: + type: string + snssaiList: + $ref: 'nrNrm.yaml#/components/schemas/SnssaiList' + managedNFProfile: + $ref: '#/components/schemas/ManagedNFProfile' + commModelList: + $ref: '#/components/schemas/CommModelList' + ScpFunction-Single: + allOf: + - $ref: 'genericNrm.yaml#/components/schemas/Top-Attr' + - type: object + properties: + attributes: + allOf: + - $ref: 'genericNrm.yaml#/components/schemas/ManagedFunction-Attr' + - type: object + properties: + supportedFuncList: + $ref: '#/components/schemas/SupportedFuncList' + address: + $ref: 'genericNrm.yaml#/components/schemas/HostAddr' + - $ref: 'genericNrm.yaml#/components/schemas/ManagedFunction-ncO' + NefFunction-Single: + allOf: + - $ref: 'genericNrm.yaml#/components/schemas/Top-Attr' + - type: object + properties: + attributes: + allOf: + - $ref: 'genericNrm.yaml#/components/schemas/ManagedFunction-Attr' + - type: object + properties: + sBIFqdn: + type: string + snssaiList: + $ref: 'nrNrm.yaml#/components/schemas/SnssaiList' + managedNFProfile: + $ref: '#/components/schemas/ManagedNFProfile' + capabilityList: + $ref: '#/components/schemas/CapabilityList' + isINEF: + type: boolean + isCAPIFSup: + type: boolean + - $ref: 'genericNrm.yaml#/components/schemas/ManagedFunction-ncO' + + ExternalAmfFunction-Single: + allOf: + - $ref: 'genericNrm.yaml#/components/schemas/Top-Attr' + - type: object + properties: + attributes: + allOf: + - $ref: 'genericNrm.yaml#/components/schemas/ManagedFunction-Attr' + - type: object + properties: + plmnIdList: + $ref: 'nrNrm.yaml#/components/schemas/PlmnIdList' + amfIdentifier: + $ref: '#/components/schemas/AmfIdentifier' + ExternalNrfFunction-Single: + allOf: + - $ref: 'genericNrm.yaml#/components/schemas/Top-Attr' + - type: object + properties: + attributes: + allOf: + - $ref: 'genericNrm.yaml#/components/schemas/ManagedFunction-Attr' + - type: object + properties: + plmnIdList: + $ref: 'nrNrm.yaml#/components/schemas/PlmnIdList' + ExternalNssfFunction-Single: + allOf: + - $ref: 'genericNrm.yaml#/components/schemas/Top-Attr' + - type: object + properties: + attributes: + allOf: + - $ref: 'genericNrm.yaml#/components/schemas/ManagedFunction-Attr' + - type: object + properties: + plmnIdList: + $ref: 'nrNrm.yaml#/components/schemas/PlmnIdList' + ExternalSeppFunction-Single: + allOf: + - $ref: 'genericNrm.yaml#/components/schemas/Top-Attr' + - type: object + properties: + attributes: + allOf: + - $ref: 'genericNrm.yaml#/components/schemas/ManagedFunction-Attr' + - type: object + properties: + plmnId: + $ref: 'nrNrm.yaml#/components/schemas/PlmnId' + sEPPId: + type: integer + fqdn: + $ref: 'genericNrm.yaml#/components/schemas/Fqdn' + + + EP_N2-Single: + allOf: + - $ref: 'genericNrm.yaml#/components/schemas/Top-Attr' + - type: object + properties: + attributes: + allOf: + - $ref: 'genericNrm.yaml#/components/schemas/EP_RP-Attr' + - type: object + properties: + localAddress: + $ref: 'nrNrm.yaml#/components/schemas/LocalAddress' + remoteAddress: + $ref: 'nrNrm.yaml#/components/schemas/RemoteAddress' + EP_N3-Single: + allOf: + - $ref: 'genericNrm.yaml#/components/schemas/Top-Attr' + - type: object + properties: + attributes: + allOf: + - $ref: 'genericNrm.yaml#/components/schemas/EP_RP-Attr' + - type: object + properties: + localAddress: + $ref: 'nrNrm.yaml#/components/schemas/LocalAddress' + remoteAddress: + $ref: 'nrNrm.yaml#/components/schemas/RemoteAddress' + epTransportRefs: + $ref: 'comDefs.yaml#/components/schemas/DnList' + EP_N4-Single: + allOf: + - $ref: 'genericNrm.yaml#/components/schemas/Top-Attr' + - type: object + properties: + attributes: + allOf: + - $ref: 'genericNrm.yaml#/components/schemas/EP_RP-Attr' + - type: object + properties: + localAddress: + $ref: 'nrNrm.yaml#/components/schemas/LocalAddress' + remoteAddress: + $ref: 'nrNrm.yaml#/components/schemas/RemoteAddress' + EP_N5-Single: + allOf: + - $ref: 'genericNrm.yaml#/components/schemas/Top-Attr' + - type: object + properties: + attributes: + allOf: + - $ref: 'genericNrm.yaml#/components/schemas/EP_RP-Attr' + - type: object + properties: + localAddress: + $ref: 'nrNrm.yaml#/components/schemas/LocalAddress' + remoteAddress: + $ref: 'nrNrm.yaml#/components/schemas/RemoteAddress' + EP_N6-Single: + allOf: + - $ref: 'genericNrm.yaml#/components/schemas/Top-Attr' + - type: object + properties: + attributes: + allOf: + - $ref: 'genericNrm.yaml#/components/schemas/EP_RP-Attr' + - type: object + properties: + localAddress: + $ref: 'nrNrm.yaml#/components/schemas/LocalAddress' + remoteAddress: + $ref: 'nrNrm.yaml#/components/schemas/RemoteAddress' + EP_N7-Single: + allOf: + - $ref: 'genericNrm.yaml#/components/schemas/Top-Attr' + - type: object + properties: + attributes: + allOf: + - $ref: 'genericNrm.yaml#/components/schemas/EP_RP-Attr' + - type: object + properties: + localAddress: + $ref: 'nrNrm.yaml#/components/schemas/LocalAddress' + remoteAddress: + $ref: 'nrNrm.yaml#/components/schemas/RemoteAddress' + EP_N8-Single: + allOf: + - $ref: 'genericNrm.yaml#/components/schemas/Top-Attr' + - type: object + properties: + attributes: + allOf: + - $ref: 'genericNrm.yaml#/components/schemas/EP_RP-Attr' + - type: object + properties: + localAddress: + $ref: 'nrNrm.yaml#/components/schemas/LocalAddress' + remoteAddress: + $ref: 'nrNrm.yaml#/components/schemas/RemoteAddress' + EP_N9-Single: + allOf: + - $ref: 'genericNrm.yaml#/components/schemas/Top-Attr' + - type: object + properties: + attributes: + allOf: + - $ref: 'genericNrm.yaml#/components/schemas/EP_RP-Attr' + - type: object + properties: + localAddress: + $ref: 'nrNrm.yaml#/components/schemas/LocalAddress' + remoteAddress: + $ref: 'nrNrm.yaml#/components/schemas/RemoteAddress' + EP_N10-Single: + allOf: + - $ref: 'genericNrm.yaml#/components/schemas/Top-Attr' + - type: object + properties: + attributes: + allOf: + - $ref: 'genericNrm.yaml#/components/schemas/EP_RP-Attr' + - type: object + properties: + localAddress: + $ref: 'nrNrm.yaml#/components/schemas/LocalAddress' + remoteAddress: + $ref: 'nrNrm.yaml#/components/schemas/RemoteAddress' + EP_N11-Single: + allOf: + - $ref: 'genericNrm.yaml#/components/schemas/Top-Attr' + - type: object + properties: + attributes: + allOf: + - $ref: 'genericNrm.yaml#/components/schemas/EP_RP-Attr' + - type: object + properties: + localAddress: + $ref: 'nrNrm.yaml#/components/schemas/LocalAddress' + remoteAddress: + $ref: 'nrNrm.yaml#/components/schemas/RemoteAddress' + EP_N12-Single: + allOf: + - $ref: 'genericNrm.yaml#/components/schemas/Top-Attr' + - type: object + properties: + attributes: + allOf: + - $ref: 'genericNrm.yaml#/components/schemas/EP_RP-Attr' + - type: object + properties: + localAddress: + $ref: 'nrNrm.yaml#/components/schemas/LocalAddress' + remoteAddress: + $ref: 'nrNrm.yaml#/components/schemas/RemoteAddress' + EP_N13-Single: + allOf: + - $ref: 'genericNrm.yaml#/components/schemas/Top-Attr' + - type: object + properties: + attributes: + allOf: + - $ref: 'genericNrm.yaml#/components/schemas/EP_RP-Attr' + - type: object + properties: + localAddress: + $ref: 'nrNrm.yaml#/components/schemas/LocalAddress' + remoteAddress: + $ref: 'nrNrm.yaml#/components/schemas/RemoteAddress' + EP_N14-Single: + allOf: + - $ref: 'genericNrm.yaml#/components/schemas/Top-Attr' + - type: object + properties: + attributes: + allOf: + - $ref: 'genericNrm.yaml#/components/schemas/EP_RP-Attr' + - type: object + properties: + localAddress: + $ref: 'nrNrm.yaml#/components/schemas/LocalAddress' + remoteAddress: + $ref: 'nrNrm.yaml#/components/schemas/RemoteAddress' + EP_N15-Single: + allOf: + - $ref: 'genericNrm.yaml#/components/schemas/Top-Attr' + - type: object + properties: + attributes: + allOf: + - $ref: 'genericNrm.yaml#/components/schemas/EP_RP-Attr' + - type: object + properties: + localAddress: + $ref: 'nrNrm.yaml#/components/schemas/LocalAddress' + remoteAddress: + $ref: 'nrNrm.yaml#/components/schemas/RemoteAddress' + EP_N16-Single: + allOf: + - $ref: 'genericNrm.yaml#/components/schemas/Top-Attr' + - type: object + properties: + attributes: + allOf: + - $ref: 'genericNrm.yaml#/components/schemas/EP_RP-Attr' + - type: object + properties: + localAddress: + $ref: 'nrNrm.yaml#/components/schemas/LocalAddress' + remoteAddress: + $ref: 'nrNrm.yaml#/components/schemas/RemoteAddress' + EP_N17-Single: + allOf: + - $ref: 'genericNrm.yaml#/components/schemas/Top-Attr' + - type: object + properties: + attributes: + allOf: + - $ref: 'genericNrm.yaml#/components/schemas/EP_RP-Attr' + - type: object + properties: + localAddress: + $ref: 'nrNrm.yaml#/components/schemas/LocalAddress' + remoteAddress: + $ref: 'nrNrm.yaml#/components/schemas/RemoteAddress' + + EP_N20-Single: + allOf: + - $ref: 'genericNrm.yaml#/components/schemas/Top-Attr' + - type: object + properties: + attributes: + allOf: + - $ref: 'genericNrm.yaml#/components/schemas/EP_RP-Attr' + - type: object + properties: + localAddress: + $ref: 'nrNrm.yaml#/components/schemas/LocalAddress' + remoteAddress: + $ref: 'nrNrm.yaml#/components/schemas/RemoteAddress' + + EP_N21-Single: + allOf: + - $ref: 'genericNrm.yaml#/components/schemas/Top-Attr' + - type: object + properties: + attributes: + allOf: + - $ref: 'genericNrm.yaml#/components/schemas/EP_RP-Attr' + - type: object + properties: + localAddress: + $ref: 'nrNrm.yaml#/components/schemas/LocalAddress' + remoteAddress: + $ref: 'nrNrm.yaml#/components/schemas/RemoteAddress' + EP_N22-Single: + allOf: + - $ref: 'genericNrm.yaml#/components/schemas/Top-Attr' + - type: object + properties: + attributes: + allOf: + - $ref: 'genericNrm.yaml#/components/schemas/EP_RP-Attr' + - type: object + properties: + localAddress: + $ref: 'nrNrm.yaml#/components/schemas/LocalAddress' + remoteAddress: + $ref: 'nrNrm.yaml#/components/schemas/RemoteAddress' + + EP_N26-Single: + allOf: + - $ref: 'genericNrm.yaml#/components/schemas/Top-Attr' + - type: object + properties: + attributes: + allOf: + - $ref: 'genericNrm.yaml#/components/schemas/EP_RP-Attr' + - type: object + properties: + localAddress: + $ref: 'nrNrm.yaml#/components/schemas/LocalAddress' + remoteAddress: + $ref: 'nrNrm.yaml#/components/schemas/RemoteAddress' + EP_N27-Single: + allOf: + - $ref: 'genericNrm.yaml#/components/schemas/Top-Attr' + - type: object + properties: + attributes: + allOf: + - $ref: 'genericNrm.yaml#/components/schemas/EP_RP-Attr' + - type: object + properties: + localAddress: + $ref: 'nrNrm.yaml#/components/schemas/LocalAddress' + remoteAddress: + $ref: 'nrNrm.yaml#/components/schemas/RemoteAddress' + + + EP_N31-Single: + allOf: + - $ref: 'genericNrm.yaml#/components/schemas/Top-Attr' + - type: object + properties: + attributes: + allOf: + - $ref: 'genericNrm.yaml#/components/schemas/EP_RP-Attr' + - type: object + properties: + localAddress: + $ref: 'nrNrm.yaml#/components/schemas/LocalAddress' + remoteAddress: + $ref: 'nrNrm.yaml#/components/schemas/RemoteAddress' + EP_N32-Single: + allOf: + - $ref: 'genericNrm.yaml#/components/schemas/Top-Attr' + - type: object + properties: + attributes: + allOf: + - $ref: 'genericNrm.yaml#/components/schemas/EP_RP-Attr' + - type: object + properties: + remotePlmnId: + $ref: 'nrNrm.yaml#/components/schemas/PlmnId' + remoteSeppAddress: + $ref: 'genericNrm.yaml#/components/schemas/HostAddr' + remoteSeppId: + type: integer + n32cParas: + type: string + n32fPolicy: + type: string + withIPX: + type: boolean + + EP_S5C-Single: + allOf: + - $ref: 'genericNrm.yaml#/components/schemas/Top-Attr' + - type: object + properties: + attributes: + allOf: + - $ref: 'genericNrm.yaml#/components/schemas/EP_RP-Attr' + - type: object + properties: + localAddress: + $ref: 'nrNrm.yaml#/components/schemas/LocalAddress' + remoteAddress: + $ref: 'nrNrm.yaml#/components/schemas/RemoteAddress' + EP_S5U-Single: + allOf: + - $ref: 'genericNrm.yaml#/components/schemas/Top-Attr' + - type: object + properties: + attributes: + allOf: + - $ref: 'genericNrm.yaml#/components/schemas/EP_RP-Attr' + - type: object + properties: + localAddress: + $ref: 'nrNrm.yaml#/components/schemas/LocalAddress' + remoteAddress: + $ref: 'nrNrm.yaml#/components/schemas/RemoteAddress' + EP_Rx-Single: + allOf: + - $ref: 'genericNrm.yaml#/components/schemas/Top-Attr' + - type: object + properties: + attributes: + allOf: + - $ref: 'genericNrm.yaml#/components/schemas/EP_RP-Attr' + - type: object + properties: + localAddress: + $ref: 'nrNrm.yaml#/components/schemas/LocalAddress' + remoteAddress: + $ref: 'nrNrm.yaml#/components/schemas/RemoteAddress' + EP_MAP_SMSC-Single: + allOf: + - $ref: 'genericNrm.yaml#/components/schemas/Top-Attr' + - type: object + properties: + attributes: + allOf: + - $ref: 'genericNrm.yaml#/components/schemas/EP_RP-Attr' + - type: object + properties: + localAddress: + $ref: 'nrNrm.yaml#/components/schemas/LocalAddress' + remoteAddress: + $ref: 'nrNrm.yaml#/components/schemas/RemoteAddress' + EP_NLS-Single: + allOf: + - $ref: 'genericNrm.yaml#/components/schemas/Top-Attr' + - type: object + properties: + attributes: + allOf: + - $ref: 'genericNrm.yaml#/components/schemas/EP_RP-Attr' + - type: object + properties: + localAddress: + $ref: 'nrNrm.yaml#/components/schemas/LocalAddress' + remoteAddress: + $ref: 'nrNrm.yaml#/components/schemas/RemoteAddress' + EP_NLG-Single: + allOf: + - $ref: 'genericNrm.yaml#/components/schemas/Top-Attr' + - type: object + properties: + attributes: + allOf: + - $ref: 'genericNrm.yaml#/components/schemas/EP_RP-Attr' + - type: object + properties: + localAddress: + $ref: 'nrNrm.yaml#/components/schemas/LocalAddress' + remoteAddress: + $ref: 'nrNrm.yaml#/components/schemas/RemoteAddress' + + FiveQiDscpMappingSet-Single: + allOf: + - $ref: 'genericNrm.yaml#/components/schemas/Top-Attr' + - type: object + properties: + attributes: + allOf: + - type: object + properties: + FiveQiDscpMappingList: + type: array + items: + $ref: '#/components/schemas/FiveQiDscpMapping' + + Configurable5QISet-Single: + allOf: + - $ref: 'genericNrm.yaml#/components/schemas/Top-Attr' + - type: object + properties: + attributes: + allOf: + - type: object + properties: + configurable5QIs: + type: array + items: + $ref: '#/components/schemas/FiveQICharacteristics' + + Dynamic5QISet-Single: + allOf: + - $ref: 'genericNrm.yaml#/components/schemas/Top-Attr' + - type: object + properties: + attributes: + allOf: + - type: object + properties: + dynamic5QIs: + type: array + items: + $ref: '#/components/schemas/FiveQICharacteristics' + + GtpUPathQoSMonitoringControl-Single: + allOf: + - $ref: 'genericNrm.yaml#/components/schemas/Top-Attr' + - type: object + properties: + attributes: + allOf: + - type: object + properties: + gtpUPathQoSMonitoringState: + type: string + enum: + - ENABLED + - DISABLED + gtpUPathMonitoredSNSSAIs: + type: array + items: + $ref: 'nrNrm.yaml#/components/schemas/Snssai' + monitoredDSCPs: + type: array + items: + type: integer + minimum: 0 + maximum: 255 + isEventTriggeredGtpUPathMonitoringSupported: + type: boolean + isPeriodicGtpUMonitoringSupported: + type: boolean + isImmediateGtpUMonitoringSupported: + type: boolean + gtpUPathDelayThresholds: + $ref: '#/components/schemas/GtpUPathDelayThresholdsType' + gtpUPathMinimumWaitTime: + type: integer + gtpUPathMeasurementPeriod: + type: integer + + QFQoSMonitoringControl-Single: + allOf: + - $ref: 'genericNrm.yaml#/components/schemas/Top-Attr' + - type: object + properties: + attributes: + allOf: + - type: object + properties: + qFQoSMonitoringState: + type: string + enum: + - ENABLED + - DISABLED + qFMonitoredSNSSAIs: + type: array + items: + $ref: 'nrNrm.yaml#/components/schemas/Snssai' + qFMonitored5QIs: + type: array + items: + type: integer + minimum: 0 + maximum: 255 + isEventTriggeredQFMonitoringSupported: + type: boolean + isPeriodicQFMonitoringSupported: + type: boolean + isSessionReleasedQFMonitoringSupported: + type: boolean + qFPacketDelayThresholds: + $ref: '#/components/schemas/QFPacketDelayThresholdsType' + qFMinimumWaitTime: + type: integer + qFMeasurementPeriod: + type: integer + + PredefinedPccRuleSet-Single: + allOf: + - $ref: 'genericNrm.yaml#/components/schemas/Top-Attr' + - type: object + properties: + attributes: + allOf: + - type: object + properties: + predefinedPccRules: + type: array + items: + $ref: '#/components/schemas/PccRule' + +#-------- Definition of JSON arrays for name-contained IOCs ---------------------- + + SubNetwork-Multiple: + type: array + items: + $ref: '#/components/schemas/SubNetwork-Single' + ManagedElement-Multiple: + type: array + items: + $ref: '#/components/schemas/ManagedElement-Single' + AmfFunction-Multiple: + type: array + items: + $ref: '#/components/schemas/AmfFunction-Single' + SmfFunction-Multiple: + type: array + items: + $ref: '#/components/schemas/SmfFunction-Single' + UpfFunction-Multiple: + type: array + items: + $ref: '#/components/schemas/UpfFunction-Single' + N3iwfFunction-Multiple: + type: array + items: + $ref: '#/components/schemas/N3iwfFunction-Single' + PcfFunction-Multiple: + type: array + items: + $ref: '#/components/schemas/PcfFunction-Single' + AusfFunction-Multiple: + type: array + items: + $ref: '#/components/schemas/AusfFunction-Single' + UdmFunction-Multiple: + type: array + items: + $ref: '#/components/schemas/UdmFunction-Single' + UdrFunction-Multiple: + type: array + items: + $ref: '#/components/schemas/UdrFunction-Single' + UdsfFunction-Multiple: + type: array + items: + $ref: '#/components/schemas/UdsfFunction-Single' + NrfFunction-Multiple: + type: array + items: + $ref: '#/components/schemas/NrfFunction-Single' + NssfFunction-Multiple: + type: array + items: + $ref: '#/components/schemas/NssfFunction-Single' + SmsfFunction-Multiple: + type: array + items: + $ref: '#/components/schemas/SmsfFunction-Single' + LmfFunction-Multiple: + type: array + items: + $ref: '#/components/schemas/LmfFunction-Single' + NgeirFunction-Multiple: + type: array + items: + $ref: '#/components/schemas/NgeirFunction-Single' + SeppFunction-Multiple: + type: array + items: + $ref: '#/components/schemas/SeppFunction-Single' + NwdafFunction-Multiple: + type: array + items: + $ref: '#/components/schemas/NwdafFunction-Single' + ScpFunction-Multiple: + type: array + items: + $ref: '#/components/schemas/ScpFunction-Single' + NefFunction-Multiple: + type: array + items: + $ref: '#/components/schemas/NefFunction-Single' + + ExternalAmfFunction-Multiple: + type: array + items: + $ref: '#/components/schemas/ExternalAmfFunction-Single' + ExternalNrfFunction-Multiple: + type: array + items: + $ref: '#/components/schemas/ExternalNrfFunction-Single' + ExternalNssfFunction-Multiple: + type: array + items: + $ref: '#/components/schemas/ExternalNssfFunction-Single' + ExternalSeppFunction-Nultiple: + type: array + items: + $ref: '#/components/schemas/ExternalSeppFunction-Single' + + AmfSet-Multiple: + type: array + items: + $ref: '#/components/schemas/AmfSet-Single' + AmfRegion-Multiple: + type: array + items: + $ref: '#/components/schemas/AmfRegion-Single' + + EP_N2-Multiple: + type: array + items: + $ref: '#/components/schemas/EP_N2-Single' + EP_N3-Multiple: + type: array + items: + $ref: '#/components/schemas/EP_N3-Single' + EP_N4-Multiple: + type: array + items: + $ref: '#/components/schemas/EP_N4-Single' + EP_N5-Multiple: + type: array + items: + $ref: '#/components/schemas/EP_N5-Single' + EP_N6-Multiple: + type: array + items: + $ref: '#/components/schemas/EP_N6-Single' + EP_N7-Multiple: + type: array + items: + $ref: '#/components/schemas/EP_N7-Single' + EP_N8-Multiple: + type: array + items: + $ref: '#/components/schemas/EP_N8-Single' + EP_N9-Multiple: + type: array + items: + $ref: '#/components/schemas/EP_N9-Single' + EP_N10-Multiple: + type: array + items: + $ref: '#/components/schemas/EP_N10-Single' + EP_N11-Multiple: + type: array + items: + $ref: '#/components/schemas/EP_N11-Single' + EP_N12-Multiple: + type: array + items: + $ref: '#/components/schemas/EP_N12-Single' + EP_N13-Multiple: + type: array + items: + $ref: '#/components/schemas/EP_N13-Single' + EP_N14-Multiple: + type: array + items: + $ref: '#/components/schemas/EP_N14-Single' + EP_N15-Multiple: + type: array + items: + $ref: '#/components/schemas/EP_N15-Single' + EP_N16-Multiple: + type: array + items: + $ref: '#/components/schemas/EP_N16-Single' + EP_N17-Multiple: + type: array + items: + $ref: '#/components/schemas/EP_N17-Single' + + EP_N20-Multiple: + type: array + items: + $ref: '#/components/schemas/EP_N20-Single' + EP_N21-Multiple: + type: array + items: + $ref: '#/components/schemas/EP_N21-Single' + EP_N22-Multiple: + type: array + items: + $ref: '#/components/schemas/EP_N22-Single' + + EP_N26-Multiple: + type: array + items: + $ref: '#/components/schemas/EP_N26-Single' + EP_N27-Multiple: + type: array + items: + $ref: '#/components/schemas/EP_N27-Single' + + EP_N31-Multiple: + type: array + items: + $ref: '#/components/schemas/EP_N31-Single' + EP_N32-Multiple: + type: array + items: + $ref: '#/components/schemas/EP_N32-Single' + + EP_S5C-Multiple: + type: array + items: + $ref: '#/components/schemas/EP_S5C-Single' + EP_S5U-Multiple: + type: array + items: + $ref: '#/components/schemas/EP_S5U-Single' + EP_Rx-Multiple: + type: array + items: + $ref: '#/components/schemas/EP_Rx-Single' + EP_MAP_SMSC-Multiple: + type: array + items: + $ref: '#/components/schemas/EP_MAP_SMSC-Single' + EP_NLS-Multiple: + type: array + items: + $ref: '#/components/schemas/EP_NLS-Single' + EP_NLG-Multiple: + type: array + items: + $ref: '#/components/schemas/EP_NLG-Single' + Configurable5QISet-Multiple: + type: array + items: + $ref: '#/components/schemas/Configurable5QISet-Single' + Dynamic5QISet-Multiple: + type: array + items: + $ref: '#/components/schemas/Dynamic5QISet-Single' + + + +#------------ Definitions in TS 28.541 for TS 28.532 ----------------------------- + + resources-5gcNrm: + oneOf: + - $ref: '#/components/schemas/SubNetwork-Single' + - $ref: '#/components/schemas/ManagedElement-Single' + - $ref: '#/components/schemas/AmfFunction-Single' + - $ref: '#/components/schemas/SmfFunction-Single' + - $ref: '#/components/schemas/UpfFunction-Single' + - $ref: '#/components/schemas/N3iwfFunction-Single' + - $ref: '#/components/schemas/PcfFunction-Single' + - $ref: '#/components/schemas/AusfFunction-Single' + - $ref: '#/components/schemas/UdmFunction-Single' + - $ref: '#/components/schemas/UdrFunction-Single' + - $ref: '#/components/schemas/UdsfFunction-Single' + - $ref: '#/components/schemas/NrfFunction-Single' + - $ref: '#/components/schemas/NssfFunction-Single' + - $ref: '#/components/schemas/SmsfFunction-Single' + - $ref: '#/components/schemas/LmfFunction-Single' + - $ref: '#/components/schemas/NgeirFunction-Single' + - $ref: '#/components/schemas/SeppFunction-Single' + - $ref: '#/components/schemas/NwdafFunction-Single' + - $ref: '#/components/schemas/ScpFunction-Single' + - $ref: '#/components/schemas/NefFunction-Single' + + - $ref: '#/components/schemas/ExternalAmfFunction-Single' + - $ref: '#/components/schemas/ExternalNrfFunction-Single' + - $ref: '#/components/schemas/ExternalNssfFunction-Single' + - $ref: '#/components/schemas/ExternalSeppFunction-Single' + + - $ref: '#/components/schemas/AmfSet-Single' + - $ref: '#/components/schemas/AmfRegion-Single' + - $ref: '#/components/schemas/QFQoSMonitoringControl-Single' + - $ref: '#/components/schemas/GtpUPathQoSMonitoringControl-Single' + + - $ref: '#/components/schemas/EP_N2-Single' + - $ref: '#/components/schemas/EP_N3-Single' + - $ref: '#/components/schemas/EP_N4-Single' + - $ref: '#/components/schemas/EP_N5-Single' + - $ref: '#/components/schemas/EP_N6-Single' + - $ref: '#/components/schemas/EP_N7-Single' + - $ref: '#/components/schemas/EP_N8-Single' + - $ref: '#/components/schemas/EP_N9-Single' + - $ref: '#/components/schemas/EP_N10-Single' + - $ref: '#/components/schemas/EP_N11-Single' + - $ref: '#/components/schemas/EP_N12-Single' + - $ref: '#/components/schemas/EP_N13-Single' + - $ref: '#/components/schemas/EP_N14-Single' + - $ref: '#/components/schemas/EP_N15-Single' + - $ref: '#/components/schemas/EP_N16-Single' + - $ref: '#/components/schemas/EP_N17-Single' + + - $ref: '#/components/schemas/EP_N20-Single' + - $ref: '#/components/schemas/EP_N21-Single' + - $ref: '#/components/schemas/EP_N22-Single' + + - $ref: '#/components/schemas/EP_N26-Single' + - $ref: '#/components/schemas/EP_N27-Single' + + - $ref: '#/components/schemas/EP_N31-Single' + - $ref: '#/components/schemas/EP_N31-Single' + + - $ref: '#/components/schemas/EP_S5C-Single' + - $ref: '#/components/schemas/EP_S5U-Single' + - $ref: '#/components/schemas/EP_Rx-Single' + - $ref: '#/components/schemas/EP_MAP_SMSC-Single' + - $ref: '#/components/schemas/EP_NLS-Single' + - $ref: '#/components/schemas/EP_NLG-Single' + - $ref: '#/components/schemas/Configurable5QISet-Single' + - $ref: '#/components/schemas/FiveQiDscpMappingSet-Single' + - $ref: '#/components/schemas/PredefinedPccRuleSet-Single' + - $ref: '#/components/schemas/Dynamic5QISet-Single' diff --git a/kubernetes/dcaegen2/resources/external/schema/rel16/PerDataFileReportMnS.yaml b/kubernetes/dcaegen2-services/resources/external/schemas/sa91-rel16/FileDataReportingMnS.yaml index dfacc14f8c..2d1a4fb16d 100644 --- a/kubernetes/dcaegen2/resources/external/schema/rel16/PerDataFileReportMnS.yaml +++ b/kubernetes/dcaegen2-services/resources/external/schemas/sa91-rel16/FileDataReportingMnS.yaml @@ -1,41 +1,47 @@ openapi: 3.0.1 info: - title: TS 28.532 Performance data file reporting Service - version: 16.4.0 + title: TS 28.532 File data reporting Service + version: 16.6.0 description: >- - OAS 3.0.1 specification of the Performance data file reporting Management Service © 2020, + OAS 3.0.1 specification of the File data reporting Management Service © 2020, 3GPP Organizational Partners (ARIB, ATIS, CCSA, ETSI, TSDSI, TTA, TTC). All rights reserved. externalDocs: - description: 3GPP TS 28.532 V16.4.0; Generic management services + description: 3GPP TS 28.532 V16.5.0; Generic management services url: 'http://www.3gpp.org/ftp/Specs/archive/28_series/28.532/' servers: - - url: '{MnSRoot}/PerfDataFileReportMnS/v1640' + - url: '{MnSRoot}/FileDataReportingMnS/{MnSversion}' variables: MnSRoot: description: See subclause 4.4 of TS 32.158 - default: http://example.com/3GPPManagement + default: http://example.com/3GPPManagement + version: + description: Indicates the current version of the specification + default: 16.5.0 paths: /Files: get: summary: Read resources of information of available files - description: 'With HTTP GET, resources of information of available files are read. The resources to be read are identified with the path component (base resource) and the query component (managementDataType, beginTime and endTime) of the URI. The fields query component allows to select the resource properties to be returned.' + description: With HTTP GET, resources of information of available files are read. The resources to be read are identified with the path component (base resource) and the query component (fileaType, beginTime and endTime) of the URI. The fields query component allows to select the resource properties to be returned. parameters: - - name: managementDataType + - name: fileType in: query description: This parameter identifies the type of management data that the file contains to select the resources from the collection resources identified with the path component of the URI. required: true - $ref: '#/components/schemas/managementDataType-Type' + schema: + $ref: '#/components/schemas/fileType-Type' - name: beginTime in: query description: This parameter identifies the time stamp no later than which the file became available to select the resources from the collection resources identified with the path component of the URI. required: true - $ref: '#/components/schemas/dateTime-Type' + schema: + $ref: '#/components/schemas/dateTime-Type' - name: endTime in: query description: This parameter identifies the time stamp no earlier than which the file became available to select the resources from the collection resources identified with the path component of the URI. required: true - $ref: '#/components/schemas/dateTime-Type' + schema: + $ref: '#/components/schemas/dateTime-Type' responses: '200': description: 'Success case ("200 OK"). The resources identified in the request for retrieval are returned in the response message body. In case the fields query parameter is used, the selected resources are returned.' @@ -184,6 +190,8 @@ components: type: string fileFormat: type: string + fileType: + $ref: '#/components/schemas/fileType-Type' error-ResponseType: type: object properties: @@ -192,10 +200,13 @@ components: properties: errorInfo: type: string - managementDataType-Type: + fileType-Type: type: string enum: - - PM + - PERFORMANCE + - TRACE + - ANALYTICS + - PROPRIETARY header-Type: description: Header used in notifications as notification header type: object diff --git a/kubernetes/dcaegen2-services/resources/external/schemas/sa91-rel16/comDefs.yaml b/kubernetes/dcaegen2-services/resources/external/schemas/sa91-rel16/comDefs.yaml new file mode 100644 index 0000000000..fb6d7f4db9 --- /dev/null +++ b/kubernetes/dcaegen2-services/resources/external/schemas/sa91-rel16/comDefs.yaml @@ -0,0 +1,152 @@ +openapi: 3.0.1 +info: + title: Common Type Definitions + version: 16.6.0 + description: >- + OAS 3.0.1 specification of common type definitions in the Generic NRM + © 2020, 3GPP Organizational Partners (ARIB, ATIS, CCSA, ETSI, TSDSI, TTA, TTC). + All rights reserved. +externalDocs: + description: 3GPP TS 28.623; Generic NRM; Common type definitions + url: http://www.3gpp.org/ftp/Specs/archive/28_series/28.623/ +paths: {} +components: + schemas: + + Float: + type: number + format: float + DateTime: + type: string + format: date-Time + + Dn: + type: string + DnList: + type: array + items: + $ref: '#/components/schemas/Dn' + + Mcc: + type: string + pattern: '^[0-9]{3}$' + Mnc: + type: string + pattern: '^[0-9]{2,3}$' + PlmnId: + type: object + properties: + mcc: + $ref: '#/components/schemas/Mcc' + mnc: + $ref: '#/components/schemas/Mnc' + required: + - mcc + - mnc + + Fqdn: + type: string + Uri: + type: string + + Ipv4Addr: + type: string + pattern: '^(([0-9]|[1-9][0-9]|1[0-9][0-9]|2[0-4][0-9]|25[0-5])\.){3}([0-9]|[1-9][0-9]|1[0-9][0-9]|2[0-4][0-9]|25[0-5])$' + example: '198.51.100.1' + Ipv6Addr: + type: string + allOf: + - pattern: '^((:|(0?|([1-9a-f][0-9a-f]{0,3}))):)((0?|([1-9a-f][0-9a-f]{0,3})):){0,6}(:|(0?|([1-9a-f][0-9a-f]{0,3})))$' + - pattern: '^((([^:]+:){7}([^:]+))|((([^:]+:)*[^:]+)?::(([^:]+:)*[^:]+)?))$' + example: '2001:db8:85a3::8a2e:370:7334' + Ipv6Prefix: + type: string + allOf: + - pattern: '^((:|(0?|([1-9a-f][0-9a-f]{0,3}))):)((0?|([1-9a-f][0-9a-f]{0,3})):){0,6}(:|(0?|([1-9a-f][0-9a-f]{0,3})))(\/(([0-9])|([0-9]{2})|(1[0-1][0-9])|(12[0-8])))$' + - pattern: '^((([^:]+:){7}([^:]+))|((([^:]+:)*[^:]+)?::(([^:]+:)*[^:]+)?))(\/.+)$' + example: '2001:db8:abcd:12::0/64' + + AdministrativeState: + type: string + enum: + - LOCKED + - UNLOCKED + OperationalState: + type: string + enum: + - ENABLED + - DISABLED + UsageState: + type: string + enum: + - IDEL + - ACTIVE + - BUSY + + AttributeNameValuePairSet: + description: >- + The key of this map is the attribute name, and the value the attribute value. + type: object + minProperties: 1 + additionalProperties: + nullable: true + AttributeValueChangeSet: + description: >- + The first array item contains the attribute name value pairs with the new values, + and the second array item the attribute name value pairs with the optional old values. + type: array + items: + $ref: '#/components/schemas/AttributeNameValuePairSet' + minItems: 1 + maxItems: 2 + + Filter: + type: string + SystemDN: + type: string + + NotificationId: + type: integer + NotificationType: + oneOf: + - $ref: 'faultMnS.yaml#/components/schemas/AlarmNotificationTypes' + - $ref: 'provMnS.yaml#/components/schemas/CmNotificationTypes' + - $ref: 'perfMnS.yaml#/components/schemas/PerfNotificationTypes' + - $ref: 'heartbeatNtf.yaml#/components/schemas/HeartbeatNotificationTypes' + # The enum below will be replaced by a reference once notification + # types are defined in "FileDataReportingMnS.yaml" + - type: string + enum: + - notifyFileReady + - notifyFilePreparationError + NotificationHeader: + type: object + properties: + href: + $ref: '#/components/schemas/Uri' + notificationId: + $ref: '#/components/schemas/NotificationId' + notificationType: + $ref: '#/components/schemas/NotificationType' + eventTime: + $ref: '#/components/schemas/DateTime' + systemDN: + $ref: '#/components/schemas/SystemDN' + required: + - href + - notificationId + - notificationType + - eventTime + - systemDN + + ErrorResponse: + description: >- + Default schema for the response message body in case the request + is not successful. + type: object + properties: + error: + type: object + properties: + errorInfo: + type: string diff --git a/kubernetes/dcaegen2/resources/external/schema/rel16/faultMnS.yaml b/kubernetes/dcaegen2-services/resources/external/schemas/sa91-rel16/faultMnS.yaml index 499123b903..7ccf280316 100644 --- a/kubernetes/dcaegen2/resources/external/schema/rel16/faultMnS.yaml +++ b/kubernetes/dcaegen2-services/resources/external/schemas/sa91-rel16/faultMnS.yaml @@ -1,22 +1,22 @@ openapi: 3.0.1 info: title: Fault Supervision MnS - version: 16.4.0 + version: 16.6.0 description: >- OAS 3.0.1 definition of the Fault Supervision MnS © 2020, 3GPP Organizational Partners (ARIB, ATIS, CCSA, ETSI, TSDSI, TTA, TTC). All rights reserved. externalDocs: - description: 3GPP TS 28.532 V16.4.0; Generic management services + description: 3GPP TS 28.532; Generic management services url: http://www.3gpp.org/ftp/Specs/archive/28_series/28.532/ servers: - - url: '{MnSRoot}/FaultSupervisionMnS/{version}' + - url: '{MnSRoot}/FaultSupervisionMnS/{MnSversion}' variables: MnSRoot: description: See subclause 4.4.3 of TS 32.158 default: http://example.com/3GPPManagement - version: - description: Versi on number of the OpenAPI definition + MnSversion: + description: Version number of the OpenAPI definition default: XXX paths: /alarms: @@ -35,12 +35,12 @@ paths: in: query required: false schema: - $ref: '#/components/schemas/Dn' + $ref: 'comDefs.yaml#/components/schemas/Dn' - name: filter in: query required: false schema: - $ref: '#/components/schemas/Filter' + $ref: 'comDefs.yaml#/components/schemas/Filter' responses: '200': description: >- @@ -57,7 +57,7 @@ paths: - type: object properties: lastNotificationHeader: - $ref: '#/components/schemas/NotificationHeader' + $ref: 'comDefs.yaml#/components/schemas/NotificationHeader' - $ref: '#/components/schemas/AlarmRecord' - type: object properties: @@ -68,7 +68,7 @@ paths: content: application/json: schema: - $ref: '#/components/schemas/ErrorResponse' + $ref: 'comDefs.yaml#/components/schemas/ErrorResponse' patch: summary: 'Clear, acknowledge or unacknowledge multiple alarms' description: >- @@ -130,7 +130,7 @@ paths: content: application/json: schema: - $ref: '#/components/schemas/ErrorResponse' + $ref: 'comDefs.yaml#/components/schemas/ErrorResponse' /alarms/{alarmId}: patch: summary: 'Clear, acknowledge or unacknowledge a single alarm' @@ -163,7 +163,7 @@ paths: content: application/json: schema: - $ref: '#/components/schemas/ErrorResponse' + $ref: 'comDefs.yaml#/components/schemas/ErrorResponse' /alarms/{alarmId}/comments: post: summary: Add a comment to a single alarm @@ -203,7 +203,7 @@ paths: content: application/json: schema: - $ref: '#/components/schemas/ErrorResponse' + $ref: 'comDefs.yaml#/components/schemas/ErrorResponse' /subscriptions: post: @@ -238,7 +238,7 @@ paths: content: application/json: schema: - $ref: '#/components/schemas/ErrorResponse' + $ref: 'comDefs.yaml#/components/schemas/ErrorResponse' callbacks: notifyNewAlarm: '{request.body#/consumerReference}': @@ -262,7 +262,7 @@ paths: content: application/json: schema: - $ref: '#/components/schemas/ErrorResponse' + $ref: 'comDefs.yaml#/components/schemas/ErrorResponse' notifyClearedAlarm: '{request.body#/consumerReference}': post: @@ -283,7 +283,7 @@ paths: content: application/json: schema: - $ref: '#/components/schemas/ErrorResponse' + $ref: 'comDefs.yaml#/components/schemas/ErrorResponse' notifyChangedAlarm: '{request.body#/consumerReference}': post: @@ -304,7 +304,7 @@ paths: content: application/json: schema: - $ref: '#/components/schemas/ErrorResponse' + $ref: 'comDefs.yaml#/components/schemas/ErrorResponse' notifyChangedAlarmGeneral: '{request.body#/consumerReference}': post: @@ -327,7 +327,7 @@ paths: content: application/json: schema: - $ref: '#/components/schemas/ErrorResponse' + $ref: 'comDefs.yaml#/components/schemas/ErrorResponse' notifyCorrelatedNotificationChanged: '{request.body#/consumerReference}': post: @@ -348,7 +348,7 @@ paths: content: application/json: schema: - $ref: '#/components/schemas/ErrorResponse' + $ref: 'comDefs.yaml#/components/schemas/ErrorResponse' notifyAckStateChanged: '{request.body#/consumerReference}': post: @@ -369,7 +369,7 @@ paths: content: application/json: schema: - $ref: '#/components/schemas/ErrorResponse' + $ref: 'comDefs.yaml#/components/schemas/ErrorResponse' notifyComments: '{request.body#/consumerReference}': post: @@ -390,7 +390,7 @@ paths: content: application/json: schema: - $ref: '#/components/schemas/ErrorResponse' + $ref: 'comDefs.yaml#/components/schemas/ErrorResponse' notifyPotentialFaultyAlarmList: '{request.body#/consumerReference}': post: @@ -411,7 +411,7 @@ paths: content: application/json: schema: - $ref: '#/components/schemas/ErrorResponse' + $ref: 'comDefs.yaml#/components/schemas/ErrorResponse' notifyAlarmListRebuilt: '{request.body#/consumerReference}': post: @@ -432,7 +432,7 @@ paths: content: application/json: schema: - $ref: '#/components/schemas/ErrorResponse' + $ref: 'comDefs.yaml#/components/schemas/ErrorResponse' /subscriptions/{subscriptionId}: delete: summary: Delete a subscription @@ -458,91 +458,10 @@ paths: content: application/json: schema: - $ref: '#/components/schemas/ErrorResponse' + $ref: 'comDefs.yaml#/components/schemas/ErrorResponse' components: schemas: - - #---- Definitions to be moved to comDefs.yaml --------------------------------------# - - Long: - type: string - format: long - Float: - type: string - format: float - DateTime: - type: string - format: date-Time - - Dn: - type: string - Uri: - type: string - - AttributeNameValuePairSet: - type: object - minProperties: 1 - AttributeValueChangeSet: - description: >- - The key in this map is the attribute name. The value of each key is an array. - When only one item is present in the array, it carries the new attribute - value. If two items are present, then the first item carries the old value - and the second item the new value. The items can be of any type including null. - type: object - additionalProperties: - type: array - minItems: 1 - maxItems: 2 - items: - nullable: true - - Filter: - type: string - SystemDN: - type: string - - NotificationId: - type: integer - NotificationHeader: - description: >- - Header used for all notification types - type: object - required: - - href - - notificationId - - notificationType - - eventTime - - systemDN - properties: - uri: - $ref: '#/components/schemas/Uri' - notificationId: - $ref: '#/components/schemas/NotificationId' - notificationType: - oneOf: - - $ref: '#/components/schemas/AlarmNotificationTypes' - #- $ref: 'faultMnS.yaml#/components/schemas/AlarmNotificationTypes' - #- $ref: 'provMnS.yaml#/components/schemas/CmNotificationTypes' - # more to be added - eventTime: - $ref: '#/components/schemas/DateTime' - systemDN: - $ref: '#/components/schemas/SystemDN' - - ErrorResponse: - description: >- - Default schema for the response message body in case the request is not - successful. - type: object - properties: - error: - type: object - properties: - errorInfo: - type: string - - #---- End of definitions to be moved to comDefs.yaml -------------------------------# #---- Definition of AlarmRecord ----------------------------------------------------# @@ -608,46 +527,47 @@ components: high: oneOf: - type: integer - - $ref: '#/components/schemas/Float' + - $ref: 'comDefs.yaml#/components/schemas/Float' low: - $ref: '#/components/schemas/Float' + $ref: 'comDefs.yaml#/components/schemas/Float' ThresholdLevelInd: - type: object - required: - - up - properties: - up: - $ref: '#/components/schemas/ThresholdHysteresis' - low: - $ref: '#/components/schemas/ThresholdHysteresis' + oneOf: + - type: object + properties: + up: + $ref: '#/components/schemas/ThresholdHysteresis' + - type: object + properties: + down: + $ref: '#/components/schemas/ThresholdHysteresis' ThresholdInfo: type: object - required: - - observedMeasurement - - observedValue properties: observedMeasurement: type: string observedValue: oneOf: - type: integer - - $ref: '#/components/schemas/Float' - thresholdLevelInd: + - $ref: 'comDefs.yaml#/components/schemas/Float' + thresholdLevel: $ref: '#/components/schemas/ThresholdLevelInd' armTime: - $ref: '#/components/schemas/DateTime' + $ref: 'comDefs.yaml#/components/schemas/DateTime' + required: + - observedMeasurement + - observedValue CorrelatedNotification: type: object - required: - - source - - notificationId properties: sourceObjectInstance: - $ref: '#/components/schemas/Dn' + $ref: 'comDefs.yaml#/components/schemas/Dn' notificationIds: type: array items: - $ref: '#/components/schemas/NotificationId' + $ref: 'comDefs.yaml#/components/schemas/NotificationId' + required: + - sourceObjectInstance + - notificationIds CorrelatedNotifications: type: array items: @@ -667,15 +587,15 @@ components: # alarmId: # $ref: '#/components/schemas/AlarmId' objectInstance: - $ref: '#/components/schemas/Dn' + $ref: 'comDefs.yaml#/components/schemas/Dn' notificationId: - $ref: '#/components/schemas/NotificationId' + $ref: 'comDefs.yaml#/components/schemas/NotificationId' alarmRaisedTime: - $ref: '#/components/schemas/DateTime' + $ref: 'comDefs.yaml#/components/schemas/DateTime' alarmChangedTime: - $ref: '#/components/schemas/DateTime' + $ref: 'comDefs.yaml#/components/schemas/DateTime' alarmClearedTime: - $ref: '#/components/schemas/DateTime' + $ref: 'comDefs.yaml#/components/schemas/DateTime' alarmType: $ref: '#/components/schemas/AlarmType' probableCause: @@ -687,7 +607,7 @@ components: backedUpStatus: type: boolean backUpObject: - $ref: '#/components/schemas/Dn' + $ref: 'comDefs.yaml#/components/schemas/Dn' trendIndication: $ref: '#/components/schemas/TrendIndication' thresholdinfo: @@ -695,21 +615,21 @@ components: correlatedNotifications: $ref: '#/components/schemas/CorrelatedNotifications' stateChangeDefinition: - $ref: '#/components/schemas/AttributeValueChangeSet' + $ref: 'comDefs.yaml#/components/schemas/AttributeValueChangeSet' monitoredAttributes: - $ref: '#/components/schemas/AttributeNameValuePairSet' + $ref: 'comDefs.yaml#/components/schemas/AttributeNameValuePairSet' proposedRepairActions: type: string additionalText: type: string additionalInformation: - $ref: '#/components/schemas/AttributeNameValuePairSet' + $ref: 'comDefs.yaml#/components/schemas/AttributeNameValuePairSet' rootCauseIndicator: type: boolean ackTime: - $ref: '#/components/schemas/DateTime' + $ref: 'comDefs.yaml#/components/schemas/DateTime' ackUserId: type: string ackSystemId: @@ -750,7 +670,7 @@ components: NotifyNewAlarm: allOf: - - $ref: '#/components/schemas/NotificationHeader' + - $ref: 'comDefs.yaml#/components/schemas/NotificationHeader' - type: object required: - alarmId @@ -771,7 +691,7 @@ components: backedUpStatus: type: boolean backUpObject: - $ref: '#/components/schemas/Dn' + $ref: 'comDefs.yaml#/components/schemas/Dn' trendIndication: $ref: '#/components/schemas/TrendIndication' thresholdInfo: @@ -779,20 +699,20 @@ components: correlatedNotifications: $ref: '#/components/schemas/CorrelatedNotifications' stateChangeDefinition: - $ref: '#/components/schemas/AttributeValueChangeSet' + $ref: 'comDefs.yaml#/components/schemas/AttributeValueChangeSet' monitoredAttributes: - $ref: '#/components/schemas/AttributeNameValuePairSet' + $ref: 'comDefs.yaml#/components/schemas/AttributeNameValuePairSet' proposedRepairActions: type: string additionalText: type: string additionalInformation: - $ref: '#/components/schemas/AttributeNameValuePairSet' + $ref: 'comDefs.yaml#/components/schemas/AttributeNameValuePairSet' rootCauseIndicator: type: boolean NotifyNewSecAlarm: allOf: - - $ref: '#/components/schemas/NotificationHeader' + - $ref: 'comDefs.yaml#/components/schemas/NotificationHeader' - type: object required: - alarmId @@ -816,7 +736,7 @@ components: additionalText: type: string additionalInformation: - $ref: '#/components/schemas/AttributeNameValuePairSet' + $ref: 'comDefs.yaml#/components/schemas/AttributeNameValuePairSet' rootCauseIndicator: type: boolean serviceUser: @@ -827,7 +747,7 @@ components: type: string NotifyClearedAlarm: allOf: - - $ref: '#/components/schemas/NotificationHeader' + - $ref: 'comDefs.yaml#/components/schemas/NotificationHeader' - type: object required: - alarmId @@ -851,7 +771,7 @@ components: type: string NotifyChangedAlarm: allOf: - - $ref: '#/components/schemas/NotificationHeader' + - $ref: 'comDefs.yaml#/components/schemas/NotificationHeader' - type: object required: - alarmId @@ -869,14 +789,11 @@ components: $ref: '#/components/schemas/PerceivedSeverity' NotifyChangedAlarmGeneral: allOf: - - $ref: '#/components/schemas/NotificationHeader' + - $ref: 'comDefs.yaml#/components/schemas/NotificationHeader' - type: object required: - alarmId - alarmType - - probableCause - - perceivedSeverity - - changedAlarmAttributes properties: alarmId: $ref: '#/components/schemas/AlarmId' @@ -893,38 +810,35 @@ components: backedUpStatus: type: boolean backUpObject: - $ref: '#/components/schemas/Dn' + $ref: 'comDefs.yaml#/components/schemas/Dn' trendIndication: $ref: '#/components/schemas/TrendIndication' thresholdInfo: $ref: '#/components/schemas/ThresholdInfo' stateChangeDefinition: - $ref: '#/components/schemas/AttributeValueChangeSet' + $ref: 'comDefs.yaml#/components/schemas/AttributeValueChangeSet' monitoredAttributes: - $ref: '#/components/schemas/AttributeNameValuePairSet' + $ref: 'comDefs.yaml#/components/schemas/AttributeNameValuePairSet' proposedRepairActions: type: string additionalText: type: string additionalInformation: - $ref: '#/components/schemas/AttributeNameValuePairSet' + $ref: 'comDefs.yaml#/components/schemas/AttributeNameValuePairSet' rootCauseIndicator: type: boolean changedAlarmAttributes: - $ref: '#/components/schemas/AttributeNameValuePairSet' + $ref: 'comDefs.yaml#/components/schemas/AttributeNameValuePairSet' NotifyChangedSecAlarmGeneral: allOf: - - $ref: '#/components/schemas/NotificationHeader' + - $ref: 'comDefs.yaml#/components/schemas/NotificationHeader' - type: object required: - alarmId - alarmType - - probableCause - - perceivedSeverity - serviceUser - serviceProvider - securityAlarmDetector - - changedAlarmAttributes properties: alarmId: $ref: '#/components/schemas/AlarmId' @@ -939,7 +853,7 @@ components: additionalText: type: string additionalInformation: - $ref: '#/components/schemas/AttributeNameValuePairSet' + $ref: 'comDefs.yaml#/components/schemas/AttributeNameValuePairSet' rootCauseIndicator: type: boolean serviceUser: @@ -949,10 +863,10 @@ components: securityAlarmDetector: type: string changedAlarmAttributes: - $ref: '#/components/schemas/AttributeNameValuePairSet' + $ref: 'comDefs.yaml#/components/schemas/AttributeNameValuePairSet' NotifyCorrelatedNotificationChanged: allOf: - - $ref: '#/components/schemas/NotificationHeader' + - $ref: 'comDefs.yaml#/components/schemas/NotificationHeader' - type: object required: - alarmId @@ -966,7 +880,7 @@ components: type: boolean NotifyAckStateChanged: allOf: - - $ref: '#/components/schemas/NotificationHeader' + - $ref: 'comDefs.yaml#/components/schemas/NotificationHeader' - type: object required: - alarmId @@ -992,7 +906,7 @@ components: type: string NotifyComments: allOf: - - $ref: '#/components/schemas/NotificationHeader' + - $ref: 'comDefs.yaml#/components/schemas/NotificationHeader' - type: object required: - alarmId @@ -1013,7 +927,7 @@ components: $ref: '#/components/schemas/Comments' NotifyPotentialFaultyAlarmList: allOf: - - $ref: '#/components/schemas/NotificationHeader' + - $ref: 'comDefs.yaml#/components/schemas/NotificationHeader' - type: object required: - reason @@ -1022,7 +936,7 @@ components: type: string NotifyAlarmListRebuilt: allOf: - - $ref: '#/components/schemas/NotificationHeader' + - $ref: 'comDefs.yaml#/components/schemas/NotificationHeader' - type: object required: - reason @@ -1119,7 +1033,7 @@ components: type: object properties: commentTime: - $ref: '#/components/schemas/DateTime' + $ref: 'comDefs.yaml#/components/schemas/DateTime' commentUserId: type: string commentSystemId: @@ -1137,8 +1051,8 @@ components: type: object properties: consumerReference: - $ref: '#/components/schemas/Uri' + $ref: 'comDefs.yaml#/components/schemas/Uri' timeTick: - $ref: '#/components/schemas/Long' + type: integer filter: - $ref: '#/components/schemas/Filter' + $ref: 'comDefs.yaml#/components/schemas/Filter' diff --git a/kubernetes/dcaegen2-services/resources/external/schemas/sa91-rel16/genericNrm.yaml b/kubernetes/dcaegen2-services/resources/external/schemas/sa91-rel16/genericNrm.yaml new file mode 100644 index 0000000000..aedf3c4fb8 --- /dev/null +++ b/kubernetes/dcaegen2-services/resources/external/schemas/sa91-rel16/genericNrm.yaml @@ -0,0 +1,1516 @@ +openapi: 3.0.1 +info: + title: Generic NRM + version: 16.6.0 + description: >- + OAS 3.0.1 definition of the Generic NRM + © 2020, 3GPP Organizational Partners (ARIB, ATIS, CCSA, ETSI, TSDSI, TTA, TTC). + All rights reserved. +externalDocs: + description: 3GPP TS 28.623 V16.5.0; Generic NRM + url: http://www.3gpp.org/ftp/Specs/archive/28_series/28.623/ +paths: {} +components: + schemas: + +#-------- Definition of types----------------------------------------------------- + + RegistrationState: + type: string + enum: + - REGISTERED + - DEREGISTERED + VnfParameter: + type: object + properties: + vnfInstanceId: + type: string + vnfdId: + type: string + flavourId: + type: string + autoScalable: + type: boolean + SiteLatitude: + type: number + format: float + minimum: -90 + maximum: 90 + SiteLongitude: + type: number + format: float + minimum: -180 + maximum: 180 + PeeParameter: + type: object + properties: + siteIdentification: + type: string + siteDescription: + type: string + siteLatitude: + $ref: '#/components/schemas/SiteLatitude' + siteLongitude: + $ref: '#/components/schemas/SiteLongitude' + equipmentType: + type: string + environmentType: + type: string + powerInterface: + type: string + ThresholdInfo: + type: object + properties: + thresholdDirection: + type: string + enum: + - UP + - DOWN + - UP_AND_DOWN + thresholdValue: + oneOf: + - type: integer + - $ref: 'comDefs.yaml#/components/schemas/Float' + hysteresis: + oneOf: + - type: integer + minimum: 0 + - type: number + format: float + minimum: 0 + Operation: + type: object + properties: + name: + type: string + allowedNFTypes: + $ref: '#/components/schemas/NFType' + operationSemantics: + $ref: '#/components/schemas/OperationSemantics' + NFType: + type: string + description: ' NF name defined in TS 23.501' + enum: + - NRF + - UDM + - AMF + - SMF + - AUSF + - NEF + - PCF + - SMSF + - NSSF + - UDR + - LMF + - GMLC + - 5G_EIR + - SEPP + - UPF + - N3IWF + - AF + - UDSF + - DN + Fqdn: + type: string + OperationSemantics: + type: string + enum: + - REQUEST_RESPONSE + - SUBSCRIBE_NOTIFY + SAP: + type: object + properties: + host: + $ref: '#/components/schemas/HostAddr' + port: + type: integer + NFServiceType: + type: string + enum: + - Namf_Communication + - Namf_EventExposure + - Namf_MT + - Namf_Location + - Nsmf_PDUSession + - Nsmf_EventExposure + - Others + HostAddr: + oneOf: + - $ref: '#/components/schemas/Ipv4Addr' + - $ref: '#/components/schemas/Ipv6Addr' + - $ref: '#/components/schemas/Fqdn' + Ipv4Addr: + type: string + pattern: '^(([0-9]|[1-9][0-9]|1[0-9][0-9]|2[0-4][0-9]|25[0-5])\.){3}([0-9]|[1-9][0-9]|1[0-9][0-9]|2[0-4][0-9]|25[0-5])$' + example: '198.51.100.1' + Ipv6Addr: + type: string + allOf: + - pattern: '^((:|(0?|([1-9a-f][0-9a-f]{0,3}))):)((0?|([1-9a-f][0-9a-f]{0,3})):){0,6}(:|(0?|([1-9a-f][0-9a-f]{0,3})))$' + - pattern: '^((([^:]+:){7}([^:]+))|((([^:]+:)*[^:]+)?::(([^:]+:)*[^:]+)?))$' + example: '2001:db8:85a3::8a2e:370:7334' + Ipv6Prefix: + type: string + allOf: + - pattern: '^((:|(0?|([1-9a-f][0-9a-f]{0,3}))):)((0?|([1-9a-f][0-9a-f]{0,3})):){0,6}(:|(0?|([1-9a-f][0-9a-f]{0,3})))(\/(([0-9])|([0-9]{2})|(1[0-1][0-9])|(12[0-8])))$' + - pattern: '^((([^:]+:){7}([^:]+))|((([^:]+:)*[^:]+)?::(([^:]+:)*[^:]+)?))(\/.+)$' + example: '2001:db8:abcd:12::0/64' + TransportProtocol: + anyOf: + - type: string + enum: + - TCP + - type: string + SupportedPerfMetricGroup: + type: object + properties: + performanceMetrics: + type: array + items: + type: string + granularityPeriods: + type: array + items: + type: integer + minimum: 1 + reportingMethods: + type: array + items: + type: string + enum: + - FILE_BASED_LOC_SET_BY_PRODUCER + - FILE_BASED_LOC_SET_BY_CONSUMER + - STREAM_BASED + monitorGranularityPeriods: + type: array + items: + type: integer + minimum: 1 + ReportingCtrl: + oneOf: + - type: object + properties: + fileReportingPeriod: + type: integer + - type: object + properties: + fileReportingPeriod: + type: integer + fileLocation: + $ref: 'comDefs.yaml#/components/schemas/Uri' + - type: object + properties: + streamTarget: + $ref: 'comDefs.yaml#/components/schemas/Uri' + Scope: + type: object + properties: + scopeType: + type: string + enum: + - BASE_ONLY + - BASE_ALL + - BASE_NTH_LEVEL + - BASE_SUBTREE + scopeLevel: + type: integer + +#-------- Definition of types used in Trace control NRM fragment------------------ + + tjJobType-Type: + type: string + description: Specifies whether the TraceJob represents only MDT, Logged MBSFN MDT, Trace or a combined Trace and MDT job. Applicable for Trace, MDT, RCEF and RLF reporting. See 3GPP TS 32.422 clause 5.9a for additional details. + enum: + - IMMEDIATE_MDT_ONLY + - LOGGED_MDT_ONLY + - TRACE_ONLY + - IMMEDIATE_MDT AND TRACE + - RLF_REPORT_ONLY + - RCEF_REPORT_ONLY + - LOGGED_MBSFN_MDT + + tjListOfInterfaces-Type: + description: The interfaces to be recorded in the Network Element. See 3GPP TS 32.422 clause 5.5 for additional details. + type: object + properties: + MSCServerInterfaces: + type: array + items: + type: string + enum: + - A + - Iu-CS + - Mc + - MAP-G + - MAP-B + - MAP-E + - MAP-F + - MAP-D + - MAP-C + - CAP + MGWInterfaces: + type: array + items: + type: string + enum: + - Mc + - Nb-UP + - Iu-UP + RNCInterfaces: + type: array + items: + type: string + enum: + - Iu-CS + - Iu-PS + - Iur + - Iub + - Uu + SGSNInterfaces: + type: array + items: + type: string + enum: + - Gb + - Iu-PS + - Gn + - MAP-Gr + - MAP-Gd + - MAP-Gf + - Ge + - Gs + - S6d + - S4 + - S3 + - S13 + GGSNInterfaces: + type: array + items: + type: string + enum: + - Gn + - Gi + - Gmb + S-CSCFInterfaces: + type: array + items: + type: string + enum: + - Mw + - Mg + - Mr + - Mi + P-CSCFInterfaces: + type: array + items: + type: string + enum: + - Gm + - Mw + I-CSCFInterfaces: + type: array + items: + type: string + enum: + - Cx + - Dx + - Mg + - Mw + MRFCInterfaces: + type: array + items: + type: string + enum: + - Mp + - Mr + MGCFInterfaces: + type: array + items: + type: string + enum: + - Mg + - Mj + - Mn + IBCFInterfaces: + type: array + items: + type: string + enum: + - Ix + - Mx + E-CSCFInterfaces: + type: array + items: + type: string + enum: + - Mw + - Ml + - Mm + - Mi/Mg + BGCFInterfaces: + type: array + items: + type: string + enum: + - Mi + - Mj + - Mk + ASInterfaces: + type: array + items: + type: string + enum: + - Dh + - Sh + - ISC + - Ut + HSSInterfaces: + type: array + items: + type: string + enum: + - MAP-C + - MAP-D + - Gc + - Gr + - Cx + - S6d + - S6a + - Sh + EIRInterfaces: + type: array + items: + type: string + enum: + - MAP-F + - S13 + - MAP-Gf + BM-SCInterfaces: + type: array + items: + type: string + enum: + - Gmb + MMEInterfaces: + type: array + items: + type: string + enum: + - S1-MME + - S3 + - S6a + - S10 + - S11 + - S13 + SGWInterfaces: + type: array + items: + type: string + enum: + - S4 + - S5 + - S8 + - S11 + - Gxc + PDN_GWInterfaces: + type: array + items: + type: string + enum: + - S2a + - S2b + - S2c + - S5 + - S6b + - Gx + - S8 + - SGi + eNBInterfaces: + type: array + items: + type: string + enum: + - S1-MME + - X2 + en-gNBInterfaces: + type: array + items: + type: string + enum: + - S1-MME + - X2 + - Uu + - F1-C + - E1 + AMFInterfaces: + type: array + items: + type: string + enum: + - N1 + - N2 + - N8 + - N11 + - N12 + - N14 + - N15 + - N20 + - N22 + - N26 + AUSFInterfaces: + type: array + items: + type: string + enum: + - N12 + - N13 + NEFInterfaces: + type: array + items: + type: string + enum: + - N29 + - N30 + - N33 + NRFInterfaces: + type: array + items: + type: string + enum: + - N27 + NSSFInterfaces: + type: array + items: + type: string + enum: + - N22 + - N31 + PCFInterfaces: + type: array + items: + type: string + enum: + - N5 + - N7 + - N15 + SMFInterfaces: + type: array + items: + type: string + enum: + - N4 + - N7 + - N10 + - N11 + - S5-C + SMSFInterfaces: + type: array + items: + type: string + enum: + - N20 + - N21 + UDMInterfaces: + type: array + items: + type: string + enum: + - N8 + - N10 + - N13 + - N21 + UPFInterfaces: + type: array + items: + type: string + enum: + - N4 + ng-eNBInterfaces: + type: array + items: + type: string + enum: + - NG-C + - Xn-C + - Uu + gNB-CU-CPInterfaces: + type: array + items: + type: string + enum: + - NG-C + - Xn-C + - Uu + - F1-C + - E1 + - X2-C + gNB-CU-UPInterfaces: + type: array + items: + type: string + enum: + - E1 + gNB-DUInterfaces: + type: array + items: + type: string + enum: + - F1-C + + tjListOfNeTypes-Type: + description: The Network Element types where Trace Session activation is needed. See 3GPP TS 32.422 clause 5.4 for additional details. + type: array + items: + type: string + enum: + - MSC_SERVER + - SGSN + - MGW + - GGSN + - RNC + - BM_SC + - MME + - SGW + - PGW + - ENB + - EN_GNB + - GNB_CU_CP + - GNB_CU_UP + - GNB_DU + + tjPLMNTaget-Type: + type: object + description: The PLMN for which sessions shall be selected in the Trace Session in case of management based activation when several PLMNs are supported in the RAN (this means that shared cells and not shared cells are allowed for the specified PLMN. Note that the PLMN Target might differ from the PLMN specified in the Trace Reference, as that specifies the PLMN that is containing the management system requesting the Trace Session from the NE. See 3GPP TS 32.422 clause 5.9b for additional details. + properties: + mcc: + $ref: 'comDefs.yaml#/components/schemas/Mcc' + mnc: + $ref: 'comDefs.yaml#/components/schemas/Mnc' + required: + - mcc + - mnc + + tjStreamingTraceConsumerURI-Type: + type: string + description: The URI of the Trace Reporting MnS consumer (see 3GPP TS 28.532) to which the Trace records shall be sent. See 3GPP TS 32.422 clause 5.9 for additional details. + format: uri + + tjTraceCollectionEntityAddress-Type: + description: The IP address to which the Trace records shall be transferred. See 3GPP TS 32.422 clause 5.9 for additional details. + oneOf: + - $ref: '#/components/schemas/Ipv4Addr' + - $ref: '#/components/schemas/Ipv6Addr' + + tjTraceDepth-Type: + description: Specifies how detailed information should be recorded in the Network Element. The Trace Depth is a paremeter for Trace Session level, i.e., the Trace Depth is the same for all of the NEs to be traced in the same Trace Session. See 3GPP TS 32.422 clause 5.3 for additional details. + type: string + enum: + - MINIMUM + - MEDIUM + - MAXIMUM + - VENDORMINIMUM + - VENDORMEDIUM + - VENDORMAXIMUM + + tjTraceReference-Type: + type: object + description: The Trace Reference parameter shall be globally unique, therefore the Trace Reference shall compose as follows - MCC+MNC+Trace ID, where the MCC and MNC are coming with the Trace activation request from the management system to identify one PLMN containing the management system, and Trace ID is a 3 byte Octet String. See 3GPP TS 32.422 clause 5.6 for additional details. + properties: + mcc: + $ref: 'comDefs.yaml#/components/schemas/Mcc' + mnc: + $ref: 'comDefs.yaml#/components/schemas/Mnc' + traceId: + type: integer + required: + - mcc + - mnc + - traceId + + tjTraceReportingFormat-Type: + type: string + description: Specifies whether file-based or streaming reporting shall be used for this Trace Session. See 3GPP TS 32.422 clause 5.11 for additional details. + enum: + - FILE-BASED + - STREAMING + + tjTraceTarget-Type: + type: object + description: Trace target conveying both the type and value of the target ID. For additional details see 3GPP TS 32.422 + properties: + TargetIdType: + type: string + enum: + - IMSI + - IMEI + - IMEISV + - PUBLIC_ID + - UTRAN_CELL + - E-UTRAN_CELL + - NG-RAN_CELL + - eNB + - RNC + - gNB + - SUPI + TargetIdValue: + type: string + required: + - TargetIdType + - TargetIdValue + + tjTriggeringEvent-Type: + type: object + description: Specifies when to start a Trace Recording Session and which message shall be recorded first, when to stop a Trace Recording Session and which message shall be recorded last respectively. See 3GPP TS 32.422 clause 5.1 for additional detials. + properties: + NetworkElement: + type: string + enum: + - MSC_SERVER + - SGSN + - MGW + - GGSN + - BM_SC + - MME + - SGW + - PGW + - AMF + - SMF + - PCF + - UPF + EventBitmap: + type: integer + required: + - NetworkElement + - EventBitmap + + tjMDTAnonymizationOfData-Type: + description: Specifies level of MDT anonymization. For additional details see 3GPP TS 32.422 clause 5.10.12. + type: string + enum: + - NO_IDENTITY + - TAC_OF_IMEI + + tjMDTAreaConfigurationForNeighCell-Type: + description: Used for logged NR MDT and defines the area for which UE is requested to perform measurement logging for neighbour cells which have list of frequencies. For additional details see 3GPP TS 32.422 clause 5.10.26. + type: array + items: + type: object + properties: + frequency: + type: string + cell: + type: string + + tjMDTAreaScope-Type: + description: defines the area in terms or Cells or Tracking Area/Routing Area/Location Area where the MDT data collection shall take place. For additional details see 3GPP TS 32.422 clause 5.10.2. + allOf: + - $ref: 'comDefs.yaml#/components/schemas/DnList' + + tjMDTCollectionPeriodRrmLte-Type: + description: See details in 3GPP TS 32.422 clause 5.10.20. + type: string + enum: + - 250ms + - 500ms + - 1000ms + - 2000ms + - 3000ms + - 4000ms + - 6000ms + - 8000ms + - 12000ms + - 16000ms + - 20000ms + - 24000ms + - 28000ms + - 32000ms + - 64000ms + + tjMDTCollectionPeriodRrmUmts-Type: + description: See details in 3GPP TS 32.422 clause 5.10.21. + type: string + enum: + - 1024ms + - 1280ms + - 2048ms + - 2560ms + - 5120ms + - 10240ms + - 1min + + tjMDTCollectionPeriodRrmNR-Type: + description: See details in 3GPP TS 32.422 clause 5.10.30. + type: string + enum: + - 1024ms + - 1280ms + - 2048ms + - 5120ms + - 10240ms + - 60000ms + + tjMDTEventListForTriggeredMeasurement-Type: + description: See details in 3GPP TS 32.422 clause 5.10.28. + type: string + enum: + - OUT_OF_COVERAGE + - A2_EVENT + + tjMDTEventThreshold-Type: + description: See details in 3GPP TS 32.422 clause 5.10.7, 5.10.7a, 5.10.13 and 5.10.14. + type: object + properties: + EventThresholdRSRP: + type: integer + minimum: 0 + maximum: 97 + EventThresholdRSRQ: + type: integer + minimum: 0 + maximum: 34 + EventThreshold1F: + type: object + properties: + CPICH_RSCP: + type: integer + minimum: -120 + maximum: 25 + CPICH_EcNo: + type: integer + minimum: -24 + maximum: 0 + PathLoss: + type: integer + minimum: 30 + maximum: 165 + EventThreshold1I: + type: integer + minimum: -120 + maximum: 25 + + tjMDTListOfMeasurements-Type: + description: See details in 3GPP TS 32.422 clause 5.10.3 for details. + type: object + properties: + UMTS: + type: array + items: + type: string + enum: + - M1 + - M2 + - M3 + - M4 + - M5 + - M6_DL + - M6_UL + - M7_DL + - M7_UL + LTE: + type: array + items: + type: string + enum: + - M1 + - M2 + - M3 + - M4 + - M5 + - M1_EVENT_TRIGGERED + - M6 + - M7 + - M8 + - M9 + NR: + type: array + items: + type: string + enum: + - M1 + - M2 + - M3 + - M4 + - M5 + - M6 + - M7 + - M8 + - M9 + + tjMDTLoggingDuration-Type: + description: See details in 3GPP TS 32.422 clause 5.10.9. + type: string + enum: + - 600s + - 1200s + - 2400s + - 3600s + - 5400s + - 7200s + + tjMDTLoggingInterval-Type: + description: See details in 3GPP TS 32.422 clause 5.10.8. + type: string + enum: + - 1.28s + - 2.56s + - 5.12s + - 10.24s + - 20.48s + - 30.72s + - 40.96s + - 61.44s + + tjMDTMBSFNAreaList-Type: + description: See details in 3GPP TS 32.422 clause 5.10.25. + type: array + items: + type: object + properties: + mbsfnAreaId: + type: integer + minimum: 1 + earfcn: + type: integer + minimum: 1 + required: + - mbsfnAreaId + - earfcn + + tjMDTMeasurementPeriodLTE-Type: + description: See details in 3GPP TS 32.422 clause 5.10.23. + type: string + enum: + - 1024ms + - 1280ms + - 2048ms + - 2560ms + - 5120ms + - 10240ms + - 1min + + tjMDTMeasurementPeriodUMTS-Type: + description: See details in 3GPP TS 32.422 clause 5.10.22. + type: string + enum: + - 250ms + - 500ms + - 1000ms + - 2000ms + - 3000ms + - 4000ms + - 6000ms + - 8000ms + - 12000ms + - 16000ms + - 20000ms + - 24000ms + - 28000ms + - 32000ms + - 64000ms + + tjMDTMeasurementQuantity-Type: + description: See details in 3GPP TS 32.422 clause 5.10.15. + type: string + enum: + - CPICH_EcNo + - CPICH_RSCP + - PathLoss + + tjMDTPLMList-Type: + description: See details in 3GPP TS 32.422 clause 5.10.24. + type: array + items: + type: object + properties: + mcc: + $ref: 'comDefs.yaml#/components/schemas/Mcc' + mnc: + $ref: 'comDefs.yaml#/components/schemas/Mnc' + required: + - mcc + - mnc + maxItems: 16 + + tjMDTPositioningMethod-Type: + description: See details in 3GPP TS 32.422 clause 5.10.19. + type: string + enum: + - GNSS + - E-CELL_ID + + tjMDTReportAmount-Type: + description: See details in 3GPP TS 32.422 clause 5.10.6. + type: string + enum: + - 1 + - 2 + - 4 + - 8 + - 16 + - 32 + - 64 + - INFINITY + + tjMDTReportingTrigger-Type: + description: See details in 3GPP TS 32.422 clause 5.10.4. + type: array + items: + type: string + enum: + - PERIODICAL + - A2_FOR_LTE + - 1F_FOR_UMTS + - 1I_FOR_UMTS_MCPS_TDD + - A2_TRIGGERED_PERIODIC_FOR_LTE + - ALL_CONFIGURED_RRM_FOR_LTE + - ALL_CONFIGURED_RRM_FOR_UMTS + + tjMDTReportInterval-Type: + description: See details in 3GPP TS 32.422 clause 5.10.5. + type: string + enum: + - 250ms + - 500ms + - 1000ms + - 2000ms + - 3000ms + - 4000ms + - 6000ms + - 8000ms + - 12000ms + - 16000ms + - 20000ms + - 24000ms + - 28000ms + - 32000ms + - 64000ms + - 120ms + - 240ms + - 480ms + - 640ms + - 1024ms + - 2048ms + - 5120ms + - 10240ms + - 60000ms + - 360000ms + - 720000ms + - 1800000ms + - 3600000ms + + tjMDTReportType-Type: + description: Report type for logged NR MDT. See details in 3GPP TS 32.422 clause 5.10.27. + type: string + enum: + - PERIODICAL + - EVENT_TRIGGERED + + tjMDTSensorInformation-Type: + description: See details in 3GPP TS 32.422 clause 5.10.29. + type: array + items: + type: string + enum: + - BAROMETRIC_PRESSURE + - UE_SPEED + - UE_ORIENTATION + + tjMDTTraceCollectionEntityID-Type: + description: See details in 3GPP TS 32.422 clause 5.10.11. Only tceID value may be sent over the air to the UE being configured for Logged MDT. + type: object + properties: + tceID: + type: integer + tcePLMN: + type: object + properties: + mcc: + $ref: 'comDefs.yaml#/components/schemas/Mcc' + mnc: + $ref: 'comDefs.yaml#/components/schemas/Mnc' + required: + - mcc + - mnc + tceAddress: + oneOf: + - $ref: '#/components/schemas/tjTraceCollectionEntityAddress-Type' + - $ref: '#/components/schemas/tjStreamingTraceConsumerURI-Type' + required: + - tceID + - tcePLMN + - tceAddress + + +#-------- end of Definition of types used in Trace control NRM fragment ---------- + + +#-------- Definition of abstract IOC Top ----------------------------------------- + + Top-Attr: + # This definition will be deprecated, when all occurances of Top-Attr + # are replaced by Top. + type: object + properties: + id: + type: string + VsDataContainer: + $ref: '#/components/schemas/VsDataContainer-Multiple' + Top: + type: object + properties: + id: + type: string + VsDataContainer: + $ref: '#/components/schemas/VsDataContainer-Multiple' + +#-------- Definition of IOCs with new name-containments defined in other TS ------ + + SubNetwork-Attr: + type: object + properties: + dnPrefix: + type: string + userLabel: + type: string + userDefinedNetworkType: + type: string + setOfMcc: + type: array + items: + $ref: 'comDefs.yaml#/components/schemas/Mcc' + priorityLabel: + type: integer + supportedPerfMetricGroups: + type: array + items: + $ref: '#/components/schemas/SupportedPerfMetricGroup' + ManagedElement-Attr: + type: object + properties: + dnPrefix: + type: string + managedElementTypeList: + type: array + items: + type: string + userLabel: + type: string + locationName: + type: string + managedBy: + $ref: 'comDefs.yaml#/components/schemas/DnList' + vendorName: + type: string + userDefinedState: + type: string + swVersion: + type: string + priorityLabel: + type: integer + supportedPerfMetricGroups: + type: array + items: + $ref: '#/components/schemas/SupportedPerfMetricGroup' + + SubNetwork-ncO: + type: object + properties: + ManagementNode: + $ref: '#/components/schemas/ManagementNode-Multiple' + MeContext: + $ref: '#/components/schemas/MeContext-Multiple' + PerfMetricJob: + $ref: '#/components/schemas/PerfMetricJob-Multiple' + ThresholdMonitor: + $ref: '#/components/schemas/ThresholdMonitor-Multiple' + NtfSubscriptionControl: + $ref: '#/components/schemas/NtfSubscriptionControl-Multiple' + TraceJob: + $ref: '#/components/schemas/TraceJob-Multiple' + AlarmList: + $ref: '#/components/schemas/AlarmList-Single' + ManagedElement-ncO: + type: object + properties: + PerfMetricJob: + $ref: '#/components/schemas/PerfMetricJob-Multiple' + ThresholdMonitor: + $ref: '#/components/schemas/ThresholdMonitor-Multiple' + NtfSubscriptionControl: + $ref: '#/components/schemas/NtfSubscriptionControl-Multiple' + TraceJob: + $ref: '#/components/schemas/TraceJob-Multiple' + AlarmList: + $ref: '#/components/schemas/AlarmList-Single' + +#-------- Definition of abstract IOCs -------------------------------------------- + + ManagedFunction-Attr: + type: object + properties: + userLabel: + type: string + vnfParametersList: + type: array + items: + $ref: '#/components/schemas/VnfParameter' + peeParametersList: + type: array + items: + $ref: '#/components/schemas/PeeParameter' + priorityLabel: + type: integer + supportedPerfMetricGroups: + type: array + items: + $ref: '#/components/schemas/SupportedPerfMetricGroup' + EP_RP-Attr: + type: object + properties: + userLabel: + type: string + farEndEntity: + type: string + supportedPerfMetricGroups: + type: array + items: + $ref: '#/components/schemas/SupportedPerfMetricGroup' + + TraceJob-Attr: + type: object + description: abstract class used as a container of all TraceJob attributes + properties: + tjJobType: + $ref: '#/components/schemas/tjJobType-Type' + tjListOfInterfaces: + $ref: '#/components/schemas/tjListOfInterfaces-Type' + tjListOfNeTypes: + $ref: '#/components/schemas/tjListOfNeTypes-Type' + tjPLMNTarget: + $ref: '#/components/schemas/tjPLMNTaget-Type' + tjTraceConsumer: + oneOf: + - $ref: '#/components/schemas/tjStreamingTraceConsumerURI-Type' + - $ref: '#/components/schemas/tjTraceCollectionEntityAddress-Type' + tjTraceDepth: + $ref: '#/components/schemas/tjTraceDepth-Type' + tjTraceReference: + $ref: '#/components/schemas/tjTraceReference-Type' + tjTraceReportingFormat: + $ref: '#/components/schemas/tjTraceReportingFormat-Type' + tjTraceTarget: + $ref: '#/components/schemas/tjTraceTarget-Type' + tjTriggeringEvent: + $ref: '#/components/schemas/tjTriggeringEvent-Type' + tjMDTAnonymizationOfData: + $ref: '#/components/schemas/tjMDTAnonymizationOfData-Type' + tjMDTAreaConfigurationForNeighCell: + $ref: '#/components/schemas/tjMDTAreaConfigurationForNeighCell-Type' + tjMDTAreaScope: + $ref: '#/components/schemas/tjMDTAreaScope-Type' + tjMDTCollectionPeriodRrmLte: + $ref: '#/components/schemas/tjMDTCollectionPeriodRrmLte-Type' + tjMDTCollectionPeriodRrmUmts: + $ref: '#/components/schemas/tjMDTCollectionPeriodRrmUmts-Type' + tjMDTCollectionPeriodRrmNR: + $ref: '#/components/schemas/tjMDTCollectionPeriodRrmNR-Type' + tjMDTEventListForTriggeredMeasurement: + $ref: '#/components/schemas/tjMDTEventListForTriggeredMeasurement-Type' + tjMDTEventThreshold: + $ref: '#/components/schemas/tjMDTEventThreshold-Type' + tjMDTListOfMeasurements: + $ref: '#/components/schemas/tjMDTListOfMeasurements-Type' + tjMDTLoggingDuration: + $ref: '#/components/schemas/tjMDTLoggingDuration-Type' + tjMDTLoggingInterval: + $ref: '#/components/schemas/tjMDTLoggingInterval-Type' + tjMDTMBSFNAreaList: + $ref: '#/components/schemas/tjMDTMBSFNAreaList-Type' + tjMDTMeasurementPeriodLTE: + $ref: '#/components/schemas/tjMDTMeasurementPeriodLTE-Type' + tjMDTMeasurementPeriodUMTS: + $ref: '#/components/schemas/tjMDTMeasurementPeriodUMTS-Type' + tjMDTMeasurementQuantity: + $ref: '#/components/schemas/tjMDTMeasurementQuantity-Type' + tjMDTPLMList: + $ref: '#/components/schemas/tjMDTPLMList-Type' + tjMDTPositioningMethod: + $ref: '#/components/schemas/tjMDTPositioningMethod-Type' + tjMDTReportAmount: + $ref: '#/components/schemas/tjMDTReportAmount-Type' + tjMDTReportingTrigger: + $ref: '#/components/schemas/tjMDTReportingTrigger-Type' + tjMDTReportInterval: + $ref: '#/components/schemas/tjMDTReportInterval-Type' + tjMDTReportType: + $ref: '#/components/schemas/tjMDTReportType-Type' + tjMDTSensorInformation: + $ref: '#/components/schemas/tjMDTSensorInformation-Type' + tjMDTTraceCollectionEntityID: + $ref: '#/components/schemas/tjMDTTraceCollectionEntityID-Type' + required: + - tjJobType + - tjTraceReference + - tjTraceConsumer + - tjTraceReportingFormat + - tjTraceTarget + + ManagedFunction-ncO: + type: object + properties: + PerfMetricJob: + $ref: '#/components/schemas/PerfMetricJob-Multiple' + ThresholdMonitor: + $ref: '#/components/schemas/ThresholdMonitor-Multiple' + ManagedNFService: + $ref: '#/components/schemas/ManagedNFService-Multiple' + TraceJob: + $ref: '#/components/schemas/TraceJob-Multiple' + +#-------- Definition of concrete IOCs -------------------------------------------- + + VsDataContainer-Single: + type: object + properties: + id: + type: string + attributes: + type: object + properties: + vsDataType: + type: string + vsDataFormatVersion: + type: string + vsData: + nullable: true + VsDataContainer: + $ref: '#/components/schemas/VsDataContainer-Multiple' + ManagedNFService-Single: + allOf: + - $ref: '#/components/schemas/Top' + - type: object + properties: + attributes: + type: object + properties: + userLabel: + type: string + nFServiceType: + $ref: '#/components/schemas/NFServiceType' + sAP: + $ref: '#/components/schemas/SAP' + operations: + type: array + items: + $ref: '#/components/schemas/Operation' + administrativeState: + $ref: 'comDefs.yaml#/components/schemas/AdministrativeState' + operationalState: + $ref: 'comDefs.yaml#/components/schemas/OperationalState' + usageState: + $ref: 'comDefs.yaml#/components/schemas/UsageState' + registrationState: + $ref: '#/components/schemas/RegistrationState' + ManagementNode-Single: + allOf: + - $ref: '#/components/schemas/Top' + - type: object + properties: + attributes: + type: object + properties: + userLabel: + type: string + managedElements: + $ref: 'comDefs.yaml#/components/schemas/DnList' + vendorName: + type: string + userDefinedState: + type: string + locationName: + type: string + swVersion: + type: string + MeContext-Single: + allOf: + - $ref: '#/components/schemas/Top' + - type: object + properties: + attributes: + type: object + properties: + dnPrefix: + type: string + PerfMetricJob-Single: + allOf: + - $ref: '#/components/schemas/Top' + - type: object + properties: + attributes: + type: object + properties: + administrativeState: + $ref: 'comDefs.yaml#/components/schemas/AdministrativeState' + operationalState: + $ref: 'comDefs.yaml#/components/schemas/OperationalState' + jobId: + type: string + performanceMetrics: + type: array + items: + type: string + granularityPeriod: + type: integer + minimum: 1 + objectInstances: + $ref: 'comDefs.yaml#/components/schemas/DnList' + rootObjectInstances: + $ref: 'comDefs.yaml#/components/schemas/DnList' + reportingCtrl: + $ref: '#/components/schemas/ReportingCtrl' + ThresholdMonitor-Single: + allOf: + - $ref: '#/components/schemas/Top' + - type: object + properties: + attributes: + type: object + properties: + administrativeState: + $ref: 'comDefs.yaml#/components/schemas/AdministrativeState' + operationalState: + $ref: 'comDefs.yaml#/components/schemas/OperationalState' + performanceMetrics: + type: array + items: + type: string + thresholdInfoList: + type: array + items: + $ref: '#/components/schemas/ThresholdInfo' + monitorGranularityPeriod: + type: integer + minimum: 1 + objectInstances: + $ref: 'comDefs.yaml#/components/schemas/DnList' + rootObjectInstances: + $ref: 'comDefs.yaml#/components/schemas/DnList' + NtfSubscriptionControl-Single: + allOf: + - $ref: '#/components/schemas/Top' + - type: object + properties: + attributes: + type: object + properties: + notificationRecipientAddress: + $ref: 'comDefs.yaml#/components/schemas/Uri' + notificationTypes: + type: array + items: + $ref: 'comDefs.yaml#/components/schemas/NotificationType' + scope: + $ref: '#/components/schemas/Scope' + notificationFilter: + type: string + HeartbeatControl: + $ref: '#/components/schemas/HeartbeatControl-Single' + HeartbeatControl-Single: + allOf: + - $ref: '#/components/schemas/Top' + - type: object + properties: + attributes: + type: object + properties: + heartbeatNtfPeriod: + type: integer + triggerHeartbeatNtf: + type: boolean + TraceJob-Single: + allOf: + - $ref: '#/components/schemas/Top' + - type: object + properties: + attributes: + $ref: '#/components/schemas/TraceJob-Attr' + + AlarmList-Single: + allOf: + - $ref: '#/components/schemas/Top' + - type: object + properties: + attributes: + type: object + properties: + administrativeState: + $ref: 'comDefs.yaml#/components/schemas/AdministrativeState' + operationalState: + $ref: 'comDefs.yaml#/components/schemas/OperationalState' + numOfAlarmRecords: + type: integer + lastModification: + $ref: 'comDefs.yaml#/components/schemas/DateTime' + alarmRecords: + description: >- + This resource represents a map of alarm records. + The alarmIds are used as keys in the map. + type: object + additionalProperties: + $ref: 'faultMnS.yaml#/components/schemas/AlarmRecord' + +#-------- Definition of YAML arrays for name-contained IOCs ---------------------- + + VsDataContainer-Multiple: + type: array + items: + $ref: '#/components/schemas/VsDataContainer-Single' + ManagedNFService-Multiple: + type: array + items: + $ref: '#/components/schemas/ManagedNFService-Single' + ManagementNode-Multiple: + type: array + items: + $ref: '#/components/schemas/ManagementNode-Single' + MeContext-Multiple: + type: array + items: + $ref: '#/components/schemas/MeContext-Single' + PerfMetricJob-Multiple: + type: array + items: + $ref: '#/components/schemas/PerfMetricJob-Single' + ThresholdMonitor-Multiple: + type: array + items: + $ref: '#/components/schemas/ThresholdMonitor-Single' + TraceJob-Multiple: + type: array + items: + $ref: '#/components/schemas/TraceJob-Single' + NtfSubscriptionControl-Multiple: + type: array + items: + $ref: '#/components/schemas/NtfSubscriptionControl-Single' + +#-------- Definitions in TS 28.623 for TS 28.532 --------------------------------- + + resources-genericNrm: + oneOf: + + - $ref: '#/components/schemas/VsDataContainer-Single' + + - $ref: '#/components/schemas/ManagementNode-Single' + - $ref: '#/components/schemas/MeContext-Single' + + - $ref: '#/components/schemas/ManagedNFService-Single' + + - $ref: '#/components/schemas/PerfMetricJob-Single' + - $ref: '#/components/schemas/ThresholdMonitor-Single' + - $ref: '#/components/schemas/TraceJob-Single' + + - $ref: '#/components/schemas/NtfSubscriptionControl-Single' + - $ref: '#/components/schemas/HeartbeatControl-Single' + + - $ref: '#/components/schemas/AlarmList-Single' diff --git a/kubernetes/dcaegen2/resources/external/schema/rel16/heartbeatNtf.yaml b/kubernetes/dcaegen2-services/resources/external/schemas/sa91-rel16/heartbeatNtf.yaml index afde5066dd..efa3185bdb 100644 --- a/kubernetes/dcaegen2/resources/external/schema/rel16/heartbeatNtf.yaml +++ b/kubernetes/dcaegen2-services/resources/external/schemas/sa91-rel16/heartbeatNtf.yaml @@ -1,23 +1,25 @@ openapi: 3.0.1 info: title: Heartbeat notification - version: 16.3.0 + version: 16.6.0 description: >- - OAS 3.0.1 specification of the heartbeat notification + OAS 3.0.1 definition of the heartbeat notification © 2020, 3GPP Organizational Partners (ARIB, ATIS, CCSA, ETSI, TSDSI, TTA, TTC). All rights reserved. externalDocs: - description: 3GPP TS 28.532 V16.3.0; Heartbeat notification + description: 3GPP TS 28.532 V16.6.0; Generic management services url: http://www.3gpp.org/ftp/Specs/archive/28_series/28.6532/ paths: {} components: schemas: - hearbeatNtfPeriod-Type: - type: integer - notifyHeartbeat-NotifType: + HeartbeatNotificationTypes: + type: string + enum: + - notifyHeartbeat + NotifyHeartbeat: allOf: - - $ref: 'provMnS.yaml#/components/schemas/header-Type' + - $ref: 'comDefs.yaml#/components/schemas/NotificationHeader' - type: object properties: heartbeatNtfPeriod: - $ref: '#/components/schemas/hearbeatNtfPeriod-Type' + type: integer diff --git a/kubernetes/dcaegen2-services/resources/external/schemas/sa91-rel16/nrNrm.yaml b/kubernetes/dcaegen2-services/resources/external/schemas/sa91-rel16/nrNrm.yaml new file mode 100644 index 0000000000..3de2c63a6c --- /dev/null +++ b/kubernetes/dcaegen2-services/resources/external/schemas/sa91-rel16/nrNrm.yaml @@ -0,0 +1,1868 @@ +openapi: 3.0.1 +info: + title: NR NRM + version: 16.6.0 + description: >- + OAS 3.0.1 specification of the NR NRM + © 2020, 3GPP Organizational Partners (ARIB, ATIS, CCSA, ETSI, TSDSI, TTA, TTC). + All rights reserved. +externalDocs: + description: 3GPP TS 28.541 V16.6.0; 5G NRM, NR NRM + url: http://www.3gpp.org/ftp/Specs/archive/28_series/28.541/ +paths: {} +components: + schemas: + +#-------- Definition of types----------------------------------------------------- + + GnbId: + type: string + GnbIdLength: + type: integer + minimum: 22 + maximum: 32 + GnbName: + type: string + maxLength: 150 + GnbDuId: + type: number + minimum: 0 + maximum: 68719476735 + GnbCuUpId: + type: number + minimum: 0 + maximum: 68719476735 + + Sst: + type: integer + maximum: 255 + Snssai: + type: object + properties: + sst: + $ref: '#/components/schemas/Sst' + sd: + type: string + SnssaiList: + type: array + items: + $ref: '#/components/schemas/Snssai' + + Mnc: + type: string + pattern: '[0-9]{3}|[0-9]{2}' + PlmnId: + type: object + properties: + mcc: + $ref: 'comDefs.yaml#/components/schemas/Mcc' + mnc: + $ref: '#/components/schemas/Mnc' + PlmnIdList: + type: array + items: + $ref: '#/components/schemas/PlmnId' + PlmnInfo: + type: object + properties: + plmnId": + $ref: '#/components/schemas/PlmnId' + snssai: + $ref: '#/components/schemas/Snssai' + PlmnInfoList: + type: array + items: + $ref: '#/components/schemas/PlmnInfo' + GGnbId: + type: string + pattern: '^[0-9]{3}[0-9]{2,3}-(22|23|24|25|26|27|28|29|30|31|32)-[0-9]{1,10}' + GEnbId: + type: string + pattern: '^[0-9]{3}[0-9]{2,3}-(18|20|21|22)-[0-9]{1,7}' + + GGnbIdList: + type: array + items: + $ref: '#/components/schemas/GGnbId' + + GEnbIdList: + type: array + items: + $ref: '#/components/schemas/GEnbId' + + NrPci: + type: integer + maximum: 503 + NrTac: + type: integer + maximum: 16777215 + Tai: + type: object + properties: + plmnId: + $ref: '#/components/schemas/PlmnId' + nrTac: + $ref: '#/components/schemas/NrTac' + + BackhaulAddress: + type: object + properties: + gnbId: + $ref: '#/components/schemas/GnbId' + tai: + $ref: "#/components/schemas/Tai" + MappingSetIDBackhaulAddress: + type: object + properties: + setID: + type: integer + backhaulAddress: + $ref: '#/components/schemas/BackhaulAddress' + IntraRatEsActivationOriginalCellLoadParameters: + type: object + properties: + loadThreshold: + type: integer + timeDuration: + type: integer + IntraRatEsActivationCandidateCellsLoadParameters: + type: object + properties: + loadThreshold: + type: integer + timeDuration: + type: integer + IntraRatEsDeactivationCandidateCellsLoadParameters: + type: object + properties: + loadThreshold: + type: integer + timeDuration: + type: integer + EsNotAllowedTimePeriod: + type: object + properties: + startTimeandendTime: + type: string + periodOfDay: + type: string + daysOfWeekList: + type: string + listoftimeperiods: + type: string + InterRatEsActivationOriginalCellParameters: + type: object + properties: + loadThreshold: + type: integer + timeDuration: + type: integer + InterRatEsActivationCandidateCellParameters: + type: object + properties: + loadThreshold: + type: integer + timeDuration: + type: integer + InterRatEsDeactivationCandidateCellParameters: + type: object + properties: + loadThreshold: + type: integer + timeDuration: + type: integer + + UeAccProbilityDist: + type: object + properties: + targetProbability: + type: integer + numberofpreamblessent: + type: integer + + UeAccDelayProbilityDist: + type: object + properties: + targetProbability: + type: integer + accessdelay: + type: integer + + NRPciList: + type: object + properties: + NRPci: + type: integer + + CSonPciList: + type: object + properties: + NRPci: + type: integer + + MaximumDeviationHoTrigger: + type: integer + minimum: -20 + maximum: 20 + + MinimumTimeBetweenHoTriggerChange: + type: integer + minimum: 0 + maximum: 604800 + + TstoreUEcntxt: + type: integer + minimum: 0 + maximum: 1023 + + CellState: + type: string + enum: + - IDLE + - INACTIVE + - ACTIVE + CyclicPrefix: + type: string + enum: + - '15' + - '30' + - '60' + - '120' + TxDirection: + type: string + enum: + - DL + - UL + - DL and UL + BwpContext: + type: string + enum: + - DL + - UL + - SUL + IsInitialBwp: + type: string + enum: + - INITIAL + - OTHER + - SUL + QuotaType: + type: string + enum: + - STRICT + - FLOAT + IsESCoveredBy: + type: string + enum: + - NO + - PARTIAL + - FULL + RrmPolicyMember: + type: object + properties: + plmnId: + $ref: '#/components/schemas/PlmnId' + snssai: + $ref: '#/components/schemas/Snssai' + RrmPolicyMemberList: + type: array + items: + $ref: '#/components/schemas/RrmPolicyMember' + AddressWithVlan: + type: object + properties: + ipv4Address: + $ref: 'genericNrm.yaml#/components/schemas/Ipv4Addr' + ipv6Address: + $ref: 'genericNrm.yaml#/components/schemas/Ipv6Addr' + vlanId: + type: integer + minimum: 0 + maximum: 4096 + LocalAddress: + type: object + properties: + addressWithVlan: + $ref: '#/components/schemas/AddressWithVlan' + port: + type: integer + minimum: 0 + maximum: 65535 + RemoteAddress: + type: object + properties: + ipv4Address: + $ref: 'genericNrm.yaml#/components/schemas/Ipv4Addr' + ipv6Address: + $ref: 'genericNrm.yaml#/components/schemas/Ipv6Addr' + + CellIndividualOffset: + type: object + properties: + rsrpOffsetSSB: + type: integer + rsrqOffsetSSB: + type: integer + sinrOffsetSSB: + type: integer + rsrpOffsetCSI-RS: + type: integer + rsrqOffsetCSI-RS: + type: integer + sinrOffsetCSI-RS: + type: integer + QOffsetRange: + type: integer + enum: + - -24 + - -22 + - -20 + - -18 + - -16 + - -14 + - -12 + - -10 + - -8 + - -6 + - -5 + - -4 + - -3 + - -2 + - -1 + - 0 + - 24 + - 22 + - 20 + - 18 + - 16 + - 14 + - 12 + - 10 + - 8 + - 6 + - 5 + - 4 + - 3 + - 2 + - 1 + QOffsetRangeList: + type: object + properties: + rsrpOffsetSSB: + $ref: '#/components/schemas/QOffsetRange' + rsrqOffsetSSB: + $ref: '#/components/schemas/QOffsetRange' + sinrOffsetSSB: + $ref: '#/components/schemas/QOffsetRange' + rsrpOffsetCSI-RS: + $ref: '#/components/schemas/QOffsetRange' + rsrqOffsetCSI-RS: + $ref: '#/components/schemas/QOffsetRange' + sinrOffsetCSI-RS: + $ref: '#/components/schemas/QOffsetRange' + QOffsetFreq: + type: number + TReselectionNRSf: + type: integer + enum: + - 25 + - 50 + - 75 + - 100 + SsbPeriodicity: + type: integer + enum: + - 5 + - 10 + - 20 + - 40 + - 80 + - 160 + SsbDuration: + type: integer + enum: + - 1 + - 2 + - 3 + - 4 + - 5 + SsbSubCarrierSpacing: + type: integer + enum: + - 15 + - 30 + - 120 + - 240 + CoverageShape: + type: integer + maximum: 65535 + DigitalTilt: + type: integer + minimum: -900 + maximum: 900 + DigitalAzimuth: + type: integer + minimum: -1800 + maximum: 1800 + + RSSetId: + type: integer + maximum: 4194303 + + RSSetType: + type: string + enum: + - RS1 + - RS2 + + FrequencyDomainPara: + type: object + properties: + rimRSSubcarrierSpacing: + type: integer + rIMRSBandwidth: + type: integer + nrofGlobalRIMRSFrequencyCandidates: + type: integer + rimRSCommonCarrierReferencePoint: + type: integer + rimRSStartingFrequencyOffsetIdList: + type: array + items: + type: integer + + SequenceDomainPara: + type: object + properties: + nrofRIMRSSequenceCandidatesofRS1: + type: integer + rimRSScrambleIdListofRS1: + type: array + items: + type: integer + nrofRIMRSSequenceCandidatesofRS2: + type: integer + rimRSScrambleIdListofRS2: + type: array + items: + type: integer + enableEnoughNotEnoughIndication: + type: string + enum: + - ENABLE + - DISABLE + RIMRSScrambleTimerMultiplier: + type: integer + RIMRSScrambleTimerOffset: + type: integer + + TimeDomainPara: + type: object + properties: + dlULSwitchingPeriod1: + type: string + enum: + - MS0P5 + - MS0P625 + - MS1 + - MS1P25 + - MS2 + - MS2P5 + - MS3 + - MS4 + - MS5 + - MS10 + - MS20 + symbolOffsetOfReferencePoint1: + type: integer + dlULSwitchingPeriod2: + type: string + enum: + - MS0P5 + - MS0P625 + - MS1 + - MS1P25 + - MS2 + - MS2P5 + - MS3 + - MS4 + - MS5 + - MS10 + - MS20 + symbolOffsetOfReferencePoint2: + type: integer + totalnrofSetIdofRS1: + type: integer + totalnrofSetIdofRS2: + type: integer + nrofConsecutiveRIMRS1: + type: integer + nrofConsecutiveRIMRS2: + type: integer + consecutiveRIMRS1List: + type: array + items: + type: integer + consecutiveRIMRS2List: + type: array + items: + type: integer + enablenearfarIndicationRS1: + type: string + enum: + - ENABLE + - DISABLE + enablenearfarIndicationRS2: + type: string + enum: + - ENABLE + - DISABLE + + RimRSReportInfo: + type: object + properties: + detectedSetID: + type: integer + propagationDelay: + type: integer + functionalityOfRIMRS: + type: string + enum: + - RS1 + - RS2 + - RS1forEnoughMitigation + - RS1forNotEnoughMitigation + + RimRSReportConf: + type: object + properties: + reportIndicator: + type: string + enum: + - ENABLE + - DISABLE + reportInterval: + type: integer + nrofRIMRSReportInfo: + type: integer + maxPropagationDelay: + type: integer + rimRSReportInfoList: + type: array + items: + $ref: '#/components/schemas/RimRSReportInfo' + TceMappingInfo: + type: object + properties: + TceIPAddress: + oneOf: + - $ref: 'genericNrm.yaml#/components/schemas/Ipv4Addr' + - $ref: 'genericNrm.yaml#/components/schemas/Ipv6Addr' + TceID: + type: integer + PlmnTarget: + $ref: '#/components/schemas/PlmnId' + TceMappingInfoList: + type: array + items: + $ref: '#/components/schemas/TceMappingInfo' + + +#-------- Definition of abstract IOCs -------------------------------------------- + + RrmPolicy_-Attr: + type: object + properties: + resourceType: + type: string + rRMPolicyMemberList: + $ref: '#/components/schemas/RrmPolicyMemberList' + + +#-------- Definition of concrete IOCs -------------------------------------------- + + SubNetwork-Single: + allOf: + - $ref: 'genericNrm.yaml#/components/schemas/Top-Attr' + - type: object + properties: + attributes: + $ref: 'genericNrm.yaml#/components/schemas/SubNetwork-Attr' + - $ref: 'genericNrm.yaml#/components/schemas/SubNetwork-ncO' + - type: object + properties: + SubNetwork: + $ref: '#/components/schemas/SubNetwork-Multiple' + ManagedElement: + $ref: '#/components/schemas/ManagedElement-Multiple' + NRFrequency: + $ref: '#/components/schemas/NRFrequency-Multiple' + ExternalGnbCuCpFunction: + $ref: '#/components/schemas/ExternalGnbCuCpFunction-Multiple' + ExternalENBFunction: + $ref: '#/components/schemas/ExternalENBFunction-Multiple' + EUtranFrequency: + $ref: '#/components/schemas/EUtranFrequency-Multiple' + DESManagementFunction: + $ref: '#/components/schemas/DESManagementFunction-Single' + DRACHOptimizationFunction: + $ref: '#/components/schemas/DRACHOptimizationFunction-Single' + DMROFunction: + $ref: '#/components/schemas/DMROFunction-Single' + DPCIConfigurationFunction: + $ref: '#/components/schemas/DPCIConfigurationFunction-Single' + CPCIConfigurationFunction: + $ref: '#/components/schemas/CPCIConfigurationFunction-Single' + CESManagementFunction: + $ref: '#/components/schemas/CESManagementFunction-Single' + Configurable5QISet: + $ref: '5gcNrm.yaml#/components/schemas/Configurable5QISet-Multiple' + RimRSGlobal: + $ref: '#/components/schemas/RimRSGlobal-Single' + Dynamic5QISet: + $ref: '5gcNrm.yaml#/components/schemas/Dynamic5QISet-Multiple' + + ManagedElement-Single: + allOf: + - $ref: 'genericNrm.yaml#/components/schemas/Top-Attr' + - type: object + properties: + attributes: + $ref: 'genericNrm.yaml#/components/schemas/ManagedElement-Attr' + - $ref: 'genericNrm.yaml#/components/schemas/ManagedElement-ncO' + - type: object + properties: + GnbDuFunction: + $ref: '#/components/schemas/GnbDuFunction-Multiple' + GnbCuUpFunction: + $ref: '#/components/schemas/GnbCuUpFunction-Multiple' + GnbCuCpFunction: + $ref: '#/components/schemas/GnbCuCpFunction-Multiple' + DESManagementFunction: + $ref: '#/components/schemas/DESManagementFunction-Single' + DRACHOptimizationFunction: + $ref: '#/components/schemas/DRACHOptimizationFunction-Single' + DMROFunction: + $ref: '#/components/schemas/DMROFunction-Single' + DPCIConfigurationFunction: + $ref: '#/components/schemas/DPCIConfigurationFunction-Single' + CPCIConfigurationFunction: + $ref: '#/components/schemas/CPCIConfigurationFunction-Single' + CESManagementFunction: + $ref: '#/components/schemas/CESManagementFunction-Single' + Configurable5QISet: + $ref: '5gcNrm.yaml#/components/schemas/Configurable5QISet-Multiple' + Dynamic5QISet: + $ref: '5gcNrm.yaml#/components/schemas/Dynamic5QISet-Multiple' + + GnbDuFunction-Single: + allOf: + - $ref: 'genericNrm.yaml#/components/schemas/Top-Attr' + - type: object + properties: + attributes: + allOf: + - $ref: 'genericNrm.yaml#/components/schemas/ManagedFunction-Attr' + - type: object + properties: + gnbDuId: + $ref: '#/components/schemas/GnbDuId' + gnbDuName: + $ref: '#/components/schemas/GnbName' + gnbId: + $ref: '#/components/schemas/GnbId' + gnbIdLength: + $ref: '#/components/schemas/GnbIdLength' + rimRSReportConf: + $ref: '#/components/schemas/RimRSReportConf' + - $ref: 'genericNrm.yaml#/components/schemas/ManagedFunction-ncO' + - type: object + properties: + RRMPolicyRatio: + $ref: '#/components/schemas/RRMPolicyRatio-Multiple' + NrCellDu: + $ref: '#/components/schemas/NrCellDu-Multiple' + Bwp-Multiple: + $ref: '#/components/schemas/Bwp-Multiple' + NrSectorCarrier-Multiple: + $ref: '#/components/schemas/NrSectorCarrier-Multiple' + EP_F1C: + $ref: '#/components/schemas/EP_F1C-Single' + EP_F1U: + $ref: '#/components/schemas/EP_F1U-Multiple' + DRACHOptimizationFunction: + $ref: '#/components/schemas/DRACHOptimizationFunction-Single' + GnbCuUpFunction-Single: + allOf: + - $ref: 'genericNrm.yaml#/components/schemas/Top-Attr' + - type: object + properties: + attributes: + allOf: + - $ref: 'genericNrm.yaml#/components/schemas/ManagedFunction-Attr' + - type: object + properties: + gnbId: + $ref: '#/components/schemas/GnbId' + gnbIdLength: + $ref: '#/components/schemas/GnbIdLength' + gnbCuUpId: + $ref: '#/components/schemas/GnbCuUpId' + plmnInfoList: + $ref: '#/components/schemas/PlmnInfoList' + configurable5QISetRef: + $ref: 'comDefs.yaml#/components/schemas/Dn' + dynamic5QISetRef: + $ref: 'comDefs.yaml#/components/schemas/Dn' + - $ref: 'genericNrm.yaml#/components/schemas/ManagedFunction-ncO' + - type: object + properties: + RRMPolicyRatio: + $ref: '#/components/schemas/RRMPolicyRatio-Multiple' + EP_E1: + $ref: '#/components/schemas/EP_E1-Single' + EP_XnU: + $ref: '#/components/schemas/EP_XnU-Multiple' + EP_F1U: + $ref: '#/components/schemas/EP_F1U-Multiple' + EP_NgU: + $ref: '#/components/schemas/EP_NgU-Multiple' + EP_X2U: + $ref: '#/components/schemas/EP_X2U-Multiple' + EP_S1U: + $ref: '#/components/schemas/EP_S1U-Multiple' + GnbCuCpFunction-Single: + allOf: + - $ref: 'genericNrm.yaml#/components/schemas/Top-Attr' + - type: object + properties: + attributes: + allOf: + - $ref: 'genericNrm.yaml#/components/schemas/ManagedFunction-Attr' + - type: object + properties: + gnbId: + $ref: '#/components/schemas/GnbId' + gnbIdLength: + $ref: '#/components/schemas/GnbIdLength' + gnbCuName: + $ref: '#/components/schemas/GnbName' + plmnId: + $ref: '#/components/schemas/PlmnId' + x2BlackList: + $ref: '#/components/schemas/GGnbIdList' + xnBlackList: + $ref: '#/components/schemas/GGnbIdList' + x2WhiteList: + $ref: '#/components/schemas/GGnbIdList' + xnWhiteList: + $ref: '#/components/schemas/GGnbIdList' + x2XnHOBlackList: + $ref: '#/components/schemas/GEnbIdList' + mappingSetIDBackhaulAddress: + $ref: '#/components/schemas/MappingSetIDBackhaulAddress' + tceMappingInfoList: + $ref: '#/components/schemas/TceMappingInfoList' + configurable5QISetRef: + $ref: 'comDefs.yaml#/components/schemas/Dn' + dynamic5QISetRef: + $ref: 'comDefs.yaml#/components/schemas/Dn' + - $ref: 'genericNrm.yaml#/components/schemas/ManagedFunction-ncO' + - type: object + properties: + RRMPolicyRatio: + $ref: '#/components/schemas/RRMPolicyRatio-Multiple' + NrCellCu: + $ref: '#/components/schemas/NrCellCu-Multiple' + EP_XnC: + $ref: '#/components/schemas/EP_XnC-Multiple' + EP_E1: + $ref: '#/components/schemas/EP_E1-Multiple' + EP_F1C: + $ref: '#/components/schemas/EP_F1C-Multiple' + EP_NgC: + $ref: '#/components/schemas/EP_NgC-Multiple' + EP_X2C: + $ref: '#/components/schemas/EP_X2C-Multiple' + DANRManagementFunction: + $ref: '#/components/schemas/DANRManagementFunction-Single' + DESManagementFunction: + $ref: '#/components/schemas/DESManagementFunction-Single' + DMROFunction: + $ref: '#/components/schemas/DMROFunction-Single' + + NrCellCu-Single: + allOf: + - $ref: 'genericNrm.yaml#/components/schemas/Top-Attr' + - type: object + properties: + attributes: + allOf: + - $ref: 'genericNrm.yaml#/components/schemas/ManagedFunction-Attr' + - type: object + properties: + cellLocalId: + type: integer + plmnInfoList: + $ref: '#/components/schemas/PlmnInfoList' + nRFrequencyRef: + $ref: 'comDefs.yaml#/components/schemas/Dn' + - $ref: 'genericNrm.yaml#/components/schemas/ManagedFunction-ncO' + - type: object + properties: + RRMPolicyRatio: + $ref: '#/components/schemas/RRMPolicyRatio-Multiple' + NRCellRelation: + $ref: '#/components/schemas/NRCellRelation-Multiple' + EUtranCellRelation: + $ref: '#/components/schemas/EUtranCellRelation-Multiple' + NRFreqRelation: + $ref: '#/components/schemas/NRFreqRelation-Multiple' + EUtranFreqRelation: + $ref: '#/components/schemas/EUtranFreqRelation-Multiple' + DESManagementFunction: + $ref: '#/components/schemas/DESManagementFunction-Single' + DMROFunction: + $ref: '#/components/schemas/DMROFunction-Single' + CESManagementFunction: + $ref: '#/components/schemas/CESManagementFunction-Single' + DPCIConfigurationFunction: + $ref: '#/components/schemas/DPCIConfigurationFunction-Single' + + NrCellDu-Single: + allOf: + - $ref: 'genericNrm.yaml#/components/schemas/Top-Attr' + - type: object + properties: + attributes: + allOf: + - $ref: 'genericNrm.yaml#/components/schemas/ManagedFunction-Attr' + - type: object + properties: + administrativeState: + $ref: 'comDefs.yaml#/components/schemas/AdministrativeState' + operationalState: + $ref: 'comDefs.yaml#/components/schemas/OperationalState' + cellLocalId: + type: integer + cellState: + $ref: '#/components/schemas/CellState' + plmnInfoList: + $ref: '#/components/schemas/PlmnInfoList' + nrPci: + $ref: '#/components/schemas/NrPci' + nrTac: + $ref: '#/components/schemas/NrTac' + arfcnDL: + type: integer + arfcnUL: + type: integer + arfcnSUL: + type: integer + bSChannelBwDL: + type: integer + bSChannelBwUL: + type: integer + bSChannelBwSUL: + type: integer + ssbFrequency: + type: integer + minimum: 0 + maximum: 3279165 + ssbPeriodicity: + $ref: '#/components/schemas/SsbPeriodicity' + ssbSubCarrierSpacing: + $ref: '#/components/schemas/SsbSubCarrierSpacing' + ssbOffset: + type: integer + minimum: 0 + maximum: 159 + ssbDuration: + $ref: '#/components/schemas/SsbDuration' + nrSectorCarrierRef: + type: array + items: + $ref: 'comDefs.yaml#/components/schemas/Dn' + bwpRef: + type: array + items: + $ref: 'comDefs.yaml#/components/schemas/Dn' + nRFrequencyRef: + $ref: 'comDefs.yaml#/components/schemas/Dn' + victimSetRef: + $ref: 'comDefs.yaml#/components/schemas/Dn' + aggressorSetRef: + $ref: 'comDefs.yaml#/components/schemas/Dn' + - $ref: 'genericNrm.yaml#/components/schemas/ManagedFunction-ncO' + - type: object + properties: + RRMPolicyRatio: + $ref: '#/components/schemas/RRMPolicyRatio-Multiple' + CPCIConfigurationFunction: + $ref: '#/components/schemas/CPCIConfigurationFunction-Single' + DRACHOptimizationFunction: + $ref: '#/components/schemas/DRACHOptimizationFunction-Single' + + NRFrequency-Single: + allOf: + - $ref: 'genericNrm.yaml#/components/schemas/Top-Attr' + - type: object + properties: + attributes: + type: object + properties: + absoluteFrequencySSB: + type: integer + minimum: 0 + maximum: 3279165 + ssbSubCarrierSpacing: + $ref: '#/components/schemas/SsbSubCarrierSpacing' + multiFrequencyBandListNR: + type: integer + minimum: 1 + maximum: 256 + EUtranFrequency-Single: + allOf: + - $ref: 'genericNrm.yaml#/components/schemas/Top-Attr' + - type: object + properties: + attributes: + type: object + properties: + earfcnDL: + type: integer + minimum: 0 + maximum: 262143 + multiBandInfoListEutra: + type: integer + minimum: 1 + maximum: 256 + + NrSectorCarrier-Single: + allOf: + - $ref: 'genericNrm.yaml#/components/schemas/Top-Attr' + - type: object + properties: + attributes: + allOf: + - $ref: 'genericNrm.yaml#/components/schemas/ManagedFunction-Attr' + - type: object + properties: + txDirection: + $ref: '#/components/schemas/TxDirection' + configuredMaxTxPower: + type: integer + arfcnDL: + type: integer + arfcnUL: + type: integer + bSChannelBwDL: + type: integer + bSChannelBwUL: + type: integer + sectorEquipmentFunctionRef: + $ref: 'comDefs.yaml#/components/schemas/Dn' + - $ref: 'genericNrm.yaml#/components/schemas/ManagedFunction-ncO' + - type: object + properties: + CommonBeamformingFunction: + $ref: '#/components/schemas/CommonBeamformingFunction-Single' + Bwp-Single: + allOf: + - $ref: 'genericNrm.yaml#/components/schemas/Top-Attr' + - type: object + properties: + attributes: + allOf: + - $ref: 'genericNrm.yaml#/components/schemas/ManagedFunction-Attr' + - type: object + properties: + bwpContext: + $ref: '#/components/schemas/BwpContext' + isInitialBwp: + $ref: '#/components/schemas/IsInitialBwp' + subCarrierSpacing: + type: integer + cyclicPrefix: + $ref: '#/components/schemas/CyclicPrefix' + startRB: + type: integer + numberOfRBs: + type: integer + - $ref: 'genericNrm.yaml#/components/schemas/ManagedFunction-ncO' + CommonBeamformingFunction-Single: + allOf: + - $ref: 'genericNrm.yaml#/components/schemas/Top-Attr' + - type: object + properties: + attributes: + allOf: + - type: object + properties: + coverageShape: + $ref: '#/components/schemas/CoverageShape' + digitalAzimuth: + $ref: '#/components/schemas/DigitalAzimuth' + digitalTilt: + $ref: '#/components/schemas/DigitalTilt' + - type: object + properties: + Beam: + $ref: '#/components/schemas/Beam-Multiple' + Beam-Single: + allOf: + - $ref: 'genericNrm.yaml#/components/schemas/Top-Attr' + - type: object + properties: + attributes: + allOf: + - type: object + properties: + beamIndex: + type: integer + beamType: + type: string + enum: + - SSB-BEAM + beamAzimuth: + type: integer + minimum: -1800 + maximum: 1800 + beamTilt: + type: integer + minimum: -900 + maximum: 900 + beamHorizWidth: + type: integer + minimum: 0 + maximum: 3599 + beamVertWidth: + type: integer + minimum: 0 + maximum: 1800 + RRMPolicyRatio-Single: + allOf: + - $ref: 'genericNrm.yaml#/components/schemas/Top-Attr' + - type: object + properties: + attributes: + allOf: + - $ref: '#/components/schemas/RrmPolicy_-Attr' + - type: object + properties: + rRMPolicyMaxRatio: + type: integer + rRMPolicyMinRatio: + type: integer + rRMPolicyDedicatedRatio: + type: integer + + NRCellRelation-Single: + allOf: + - $ref: 'genericNrm.yaml#/components/schemas/Top-Attr' + - type: object + properties: + attributes: + type: object + properties: + nRTCI: + type: integer + cellIndividualOffset: + $ref: '#/components/schemas/CellIndividualOffset' + adjacentNRCellRef: + $ref: 'comDefs.yaml#/components/schemas/Dn' + nRFrequencyRef: + $ref: 'comDefs.yaml#/components/schemas/Dn' + isRemoveAllowed: + type: boolean + isHOAllowed: + type: boolean + isESCoveredBy: + $ref: '#/components/schemas/IsESCoveredBy' + isENDCAllowed: + type: boolean + EUtranCellRelation-Single: + allOf: + - $ref: 'genericNrm.yaml#/components/schemas/Top-Attr' + - type: object + properties: + attributes: + allOf: + - $ref: 'genericNrm.yaml#/components/schemas/ManagedFunction-Attr' + - type: object + properties: + adjacentEUtranCellRef: + $ref: 'comDefs.yaml#/components/schemas/Dn' + - $ref: 'genericNrm.yaml#/components/schemas/ManagedFunction-ncO' + NRFreqRelation-Single: + allOf: + - $ref: 'genericNrm.yaml#/components/schemas/Top-Attr' + - type: object + properties: + attributes: + type: object + properties: + offsetMO: + $ref: '#/components/schemas/QOffsetRangeList' + blackListEntry: + type: array + items: + type: integer + minimum: 0 + maximum: 1007 + blackListEntryIdleMode: + type: integer + cellReselectionPriority: + type: integer + cellReselectionSubPriority: + type: number + minimum: 0.2 + maximum: 0.8 + multipleOf: 0.2 + pMax: + type: integer + minimum: -30 + maximum: 33 + qOffsetFreq: + $ref: '#/components/schemas/QOffsetFreq' + qQualMin: + type: number + qRxLevMin: + type: integer + minimum: -140 + maximum: -44 + threshXHighP: + type: integer + minimum: 0 + maximum: 62 + threshXHighQ: + type: integer + minimum: 0 + maximum: 31 + threshXLowP: + type: integer + minimum: 0 + maximum: 62 + threshXLowQ: + type: integer + minimum: 0 + maximum: 31 + tReselectionNr: + type: integer + minimum: 0 + maximum: 7 + tReselectionNRSfHigh: + $ref: '#/components/schemas/TReselectionNRSf' + tReselectionNRSfMedium: + $ref: '#/components/schemas/TReselectionNRSf' + nRFrequencyRef: + $ref: 'comDefs.yaml#/components/schemas/Dn' + EUtranFreqRelation-Single: + allOf: + - $ref: 'genericNrm.yaml#/components/schemas/Top-Attr' + - type: object + properties: + attributes: + type: object + properties: + cellIndividualOffset: + $ref: '#/components/schemas/CellIndividualOffset' + blackListEntry: + type: array + items: + type: integer + minimum: 0 + maximum: 1007 + blackListEntryIdleMode: + type: integer + cellReselectionPriority: + type: integer + cellReselectionSubPriority: + type: number + minimum: 0.2 + maximum: 0.8 + multipleOf: 0.2 + pMax: + type: integer + minimum: -30 + maximum: 33 + qOffsetFreq: + $ref: '#/components/schemas/QOffsetFreq' + qQualMin: + type: number + qRxLevMin: + type: integer + minimum: -140 + maximum: -44 + threshXHighP: + type: integer + minimum: 0 + maximum: 62 + threshXHighQ: + type: integer + minimum: 0 + maximum: 31 + threshXLowP: + type: integer + minimum: 0 + maximum: 62 + threshXLowQ: + type: integer + minimum: 0 + maximum: 31 + tReselectionEutran: + type: integer + minimum: 0 + maximum: 7 + tReselectionNRSfHigh: + $ref: '#/components/schemas/TReselectionNRSf' + tReselectionNRSfMedium: + $ref: '#/components/schemas/TReselectionNRSf' + eUTranFrequencyRef: + $ref: 'comDefs.yaml#/components/schemas/Dn' + DANRManagementFunction-Single: + allOf: + - $ref: 'genericNrm.yaml#/components/schemas/Top-Attr' + - type: object + properties: + attributes: + type: object + properties: + intrasystemANRManagementSwitch: + type: boolean + intersystemANRManagementSwitch: + type: boolean + + DESManagementFunction-Single: + allOf: + - $ref: 'genericNrm.yaml#/components/schemas/Top-Attr' + - type: object + properties: + attributes: + type: object + properties: + desSwitch: + type: boolean + intraRatEsActivationOriginalCellLoadParameters: + $ref: "#/components/schemas/IntraRatEsActivationOriginalCellLoadParameters" + intraRatEsActivationCandidateCellsLoadParameters: + $ref: "#/components/schemas/IntraRatEsActivationCandidateCellsLoadParameters" + intraRatEsDeactivationCandidateCellsLoadParameters: + $ref: "#/components/schemas/IntraRatEsDeactivationCandidateCellsLoadParameters" + esNotAllowedTimePeriod: + $ref: "#/components/schemas/EsNotAllowedTimePeriod" + interRatEsActivationOriginalCellParameters: + $ref: "#/components/schemas/IntraRatEsActivationOriginalCellLoadParameters" + interRatEsActivationCandidateCellParameters: + $ref: "#/components/schemas/IntraRatEsActivationOriginalCellLoadParameters" + interRatEsDeactivationCandidateCellParameters: + $ref: "#/components/schemas/IntraRatEsActivationOriginalCellLoadParameters" + isProbingCapable: + type: string + enum: + - yes + - no + energySavingState: + type: string + enum: + - isNotEnergySaving + - isEnergySaving + + DRACHOptimizationFunction-Single: + allOf: + - $ref: 'genericNrm.yaml#/components/schemas/Top-Attr' + - type: object + properties: + attributes: + type: object + properties: + drachOptimizationControl: + type: boolean + ueAccProbilityDist: + $ref: "#/components/schemas/UeAccProbilityDist" + ueAccDelayProbilityDist: + $ref: "#/components/schemas/UeAccDelayProbilityDist" + - $ref: 'genericNrm.yaml#/components/schemas/ManagedFunction-ncO' + + DMROFunction-Single: + allOf: + - $ref: 'genericNrm.yaml#/components/schemas/Top-Attr' + - type: object + properties: + attributes: + type: object + properties: + dmroControl: + type: boolean + maximumDeviationHoTrigger: + $ref: '#/components/schemas/MaximumDeviationHoTrigger' + minimumTimeBetweenHoTriggerChange: + $ref: '#/components/schemas/MinimumTimeBetweenHoTriggerChange' + tstoreUEcntxt: + $ref: '#/components/schemas/TstoreUEcntxt' + + DPCIConfigurationFunction-Single: + allOf: + - $ref: 'genericNrm.yaml#/components/schemas/Top-Attr' + - type: object + properties: + attributes: + type: object + properties: + dPciConfigurationControl: + type: boolean + nRPciList: + $ref: "#/components/schemas/NRPciList" + + CPCIConfigurationFunction-Single: + allOf: + - $ref: 'genericNrm.yaml#/components/schemas/Top-Attr' + - type: object + properties: + attributes: + type: object + properties: + cPciConfigurationControl: + type: boolean + cSonPciList: + $ref: "#/components/schemas/CSonPciList" + + CESManagementFunction-Single: + allOf: + - $ref: 'genericNrm.yaml#/components/schemas/Top-Attr' + - type: object + properties: + attributes: + type: object + properties: + cesSwitch: + type: boolean + energySavingControl: + type: string + enum: + - toBeEnergySaving + - toBeNotEnergySaving + energySavingState: + type: string + enum: + - isNotEnergySaving + - isEnergySaving + + RimRSGlobal-Single: + allOf: + - $ref: 'genericNrm.yaml#/components/schemas/Top-Attr' + - type: object + properties: + attributes: + type: object + properties: + frequencyDomainPara: + $ref: '#/components/schemas/FrequencyDomainPara' + sequenceDomainPara: + $ref: '#/components/schemas/SequenceDomainPara' + timeDomainPara: + $ref: '#/components/schemas/TimeDomainPara' + RimRSSet: + $ref: '#/components/schemas/RimRSSet-Multiple' + + RimRSSet-Single: + allOf: + - $ref: 'genericNrm.yaml#/components/schemas/Top-Attr' + - type: object + properties: + attributes: + type: object + properties: + setId: + $ref: '#/components/schemas/RSSetId' + setType: + $ref: '#/components/schemas/RSSetType' + rimRSMonitoringStartTime: + type: string + rimRSMonitoringStopTime: + type: string + rimRSMonitoringWindowDuration: + type: integer + rimRSMonitoringWindowStartingOffset: + type: integer + rimRSMonitoringWindowPeriodicity: + type: integer + rimRSMonitoringOccasionInterval: + type: integer + rimRSMonitoringOccasionStartingOffset: + type: integer + nRCellDURefs: + $ref: 'comDefs.yaml#/components/schemas/DnList' + + ExternalGnbDuFunction-Single: + allOf: + - $ref: 'genericNrm.yaml#/components/schemas/Top-Attr' + - type: object + properties: + attributes: + allOf: + - $ref: 'genericNrm.yaml#/components/schemas/ManagedFunction-Attr' + - type: object + properties: + gnbId: + $ref: '#/components/schemas/GnbId' + gnbIdLength: + $ref: '#/components/schemas/GnbIdLength' + - $ref: 'genericNrm.yaml#/components/schemas/ManagedFunction-ncO' + - type: object + properties: + EP_F1C: + $ref: '#/components/schemas/EP_F1C-Multiple' + EP_F1U: + $ref: '#/components/schemas/EP_F1U-Multiple' + ExternalGnbCuUpFunction-Single: + allOf: + - $ref: 'genericNrm.yaml#/components/schemas/Top-Attr' + - type: object + properties: + attributes: + allOf: + - $ref: 'genericNrm.yaml#/components/schemas/ManagedFunction-Attr' + - type: object + properties: + gnbId: + $ref: '#/components/schemas/GnbId' + gnbIdLength: + $ref: '#/components/schemas/GnbIdLength' + - $ref: 'genericNrm.yaml#/components/schemas/ManagedFunction-ncO' + - type: object + properties: + EP_E1: + $ref: '#/components/schemas/EP_E1-Multiple' + EP_F1U: + $ref: '#/components/schemas/EP_F1U-Multiple' + EP_XnU: + $ref: '#/components/schemas/EP_XnU-Multiple' + ExternalGnbCuCpFunction-Single: + allOf: + - $ref: 'genericNrm.yaml#/components/schemas/Top-Attr' + - type: object + properties: + attributes: + allOf: + - $ref: >- + genericNrm.yaml#/components/schemas/ManagedFunction-Attr + - type: object + properties: + gnbId: + $ref: '#/components/schemas/GnbId' + gnbIdLength: + $ref: '#/components/schemas/GnbIdLength' + plmnId: + $ref: '#/components/schemas/PlmnId' + - $ref: 'genericNrm.yaml#/components/schemas/ManagedFunction-ncO' + - type: object + properties: + ExternalNrCellCu: + $ref: '#/components/schemas/ExternalNrCellCu-Multiple' + EP_XnC: + $ref: '#/components/schemas/EP_XnC-Multiple' + EP_E1: + $ref: '#/components/schemas/EP_E1-Multiple' + EP_F1C: + $ref: '#/components/schemas/EP_F1C-Multiple' + ExternalNrCellCu-Single: + allOf: + - $ref: 'genericNrm.yaml#/components/schemas/Top-Attr' + - type: object + properties: + attributes: + allOf: + - $ref: 'genericNrm.yaml#/components/schemas/ManagedFunction-Attr' + - type: object + properties: + cellLocalId: + type: integer + nrPci: + $ref: '#/components/schemas/NrPci' + plmnIdList: + $ref: '#/components/schemas/PlmnIdList' + nRFrequencyRef: + $ref: 'comDefs.yaml#/components/schemas/Dn' + - $ref: 'genericNrm.yaml#/components/schemas/ManagedFunction-ncO' + ExternalENBFunction-Single: + allOf: + - $ref: 'genericNrm.yaml#/components/schemas/Top-Attr' + - type: object + properties: + attributes: + allOf: + - $ref: 'genericNrm.yaml#/components/schemas/ManagedFunction-Attr' + - type: object + properties: + eNBId: + type: integer + - $ref: 'genericNrm.yaml#/components/schemas/ManagedFunction-ncO' + - type: object + properties: + ExternalEUTranCell: + $ref: '#/components/schemas/ExternalEUTranCell-Multiple' + ExternalEUTranCell-Single: + allOf: + - $ref: 'genericNrm.yaml#/components/schemas/Top-Attr' + - type: object + properties: + attributes: + allOf: + - $ref: 'genericNrm.yaml#/components/schemas/ManagedFunction-Attr' + - type: object + properties: + EUtranFrequencyRef: + $ref: 'comDefs.yaml#/components/schemas/Dn' + - $ref: 'genericNrm.yaml#/components/schemas/ManagedFunction-ncO' + + EP_XnC-Single: + allOf: + - $ref: 'genericNrm.yaml#/components/schemas/Top-Attr' + - type: object + properties: + attributes: + allOf: + - $ref: 'genericNrm.yaml#/components/schemas/EP_RP-Attr' + - type: object + properties: + localAddress: + $ref: '#/components/schemas/LocalAddress' + remoteAddress: + $ref: '#/components/schemas/RemoteAddress' + EP_E1-Single: + allOf: + - $ref: 'genericNrm.yaml#/components/schemas/Top-Attr' + - type: object + properties: + attributes: + allOf: + - $ref: 'genericNrm.yaml#/components/schemas/EP_RP-Attr' + - type: object + properties: + localAddress: + $ref: '#/components/schemas/LocalAddress' + remoteAddress: + $ref: '#/components/schemas/RemoteAddress' + EP_F1C-Single: + allOf: + - $ref: 'genericNrm.yaml#/components/schemas/Top-Attr' + - type: object + properties: + attributes: + allOf: + - $ref: 'genericNrm.yaml#/components/schemas/EP_RP-Attr' + - type: object + properties: + localAddress: + $ref: '#/components/schemas/LocalAddress' + remoteAddress: + $ref: '#/components/schemas/RemoteAddress' + EP_NgC-Single: + allOf: + - $ref: 'genericNrm.yaml#/components/schemas/Top-Attr' + - type: object + properties: + attributes: + allOf: + - $ref: 'genericNrm.yaml#/components/schemas/EP_RP-Attr' + - type: object + properties: + localAddress: + $ref: '#/components/schemas/LocalAddress' + remoteAddress: + $ref: '#/components/schemas/RemoteAddress' + EP_X2C-Single: + allOf: + - $ref: 'genericNrm.yaml#/components/schemas/Top-Attr' + - type: object + properties: + attributes: + allOf: + - $ref: 'genericNrm.yaml#/components/schemas/EP_RP-Attr' + - type: object + properties: + localAddress: + $ref: '#/components/schemas/LocalAddress' + remoteAddress: + $ref: '#/components/schemas/RemoteAddress' + EP_XnU-Single: + allOf: + - $ref: 'genericNrm.yaml#/components/schemas/Top-Attr' + - type: object + properties: + attributes: + allOf: + - $ref: 'genericNrm.yaml#/components/schemas/EP_RP-Attr' + - type: object + properties: + localAddress: + $ref: '#/components/schemas/LocalAddress' + remoteAddress: + $ref: '#/components/schemas/RemoteAddress' + EP_F1U-Single: + allOf: + - $ref: 'genericNrm.yaml#/components/schemas/Top-Attr' + - type: object + properties: + attributes: + allOf: + - $ref: 'genericNrm.yaml#/components/schemas/EP_RP-Attr' + - type: object + properties: + localAddress: + $ref: '#/components/schemas/LocalAddress' + remoteAddress: + $ref: '#/components/schemas/RemoteAddress' + EP_NgU-Single: + allOf: + - $ref: 'genericNrm.yaml#/components/schemas/Top-Attr' + - type: object + properties: + attributes: + allOf: + - $ref: 'genericNrm.yaml#/components/schemas/EP_RP-Attr' + - type: object + properties: + localAddress: + $ref: '#/components/schemas/LocalAddress' + remoteAddress: + $ref: '#/components/schemas/RemoteAddress' + epTransportRefs: + $ref: 'comDefs.yaml#/components/schemas/DnList' + + EP_X2U-Single: + allOf: + - $ref: 'genericNrm.yaml#/components/schemas/Top-Attr' + - type: object + properties: + attributes: + allOf: + - $ref: 'genericNrm.yaml#/components/schemas/EP_RP-Attr' + - type: object + properties: + localAddress: + $ref: '#/components/schemas/LocalAddress' + remoteAddress: + $ref: '#/components/schemas/RemoteAddress' + EP_S1U-Single: + allOf: + - $ref: 'genericNrm.yaml#/components/schemas/Top-Attr' + - type: object + properties: + attributes: + allOf: + - $ref: 'genericNrm.yaml#/components/schemas/EP_RP-Attr' + - type: object + properties: + localAddress: + $ref: '#/components/schemas/LocalAddress' + remoteAddress: + $ref: '#/components/schemas/RemoteAddress' + +#-------- Definition of JSON arrays for name-contained IOCs ---------------------- + + SubNetwork-Multiple: + type: array + items: + $ref: '#/components/schemas/SubNetwork-Single' + ManagedElement-Multiple: + type: array + items: + $ref: '#/components/schemas/ManagedElement-Single' + GnbDuFunction-Multiple: + type: array + items: + $ref: '#/components/schemas/GnbDuFunction-Single' + GnbCuUpFunction-Multiple: + type: array + items: + $ref: '#/components/schemas/GnbCuUpFunction-Single' + GnbCuCpFunction-Multiple: + type: array + items: + $ref: '#/components/schemas/GnbCuCpFunction-Single' + + NrCellDu-Multiple: + type: array + items: + $ref: '#/components/schemas/NrCellDu-Single' + NrCellCu-Multiple: + type: array + items: + $ref: '#/components/schemas/NrCellCu-Single' + + NRFrequency-Multiple: + type: array + minItems: 1 + items: + $ref: '#/components/schemas/NRFrequency-Single' + EUtranFrequency-Multiple: + type: array + minItems: 1 + items: + $ref: '#/components/schemas/EUtranFrequency-Single' + + NrSectorCarrier-Multiple: + type: array + items: + $ref: '#/components/schemas/NrSectorCarrier-Single' + Bwp-Multiple: + type: array + items: + $ref: '#/components/schemas/Bwp-Single' + Beam-Multiple: + type: array + items: + $ref: '#/components/schemas/Beam-Single' + RRMPolicyRatio-Multiple: + type: array + items: + $ref: '#/components/schemas/RRMPolicyRatio-Single' + + NRCellRelation-Multiple: + type: array + items: + $ref: '#/components/schemas/NRCellRelation-Single' + EUtranCellRelation-Multiple: + type: array + items: + $ref: '#/components/schemas/EUtranCellRelation-Single' + NRFreqRelation-Multiple: + type: array + items: + $ref: '#/components/schemas/NRFreqRelation-Single' + EUtranFreqRelation-Multiple: + type: array + items: + $ref: '#/components/schemas/EUtranFreqRelation-Single' + + RimRSSet-Multiple: + type: array + items: + $ref: '#/components/schemas/RimRSSet-Single' + + ExternalGnbDuFunction-Multiple: + type: array + items: + $ref: '#/components/schemas/ExternalGnbDuFunction-Single' + ExternalGnbCuUpFunction-Multiple: + type: array + items: + $ref: '#/components/schemas/ExternalGnbCuUpFunction-Single' + ExternalGnbCuCpFunction-Multiple: + type: array + items: + $ref: '#/components/schemas/ExternalGnbCuCpFunction-Single' + ExternalNrCellCu-Multiple: + type: array + items: + $ref: '#/components/schemas/ExternalNrCellCu-Single' + + ExternalENBFunction-Multiple: + type: array + items: + $ref: '#/components/schemas/ExternalENBFunction-Single' + ExternalEUTranCell-Multiple: + type: array + items: + $ref: '#/components/schemas/ExternalEUTranCell-Single' + + EP_E1-Multiple: + type: array + items: + $ref: '#/components/schemas/EP_E1-Single' + EP_XnC-Multiple: + type: array + items: + $ref: '#/components/schemas/EP_XnC-Single' + EP_F1C-Multiple: + type: array + items: + $ref: '#/components/schemas/EP_F1C-Single' + EP_NgC-Multiple: + type: array + items: + $ref: '#/components/schemas/EP_NgC-Single' + EP_X2C-Multiple: + type: array + items: + $ref: '#/components/schemas/EP_X2C-Single' + EP_XnU-Multiple: + type: array + items: + $ref: '#/components/schemas/EP_XnU-Single' + EP_F1U-Multiple: + type: array + items: + $ref: '#/components/schemas/EP_F1U-Single' + EP_NgU-Multiple: + type: array + items: + $ref: '#/components/schemas/EP_NgU-Single' + EP_X2U-Multiple: + type: array + items: + $ref: '#/components/schemas/EP_X2U-Single' + EP_S1U-Multiple: + type: array + items: + $ref: '#/components/schemas/EP_S1U-Single' + +#-------- Definitions in TS 28.541 for TS 28.532 --------------------------------- + + resources-nrNrm: + oneOf: + - $ref: '#/components/schemas/SubNetwork-Single' + - $ref: '#/components/schemas/ManagedElement-Single' + + - $ref: '#/components/schemas/GnbDuFunction-Single' + - $ref: '#/components/schemas/GnbCuUpFunction-Single' + - $ref: '#/components/schemas/GnbCuCpFunction-Single' + + - $ref: '#/components/schemas/NrCellCu-Single' + - $ref: '#/components/schemas/NrCellDu-Single' + + - $ref: '#/components/schemas/NRFrequency-Single' + - $ref: '#/components/schemas/EUtranFrequency-Single' + + - $ref: '#/components/schemas/NrSectorCarrier-Single' + - $ref: '#/components/schemas/Bwp-Single' + - $ref: '#/components/schemas/CommonBeamformingFunction-Single' + - $ref: '#/components/schemas/Beam-Single' + - $ref: '#/components/schemas/RRMPolicyRatio-Single' + + - $ref: '#/components/schemas/NRCellRelation-Single' + - $ref: '#/components/schemas/EUtranCellRelation-Single' + - $ref: '#/components/schemas/NRFreqRelation-Single' + - $ref: '#/components/schemas/EUtranFreqRelation-Single' + + - $ref: '#/components/schemas/DANRManagementFunction-Single' + - $ref: '#/components/schemas/DESManagementFunction-Single' + - $ref: '#/components/schemas/DRACHOptimizationFunction-Single' + - $ref: '#/components/schemas/DMROFunction-Single' + - $ref: '#/components/schemas/DPCIConfigurationFunction-Single' + - $ref: '#/components/schemas/CPCIConfigurationFunction-Single' + - $ref: '#/components/schemas/CESManagementFunction-Single' + + - $ref: '#/components/schemas/RimRSGlobal-Single' + - $ref: '#/components/schemas/RimRSSet-Single' + + - $ref: '#/components/schemas/ExternalGnbDuFunction-Single' + - $ref: '#/components/schemas/ExternalGnbCuUpFunction-Single' + - $ref: '#/components/schemas/ExternalGnbCuCpFunction-Single' + - $ref: '#/components/schemas/ExternalNrCellCu-Single' + - $ref: '#/components/schemas/ExternalENBFunction-Single' + - $ref: '#/components/schemas/ExternalEUTranCell-Single' + + - $ref: '#/components/schemas/EP_XnC-Single' + - $ref: '#/components/schemas/EP_E1-Single' + - $ref: '#/components/schemas/EP_F1C-Single' + - $ref: '#/components/schemas/EP_NgC-Single' + - $ref: '#/components/schemas/EP_X2C-Single' + - $ref: '#/components/schemas/EP_XnU-Single' + - $ref: '#/components/schemas/EP_F1U-Single' + - $ref: '#/components/schemas/EP_NgU-Single' + - $ref: '#/components/schemas/EP_X2U-Single' + - $ref: '#/components/schemas/EP_S1U-Single' + diff --git a/kubernetes/dcaegen2-services/resources/external/schemas/sa91-rel16/perfMnS.yaml b/kubernetes/dcaegen2-services/resources/external/schemas/sa91-rel16/perfMnS.yaml new file mode 100644 index 0000000000..1fd64a7d22 --- /dev/null +++ b/kubernetes/dcaegen2-services/resources/external/schemas/sa91-rel16/perfMnS.yaml @@ -0,0 +1,76 @@ +openapi: 3.0.1 +info: + title: TS 28.532 Performance Threshold Monitoring MnS + version: 16.6.0 + description: >- + OAS 3.0.1 definition of the Performance Threshold Monitoring MnS + © 2020, 3GPP Organizational Partners (ARIB, ATIS, CCSA, ETSI, TSDSI, TTA, TTC). + All rights reserved. +externalDocs: + description: 3GPP TS 28.532 V16.6.0; Generic management services + url: http://www.3gpp.org/ftp/Specs/archive/28_series/28.532/ +servers: + - url: '{root}' + variables: + root: + description: >- + The open API server of the performance threshold monitoring service is + located in the consumer side, see monitoringNotifTarget attribute of + the IOC ThresholdMonitor defined in 3GPP TS 28.622 [11]. + default: http://example.com/3GPPManagement +paths: + /notificationSink: + post: + summary: Send notifications about performance threshold crossing + description: To send a notifyThresholdCrossing notification + requestBody: + required: true + content: + application/json: + schema: + $ref: '#/components/schemas/NotifyThresholdCrossing' + responses: + '204': + description: >- + Success case ("204 No Content"). The notification is successfully + delivered. The response message body is absent. + default: + description: Error case. + content: + application/json: + schema: + $ref: 'comDefs.yaml#/components/schemas/ErrorResponse' +components: + schemas: + PerfNotificationTypes: + type: string + enum: + - notifyThresholdCrossing + PerfMetricValue: + oneOf: + - type: integer + - $ref: 'comDefs.yaml#/components/schemas/Float' + PerfMetricDirection: + type: string + enum: + - UP + - DOWN + NotifyThresholdCrossing: + allOf: + - $ref: 'comDefs.yaml#/components/schemas/NotificationHeader' + - type: object + properties: + observedPerfMetricName: + type: string + observedPerfMetricValue: + $ref: '#/components/schemas/PerfMetricValue' + observedPerfMetricDirection: + $ref: '#/components/schemas/PerfMetricDirection' + thresholdValue: + $ref: '#/components/schemas/PerfMetricValue' + hysteresis: + $ref: '#/components/schemas/PerfMetricValue' + monitorGranularityPeriod: + type: integer + additionalText: + type: string diff --git a/kubernetes/dcaegen2/resources/external/schema/rel16/provMnS.yaml b/kubernetes/dcaegen2-services/resources/external/schemas/sa91-rel16/provMnS.yaml index b2f84a4d2a..1dd467e16a 100644 --- a/kubernetes/dcaegen2/resources/external/schema/rel16/provMnS.yaml +++ b/kubernetes/dcaegen2-services/resources/external/schemas/sa91-rel16/provMnS.yaml @@ -1,25 +1,25 @@ openapi: 3.0.1 info: title: Provisioning MnS - version: 16.4.0 + version: 16.5.0 description: >- OAS 3.0.1 definition of the Provisioning MnS © 2020, 3GPP Organizational Partners (ARIB, ATIS, CCSA, ETSI, TSDSI, TTA, TTC). All rights reserved. externalDocs: - description: 3GPP TS 28.532 V16.4.0; Generic management services + description: 3GPP TS 28.532; Generic management services url: http://www.3gpp.org/ftp/Specs/archive/28_series/28.532/ servers: - - url: 'http://{URI-DN-prefix}/{root}/ProvMnS/v1640/{LDN-first-part}' + - url: '{MnSRoot}/ProvMnS/{MnSVersion}/{URI-LDN-first-part}' variables: - URI-DN-prefix: - description: See subclause 4.4 of TS 32.158 - default: example.com - root: - description: See subclause 4.4 of TS 32.158 - default: 3GPPManagement - LDN-first-part: - description: See subclause 4.4 of TS 32.158 + MnSRoot: + description: See clause 4.4.2 of TS 32.158 + default: http://example.com/3GPPManagement + MnSVersion: + description: Version number of the OpenAPI definition + default: XXX + URI-LDN-first-part: + description: See clause 4.4.2 of TS 32.158 default: '' paths: '/{className}={id}': @@ -28,12 +28,12 @@ paths: in: path required: true schema: - $ref: '#/components/schemas/className-PathType' + type: string - name: id in: path required: true schema: - $ref: '#/components/schemas/id-PathType' + type: string put: summary: Replaces a complete single resource or creates it if it does not exist description: >- @@ -44,7 +44,7 @@ paths: content: application/json: schema: - $ref: '#/components/schemas/resourcePut-RequestType' + $ref: '#/components/schemas/Resource' responses: '200': description: >- @@ -60,7 +60,7 @@ paths: content: application/json: schema: - $ref: '#/components/schemas/resourceUpdate-ResponseType' + $ref: '#/components/schemas/Resource' '201': description: >- Success case ("201 Created"). @@ -70,7 +70,7 @@ paths: content: application/json: schema: - $ref: '#/components/schemas/resourceCreation-ResponseType' + $ref: '#/components/schemas/Resource' '204': description: >- Success case ("204 No Content"). @@ -82,7 +82,7 @@ paths: content: application/json: schema: - $ref: '#/components/schemas/error-ResponseType' + $ref: 'comDefs.yaml#/components/schemas/ErrorResponse' callbacks: notifyMOICreation: '{request.body#/notificationRecipientAddress}': @@ -92,7 +92,7 @@ paths: content: application/json: schema: - $ref: '#/components/schemas/notifyMOICreation-NotifType' + $ref: '#/components/schemas/NotifyMoiCreation' responses: '204': description: >- @@ -104,7 +104,7 @@ paths: content: application/json: schema: - $ref: '#/components/schemas/error-ResponseType' + $ref: 'comDefs.yaml#/components/schemas/ErrorResponse' notifyMOIDeletion: '{request.body#/notificationRecipientAddress}': post: @@ -113,7 +113,7 @@ paths: content: application/json: schema: - $ref: '#/components/schemas/notifyMOIDeletion-NotifType' + $ref: '#/components/schemas/NotifyMoiDeletion' responses: '204': description: >- @@ -125,8 +125,8 @@ paths: content: application/json: schema: - $ref: '#/components/schemas/error-ResponseType' - notifyMOIAttributeValueChange: + $ref: 'comDefs.yaml#/components/schemas/ErrorResponse' + notifyMOIAttributeValueChanges: '{request.body#/notificationRecipientAddress}': post: requestBody: @@ -134,7 +134,7 @@ paths: content: application/json: schema: - $ref: '#/components/schemas/notifyMOIAttributeValueChange-NotifType' + $ref: '#/components/schemas/NotifyMoiAttributeValueChanges' responses: '204': description: >- @@ -146,7 +146,7 @@ paths: content: application/json: schema: - $ref: '#/components/schemas/error-ResponseType' + $ref: 'comDefs.yaml#/components/schemas/ErrorResponse' notifyMOIChanges: '{request.body#/notificationRecipientAddress}': post: @@ -155,7 +155,7 @@ paths: content: application/json: schema: - $ref: '#/components/schemas/notifyMOIChanges-NotifType' + $ref: '#/components/schemas/NotifyMoiChanges' responses: '204': description: >- @@ -167,7 +167,7 @@ paths: content: application/json: schema: - $ref: '#/components/schemas/error-ResponseType' + $ref: 'comDefs.yaml#/components/schemas/ErrorResponse' get: summary: Reads one or multiple resources description: >- @@ -183,7 +183,7 @@ paths: mechanism is specified in the present document. required: false schema: - $ref: '#/components/schemas/scope-QueryType' + $ref: '#/components/schemas/Scope' style: form explode: true - name: filter @@ -196,7 +196,7 @@ paths: document. required: false schema: - $ref: '#/components/schemas/filter-QueryType' + $ref: 'comDefs.yaml#/components/schemas/Filter' - name: attributes in: query description: >- @@ -204,7 +204,9 @@ paths: are returned. required: true schema: - $ref: '#/components/schemas/attributes-QueryType' + type: array + items: + type: string style: form explode: false - name: fields @@ -214,7 +216,9 @@ paths: that are returned. required: false schema: - $ref: '#/components/schemas/fields-QueryType' + type: array + items: + type: string style: form explode: false responses: @@ -229,13 +233,13 @@ paths: content: application/json: schema: - $ref: '#/components/schemas/resourceRetrieval-ResponseType' + $ref: '#/components/schemas/Resource' default: description: Error case. content: application/json: schema: - $ref: '#/components/schemas/error-ResponseType' + $ref: 'comDefs.yaml#/components/schemas/ErrorResponse' patch: summary: Patches one or multiple resources description: >- @@ -254,16 +258,20 @@ paths: content: application/merge-patch+json: schema: - $ref: '#/components/schemas/jsonMergePatch-RequestType' + $ref: '#/components/schemas/Resource' application/3gpp-merge-patch+json: schema: - $ref: '#/components/schemas/3gppJsonMergePatch-RequestType' + $ref: '#/components/schemas/Resource' application/json-patch+json: schema: - $ref: '#/components/schemas/jsonPatch-RequestType' + type: array + items: + type: object application/3gpp-json-patch+json: schema: - $ref: '#/components/schemas/3gppJsonPatch-RequestType' + type: array + items: + type: object responses: '200': description: >- @@ -276,7 +284,7 @@ paths: content: application/json: schema: - $ref: '#/components/schemas/resourceUpdate-ResponseType' + $ref: '#/components/schemas/Resource' '204': description: >- Success case ("204 No Content"). @@ -288,7 +296,7 @@ paths: content: application/json: schema: - $ref: '#/components/schemas/error-ResponseType' + $ref: 'comDefs.yaml#/components/schemas/ErrorResponse' delete: summary: Deletes one or multiple resources description: >- @@ -303,7 +311,9 @@ paths: mechanism is specified in the present document. required: false schema: - $ref: '#/components/schemas/scope-QueryType' + $ref: '#/components/schemas/Scope' + style: form + explode: true - name: filter in: query description: >- @@ -314,7 +324,7 @@ paths: document. required: false schema: - $ref: '#/components/schemas/filter-QueryType' + $ref: 'comDefs.yaml#/components/schemas/Filter' responses: '200': description: >- @@ -331,136 +341,66 @@ paths: content: application/json: schema: - $ref: '#/components/schemas/resourceDeletion-ResponseType' + type: array + items: + $ref: 'comDefs.yaml#/components/schemas/Uri' default: description: Error case. content: application/json: schema: - $ref: '#/components/schemas/error-ResponseType' + $ref: 'comDefs.yaml#/components/schemas/ErrorResponse' components: schemas: - dateTime-Type: - type: string - format: date-time - long-Type: - type: integer - format: int64 - uri-Type: - type: string - correlatedNotification-Type: + CorrelatedNotification: type: object properties: source: - $ref: '#/components/schemas/uri-Type' + $ref: 'comDefs.yaml#/components/schemas/Dn' notificationIds: type: array items: - $ref: '#/components/schemas/notificationId-Type' - notificationId-Type: - $ref: '#/components/schemas/long-Type' - notificationType-Type: + $ref: 'comDefs.yaml#/components/schemas/NotificationId' + required: + - source + - notificationIds + CmNotificationTypes: type: string enum: - notifyMOICreation - notifyMOIDeletion - - notifyMOIAttributeValueChange - systemDN-Type: + - notifyMOIAttributeValueChanges + - notifyMOIChanges + SourceIndicator: type: string - additionalText-Type: - type: string - sourceIndicator-Type: + enum: + - RESOURCE_OPERATION + - MANAGEMENT_OPERATION + - SON_OPERATION + - UNKNOWN + Operation: type: string enum: - - resourceOperation - - mangementOperation - - sONOperation - - unknown - header-Type: - type: object - properties: - href: - $ref: '#/components/schemas/uri-Type' - notificationId: - $ref: '#/components/schemas/notificationId-Type' - notificationType: - $ref: '#/components/schemas/notificationType-Type' - eventTime: - $ref: '#/components/schemas/dateTime-Type' - systemDN: - $ref: '#/components/schemas/systemDN-Type' - required: - - href - - notificationId - - notificationType - - eventTime - - systemDN - scopeType-Type: + - CREATE + - DELETE + - REPLACE + ScopeType: type: string enum: - BASE_ONLY - BASE_NTH_LEVEL - BASE_SUBTREE - BASE_ALL - scopeLevel-Type: - type: integer - className-PathType: - type: string - id-PathType: - type: string - attributes-QueryType: - type: array - items: - type: string - fields-QueryType: - type: array - items: - type: string - filter-QueryType: - type: string - scope-QueryType: + Scope: type: object properties: scopeType: - $ref: '#/components/schemas/scopeType-Type' + $ref: '#/components/schemas/ScopeType' scopeLevel: - $ref: '#/components/schemas/scopeLevel-Type' + type: integer - resourcePut-RequestType: - $ref: '#/components/schemas/resourceRepresentation-Type' - jsonMergePatch-RequestType: - $ref: '#/components/schemas/resourceRepresentation-Type' - 3gppJsonMergePatch-RequestType: - $ref: '#/components/schemas/resourceRepresentation-Type' - jsonPatch-RequestType: - type: array - items: - type: object - 3gppJsonPatch-RequestType: - type: array - items: - type: object - error-ResponseType: - type: object - properties: - error: - type: object - properties: - errorInfo: - type: string - resourceRetrieval-ResponseType: - $ref: '#/components/schemas/resourceRepresentation-Type' - resourceCreation-ResponseType: - $ref: '#/components/schemas/resourceRepresentation-Type' - resourceUpdate-ResponseType: - $ref: '#/components/schemas/resourceRepresentation-Type' - resourceDeletion-ResponseType: - type: array - items: - $ref: '#/components/schemas/uri-Type' - - resourceRepresentation-Type: + Resource: oneOf: - type: object properties: @@ -478,102 +418,83 @@ components: - $ref: '5gcNrm.yaml#/components/schemas/resources-5gcNrm' - $ref: 'sliceNrm.yaml#/components/schemas/resources-sliceNrm' - mOIChange-Type: + MoiChange: type: object properties: notificationId: - $ref: '#/components/schemas/notificationId-Type' + $ref: 'comDefs.yaml#/components/schemas/NotificationId' correlatedNotifications: type: array items: - $ref: '#/components/schemas/correlatedNotification-Type' + $ref: '#/components/schemas/CorrelatedNotification' additionalText: - $ref: '#/components/schemas/additionalText-Type' + type: string sourceIndicator: - $ref: '#/components/schemas/sourceIndicator-Type' + $ref: '#/components/schemas/SourceIndicator' path: - $ref: '#/components/schemas/uri-Type' + $ref: 'comDefs.yaml#/components/schemas/Uri' operation: - type: string - enum: - - CREATE - - DELETE - - REPLACE + $ref: '#/components/schemas/Operation' value: oneOf: - - type: object - additionalProperties: - nullable: true - - type: array - items: - type: object - minItems: 1 - maxItems: 2 + - $ref: 'comDefs.yaml#/components/schemas/AttributeNameValuePairSet' + - $ref: 'comDefs.yaml#/components/schemas/AttributeValueChangeSet' - notifyMOICreation-NotifType: + NotifyMoiCreation: allOf: - - $ref: '#/components/schemas/header-Type' + - $ref: 'comDefs.yaml#/components/schemas/NotificationHeader' - type: object properties: correlatedNotifications: type: array items: - $ref: '#/components/schemas/correlatedNotification-Type' + $ref: '#/components/schemas/CorrelatedNotification' additionalText: - $ref: '#/components/schemas/additionalText-Type' + type: string sourceIndicator: - $ref: '#/components/schemas/sourceIndicator-Type' + $ref: '#/components/schemas/SourceIndicator' attributeList: - type: object - additionalProperties: - nullable: true - notifyMOIDeletion-NotifType: + $ref: 'comDefs.yaml#/components/schemas/AttributeNameValuePairSet' + NotifyMoiDeletion: allOf: - - $ref: '#/components/schemas/header-Type' + - $ref: 'comDefs.yaml#/components/schemas/NotificationHeader' - type: object properties: correlatedNotifications: type: array items: - $ref: '#/components/schemas/correlatedNotification-Type' + $ref: '#/components/schemas/CorrelatedNotification' additionalText: - $ref: '#/components/schemas/additionalText-Type' + type: string sourceIndicator: - $ref: '#/components/schemas/sourceIndicator-Type' + $ref: '#/components/schemas/SourceIndicator' attributeList: - type: object - additionalProperties: true - notifyMOIAttributeValueChange-NotifType: + $ref: 'comDefs.yaml#/components/schemas/AttributeNameValuePairSet' + NotifyMoiAttributeValueChanges: allOf: - - $ref: '#/components/schemas/header-Type' + - $ref: 'comDefs.yaml#/components/schemas/NotificationHeader' - type: object properties: correlatedNotifications: type: array items: - $ref: '#/components/schemas/correlatedNotification-Type' + $ref: '#/components/schemas/CorrelatedNotification' additionalText: - $ref: '#/components/schemas/additionalText-Type' + type: string sourceIndicator: - $ref: '#/components/schemas/sourceIndicator-Type' - attributeValueChange: - type: object - additionalProperties: - type: array - minItems: 1 - maxItems: 2 - items: - nullable: true + $ref: '#/components/schemas/SourceIndicator' + attributeListValueChanges: + $ref: 'comDefs.yaml#/components/schemas/AttributeValueChangeSet' required: - - attributeValueChange - notifyMOIChanges-NotifType: + - attributeListValueChanges + NotifyMoiChanges: allOf: - - $ref: '#/components/schemas/header-Type' + - $ref: 'comDefs.yaml#/components/schemas/NotificationHeader' - type: object properties: - mOIChanges: + moiChanges: type: array items: - $ref: '#/components/schemas/mOIChange-Type' + $ref: '#/components/schemas/MoiChange' required: - - mOIChanges + - moiChanges diff --git a/kubernetes/dcaegen2-services/resources/external/schemas/sa91-rel16/sliceNrm.yaml b/kubernetes/dcaegen2-services/resources/external/schemas/sa91-rel16/sliceNrm.yaml new file mode 100644 index 0000000000..1fa8d70ff3 --- /dev/null +++ b/kubernetes/dcaegen2-services/resources/external/schemas/sa91-rel16/sliceNrm.yaml @@ -0,0 +1,418 @@ +openapi: 3.0.1 +info: + title: Slice NRM + version: 16.8.0 + description: >- + OAS 3.0.1 specification of the Slice NRM + @ 2020, 3GPP Organizational Partners (ARIB, ATIS, CCSA, ETSI, TSDSI, TTA, TTC). + All rights reserved. +externalDocs: + description: 3GPP TS 28.541 V16.4.0; 5G NRM, Slice NRM + url: http://www.3gpp.org/ftp/Specs/archive/28_series/28.541/ +paths: {} +components: + schemas: + +#------------ Type definitions --------------------------------------------------- + + Float: + type: number + format: float + MobilityLevel: + type: string + enum: + - STATIONARY + - NOMADIC + - RESTRICTED MOBILITY + - FULLY MOBILITY + SharingLevel: + type: string + enum: + - SHARED + - NON-SHARED + NetworkSliceSharingIndicator: + type: string + enum: + - SHARED + - NON-SHARED + PerfReqEmbb: + type: object + properties: + expDataRateDL: + type: number + expDataRateUL: + type: number + areaTrafficCapDL: + type: number + areaTrafficCapUL: + type: number + userDensity: + type: number + activityFactor: + type: number + PerfReqEmbbList: + type: array + items: + $ref: '#/components/schemas/PerfReqEmbb' + PerfReqUrllc: + type: object + properties: + cSAvailabilityTarget: + type: number + cSReliabilityMeanTime: + type: string + expDataRate: + type: number + msgSizeByte: + type: string + transferIntervalTarget: + type: string + survivalTime: + type: string + PerfReqUrllcList: + type: array + items: + $ref: '#/components/schemas/PerfReqUrllc' + PerfReq: + oneOf: + - $ref: '#/components/schemas/PerfReqEmbbList' + - $ref: '#/components/schemas/PerfReqUrllcList' + Category: + type: string + enum: + - CHARACTER + - SCALABILITY + Tagging: + type: array + items: + type: string + enum: + - PERFORMANCE + - FUNCTION + - OPERATION + + + Exposure: + type: string + enum: + - API + - KPI + ServAttrCom: + type: object + properties: + category: + $ref: '#/components/schemas/Category' + tagging: + $ref: '#/components/schemas/Tagging' + exposure: + $ref: '#/components/schemas/Exposure' + Support: + type: string + enum: + - NOT SUPPORTED + - SUPPORTED + DelayTolerance: + type: object + properties: + servAttrCom: + $ref: '#/components/schemas/ServAttrCom' + support: + $ref: '#/components/schemas/Support' + DeterministicComm: + type: object + properties: + servAttrCom: + $ref: '#/components/schemas/ServAttrCom' + availability: + $ref: '#/components/schemas/Support' + periodicityList: + type: string + DLThptPerSlice: + type: object + properties: + servAttrCom: + $ref: '#/components/schemas/ServAttrCom' + guaThpt: + $ref: '#/components/schemas/Float' + maxThpt: + $ref: '#/components/schemas/Float' + DLThptPerUE: + type: object + properties: + servAttrCom: + $ref: '#/components/schemas/ServAttrCom' + guaThpt: + $ref: '#/components/schemas/Float' + maxThpt: + $ref: '#/components/schemas/Float' + ULThptPerSlice: + type: object + properties: + servAttrCom: + $ref: '#/components/schemas/ServAttrCom' + guaThpt: + $ref: '#/components/schemas/Float' + maxThpt: + $ref: '#/components/schemas/Float' + ULThptPerUE: + type: object + properties: + servAttrCom: + $ref: '#/components/schemas/ServAttrCom' + guaThpt: + $ref: '#/components/schemas/Float' + maxThpt: + $ref: '#/components/schemas/Float' + MaxPktSize: + type: object + properties: + servAttrCom: + $ref: '#/components/schemas/ServAttrCom' + maxsize: + type: integer + MaxNumberofConns: + type: object + properties: + servAttrCom: + $ref: '#/components/schemas/ServAttrCom' + nOofConn: + type: integer + KPIMonitoring: + type: object + properties: + servAttrCom: + $ref: '#/components/schemas/ServAttrCom' + kPIList: + type: string + UserMgmtOpen: + type: object + properties: + servAttrCom: + $ref: '#/components/schemas/ServAttrCom' + support: + $ref: '#/components/schemas/Support' + V2XCommModels: + type: object + properties: + servAttrCom: + $ref: '#/components/schemas/ServAttrCom' + v2XMode: + $ref: '#/components/schemas/Support' + TermDensity: + type: object + properties: + servAttrCom: + $ref: '#/components/schemas/ServAttrCom' + density: + type: integer + NsInfo: + type: object + properties: + nsInstanceId: + type: string + nsName: + type: string + ServiceProfile: + type: object + properties: + serviceProfileId: + type: string + plmnInfoList: + $ref: 'nrNrm.yaml#/components/schemas/PlmnInfoList' + maxNumberofUEs: + type: number + latency: + type: number + uEMobilityLevel: + $ref: '#/components/schemas/MobilityLevel' + sst: + $ref: 'nrNrm.yaml#/components/schemas/Sst' + networkSliceSharingIndicator: + $ref: '#/components/schemas/NetworkSliceSharingIndicator' + availability: + type: number + delayTolerance: + $ref: '#/components/schemas/DelayTolerance' + deterministicComm: + $ref: '#/components/schemas/DeterministicComm' + dLThptPerSlice: + $ref: '#/components/schemas/DLThptPerSlice' + dLThptPerUE: + $ref: '#/components/schemas/DLThptPerUE' + uLThptPerSlice: + $ref: '#/components/schemas/ULThptPerSlice' + uLThptPerUE: + $ref: '#/components/schemas/ULThptPerUE' + maxPktSize: + $ref: '#/components/schemas/MaxPktSize' + maxNumberofConns: + $ref: '#/components/schemas/MaxNumberofConns' + kPIMonitoring: + $ref: '#/components/schemas/KPIMonitoring' + userMgmtOpen: + $ref: '#/components/schemas/UserMgmtOpen' + v2XModels: + $ref: '#/components/schemas/V2XCommModels' + coverageArea: + type: string + termDensity: + $ref: '#/components/schemas/TermDensity' + activityFactor: + $ref: '#/components/schemas/Float' + uESpeed: + type: integer + jitter: + type: integer + survivalTime: + type: string + reliability: + type: string + SliceProfile: + type: object + properties: + sliceProfileId: + type: string + + plmnInfoList: + $ref: 'nrNrm.yaml#/components/schemas/PlmnInfoList' + perfReq: + $ref: '#/components/schemas/PerfReq' + maxNumberofUEs: + type: number + coverageAreaTAList: + $ref: '5gcNrm.yaml#/components/schemas/TACList' + latency: + type: number + uEMobilityLevel: + $ref: '#/components/schemas/MobilityLevel' + resourceSharingLevel: + $ref: '#/components/schemas/SharingLevel' + + IpAddress: + oneOf: + - $ref: 'genericNrm.yaml#/components/schemas/Ipv4Addr' + - $ref: 'genericNrm.yaml#/components/schemas/Ipv6Addr' + ServiceProfileList: + type: array + items: + $ref: '#/components/schemas/ServiceProfile' + + SliceProfileList: + type: array + items: + $ref: '#/components/schemas/SliceProfile' + +#------------ Definition of concrete IOCs ---------------------------------------- + + SubNetwork-Single: + allOf: + - $ref: 'genericNrm.yaml#/components/schemas/Top-Attr' + - type: object + properties: + attributes: + allOf: + - $ref: 'genericNrm.yaml#/components/schemas/SubNetwork-Attr' + - $ref: 'genericNrm.yaml#/components/schemas/SubNetwork-ncO' + - type: object + properties: + SubNetwork: + $ref: '#/components/schemas/SubNetwork-Multiple' + NetworkSlice: + $ref: '#/components/schemas/NetworkSlice-Multiple' + NetworkSliceSubnet: + $ref: '#/components/schemas/NetworkSliceSubnet-Multiple' + EP_Transport: + $ref: '#/components/schemas/EP_Transport-Multiple' + + NetworkSlice-Single: + allOf: + - $ref: 'genericNrm.yaml#/components/schemas/Top-Attr' + - type: object + properties: + attributes: + allOf: + - $ref: 'genericNrm.yaml#/components/schemas/SubNetwork-Attr' + - type: object + properties: + networkSliceSubnetRef: + $ref: 'comDefs.yaml#/components/schemas/Dn' + operationalState: + $ref: 'comDefs.yaml#/components/schemas/OperationalState' + administrativeState: + $ref: 'comDefs.yaml#/components/schemas/AdministrativeState' + serviceProfileList: + $ref: '#/components/schemas/ServiceProfileList' + + NetworkSliceSubnet-Single: + allOf: + - $ref: 'genericNrm.yaml#/components/schemas/Top-Attr' + - type: object + properties: + attributes: + allOf: + - $ref: 'genericNrm.yaml#/components/schemas/SubNetwork-Attr' + - type: object + properties: + managedFunctionRefList: + $ref: 'comDefs.yaml#/components/schemas/DnList' + networkSliceSubnetRefList: + $ref: 'comDefs.yaml#/components/schemas/DnList' + operationalState: + $ref: 'comDefs.yaml#/components/schemas/OperationalState' + administrativeState: + $ref: 'comDefs.yaml#/components/schemas/AdministrativeState' + nsInfo: + $ref: '#/components/schemas/NsInfo' + sliceProfileList: + $ref: '#/components/schemas/SliceProfileList' + epTransportRefList: + $ref: 'comDefs.yaml#/components/schemas/DnList' + + EP_Transport-Single: + allOf: + - $ref: 'genericNrm.yaml#/components/schemas/Top-Attr' + - type: object + properties: + attributes: + type: object + properties: + ipAddress: + $ref: '#/components/schemas/IpAddress' + logicInterfaceId: + type: string + nextHopInfo: + type: string + qosProfile: + type: string + epApplicationRefs: + $ref: 'comDefs.yaml#/components/schemas/DnList' + +#-------- Definition of JSON arrays for name-contained IOCs ---------------------- + SubNetwork-Multiple: + type: array + items: + $ref: '#/components/schemas/SubNetwork-Single' + + NetworkSlice-Multiple: + type: array + items: + $ref: '#/components/schemas/NetworkSlice-Single' + + NetworkSliceSubnet-Multiple: + type: array + items: + $ref: '#/components/schemas/NetworkSliceSubnet-Single' + + EP_Transport-Multiple: + type: array + items: + $ref: '#/components/schemas/EP_Transport-Single' + +#------------ Definitions in TS 28.541 for TS 28.532 ----------------------------- + + resources-sliceNrm: + oneOf: + - $ref: '#/components/schemas/SubNetwork-Single' + - $ref: '#/components/schemas/NetworkSlice-Single' + - $ref: '#/components/schemas/NetworkSliceSubnet-Single' + - $ref: '#/components/schemas/EP_Transport-Single' diff --git a/kubernetes/dcaegen2-services/templates/configmap.yaml b/kubernetes/dcaegen2-services/templates/configmap.yaml index a2c7c56965..92662a251e 100644 --- a/kubernetes/dcaegen2-services/templates/configmap.yaml +++ b/kubernetes/dcaegen2-services/templates/configmap.yaml @@ -24,4 +24,20 @@ metadata: name: {{ include "common.release" . }}-dcae-expected-microservices namespace: {{ include "common.namespace" . }} data: -{{ tpl (.Files.Glob "resources/*").AsConfig . | indent 2 }}
\ No newline at end of file +{{ tpl (.Files.Glob "resources/*").AsConfig . | indent 2 }} +--- +apiVersion: v1 +kind: ConfigMap +metadata: + name: {{ include "common.release" . }}-dcae-external-repo-configmap-schema-map + namespace: {{ include "common.namespace" . }} +data: +{{ (.Files.Glob "resources/external/map/*").AsConfig | indent 2 }} +--- +apiVersion: v1 +kind: ConfigMap +metadata: + name: {{ include "common.release" . }}-dcae-external-repo-configmap-sa91-rel16 + namespace: {{ include "common.namespace" . }} +data: +{{ (.Files.Glob "resources/external/schemas/sa91-rel16/*").AsConfig | indent 2 }}
\ No newline at end of file diff --git a/kubernetes/dcaegen2-services/values.yaml b/kubernetes/dcaegen2-services/values.yaml index 5682ce7194..50aa21741b 100644 --- a/kubernetes/dcaegen2-services/values.yaml +++ b/kubernetes/dcaegen2-services/values.yaml @@ -25,3 +25,5 @@ dcae-tcagen2: enabled: true dcae-ves-collector: enabled: true +dcae-slice-analysis-ms: + enabled: false diff --git a/kubernetes/dcaegen2/components/dcae-bootstrap/values.yaml b/kubernetes/dcaegen2/components/dcae-bootstrap/values.yaml index 694940ec3d..0a97f9e0c0 100644 --- a/kubernetes/dcaegen2/components/dcae-bootstrap/values.yaml +++ b/kubernetes/dcaegen2/components/dcae-bootstrap/values.yaml @@ -110,7 +110,7 @@ default_k8s_location: central # DCAE component images to be deployed via Cloudify Manager # Use to override default setting in blueprints componentImages: - tcagen2: onap/org.onap.dcaegen2.analytics.tca-gen2.dcae-analytics-tca-web:1.2.1 + tcagen2: onap/org.onap.dcaegen2.analytics.tca-gen2.dcae-analytics-tca-web:1.3.0 ves: onap/org.onap.dcaegen2.collectors.ves.vescollector:1.9.2 prh: onap/org.onap.dcaegen2.services.prh.prh-app-server:1.5.6 hv_ves: onap/org.onap.dcaegen2.collectors.hv-ves.hv-collector-main:1.8.0 diff --git a/kubernetes/dcaegen2/components/dcae-cloudify-manager/resources/config/plugins/k8s-plugin.json b/kubernetes/dcaegen2/components/dcae-cloudify-manager/resources/config/plugins/k8s-plugin.json index 3c769fca5f..fb1a40edfd 100644 --- a/kubernetes/dcaegen2/components/dcae-cloudify-manager/resources/config/plugins/k8s-plugin.json +++ b/kubernetes/dcaegen2/components/dcae-cloudify-manager/resources/config/plugins/k8s-plugin.json @@ -41,9 +41,6 @@ "ca_cert_configmap": "{{ include "common.fullname" . }}-dcae-cacert" }, "external_cert": { - "image_tag": "{{ include "repositoryGenerator.repository" . }}/{{ .Values.cmpv2Config.global.platform.certServiceClient.image }}", - "request_url": "{{ .Values.cmpv2Config.global.platform.certServiceClient.envVariables.requestURL }}", - "timeout": "{{ .Values.cmpv2Config.global.platform.certServiceClient.envVariables.requestTimeout }}", "country": "{{ .Values.cmpv2Config.global.certificate.default.subject.country }}", "organization": "{{ .Values.cmpv2Config.global.certificate.default.subject.organization }}", "state": "{{ .Values.cmpv2Config.global.certificate.default.subject.province }}", @@ -61,7 +58,7 @@ "image_tag": "{{ include "repositoryGenerator.repository" . }}/{{ .Values.cmpv2Config.global.platform.certPostProcessor.image }}" }, "cmpv2_issuer": { - "enabled": "{{ .Values.global.CMPv2CertManagerIntegration }}", + "enabled": "true", "name": "{{ .Values.cmpv2issuer.name }}" } } diff --git a/kubernetes/dcaegen2/components/dcae-cloudify-manager/values.yaml b/kubernetes/dcaegen2/components/dcae-cloudify-manager/values.yaml index fcc8f6d4b0..313ac9b34d 100644 --- a/kubernetes/dcaegen2/components/dcae-cloudify-manager/values.yaml +++ b/kubernetes/dcaegen2/components/dcae-cloudify-manager/values.yaml @@ -28,8 +28,6 @@ global: repositoryCred: user: docker password: docker - # Enabling CMPv2 with CertManager - CMPv2CertManagerIntegration: false cmpv2issuer: name: cmpv2-issuer-onap diff --git a/kubernetes/dcaegen2/components/dcae-dashboard/values.yaml b/kubernetes/dcaegen2/components/dcae-dashboard/values.yaml index a1431488b8..83914d423c 100644 --- a/kubernetes/dcaegen2/components/dcae-dashboard/values.yaml +++ b/kubernetes/dcaegen2/components/dcae-dashboard/values.yaml @@ -1,6 +1,6 @@ #============LICENSE_START======================================================== # ================================================================================ -# Copyright (c) 2019-2020 AT&T Intellectual Property. All rights reserved. +# Copyright (c) 2019-2021 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. @@ -103,10 +103,10 @@ flavor: small resources: small: limits: - cpu: 2 - memory: 2Gi + cpu: 4000m + memory: 4Gi requests: - cpu: 1 + cpu: 1500m memory: 1Gi large: limits: diff --git a/kubernetes/dcaegen2/components/dcae-ves-openapi-manager/templates/deployment.yaml b/kubernetes/dcaegen2/components/dcae-ves-openapi-manager/templates/deployment.yaml index 929b380962..f2826a77a0 100644 --- a/kubernetes/dcaegen2/components/dcae-ves-openapi-manager/templates/deployment.yaml +++ b/kubernetes/dcaegen2/components/dcae-ves-openapi-manager/templates/deployment.yaml @@ -55,7 +55,7 @@ spec: volumes: - name: schema-map configMap: - name: dcae-external-repo-configmap-schema-map + name: {{ include "common.release" . }}-dcae-external-repo-configmap-schema-map defaultMode: 0755 items: - key: {{ .Values.schemaMap.filename }} diff --git a/kubernetes/dcaegen2/resources/external/map/schema-map.json b/kubernetes/dcaegen2/resources/external/map/schema-map.json deleted file mode 100644 index a70c597bff..0000000000 --- a/kubernetes/dcaegen2/resources/external/map/schema-map.json +++ /dev/null @@ -1,18 +0,0 @@ -[ - { - "publicURL": "https://forge.3gpp.org/rep/sa5/MnS/blob/SA88-Rel16/OpenAPI/faultMnS.yaml", - "localURL": "3gpp/rep/sa5/MnS/blob/SA88-Rel16/OpenAPI/faultMnS.yaml" - }, - { - "publicURL": "https://forge.3gpp.org/rep/sa5/MnS/blob/SA88-Rel16/OpenAPI/heartbeatNtf.yaml", - "localURL": "3gpp/rep/sa5/MnS/blob/SA88-Rel16/OpenAPI/heartbeatNtf.yaml" - }, - { - "publicURL": "https://forge.3gpp.org/rep/sa5/MnS/blob/SA88-Rel16/OpenAPI/PerDataFileReportMnS.yaml", - "localURL": "3gpp/rep/sa5/MnS/blob/SA88-Rel16/OpenAPI/PerDataFileReportMnS.yaml" - }, - { - "publicURL": "https://forge.3gpp.org/rep/sa5/MnS/blob/SA88-Rel16/OpenAPI/provMnS.yaml", - "localURL": "3gpp/rep/sa5/MnS/blob/SA88-Rel16/OpenAPI/provMnS.yaml" - } -]
\ No newline at end of file diff --git a/kubernetes/dcaegen2/templates/configmap.yaml b/kubernetes/dcaegen2/templates/configmap.yaml index a9917a55ce..8a389ed408 100644 --- a/kubernetes/dcaegen2/templates/configmap.yaml +++ b/kubernetes/dcaegen2/templates/configmap.yaml @@ -24,19 +24,3 @@ metadata: namespace: {{ include "common.namespace" . }} data: {{ tpl (.Files.Glob "resources/*").AsConfig . | indent 2 }} ---- -apiVersion: v1 -kind: ConfigMap -metadata: - name: dcae-external-repo-configmap-schema-map - namespace: {{ include "common.namespace" . }} -data: -{{ (.Files.Glob "resources/external/map/*").AsConfig | indent 2 }} ---- -apiVersion: v1 -kind: ConfigMap -metadata: - name: dcae-external-repo-configmap-sa88-rel16 - namespace: {{ include "common.namespace" . }} -data: -{{ (.Files.Glob "resources/external/schema/rel16/*").AsConfig | indent 2 }} diff --git a/kubernetes/helm/plugins/deploy/deploy.sh b/kubernetes/helm/plugins/deploy/deploy.sh index 0d434ad877..ce8e80225f 100755 --- a/kubernetes/helm/plugins/deploy/deploy.sh +++ b/kubernetes/helm/plugins/deploy/deploy.sh @@ -49,14 +49,14 @@ generate_overrides() { for index in "${!SUBCHART_NAMES[@]}"; do START=${SUBCHART_NAMES[index]} END=${SUBCHART_NAMES[index+1]} - if [[ $START = "global:" ]]; then + if [ "$START" = "global:" ]; then echo "global:" > $GLOBAL_OVERRIDES cat $COMPUTED_OVERRIDES | sed '/common:/,/consul:/d' \ | sed -n '/^'"$START"'/,/'log:'/p' | sed '1d;$d' >> $GLOBAL_OVERRIDES else SUBCHART_DIR="$CACHE_SUBCHART_DIR/$(echo "$START" |cut -d':' -f1)" - if [[ -d "$SUBCHART_DIR" ]]; then - if [[ -z "$END" ]]; then + if [ -d "$SUBCHART_DIR" ]; then + if [ -z "$END" ]; then cat $COMPUTED_OVERRIDES | sed -n '/^'"$START"'/,/'"$END"'/p' \ | sed '1d;$d' | cut -c3- > $SUBCHART_DIR/subchart-overrides.yaml else @@ -72,11 +72,11 @@ resolve_deploy_flags() { n=${#flags[*]} i=0 ; while [ "$i" -lt "$n" ]; do PARAM=${flags[i]} - if [[ $PARAM = "-f" || \ - $PARAM = "--values" || \ - $PARAM = "--set" || \ - $PARAM = "--set-string" || \ - $PARAM = "--version" ]]; then + if [ "$PARAM" = "-f" ] || \ + [ "$PARAM" = "--values" ] || \ + [ "$PARAM" = "--set" ] || \ + [ "$PARAM" = "--set-string" ] || \ + [ "$PARAM" = "--version" ]; then # skip param and its value i=$((i + 1)) else @@ -89,7 +89,7 @@ resolve_deploy_flags() { deploy() { # validate params - if [[ -z "$1" || -z "$2" ]]; then + if [ -z "$1" ] || [ -z "$2" ]; then usage exit 0 fi @@ -99,7 +99,7 @@ deploy() { FLAGS=${@:3} CHART_REPO="$(echo "$CHART_URL" |cut -d'/' -f1)" CHART_NAME="$(echo "$CHART_URL" |cut -d'/' -f2)" - if [[ $HELM_VER = "v3."* ]]; then + if expr "$HELM_VER" : "v3\..*" ; then CACHE_DIR=~/.local/share/helm/plugins/deploy/cache else CACHE_DIR=~/.helm/plugins/deploy/cache @@ -111,23 +111,23 @@ deploy() { # determine if verbose output is enabled VERBOSE="false" - if [[ $FLAGS = *"--verbose"* ]]; then + if expr "$FLAGS" : ".*--verbose.*" ; then FLAGS="$(echo $FLAGS| sed -n 's/--verbose//p')" VERBOSE="true" fi # determine if delay for deployment is enabled DELAY="false" - if [[ $FLAGS = *"--delay"* ]]; then + if expr "$FLAGS" : ".*--delay.*" ; then FLAGS="$(echo $FLAGS| sed -n 's/--delay//p')" DELAY="true" fi # determine if set-last-applied flag is enabled SET_LAST_APPLIED="false" - if [[ $FLAGS = *"--set-last-applied"* ]]; then + if expr"$FLAGS" : ".*--set-last-applied.*" ; then FLAGS="$(echo $FLAGS| sed -n 's/--set-last-applied//p')" SET_LAST_APPLIED="true" fi - if [[ $FLAGS = *"--dry-run"* ]]; then + if expr "$FLAGS" : ".*--dry-run.*" ; then VERBOSE="true" FLAGS="$FLAGS --debug" fi @@ -150,7 +150,7 @@ deploy() { SUBCHART_RELEASE="$(echo "$RELEASE" |cut -d'-' -f2)" # update specified subchart without parent RELEASE="$(echo "$RELEASE" |cut -d'-' -f1)" - if [[ $SUBCHART_RELEASE = $RELEASE ]]; then + if [ "$SUBCHART_RELEASE" = "$RELEASE" ]; then SUBCHART_RELEASE= fi @@ -158,7 +158,7 @@ deploy() { rm -rf $CACHE_DIR # fetch umbrella chart (parent chart containing subcharts) - if [[ -d "$CHART_URL" ]]; then + if [ -d "$CHART_URL" ]; then mkdir -p $CHART_DIR cp -R $CHART_URL/* $CHART_DIR/ @@ -195,20 +195,20 @@ deploy() { generate_overrides $COMPUTED_OVERRIDES $GLOBAL_OVERRIDES # upgrade/install parent chart first - if [[ -z "$SUBCHART_RELEASE" ]]; then + if [ -z "$SUBCHART_RELEASE" ]; then LOG_FILE=$LOG_DIR/${RELEASE}.log :> $LOG_FILE helm upgrade -i $RELEASE $CHART_DIR $DEPLOY_FLAGS -f $COMPUTED_OVERRIDES \ > $LOG_FILE.log 2>&1 - if [[ $VERBOSE = "true" ]]; then + if [ "$VERBOSE" = "true" ]; then cat $LOG_FILE else echo "release \"$RELEASE\" deployed" fi # Add annotation last-applied-configuration if set-last-applied flag is set - if [[ $SET_LAST_APPLIED = "true" ]]; then + if [ "$SET_LAST_APPLIED" = "true" ]; then helm get manifest ${RELEASE} \ | kubectl apply set-last-applied --create-annotation -n onap -f - \ > $LOG_FILE.log 2>&1 @@ -224,12 +224,12 @@ deploy() { SUBCHART_OVERRIDES=$CACHE_SUBCHART_DIR/$subchart/subchart-overrides.yaml SUBCHART_ENABLED=0 - if [[ -f $SUBCHART_OVERRIDES ]]; then + if [ -f $SUBCHART_OVERRIDES ]; then SUBCHART_ENABLED=$(cat $SUBCHART_OVERRIDES | grep -c "^enabled: true") fi - if [[ $SUBCHART_ENABLED -eq 1 ]]; then - if [[ -z "$SUBCHART_RELEASE" || $SUBCHART_RELEASE = "$subchart" ]]; then + if [ $SUBCHART_ENABLED -eq 1 ]; then + if [ -z "$SUBCHART_RELEASE" ] || [ "$SUBCHART_RELEASE" = "$subchart" ]; then LOG_FILE=$LOG_DIR/"${RELEASE}-${subchart}".log :> $LOG_FILE @@ -237,19 +237,19 @@ deploy() { $DEPLOY_FLAGS -f $GLOBAL_OVERRIDES -f $SUBCHART_OVERRIDES \ > $LOG_FILE 2>&1 - if [[ $VERBOSE = "true" ]]; then + if [ "$VERBOSE" = "true" ]; then cat $LOG_FILE else echo "release \"${RELEASE}-${subchart}\" deployed" fi # Add annotation last-applied-configuration if set-last-applied flag is set - if [[ $SET_LAST_APPLIED = "true" ]]; then + if [ "$SET_LAST_APPLIED" = "true" ]; then helm get manifest "${RELEASE}-${subchart}" \ | kubectl apply set-last-applied --create-annotation -n onap -f - \ > $LOG_FILE.log 2>&1 fi fi - if [[ $DELAY = "true" ]]; then + if [ "$DELAY" = "true" ]; then echo sleep 3m sleep 3m fi @@ -257,7 +257,7 @@ deploy() { array=($(echo "$ALL_HELM_RELEASES" | grep "${RELEASE}-${subchart}")) n=${#array[*]} for i in $(seq $(($n-1)) -1 0); do - if [[ $HELM_VER = "v3."* ]]; then + if expr "$HELM_VER" : "v3\..*" ; then helm del "${array[i]}" else helm del "${array[i]}" --purge @@ -267,7 +267,7 @@ deploy() { done # report on success/failures of installs/upgrades - if [[ $HELM_VER = "v3."* ]]; then + if expr "$HELM_VER" : "v3\..*" ; then helm ls --all-namespaces | grep -i FAILED | grep $RELEASE else helm ls | grep FAILED | grep $RELEASE diff --git a/kubernetes/helm/plugins/undeploy/undeploy.sh b/kubernetes/helm/plugins/undeploy/undeploy.sh index 1689bf1b48..790f84fda9 100755 --- a/kubernetes/helm/plugins/undeploy/undeploy.sh +++ b/kubernetes/helm/plugins/undeploy/undeploy.sh @@ -29,7 +29,7 @@ undeploy() { done } -if [[ $# < 1 ]]; then +if [ $# < 1 ]; then echo "Error: command 'undeploy' requires a release name" exit 0 fi diff --git a/kubernetes/onap/resources/overrides/onap-all.yaml b/kubernetes/onap/resources/overrides/onap-all.yaml index d6c447240d..521cf2ff8b 100644 --- a/kubernetes/onap/resources/overrides/onap-all.yaml +++ b/kubernetes/onap/resources/overrides/onap-all.yaml @@ -20,7 +20,6 @@ global: addTestingComponents: &testing true centralizedLoggingEnabled: ¢ralizedLogging false - CMPv2CertManagerIntegration: false cassandra: enabled: true mariadb-galera: diff --git a/kubernetes/onap/resources/overrides/oom-cert-service-environment.yaml b/kubernetes/onap/resources/overrides/oom-cert-service-environment.yaml index 643d3065c1..7b3603c041 100644 --- a/kubernetes/onap/resources/overrides/oom-cert-service-environment.yaml +++ b/kubernetes/onap/resources/overrides/oom-cert-service-environment.yaml @@ -1,5 +1,5 @@ # Copyright © 2020 Nordix Foundation -# Modifications Copyright © 2020 Nokia +# Modifications Copyright © 2020-2021 Nokia # # Licensed under the Apache License, Version 2.0 (the "License"); # you may not use this file except in compliance with the License. @@ -35,15 +35,17 @@ ################################################################# global: cmpv2Enabled: true - CMPv2CertManagerIntegration: true - platform: - certServiceClient: - envVariables: - # Certificate related - cmpv2Organization: "Linux-Foundation" - cmpv2OrganizationalUnit: "ONAP" - cmpv2Location: "San-Francisco" - cmpv2State: "California" - cmpv2Country: "US" - # Client configuration related - caName: "RA" + certificate: + default: + renewBefore: 720h #30 days + duration: 8760h #365 days + subject: + organization: "Linux-Foundation" + country: "US" + locality: "San-Francisco" + province: "California" + organizationalUnit: "ONAP" + issuer: + group: certmanager.onap.org + kind: CMPv2Issuer + name: cmpv2-issuer-onap diff --git a/kubernetes/onap/values.yaml b/kubernetes/onap/values.yaml index d91284a6c3..0e2b13b473 100755 --- a/kubernetes/onap/values.yaml +++ b/kubernetes/onap/values.yaml @@ -194,7 +194,6 @@ global: # Enabling CMPv2 cmpv2Enabled: true - CMPv2CertManagerIntegration: false platform: certificates: clientSecretName: oom-cert-service-client-tls-secret @@ -204,17 +203,6 @@ global: keystorePasswordSecretKey: password truststorePasswordSecretName: oom-cert-service-certificates-password truststorePasswordSecretKey: password - certServiceClient: - image: onap/org.onap.oom.platform.cert-service.oom-certservice-client:2.3.3 - certificatesSecretMountPath: /etc/onap/oom/certservice/certs/ - envVariables: - certPath: "/var/custom-certs" - # Certificate related - caName: "RA" - # Client configuration related - requestURL: "https://oom-cert-service:8443/v1/certificate/" - requestTimeout: "30000" - outputType: "P12" # Indicates offline deployment build # Set to true if you are rendering helm charts for offline deployment diff --git a/kubernetes/oof/components/oof-has/components/oof-has-api/templates/deployment.yaml b/kubernetes/oof/components/oof-has/components/oof-has-api/templates/deployment.yaml index 491250c72a..ba4a657c1a 100755 --- a/kubernetes/oof/components/oof-has/components/oof-has-api/templates/deployment.yaml +++ b/kubernetes/oof/components/oof-has/components/oof-has-api/templates/deployment.yaml @@ -55,21 +55,6 @@ spec: image: {{ include "repositoryGenerator.image.readiness" . }} imagePullPolicy: {{ .Values.global.pullPolicy | default .Values.pullPolicy }} - - name: {{ include "common.name" . }}-onboard-readiness - command: - - /app/ready.py - args: - - -j - - "{{ include "common.release" . }}-oof-has-onboard" - env: - - name: NAMESPACE - valueFrom: - fieldRef: - apiVersion: v1 - fieldPath: metadata.namespace - image: {{ include "repositoryGenerator.image.readiness" . }} - imagePullPolicy: {{ .Values.global.pullPolicy | default .Values.pullPolicy }} - - name: {{ include "common.name" . }}-has-sms-readiness command: - sh @@ -94,7 +79,7 @@ spec: - name: {{ include "common.name" . }} image: {{ include "repositoryGenerator.repository" . }}/{{ .Values.global.image.optf_has }} imagePullPolicy: {{ .Values.global.pullPolicy | default .Values.pullPolicy }} - command: ["/bin/bash","-c"] + command: ["/bin/sh","-c"] args: ["/usr/local/bin/uwsgi -s /run/conductor/uwsgi.sock --chmod-socket=777 --wsgi-file /etc/nginx/conductor.wsgi --callable application --set port={{ .Values.uwsgi.internalPort }} --die-on-term --exit-on-reload --pidfile /run/conductor/conductor-uwsgi.pid --enable-threads --workers 6 --master --vacuum --single-interpreter --socket-timeout 10 --max-worker-lifetime 300 --max-requests 100 --no-defer-accept --protocol=uwsgi --socket 0.0.0.0:{{ .Values.uwsgi.internalPort }}"] ports: - containerPort: {{ .Values.uwsgi.internalPort }} @@ -112,7 +97,7 @@ spec: port: {{ .Values.uwsgi.internalPort }} initialDelaySeconds: {{ .Values.readiness.initialDelaySeconds }} periodSeconds: {{ .Values.readiness.periodSeconds }} - env: + env: {{ include "oof.etcd.env" . | nindent 10 }} volumeMounts: - mountPath: /etc/localtime name: localtime diff --git a/kubernetes/oof/components/oof-has/components/oof-has-api/values.yaml b/kubernetes/oof/components/oof-has/components/oof-has-api/values.yaml index d6743cdfda..63461d9c83 100755 --- a/kubernetes/oof/components/oof-has/components/oof-has-api/values.yaml +++ b/kubernetes/oof/components/oof-has/components/oof-has-api/values.yaml @@ -16,7 +16,7 @@ global: # global defaults nodePortPrefix: 302 image: - optf_has: onap/optf-has:2.1.5 + optf_has: onap/optf-has:2.2.0 ################################################################# # secrets metaconfig @@ -26,6 +26,18 @@ secrets: externalSecret: '{{ tpl (default "" .Values.certSecret) . }}' type: generic filePaths: '{{ .Values.secretsFilePaths }}' + - uid: oof-has-etcd-secret + name: &user-creds '{{ include "common.release" . }}-oof-has-etcd-secret' + type: basicAuth + externalSecret: '{{ tpl (default "" .Values.config.etcd.userCredentialsExternalSecret) . }}' + login: '{{ .Values.config.etcd.appUser }}' + password: '{{ .Values.config.etcd.appPassword }}' + passwordPolicy: required + +config: + etcd: + appUser: user + appPassword: pass service: type: NodePort diff --git a/kubernetes/oof/components/oof-has/components/oof-has-controller/templates/deployment.yaml b/kubernetes/oof/components/oof-has/components/oof-has-controller/templates/deployment.yaml index 8e0ff1aeb5..895a305b53 100755 --- a/kubernetes/oof/components/oof-has/components/oof-has-controller/templates/deployment.yaml +++ b/kubernetes/oof/components/oof-has/components/oof-has-controller/templates/deployment.yaml @@ -41,8 +41,8 @@ spec: command: - /app/ready.py args: - - --container-name - - music-springboot + - --job-name + - {{ include "common.release" . }}-{{ .Values.config.etcd.configJobNameOverride }}-job - --container-name - aaf-sms env: @@ -54,21 +54,6 @@ spec: image: {{ include "repositoryGenerator.image.readiness" . }} imagePullPolicy: {{ .Values.global.pullPolicy | default .Values.pullPolicy }} - - name: {{ include "common.name" . }}-onboard-readiness - command: - - /app/ready.py - args: - - -j - - "{{ include "common.release" . }}-oof-has-onboard" - env: - - name: NAMESPACE - valueFrom: - fieldRef: - apiVersion: v1 - fieldPath: metadata.namespace - image: {{ include "repositoryGenerator.image.readiness" . }} - imagePullPolicy: {{ .Values.global.pullPolicy | default .Values.pullPolicy }} - - name: {{ include "common.name" . }}-cont-sms-readiness command: - sh @@ -114,7 +99,7 @@ spec: - /usr/local/bin/healthy.sh initialDelaySeconds: {{ .Values.readiness.initialDelaySeconds }} periodSeconds: {{ .Values.readiness.periodSeconds }} - env: + env: {{ include "oof.etcd.env" . | nindent 10 }} volumeMounts: - mountPath: /etc/localtime name: localtime diff --git a/kubernetes/oof/components/oof-has/components/oof-has-controller/values.yaml b/kubernetes/oof/components/oof-has/components/oof-has-controller/values.yaml index 3cbf96adc1..9e799e1045 100755 --- a/kubernetes/oof/components/oof-has/components/oof-has-controller/values.yaml +++ b/kubernetes/oof/components/oof-has/components/oof-has-controller/values.yaml @@ -14,7 +14,7 @@ global: image: - optf_has: onap/optf-has:2.1.5 + optf_has: onap/optf-has:2.2.0 ################################################################# # Secrets metaconfig @@ -24,6 +24,18 @@ secrets: externalSecret: '{{ tpl (default "" .Values.certSecret) . }}' type: generic filePaths: '{{ .Values.secretsFilePaths }}' + - uid: oof-has-etcd-secret + name: &user-creds '{{ include "common.release" . }}-oof-has-etcd-secret' + type: basicAuth + externalSecret: '{{ tpl (default "" .Values.config.etcd.userCredentialsExternalSecret) . }}' + login: '{{ .Values.config.etcd.appUser }}' + password: '{{ .Values.config.etcd.appPassword }}' + passwordPolicy: required + +config: + etcd: + appUser: user + appPassword: pass ingress: enabled: false diff --git a/kubernetes/oof/components/oof-has/components/oof-has-data/templates/deployment.yaml b/kubernetes/oof/components/oof-has/components/oof-has-data/templates/deployment.yaml index f4ccd57773..cc4eaf08b9 100755 --- a/kubernetes/oof/components/oof-has/components/oof-has-data/templates/deployment.yaml +++ b/kubernetes/oof/components/oof-has/components/oof-has-data/templates/deployment.yaml @@ -41,38 +41,8 @@ spec: command: - /app/ready.py args: - - --container-name - - music-springboot - env: - - name: NAMESPACE - valueFrom: - fieldRef: - apiVersion: v1 - fieldPath: metadata.namespace - image: {{ include "repositoryGenerator.image.readiness" . }} - imagePullPolicy: {{ .Values.global.pullPolicy | default .Values.pullPolicy }} - - - name: {{ include "common.name" . }}-onboard-readiness - command: - - /app/ready.py - args: - - -j - - "{{ include "common.release" . }}-oof-has-onboard" - env: - - name: NAMESPACE - valueFrom: - fieldRef: - apiVersion: v1 - fieldPath: metadata.namespace - image: {{ include "repositoryGenerator.image.readiness" . }} - imagePullPolicy: {{ .Values.global.pullPolicy | default .Values.pullPolicy }} - - - name: {{ include "common.name" . }}-health-readiness - command: - - /app/ready.py - args: - - -j - - "{{ include "common.release" . }}-oof-has-healthcheck" + - --job-name + - {{ include "common.release" . }}-{{ .Values.config.etcd.configJobNameOverride }}-job env: - name: NAMESPACE valueFrom: @@ -128,7 +98,7 @@ spec: - /usr/local/bin/healthy.sh initialDelaySeconds: {{ .Values.readiness.initialDelaySeconds }} periodSeconds: {{ .Values.readiness.periodSeconds }} - env: + env: {{ include "oof.etcd.env" . | nindent 10 }} volumeMounts: - mountPath: /etc/localtime name: localtime diff --git a/kubernetes/oof/components/oof-has/components/oof-has-data/values.yaml b/kubernetes/oof/components/oof-has/components/oof-has-data/values.yaml index 0940a9db39..915ffc019f 100755 --- a/kubernetes/oof/components/oof-has/components/oof-has-data/values.yaml +++ b/kubernetes/oof/components/oof-has/components/oof-has-data/values.yaml @@ -14,7 +14,7 @@ global: image: - optf_has: onap/optf-has:2.1.5 + optf_has: onap/optf-has:2.2.0 ################################################################# # secrets metaconfig @@ -24,6 +24,18 @@ secrets: externalSecret: '{{ tpl (default "" .Values.certSecret) . }}' type: generic filePaths: '{{ .Values.secretsFilePaths }}' + - uid: oof-has-etcd-secret + name: &user-creds '{{ include "common.release" . }}-oof-has-etcd-secret' + type: basicAuth + externalSecret: '{{ tpl (default "" .Values.config.etcd.userCredentialsExternalSecret) . }}' + login: '{{ .Values.config.etcd.appUser }}' + password: '{{ .Values.config.etcd.appPassword }}' + passwordPolicy: required + +config: + etcd: + appUser: user + appPassword: pass ingress: enabled: false diff --git a/kubernetes/oof/components/oof-has/components/oof-has-reservation/templates/deployment.yaml b/kubernetes/oof/components/oof-has/components/oof-has-reservation/templates/deployment.yaml index 4d04b6fe76..095162bea2 100755 --- a/kubernetes/oof/components/oof-has/components/oof-has-reservation/templates/deployment.yaml +++ b/kubernetes/oof/components/oof-has/components/oof-has-reservation/templates/deployment.yaml @@ -41,38 +41,8 @@ spec: command: - /app/ready.py args: - - --container-name - - music-springboot - env: - - name: NAMESPACE - valueFrom: - fieldRef: - apiVersion: v1 - fieldPath: metadata.namespace - image: {{ include "repositoryGenerator.image.readiness" . }} - imagePullPolicy: {{ .Values.global.pullPolicy | default .Values.pullPolicy }} - - - name: {{ include "common.name" . }}-onboard-readiness - command: - - /app/ready.py - args: - - -j - - "{{ include "common.release" . }}-oof-has-onboard" - env: - - name: NAMESPACE - valueFrom: - fieldRef: - apiVersion: v1 - fieldPath: metadata.namespace - image: {{ include "repositoryGenerator.image.readiness" . }} - imagePullPolicy: {{ .Values.global.pullPolicy | default .Values.pullPolicy }} - - - name: {{ include "common.name" . }}-health-readiness - command: - - /app/ready.py - args: - - -j - - "{{ include "common.release" . }}-oof-has-healthcheck" + - --job-name + - {{ include "common.release" . }}-{{ .Values.config.etcd.configJobNameOverride }}-job env: - name: NAMESPACE valueFrom: @@ -128,7 +98,7 @@ spec: initialDelaySeconds: {{ .Values.readiness.initialDelaySeconds }} periodSeconds: {{ .Values.readiness.periodSeconds }} {{ end -}} - env: + env: {{ include "oof.etcd.env" . | nindent 10 }} volumeMounts: - mountPath: /etc/localtime name: localtime diff --git a/kubernetes/oof/components/oof-has/components/oof-has-reservation/values.yaml b/kubernetes/oof/components/oof-has/components/oof-has-reservation/values.yaml index 0940a9db39..915ffc019f 100755 --- a/kubernetes/oof/components/oof-has/components/oof-has-reservation/values.yaml +++ b/kubernetes/oof/components/oof-has/components/oof-has-reservation/values.yaml @@ -14,7 +14,7 @@ global: image: - optf_has: onap/optf-has:2.1.5 + optf_has: onap/optf-has:2.2.0 ################################################################# # secrets metaconfig @@ -24,6 +24,18 @@ secrets: externalSecret: '{{ tpl (default "" .Values.certSecret) . }}' type: generic filePaths: '{{ .Values.secretsFilePaths }}' + - uid: oof-has-etcd-secret + name: &user-creds '{{ include "common.release" . }}-oof-has-etcd-secret' + type: basicAuth + externalSecret: '{{ tpl (default "" .Values.config.etcd.userCredentialsExternalSecret) . }}' + login: '{{ .Values.config.etcd.appUser }}' + password: '{{ .Values.config.etcd.appPassword }}' + passwordPolicy: required + +config: + etcd: + appUser: user + appPassword: pass ingress: enabled: false diff --git a/kubernetes/oof/components/oof-has/components/oof-has-solver/templates/deployment.yaml b/kubernetes/oof/components/oof-has/components/oof-has-solver/templates/deployment.yaml index 6079dcfd6e..d664ca0875 100755 --- a/kubernetes/oof/components/oof-has/components/oof-has-solver/templates/deployment.yaml +++ b/kubernetes/oof/components/oof-has/components/oof-has-solver/templates/deployment.yaml @@ -41,38 +41,8 @@ spec: command: - /app/ready.py args: - - --container-name - - music-springboot - env: - - name: NAMESPACE - valueFrom: - fieldRef: - apiVersion: v1 - fieldPath: metadata.namespace - image: {{ include "repositoryGenerator.image.readiness" . }} - imagePullPolicy: {{ .Values.global.pullPolicy | default .Values.pullPolicy }} - - - name: {{ include "common.name" . }}-onboard-readiness - command: - - /app/ready.py - args: - - -j - - "{{ include "common.release" . }}-oof-has-onboard" - env: - - name: NAMESPACE - valueFrom: - fieldRef: - apiVersion: v1 - fieldPath: metadata.namespace - image: {{ include "repositoryGenerator.image.readiness" . }} - imagePullPolicy: {{ .Values.global.pullPolicy | default .Values.pullPolicy }} - - - name: {{ include "common.name" . }}-health-readiness - command: - - /app/ready.py - args: - - -j - - "{{ include "common.release" . }}-oof-has-healthcheck" + - --job-name + - {{ include "common.release" . }}-{{ .Values.config.etcd.configJobNameOverride }}-job env: - name: NAMESPACE valueFrom: @@ -128,7 +98,7 @@ spec: - /usr/local/bin/healthy.sh initialDelaySeconds: {{ .Values.readiness.initialDelaySeconds }} periodSeconds: {{ .Values.readiness.periodSeconds }} - env: + env: {{ include "oof.etcd.env" . | nindent 10 }} volumeMounts: - mountPath: /etc/localtime name: localtime diff --git a/kubernetes/oof/components/oof-has/components/oof-has-solver/values.yaml b/kubernetes/oof/components/oof-has/components/oof-has-solver/values.yaml index 0940a9db39..915ffc019f 100755 --- a/kubernetes/oof/components/oof-has/components/oof-has-solver/values.yaml +++ b/kubernetes/oof/components/oof-has/components/oof-has-solver/values.yaml @@ -14,7 +14,7 @@ global: image: - optf_has: onap/optf-has:2.1.5 + optf_has: onap/optf-has:2.2.0 ################################################################# # secrets metaconfig @@ -24,6 +24,18 @@ secrets: externalSecret: '{{ tpl (default "" .Values.certSecret) . }}' type: generic filePaths: '{{ .Values.secretsFilePaths }}' + - uid: oof-has-etcd-secret + name: &user-creds '{{ include "common.release" . }}-oof-has-etcd-secret' + type: basicAuth + externalSecret: '{{ tpl (default "" .Values.config.etcd.userCredentialsExternalSecret) . }}' + login: '{{ .Values.config.etcd.appUser }}' + password: '{{ .Values.config.etcd.appPassword }}' + passwordPolicy: required + +config: + etcd: + appUser: user + appPassword: pass ingress: enabled: false diff --git a/kubernetes/oof/components/oof-has/requirements.yaml b/kubernetes/oof/components/oof-has/requirements.yaml index 851211a1fb..7310aac8d0 100755 --- a/kubernetes/oof/components/oof-has/requirements.yaml +++ b/kubernetes/oof/components/oof-has/requirements.yaml @@ -20,6 +20,15 @@ dependencies: - name: music version: ~8.x-0 repository: '@local' + condition: music.enabled + - name: etcd + version: ~8.x-0 + repository: '@local' + condition: etcd.enabled + - name: etcd-init + version: ~8.x-0 + repository: '@local' + condition: etcd-init.enabled - name: oof-has-api version: ~8.x-0 repository: 'file://components/oof-has-api' diff --git a/kubernetes/oof/components/oof-has/resources/config/conductor.conf b/kubernetes/oof/components/oof-has/resources/config/conductor.conf index ded979c4fc..18b60bba4a 100755 --- a/kubernetes/oof/components/oof-has/resources/config/conductor.conf +++ b/kubernetes/oof/components/oof-has/resources/config/conductor.conf @@ -424,6 +424,30 @@ server_url = http://{{.Values.config.msb.serviceName}}.{{ include "common.namesp #server_url_version = v0 +[db_options] + +# db_backend to use +db_backend = {{.Values.config.dbBackend}} + +# Use music mock api +music_mock = False + + +[etcd_api] + +# host/ip address of etcd server +host = {{.Values.config.etcd.serviceName}}.{{ include "common.namespace" . }} + +# port of etcd server +port = {{.Values.config.etcd.port}} + +# username for etcd authentication +username = + +# password for etcd authentication +password = + + [music_api] # diff --git a/kubernetes/oof/components/oof-has/resources/config/healthcheck.json b/kubernetes/oof/components/oof-has/resources/config/healthcheck.json deleted file mode 100755 index 833fa0f5d9..0000000000 --- a/kubernetes/oof/components/oof-has/resources/config/healthcheck.json +++ /dev/null @@ -1,18 +0,0 @@ -{ - "consistencyInfo": { - "type": "eventual" - }, - "values": { - "id": "healthcheck", - "created": 1479482603641, - "message": "", - "name": "foo", - "recommend_max": 1, - "solution": "{\"healthcheck\": \" healthcheck\"}", - "status": "solved", - "template": "{\"healthcheck\": \"healthcheck\"}", - "timeout": 3600, - "translation": "{\"healthcheck\": \" healthcheck\"}", - "updated": 1484324150629 - } -} diff --git a/kubernetes/oof/components/oof-has/resources/config/onboard.json b/kubernetes/oof/components/oof-has/resources/config/onboard.json deleted file mode 100755 index 2c3d69be8d..0000000000 --- a/kubernetes/oof/components/oof-has/resources/config/onboard.json +++ /dev/null @@ -1,6 +0,0 @@ -{ - "appname": "conductor", - "userId": "conductor", - "isAAF": "false", - "password": "c0nduct0r" -} diff --git a/kubernetes/oof/components/oof-has/templates/job-healthcheck.yaml b/kubernetes/oof/components/oof-has/templates/job-healthcheck.yaml deleted file mode 100755 index 49406ba423..0000000000 --- a/kubernetes/oof/components/oof-has/templates/job-healthcheck.yaml +++ /dev/null @@ -1,100 +0,0 @@ -{{/* -# Copyright 2018 Intel Corporation, Inc -# -# Licensed under the Apache License, Version 2.0 (the "License"); -# you may not use this file except in compliance with the License. -# You may obtain a copy of the License at -# -# http://www.apache.org/licenses/LICENSE-2.0 -# -# Unless required by applicable law or agreed to in writing, software -# distributed under the License is distributed on an "AS IS" BASIS, -# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -# See the License for the specific language governing permissions and -# limitations under the License. -*/}} - -apiVersion: batch/v1 -kind: Job -metadata: - name: {{ include "common.fullname" . }}-healthcheck - namespace: {{ include "common.namespace" . }} - labels: - app: {{ include "common.name" . }} - chart: {{ .Chart.Name }}-{{ .Chart.Version | replace "+" "_" }} - release: {{ include "common.release" . }} - heritage: {{ .Release.Service }} -spec: - replicas: {{ .Values.replicaCount }} - template: - metadata: - labels: - app: {{ include "common.name" . }} - release: {{ include "common.release" . }} - spec: - initContainers: - - image: {{ include "repositoryGenerator.image.readiness" . }} - imagePullPolicy: {{ .Values.global.pullPolicy | default .Values.pullPolicy }} - name: {{ include "common.name" . }}-readiness - command: - - /app/ready.py - args: - - --container-name - - oof-has-api - env: - - name: NAMESPACE - valueFrom: - fieldRef: - apiVersion: v1 - fieldPath: metadata.namespace - containers: - - image: {{ include "repositoryGenerator.repository" . }}/{{ .Values.global.image.optf_has }} - imagePullPolicy: {{ .Values.global.pullPolicy | default .Values.pullPolicy }} - name: {{ include "common.name" . }}-healthcheck - command: - - "/bin/sh" - - "-c" - - | - echo "INSERT HEALTHCHECK PLAN"; - sleep 15; - resp="FAILURE"; - until [ $resp = "200" ]; do - resp=$(curl -k -s -o /dev/null --write-out %{http_code} -X POST https://{{.Values.config.music.serviceName}}.{{ include "common.namespace" . }}:{{.Values.config.music.port}}/MUSIC/rest/v2/keyspaces/conductor/tables/plans/rows?id=healthcheck \ - -H "Content-Type: application/json" \ - -H "ns: conductor" \ - -H "Authorization: Basic Y29uZHVjdG9yOmMwbmR1Y3Qwcg==" \ - --data @healthcheck.json); - echo $resp; - sleep 2; - done; - workingDir: /has - volumeMounts: - - mountPath: /etc/localtime - name: localtime - readOnly: true - - mountPath: /has/healthcheck.json - name: {{ .Values.global.commonConfigPrefix }}-config - subPath: healthcheck.json - resources: -{{ include "common.resources" . | indent 10 }} - nodeSelector: - {{- if .Values.nodeSelector }} -{{ toYaml .Values.nodeSelector | indent 8 }} - {{- end -}} - {{- if .Values.affinity }} - affinity: -{{ toYaml .Values.affinity | indent 8 }} - {{- end }} - volumes: - - name: localtime - hostPath: - path: /etc/localtime - - name: {{ .Values.global.commonConfigPrefix }}-config - configMap: - name: {{ .Values.global.commonConfigPrefix }}-configmap - items: - - key: healthcheck.json - path: healthcheck.json - restartPolicy: OnFailure - imagePullSecrets: - - name: "{{ include "common.namespace" . }}-docker-registry-key" diff --git a/kubernetes/oof/components/oof-has/templates/job-onboard.yaml b/kubernetes/oof/components/oof-has/templates/job-onboard.yaml deleted file mode 100755 index e63aeb369a..0000000000 --- a/kubernetes/oof/components/oof-has/templates/job-onboard.yaml +++ /dev/null @@ -1,105 +0,0 @@ -{{/* -# Copyright 2018 Intel Corporation, Inc -# -# Licensed under the Apache License, Version 2.0 (the "License"); -# you may not use this file except in compliance with the License. -# You may obtain a copy of the License at -# -# http://www.apache.org/licenses/LICENSE-2.0 -# -# Unless required by applicable law or agreed to in writing, software -# distributed under the License is distributed on an "AS IS" BASIS, -# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -# See the License for the specific language governing permissions and -# limitations under the License. -*/}} - -apiVersion: batch/v1 -kind: Job -metadata: - name: {{ include "common.fullname" . }}-onboard - namespace: {{ include "common.namespace" . }} - labels: - app: {{ include "common.name" . }} - chart: {{ .Chart.Name }}-{{ .Chart.Version | replace "+" "_" }} - release: {{ include "common.release" . }} - heritage: {{ .Release.Service }} -spec: - replicas: {{ .Values.replicaCount }} - template: - metadata: - labels: - app: {{ include "common.name" . }} - release: {{ include "common.release" . }} - spec: - initContainers: - - image: {{ include "repositoryGenerator.image.readiness" . }} - imagePullPolicy: {{ .Values.global.pullPolicy | default .Values.pullPolicy }} - name: {{ include "common.name" . }}-readiness - command: - - /app/ready.py - args: - - --container-name - - "music-springboot" - - --container-name - - "music-cassandra" - env: - - name: NAMESPACE - valueFrom: - fieldRef: - apiVersion: v1 - fieldPath: metadata.namespace - - command: - - /app/ready.py - args: - - -j - - "{{ include "common.release" . }}-music-cassandra-config" - env: - - name: NAMESPACE - valueFrom: - fieldRef: - apiVersion: v1 - fieldPath: metadata.namespace - image: {{ include "repositoryGenerator.image.readiness" . }} - imagePullPolicy: {{ .Values.global.pullPolicy | default .Values.pullPolicy }} - name: {{ include "common.name" . }}-music-db-readiness - containers: - - image: {{ include "repositoryGenerator.repository" . }}/{{ .Values.global.image.optf_has }} - imagePullPolicy: {{ .Values.global.pullPolicy | default .Values.pullPolicy }} - name: {{ include "common.name" . }}-onboard - command: - - "/bin/sh" - - "-c" - - | - echo "job-onboard" - workingDir: /has - volumeMounts: - - mountPath: /etc/localtime - name: localtime - readOnly: true - - mountPath: /has/onboard.json - name: {{ .Values.global.commonConfigPrefix }}-config - subPath: onboard.json - resources: -{{ include "common.resources" . | indent 10 }} - nodeSelector: - {{- if .Values.nodeSelector }} -{{ toYaml .Values.nodeSelector | indent 8 }} - {{- end -}} - {{- if .Values.affinity }} - affinity: -{{ toYaml .Values.affinity | indent 8 }} - {{- end }} - volumes: - - name: localtime - hostPath: - path: /etc/localtime - - name: {{ .Values.global.commonConfigPrefix }}-config - configMap: - name: {{ .Values.global.commonConfigPrefix }}-configmap - items: - - key: onboard.json - path: onboard.json - restartPolicy: OnFailure - imagePullSecrets: - - name: "{{ include "common.namespace" . }}-docker-registry-key" diff --git a/kubernetes/oof/components/oof-has/values.yaml b/kubernetes/oof/components/oof-has/values.yaml index 3615a3bd33..9a8b60574e 100755 --- a/kubernetes/oof/components/oof-has/values.yaml +++ b/kubernetes/oof/components/oof-has/values.yaml @@ -19,7 +19,7 @@ global: commonConfigPrefix: onap-oof-has image: - optf_has: onap/optf-has:2.1.5 + optf_has: onap/optf-has:2.2.0 persistence: enabled: true @@ -32,11 +32,24 @@ secrets: externalSecret: '{{ tpl (default "" .Values.certSecret) . }}' type: generic filePaths: '{{ .Values.secretsFilePaths }}' + - uid: oof-has-etcd-root-password + name: &root-password '{{ include "common.release" . }}-has-etcd-root-password' + type: password + password: '{{ .Values.config.etcd.rootPassword }}' + policy: generate + - uid: oof-has-etcd-secret + name: &user-creds '{{ include "common.release" . }}-oof-has-etcd-secret' + type: basicAuth + externalSecret: '{{ tpl (default "" .Values.config.etcd.userCredentialsExternalSecret) . }}' + login: '{{ .Values.config.etcd.appUser }}' + password: '{{ .Values.config.etcd.appPassword }}' + passwordPolicy: generate pullPolicy: Always nodePortPrefix: 302 dataRootDir: /dockerdata-nfs config: + dbBackend: etcd aaf: serviceName: aaf-service port: 8100 @@ -58,6 +71,13 @@ config: cps: service: cps-tbdmt port: 8080 + etcd: + serviceName: &etcd-service oof-has-etcd + port: 2379 + appUser: conductor +# rootPassword: +# appPassword: +# userCredentialsExternalSecret: # Resource Limit flavor -By Default using small flavor: small # Segregation for Different environment (Small and Large) @@ -79,19 +99,59 @@ resources: unlimited: {} #component overrides -oof-has-api: +oof-has-api: &has-config enabled: true certSecret: *oof-certs -oof-has-controller: - enabled: true - certSecret: *oof-certs -oof-has-data: - enabled: true - certSecret: *oof-certs -oof-has-reservation: - enabled: true - certSecret: *oof-certs -oof-has-solver: + config: + etcd: + userCredentialsExternalSecret: *user-creds + configJobNameOverride: &job-name oof-has-etcd-config +oof-has-controller: *has-config +oof-has-data: *has-config +oof-has-reservation: *has-config +oof-has-solver: *has-config +music: + enabled: false + +#etcd subchart configurations +etcd: enabled: true - certSecret: *oof-certs + replicaCount: 3 + nameOverride: &etcd-container oof-has-etcd + service: + name: *etcd-service + persistence: + mountSubPath: oof/etcd/data + enabled: true + flavor: &etcd-flavor large + resources: &etcd-resources + small: + limits: + cpu: 100m + memory: 300Mi + requests: + cpu: 10m + memory: 75Mi + large: + limits: + cpu: 200m + memory: 1Gi + requests: + cpu: 50m + memory: 300Mi + unlimited: {} +etcd-init: + enabled: true + nameOverride: *job-name + etcd: + serviceName: *etcd-service + port : 2379 + containerName: *etcd-container + config: + userRootSecret: *root-password + userCredentialsExternalSecret: *user-creds + appRole: conductor + keyPrefix: conductor + flavor: *etcd-flavor + resources: *etcd-resources diff --git a/kubernetes/oof/components/oof-templates/templates/_secret.tpl b/kubernetes/oof/components/oof-templates/templates/_secret.tpl new file mode 100644 index 0000000000..0b04f7120b --- /dev/null +++ b/kubernetes/oof/components/oof-templates/templates/_secret.tpl @@ -0,0 +1,6 @@ +{{- define "oof.etcd.env" -}} +- name: OS_ETCD_API__USERNAME + {{- include "common.secret.envFromSecretFast" (dict "global" . "uid" "oof-has-etcd-secret" "key" "login") | indent 2 }} +- name: OS_ETCD_API__PASSWORD + {{- include "common.secret.envFromSecretFast" (dict "global" . "uid" "oof-has-etcd-secret" "key" "password") | indent 2 }} +{{- end -}}
\ No newline at end of file diff --git a/kubernetes/platform/components/cmpv2-cert-provider/templates/configuration.yaml b/kubernetes/platform/components/cmpv2-cert-provider/templates/configuration.yaml index 9ba61a5f57..ae4ae81f02 100644 --- a/kubernetes/platform/components/cmpv2-cert-provider/templates/configuration.yaml +++ b/kubernetes/platform/components/cmpv2-cert-provider/templates/configuration.yaml @@ -1,4 +1,4 @@ -{{ if .Values.global.CMPv2CertManagerIntegration }} +{{ if .Values.global.cmpv2Enabled }} # ============LICENSE_START======================================================= # Copyright (c) 2020 Nokia diff --git a/kubernetes/platform/components/cmpv2-cert-provider/templates/deployment.yaml b/kubernetes/platform/components/cmpv2-cert-provider/templates/deployment.yaml index 3a993734e4..8bcbc1f7d0 100644 --- a/kubernetes/platform/components/cmpv2-cert-provider/templates/deployment.yaml +++ b/kubernetes/platform/components/cmpv2-cert-provider/templates/deployment.yaml @@ -1,4 +1,4 @@ -{{ if .Values.global.CMPv2CertManagerIntegration }} +{{ if .Values.global.cmpv2Enabled }} # ============LICENSE_START======================================================= # Copyright (c) 2020 Nokia diff --git a/kubernetes/platform/components/cmpv2-cert-provider/templates/roles.yaml b/kubernetes/platform/components/cmpv2-cert-provider/templates/roles.yaml index add5622f41..f976a80268 100644 --- a/kubernetes/platform/components/cmpv2-cert-provider/templates/roles.yaml +++ b/kubernetes/platform/components/cmpv2-cert-provider/templates/roles.yaml @@ -1,4 +1,4 @@ -{{ if .Values.global.CMPv2CertManagerIntegration }} +{{ if .Values.global.cmpv2Enabled }} # ============LICENSE_START======================================================= # Copyright (c) 2020 Nokia diff --git a/kubernetes/platform/components/cmpv2-cert-provider/templates/service.yaml b/kubernetes/platform/components/cmpv2-cert-provider/templates/service.yaml index 152bd68ba6..bc689cc68f 100644 --- a/kubernetes/platform/components/cmpv2-cert-provider/templates/service.yaml +++ b/kubernetes/platform/components/cmpv2-cert-provider/templates/service.yaml @@ -1,4 +1,4 @@ -{{ if .Values.global.CMPv2CertManagerIntegration }} +{{ if .Values.global.cmpv2Enabled }} # ============LICENSE_START======================================================= # Copyright (c) 2020 Nokia diff --git a/kubernetes/platform/components/cmpv2-cert-provider/values.yaml b/kubernetes/platform/components/cmpv2-cert-provider/values.yaml index fd34b1ef28..55c4d0beac 100644 --- a/kubernetes/platform/components/cmpv2-cert-provider/values.yaml +++ b/kubernetes/platform/components/cmpv2-cert-provider/values.yaml @@ -21,7 +21,6 @@ global: busyboxRepository: registry.hub.docker.com busyboxImage: library/busybox:latest repository: "nexus3.onap.org:10001" - CMPv2CertManagerIntegration: false namespace: onap diff --git a/kubernetes/platform/values.yaml b/kubernetes/platform/values.yaml index d21fb791e2..a30dabbcc2 100644 --- a/kubernetes/platform/values.yaml +++ b/kubernetes/platform/values.yaml @@ -28,11 +28,6 @@ global: cmpv2Enabled: true addTestingComponents: false - certService: - certServiceClient: - secret: - name: oom-cert-service-client-tls-secret - ################################################################# # Application configuration defaults. ################################################################# diff --git a/kubernetes/portal/components/portal-mariadb/resources/config/mariadb/docker-entrypoint.sh b/kubernetes/portal/components/portal-mariadb/resources/config/mariadb/docker-entrypoint.sh index 41069bd927..411ed8e667 100644 --- a/kubernetes/portal/components/portal-mariadb/resources/config/mariadb/docker-entrypoint.sh +++ b/kubernetes/portal/components/portal-mariadb/resources/config/mariadb/docker-entrypoint.sh @@ -329,7 +329,7 @@ _main() { # If container is started as root user, restart as dedicated mysql user if [ "$(id -u)" = "0" ]; then mysql_note "Switching to dedicated user 'mysql'" - exec gosu mysql "$BASH_SOURCE" "$@" + exec gosu mysql "$0" "$@" fi # there's no database, so it needs to be initialized diff --git a/kubernetes/portal/docker/init/mariadb-client/db_migrate.sh b/kubernetes/portal/docker/init/mariadb-client/db_migrate.sh index 6f62a0ebac..2b90a994c3 100644 --- a/kubernetes/portal/docker/init/mariadb-client/db_migrate.sh +++ b/kubernetes/portal/docker/init/mariadb-client/db_migrate.sh @@ -17,10 +17,10 @@ SQL_DEST_DIR=${SQL_DEST_DIR:-/tmp/sql} DB_PORT=${DB_PORT:-3306} -[[ -z "$SQL_SRC_DIR" ]] && { echo "Error: SQL_SRC_DIR must be provided as an environment variable"; exit 1; } -[[ -z "$DB_USER" ]] && { echo "Error: DB_USER must be provided as an environment variable"; exit 1; } -[[ -z "$DB_PASS" ]] && { echo "Error: DB_PASS must be provided as an environment variable"; exit 1; } -[[ -z "$DB_HOST" ]] && { echo "Error: DB_HOST must be provided as an environment variable"; exit 1; } +[ -z "$SQL_SRC_DIR" ] && { echo "Error: SQL_SRC_DIR must be provided as an environment variable"; exit 1; } +[ -z "$DB_USER" ] && { echo "Error: DB_USER must be provided as an environment variable"; exit 1; } +[ -z "$DB_PASS" ] && { echo "Error: DB_PASS must be provided as an environment variable"; exit 1; } +[ -z "$DB_HOST" ] && { echo "Error: DB_HOST must be provided as an environment variable"; exit 1; } mkdir -p $SQL_DEST_DIR diff --git a/kubernetes/robot/demo-k8s.sh b/kubernetes/robot/demo-k8s.sh index d48070cf24..099f80ccff 100755 --- a/kubernetes/robot/demo-k8s.sh +++ b/kubernetes/robot/demo-k8s.sh @@ -63,7 +63,7 @@ usage () # Check if execscript flag is used and drop it from input arguments -if [[ "${!#}" = "execscript" ]]; then +if [ "${!#}" = "execscript" ]; then set -- "${@:1:$#-1}" execscript=true fi diff --git a/kubernetes/robot/ete-k8s.sh b/kubernetes/robot/ete-k8s.sh index 97f4e4d032..15d07fb3ee 100755 --- a/kubernetes/robot/ete-k8s.sh +++ b/kubernetes/robot/ete-k8s.sh @@ -76,7 +76,7 @@ SCRIPTDIR=scripts/etescript ETEHOME=/var/opt/ONAP -if [[ "${!#}" = "execscript" ]]; then +if [ "${!#}" = "execscript" ]; then for script in $(ls -1 "$DIR/$SCRIPTDIR"); do [ -f "$DIR/$SCRIPTDIR/$script" ] && [ -x "$DIR/$SCRIPTDIR/$script" ] && source "$DIR/$SCRIPTDIR/$script" done diff --git a/kubernetes/robot/eteHelm-k8s.sh b/kubernetes/robot/eteHelm-k8s.sh index 2512e5f7ce..d5e2fa41c3 100755 --- a/kubernetes/robot/eteHelm-k8s.sh +++ b/kubernetes/robot/eteHelm-k8s.sh @@ -44,7 +44,7 @@ SCRIPTDIR=scripts/helmscript ETEHOME=/var/opt/ONAP -if [[ "${!#}" = "execscript" ]]; then +if [ "${!#}" = "execscript" ]; then for script in $(ls -1 "$DIR/$SCRIPTDIR"); do [ -f "$DIR/$SCRIPTDIR/$script" ] && [ -x "$DIR/$SCRIPTDIR/$script" ] && source "$DIR/$SCRIPTDIR/$script" done diff --git a/kubernetes/robot/instantiate-k8s.sh b/kubernetes/robot/instantiate-k8s.sh index f4f6b04e4c..623870b9f3 100755 --- a/kubernetes/robot/instantiate-k8s.sh +++ b/kubernetes/robot/instantiate-k8s.sh @@ -1,4 +1,5 @@ #!/bin/bash + # Copyright 2019 AT&T Intellectual Property. All rights reserved. # # Licensed under the Apache License, Version 2.0 (the "License"); @@ -13,7 +14,7 @@ # See the License for the specific language governing permissions and # limitations under the License. -THIS_DIR="$( cd "$( dirname "${BASH_SOURCE[0]}" )" >/dev/null 2>&1 && pwd )" +THIS_DIR="$( cd "$( dirname "$0" )" >/dev/null 2>&1 && pwd )" NAMESPACE= FOLDER= @@ -138,13 +139,13 @@ kubectl --namespace $NAMESPACE cp ${POD}:share/logs/$OUTPUT_FOLDER/summary/stack kubectl --namespace $NAMESPACE cp ${POD}:share/logs/$OUTPUT_FOLDER/summary/results.json "$OUTPUT_DIRECTORY"/results.json kubectl --namespace $NAMESPACE cp ${POD}:share/logs/$OUTPUT_FOLDER/log.html "$OUTPUT_DIRECTORY"/log.html -pushd . +initdir=$(pwd) # echo -e "import hashlib\nwith open(\"README.md\", \"r\") as f: bytes = f.read()\nreadable_hash = hashlib.sha256(bytes).hexdigest()\nprint(readable_hash)" | python cd "$OUTPUT_DIRECTORY" tar -czvf vnf_heat_results.tar.gz * -popd +cd $initdir echo "VNF test results: $OUTPUT_DIRECTORY/vnf_heat_results.tar.gz" diff --git a/kubernetes/robot/scripts/etescript/vnfsdk-etescript.sh b/kubernetes/robot/scripts/etescript/vnfsdk-etescript.sh index 19864d438c..a93f109085 100755 --- a/kubernetes/robot/scripts/etescript/vnfsdk-etescript.sh +++ b/kubernetes/robot/scripts/etescript/vnfsdk-etescript.sh @@ -35,7 +35,7 @@ copy_package_certs_to_robot () { mkdir "$DIR/$SCRIPTDIR/tmp" cd "$DIR/$SCRIPTDIR/tmp" -if [[ -f rootCA-robot-$SDCVALID.cert && -f package-robot-$SDCVALID.cert && -f package-robot-$SDCINVALID.cert && -f package-private-robot-$SDCVALID.key && -f package-private-robot-$SDCINVALID.key ]]; then +if [ -f rootCA-robot-$SDCVALID.cert ] && [ -f package-robot-$SDCVALID.cert ] && [ -f package-robot-$SDCINVALID.cert ] && [ -f package-private-robot-$SDCVALID.key ] && [ -f package-private-robot-$SDCINVALID.key ]; then echo "All files are present"; else generate_ca_key_cert_and_package_cert_issued_by_CA $SDCVALID diff --git a/kubernetes/sdc/components/sdc-be/requirements.yaml b/kubernetes/sdc/components/sdc-be/requirements.yaml index b36d051041..b684a0e11f 100644 --- a/kubernetes/sdc/components/sdc-be/requirements.yaml +++ b/kubernetes/sdc/components/sdc-be/requirements.yaml @@ -24,3 +24,6 @@ dependencies: - name: repositoryGenerator version: ~8.x-0 repository: '@local' + - name: serviceAccount + version: ~8.x-0 + repository: '@local' diff --git a/kubernetes/sdc/components/sdc-be/templates/deployment.yaml b/kubernetes/sdc/components/sdc-be/templates/deployment.yaml index 28e9c1369c..d731a56c5c 100644 --- a/kubernetes/sdc/components/sdc-be/templates/deployment.yaml +++ b/kubernetes/sdc/components/sdc-be/templates/deployment.yaml @@ -119,8 +119,7 @@ spec: livenessProbe: httpGet: path: /sdc2/rest/healthCheck - port: {{ .Values.liveness.port }} - scheme: {{ if (include "common.needTLS" .) }}HTTPS{{ else }}HTTP{{ end }} + port: {{ .Values.service.internalPort }} initialDelaySeconds: {{ .Values.liveness.initialDelaySeconds }} periodSeconds: {{ .Values.liveness.periodSeconds }} timeoutSeconds: {{ .Values.liveness.timeoutSeconds }} @@ -128,9 +127,9 @@ spec: failureThreshold: {{ .Values.liveness.failureThreshold }} {{ end }} readinessProbe: - exec: - command: - - "/var/lib/jetty/ready-probe.sh" + httpGet: + path: /sdc2/rest/healthCheck + port: {{ .Values.service.internalPort }} initialDelaySeconds: {{ .Values.readiness.initialDelaySeconds }} periodSeconds: {{ .Values.readiness.periodSeconds }} timeoutSeconds: {{ .Values.readiness.timeoutSeconds }} @@ -138,9 +137,9 @@ spec: failureThreshold: {{ .Values.readiness.failureThreshold }} resources: {{ include "common.resources" . | nindent 12 }} startupProbe: - exec: - command: - - "/var/lib/jetty/ready-probe.sh" + httpGet: + path: /sdc2/rest/healthCheck + port: {{ .Values.service.internalPort }} initialDelaySeconds: {{ .Values.startup.initialDelaySeconds }} periodSeconds: {{ .Values.startup.periodSeconds }} timeoutSeconds: {{ .Values.startup.timeoutSeconds }} @@ -160,12 +159,12 @@ spec: fieldPath: status.podIP volumeMounts: - name: sdc-environments-output - mountPath: /var/lib/jetty/chef-solo/environments/ + mountPath: /app/jetty/chef-solo/environments/ - name: sdc-environments-output - mountPath: /var/lib/jetty/chef-solo/cookbooks/sdc-catalog-be/files/default/org.onap.sdc.p12 + mountPath: /app/jetty/chef-solo/cookbooks/sdc-catalog-be/files/default/org.onap.sdc.p12 subPath: org.onap.sdc.p12 - name: sdc-environments-output - mountPath: /var/lib/jetty/chef-solo/cookbooks/sdc-catalog-be/files/default/org.onap.sdc.trust.jks + mountPath: /app/jetty/chef-solo/cookbooks/sdc-catalog-be/files/default/org.onap.sdc.trust.jks subPath: org.onap.sdc.trust.jks - name: {{ include "common.fullname" . }}-localtime mountPath: /etc/localtime @@ -178,7 +177,7 @@ spec: lifecycle: postStart: exec: - command: ["/bin/sh", "-c", "export LOG=wait_logback.log; touch $LOG; export SRC=/tmp/logback.xml; export DST=/var/lib/jetty/config/catalog-be/; while [ ! -e $DST ]; do echo 'Waiting for $DST...' >> $LOG; sleep 5; done; sleep 2; /bin/cp -f $SRC $DST; echo 'Done' >> $LOG"] + command: ["/bin/sh", "-c", "export LOG=wait_logback.log; touch $LOG; export SRC=/tmp/logback.xml; export DST=/app/jetty/config/catalog-be/; while [ ! -e $DST ]; do echo 'Waiting for $DST...' >> $LOG; sleep 5; done; sleep 2; /bin/cp -f $SRC $DST; echo 'Done' >> $LOG"] # side car containers - name: {{ include "common.name" . }}-filebeat-onap image: {{ include "repositoryGenerator.image.logging" . }} @@ -198,6 +197,7 @@ spec: requests: cpu: 3m memory: 20Mi + serviceAccountName: {{ include "common.fullname" (dict "suffix" "read" "dot" . )}} volumes: {{ include "common.certInitializer.volumes" . | nindent 6 }} - name: {{ include "common.fullname" . }}-localtime hostPath: diff --git a/kubernetes/sdc/components/sdc-be/templates/job.yaml b/kubernetes/sdc/components/sdc-be/templates/job.yaml index b9db3f93c8..aaf8fada28 100644 --- a/kubernetes/sdc/components/sdc-be/templates/job.yaml +++ b/kubernetes/sdc/components/sdc-be/templates/job.yaml @@ -64,7 +64,7 @@ spec: - name: {{ include "common.fullname" . }}-environments mountPath: /home/onap/chef-solo/environments/ - name: sdc-logs - mountPath: /var/lib/jetty/logs + mountPath: /home/onap/logs env: - name: ENVNAME value: {{ .Values.env.name }} diff --git a/kubernetes/sdc/components/sdc-be/values.yaml b/kubernetes/sdc/components/sdc-be/values.yaml index fc3b53fc50..070583bfc2 100644 --- a/kubernetes/sdc/components/sdc-be/values.yaml +++ b/kubernetes/sdc/components/sdc-be/values.yaml @@ -35,8 +35,8 @@ global: # Application configuration defaults. ################################################################# # application image -image: onap/sdc-backend-all-plugins:1.8.5 -backendInitImage: onap/sdc-backend-init:1.8.5 +image: onap/sdc-backend-all-plugins:1.9.0 +backendInitImage: onap/sdc-backend-init:1.9.0 pullPolicy: Always @@ -90,7 +90,6 @@ liveness: failureThreshold: 3 # necessary to disable liveness probe when setting breakpoints # in debugger so K8s doesn't restart unresponsive container - port: api enabled: true readiness: @@ -111,6 +110,7 @@ service: type: NodePort name: sdc-be both_tls_and_plain: true + internalPort: 8080 msb: - port: 8443 url: "/sdc/v1" @@ -161,3 +161,9 @@ resources: cpu: 200m memory: 2Gi unlimited: {} + +#Pods Service Account +serviceAccount: + nameOverride: sdc-be + roles: + - read diff --git a/kubernetes/sdc/components/sdc-cs/requirements.yaml b/kubernetes/sdc/components/sdc-cs/requirements.yaml index 8febe6fac4..7d9ea04952 100644 --- a/kubernetes/sdc/components/sdc-cs/requirements.yaml +++ b/kubernetes/sdc/components/sdc-cs/requirements.yaml @@ -24,3 +24,6 @@ dependencies: - name: repositoryGenerator version: ~8.x-0 repository: '@local' + - name: serviceAccount + version: ~8.x-0 + repository: '@local' diff --git a/kubernetes/sdc/components/sdc-cs/templates/job.yaml b/kubernetes/sdc/components/sdc-cs/templates/job.yaml index bb218bbfae..fb849b9f25 100644 --- a/kubernetes/sdc/components/sdc-cs/templates/job.yaml +++ b/kubernetes/sdc/components/sdc-cs/templates/job.yaml @@ -96,6 +96,7 @@ spec: requests: cpu: 200m memory: 300Mi + serviceAccountName: {{ include "common.fullname" (dict "suffix" "read" "dot" . )}} volumes: - name: {{ include "common.fullname" . }}-environments configMap: diff --git a/kubernetes/sdc/components/sdc-cs/values.yaml b/kubernetes/sdc/components/sdc-cs/values.yaml index 3422f9d14d..fed4769202 100644 --- a/kubernetes/sdc/components/sdc-cs/values.yaml +++ b/kubernetes/sdc/components/sdc-cs/values.yaml @@ -38,8 +38,8 @@ global: ################################################################# # application image repository: nexus3.onap.org:10001 -image: onap/sdc-cassandra:1.8.5 -cassandraInitImage: onap/sdc-cassandra-init:1.8.5 +image: onap/sdc-cassandra:1.9.0 +cassandraInitImage: onap/sdc-cassandra-init:1.9.0 pullPolicy: Always config: @@ -103,3 +103,9 @@ persistence: ingress: enabled: false + +#Pods Service Account +serviceAccount: + nameOverride: sdc-cs + roles: + - read diff --git a/kubernetes/sdc/components/sdc-fe/requirements.yaml b/kubernetes/sdc/components/sdc-fe/requirements.yaml index b36d051041..b684a0e11f 100644 --- a/kubernetes/sdc/components/sdc-fe/requirements.yaml +++ b/kubernetes/sdc/components/sdc-fe/requirements.yaml @@ -24,3 +24,6 @@ dependencies: - name: repositoryGenerator version: ~8.x-0 repository: '@local' + - name: serviceAccount + version: ~8.x-0 + repository: '@local' diff --git a/kubernetes/sdc/components/sdc-fe/templates/deployment.yaml b/kubernetes/sdc/components/sdc-fe/templates/deployment.yaml index 0a5c0a3445..dcb17d0ba2 100644 --- a/kubernetes/sdc/components/sdc-fe/templates/deployment.yaml +++ b/kubernetes/sdc/components/sdc-fe/templates/deployment.yaml @@ -148,12 +148,12 @@ spec: value: {{ .Values.config.javaOptions }} volumeMounts: - name: sdc-environments-output - mountPath: /var/lib/jetty/chef-solo/environments/ + mountPath: /app/jetty/chef-solo/environments/ - name: sdc-environments-output - mountPath: /var/lib/jetty/chef-solo/cookbooks/sdc-catalog-fe/files/default/org.onap.sdc.p12 + mountPath: /app/jetty/chef-solo/cookbooks/sdc-catalog-fe/files/default/org.onap.sdc.p12 subPath: org.onap.sdc.p12 - name: sdc-environments-output - mountPath: /var/lib/jetty/chef-solo/cookbooks/sdc-catalog-fe/files/default/org.onap.sdc.trust.jks + mountPath: /app/jetty/chef-solo/cookbooks/sdc-catalog-fe/files/default/org.onap.sdc.trust.jks subPath: org.onap.sdc.trust.jks - name: {{ include "common.fullname" . }}-localtime mountPath: /etc/localtime @@ -161,7 +161,7 @@ spec: - name: {{ include "common.fullname" . }}-logs mountPath: /var/log/onap - name: {{ include "common.fullname" . }}-configs - mountPath: /var/lib/jetty/config/catalog-fe/plugins-configuration.yaml + mountPath: /app/jetty/config/catalog-fe/plugins-configuration.yaml subPath: plugins-configuration.yaml - name: {{ include "common.fullname" . }}-logback mountPath: /tmp/logback.xml @@ -169,7 +169,7 @@ spec: lifecycle: postStart: exec: - command: ["/bin/sh", "-c", "export LOG=wait_logback.log; touch $LOG; export SRC=/tmp/logback.xml; export DST=/var/lib/jetty/config/catalog-fe/; while [ ! -e $DST ]; do echo 'Waiting for $DST...' >> $LOG; sleep 5; done; sleep 2; /bin/cp -f $SRC $DST; echo 'Done' >> $LOG"] + command: ["/bin/sh", "-c", "export LOG=wait_logback.log; touch $LOG; export SRC=/tmp/logback.xml; export DST=/app/jetty/config/catalog-fe/; while [ ! -e $DST ]; do echo 'Waiting for $DST...' >> $LOG; sleep 5; done; sleep 2; /bin/cp -f $SRC $DST; echo 'Done' >> $LOG"] # side car containers - name: {{ include "common.name" . }}-filebeat-onap image: {{ include "repositoryGenerator.image.logging" . }} @@ -189,6 +189,7 @@ spec: requests: cpu: 3m memory: 20Mi + serviceAccountName: {{ include "common.fullname" (dict "suffix" "read" "dot" . )}} volumes: {{ include "common.certInitializer.volumes" . | nindent 8 }} - name: {{ include "common.fullname" . }}-localtime hostPath: diff --git a/kubernetes/sdc/components/sdc-fe/values.yaml b/kubernetes/sdc/components/sdc-fe/values.yaml index dde22b5b55..e9b2eee8db 100644 --- a/kubernetes/sdc/components/sdc-fe/values.yaml +++ b/kubernetes/sdc/components/sdc-fe/values.yaml @@ -47,7 +47,7 @@ certInitializer: # Application configuration defaults. ################################################################# # application image -image: onap/sdc-frontend:1.8.5 +image: onap/sdc-frontend:1.9.0 pullPolicy: Always config: @@ -143,3 +143,9 @@ resources: cpu: 80m memory: 2Gi unlimited: {} + +#Pods Service Account +serviceAccount: + nameOverride: sdc-fe + roles: + - read diff --git a/kubernetes/sdc/components/sdc-onboarding-be/requirements.yaml b/kubernetes/sdc/components/sdc-onboarding-be/requirements.yaml index b36d051041..b684a0e11f 100644 --- a/kubernetes/sdc/components/sdc-onboarding-be/requirements.yaml +++ b/kubernetes/sdc/components/sdc-onboarding-be/requirements.yaml @@ -24,3 +24,6 @@ dependencies: - name: repositoryGenerator version: ~8.x-0 repository: '@local' + - name: serviceAccount + version: ~8.x-0 + repository: '@local' diff --git a/kubernetes/sdc/components/sdc-onboarding-be/templates/deployment.yaml b/kubernetes/sdc/components/sdc-onboarding-be/templates/deployment.yaml index 7251006d38..2bd53ff91b 100644 --- a/kubernetes/sdc/components/sdc-onboarding-be/templates/deployment.yaml +++ b/kubernetes/sdc/components/sdc-onboarding-be/templates/deployment.yaml @@ -122,9 +122,9 @@ spec: - containerPort: {{ .Values.service.internalPort2 }} {{ if eq .Values.liveness.enabled true }} livenessProbe: - exec: - command: - - "/var/lib/jetty/ready-probe.sh" + httpGet: + path: /onboarding-api/v1.0/healthcheck + port: {{ .Values.service.internalPort2 }} initialDelaySeconds: {{ .Values.liveness.initialDelaySeconds }} periodSeconds: {{ .Values.liveness.periodSeconds }} timeoutSeconds: {{ .Values.liveness.timeoutSeconds }} @@ -132,18 +132,18 @@ spec: failureThreshold: {{ .Values.liveness.failureThreshold }} {{ end }} readinessProbe: - exec: - command: - - "/var/lib/jetty/ready-probe.sh" + httpGet: + path: /onboarding-api/v1.0/healthcheck + port: {{ .Values.service.internalPort2 }} initialDelaySeconds: {{ .Values.readiness.initialDelaySeconds }} periodSeconds: {{ .Values.readiness.periodSeconds }} timeoutSeconds: {{ .Values.readiness.timeoutSeconds }} successThreshold: {{ .Values.readiness.successThreshold }} failureThreshold: {{ .Values.readiness.failureThreshold }} startupProbe: - exec: - command: - - "/var/lib/jetty/ready-probe.sh" + httpGet: + path: /onboarding-api/v1.0/healthcheck + port: {{ .Values.service.internalPort2 }} initialDelaySeconds: {{ .Values.startup.initialDelaySeconds }} periodSeconds: {{ .Values.startup.periodSeconds }} timeoutSeconds: {{ .Values.startup.timeoutSeconds }} @@ -173,12 +173,12 @@ spec: value: {{ .Values.cert.certDir }} volumeMounts: - name: sdc-environments-output - mountPath: /var/lib/jetty/chef-solo/environments/ + mountPath: /app/jetty/chef-solo/environments/ - name: sdc-environments-output - mountPath: /var/lib/jetty/chef-solo/cookbooks/sdc-onboard-backend/files/default/org.onap.sdc.p12 + mountPath: /app/jetty/chef-solo/cookbooks/sdc-onboard-backend/files/default/org.onap.sdc.p12 subPath: org.onap.sdc.p12 - name: sdc-environments-output - mountPath: /var/lib/jetty/chef-solo/cookbooks/sdc-onboard-backend/files/default/org.onap.sdc.trust.jks + mountPath: /app/jetty/chef-solo/cookbooks/sdc-onboard-backend/files/default/org.onap.sdc.trust.jks subPath: org.onap.sdc.trust.jks - name: {{ include "common.fullname" . }}-localtime mountPath: /etc/localtime @@ -193,7 +193,7 @@ spec: lifecycle: postStart: exec: - command: ["/bin/sh", "-c", "export LOG=wait_logback.log; touch $LOG; export SRC=/tmp/logback.xml; export DST=/var/lib/jetty/config/onboarding-be/; while [ ! -e $DST ]; do echo 'Waiting for $DST...' >> $LOG; sleep 5; done; sleep 2; /bin/cp -f $SRC $DST; echo 'Done' >> $LOG"] + command: ["/bin/sh", "-c", "export LOG=wait_logback.log; touch $LOG; export SRC=/tmp/logback.xml; export DST=/app/jetty/config/onboarding-be/; while [ ! -e $DST ]; do echo 'Waiting for $DST...' >> $LOG; sleep 5; done; sleep 2; /bin/cp -f $SRC $DST; echo 'Done' >> $LOG"] # side car containers - name: {{ include "common.name" . }}-filebeat-onap image: {{ include "repositoryGenerator.image.logging" . }} @@ -213,6 +213,7 @@ spec: requests: cpu: 3m memory: 20Mi + serviceAccountName: {{ include "common.fullname" (dict "suffix" "read" "dot" . )}} volumes: {{ include "common.certInitializer.volumes" . | nindent 6 }} - name: {{ include "common.fullname" . }}-localtime hostPath: diff --git a/kubernetes/sdc/components/sdc-onboarding-be/values.yaml b/kubernetes/sdc/components/sdc-onboarding-be/values.yaml index f26a0208b9..aa7d535db3 100644 --- a/kubernetes/sdc/components/sdc-onboarding-be/values.yaml +++ b/kubernetes/sdc/components/sdc-onboarding-be/values.yaml @@ -59,8 +59,8 @@ certInitializer: # Application configuration defaults. ################################################################# # application image -image: onap/sdc-onboard-backend:1.8.5 -onboardingInitImage: onap/sdc-onboard-cassandra-init:1.8.5 +image: onap/sdc-onboard-backend:1.9.0 +onboardingInitImage: onap/sdc-onboard-cassandra-init:1.9.0 pullPolicy: Always # flag to enable debugging - application support required @@ -141,7 +141,7 @@ persistence: ##Certificate storage persistence ##This is temporary solution for SDC-1980 cert: - certDir: /var/lib/jetty/cert + certDir: /app/jetty/cert persistence: enabled: true size: 10Mi @@ -175,3 +175,9 @@ resources: cpu: 80m memory: 2Gi unlimited: {} + +#Pods Service Account +serviceAccount: + nameOverride: sdc-onboarding-be + roles: + - read diff --git a/kubernetes/sdc/components/sdc-wfd-be/requirements.yaml b/kubernetes/sdc/components/sdc-wfd-be/requirements.yaml index b36d051041..b684a0e11f 100644 --- a/kubernetes/sdc/components/sdc-wfd-be/requirements.yaml +++ b/kubernetes/sdc/components/sdc-wfd-be/requirements.yaml @@ -24,3 +24,6 @@ dependencies: - name: repositoryGenerator version: ~8.x-0 repository: '@local' + - name: serviceAccount + version: ~8.x-0 + repository: '@local' diff --git a/kubernetes/sdc/components/sdc-wfd-be/templates/deployment.yaml b/kubernetes/sdc/components/sdc-wfd-be/templates/deployment.yaml index de75092f8a..343bda8ff9 100644 --- a/kubernetes/sdc/components/sdc-wfd-be/templates/deployment.yaml +++ b/kubernetes/sdc/components/sdc-wfd-be/templates/deployment.yaml @@ -144,6 +144,7 @@ spec: value: "{{ .Values.config.serverSSLTrustStoreType }}" volumeMounts: {{ include "common.certInitializer.volumeMount" . | nindent 10 }} resources: {{ include "common.resources" . | nindent 12 }} + serviceAccountName: {{ include "common.fullname" (dict "suffix" "read" "dot" . )}} volumes: {{ include "common.certInitializer.volumes" . | nindent 8 }} imagePullSecrets: - name: "{{ include "common.namespace" . }}-docker-registry-key" diff --git a/kubernetes/sdc/components/sdc-wfd-be/values.yaml b/kubernetes/sdc/components/sdc-wfd-be/values.yaml index d4414f1986..8b61567114 100644 --- a/kubernetes/sdc/components/sdc-wfd-be/values.yaml +++ b/kubernetes/sdc/components/sdc-wfd-be/values.yaml @@ -160,3 +160,9 @@ resources: cpu: 80m memory: 2Gi unlimited: {} + +#Pods Service Account +serviceAccount: + nameOverride: sdc-wfd-be + roles: + - read diff --git a/kubernetes/sdc/components/sdc-wfd-fe/requirements.yaml b/kubernetes/sdc/components/sdc-wfd-fe/requirements.yaml index b36d051041..b684a0e11f 100644 --- a/kubernetes/sdc/components/sdc-wfd-fe/requirements.yaml +++ b/kubernetes/sdc/components/sdc-wfd-fe/requirements.yaml @@ -24,3 +24,6 @@ dependencies: - name: repositoryGenerator version: ~8.x-0 repository: '@local' + - name: serviceAccount + version: ~8.x-0 + repository: '@local' diff --git a/kubernetes/sdc/components/sdc-wfd-fe/templates/deployment.yaml b/kubernetes/sdc/components/sdc-wfd-fe/templates/deployment.yaml index b8073d723d..d221c07612 100644 --- a/kubernetes/sdc/components/sdc-wfd-fe/templates/deployment.yaml +++ b/kubernetes/sdc/components/sdc-wfd-fe/templates/deployment.yaml @@ -178,6 +178,7 @@ spec: requests: cpu: 3m memory: 20Mi + serviceAccountName: {{ include "common.fullname" (dict "suffix" "read" "dot" . )}} volumes: {{ include "common.certInitializer.volumes" . | nindent 8 }} - name: {{ include "common.fullname" . }}-localtime hostPath: diff --git a/kubernetes/sdc/components/sdc-wfd-fe/values.yaml b/kubernetes/sdc/components/sdc-wfd-fe/values.yaml index 3cc9b9542f..d8ee5c8285 100644 --- a/kubernetes/sdc/components/sdc-wfd-fe/values.yaml +++ b/kubernetes/sdc/components/sdc-wfd-fe/values.yaml @@ -139,3 +139,9 @@ resources: cpu: 80m memory: 2Gi unlimited: {} + +#Pods Service Account +serviceAccount: + nameOverride: sdc-wfd-fe + roles: + - read diff --git a/kubernetes/sdc/requirements.yaml b/kubernetes/sdc/requirements.yaml index 2f2cb6c373..1f9b2d1600 100644 --- a/kubernetes/sdc/requirements.yaml +++ b/kubernetes/sdc/requirements.yaml @@ -37,4 +37,4 @@ dependencies: - name: sdc-helm-validator version: ~8.x-0 repository: 'file://components/sdc-helm-validator' - condition: sdc-helm-validator.enabled + condition: sdcHelmValidator.enabled diff --git a/kubernetes/sdc/resources/config/environments/AUTO.json b/kubernetes/sdc/resources/config/environments/AUTO.json index 79428f73c6..d01f8557f3 100755 --- a/kubernetes/sdc/resources/config/environments/AUTO.json +++ b/kubernetes/sdc/resources/config/environments/AUTO.json @@ -46,6 +46,14 @@ "VnfRepo": { "vnfRepoPort": "{{.Values.config.environment.vnfRepoPort}}", "vnfRepoHost": "refrepo.{{include "common.namespace" .}}" + }, + "HelmValidator": { + "validator_enabled": "{{.Values.sdcHelmValidator.enabled}}", + "helm_version": "{{.Values.sdcHelmValidator.helmVersion}}", + "deployable": "{{.Values.sdcHelmValidator.deployable}}", + "lintable": "{{.Values.sdcHelmValidator.lintable}}", + "strict_lintable": "{{.Values.sdcHelmValidator.strictLintable}}", + "validator_url": "{{.Values.sdcHelmValidator.url}}" } }, "override_attributes": { diff --git a/kubernetes/sdc/values.yaml b/kubernetes/sdc/values.yaml index b7476a584e..cd3dc1e5fd 100644 --- a/kubernetes/sdc/values.yaml +++ b/kubernetes/sdc/values.yaml @@ -63,5 +63,10 @@ cassandra: # dependency / sub-chart configuration sdc-wfd: enabled: true -sdc-helm-validator: +sdcHelmValidator: enabled: true + helmVersion: 3.5.2 + deployable: true + lintable: false + strictLintable: false + url: http://sdc-helm-validator:8080/validate diff --git a/kubernetes/sdnc/requirements.yaml b/kubernetes/sdnc/requirements.yaml index 0c82f9581d..ac0e6ed868 100644 --- a/kubernetes/sdnc/requirements.yaml +++ b/kubernetes/sdnc/requirements.yaml @@ -21,9 +21,6 @@ dependencies: - name: certInitializer version: ~8.x-0 repository: '@local' - - name: cmpv2Certificate - version: ~8.x-0 - repository: '@local' - name: certManagerCertificate version: ~8.x-0 repository: '@local' diff --git a/kubernetes/sdnc/resources/config/conf/mountpoint-registrar.properties b/kubernetes/sdnc/resources/config/conf/mountpoint-registrar.properties index 57a16bd488..303e504aa9 100644 --- a/kubernetes/sdnc/resources/config/conf/mountpoint-registrar.properties +++ b/kubernetes/sdnc/resources/config/conf/mountpoint-registrar.properties @@ -23,7 +23,6 @@ topic=unauthenticated.SEC_FAULT_OUTPUT contenttype=application/json group=myG id=C1 -timeout=50000 limit=10000 [pnfRegistration] @@ -41,5 +40,4 @@ topic=unauthenticated.VES_PNFREG_OUTPUT contenttype=application/json group=myG id=C1 -timeout=50000 limit=10000 diff --git a/kubernetes/sdnc/templates/certificates.yaml b/kubernetes/sdnc/templates/certificates.yaml index c4eca61e35..acf9012099 100644 --- a/kubernetes/sdnc/templates/certificates.yaml +++ b/kubernetes/sdnc/templates/certificates.yaml @@ -14,6 +14,6 @@ # limitations under the License. */}} -{{ if and .Values.global.cmpv2Enabled .Values.global.CMPv2CertManagerIntegration }} +{{ if .Values.global.cmpv2Enabled }} {{ include "certManagerCertificate.certificate" . }} {{ end }} diff --git a/kubernetes/sdnc/templates/statefulset.yaml b/kubernetes/sdnc/templates/statefulset.yaml index 8a7259ba0d..f0ee8a9456 100644 --- a/kubernetes/sdnc/templates/statefulset.yaml +++ b/kubernetes/sdnc/templates/statefulset.yaml @@ -155,7 +155,6 @@ spec: name: {{ include "common.name" . }}-readiness {{ end -}} {{ include "common.certInitializer.initContainer" . | indent 6 }} -{{ include "common.certServiceClient.initContainer" . | indent 6 }} - name: {{ include "common.name" . }}-chown image: {{ include "repositoryGenerator.image.busybox" . }} command: @@ -178,7 +177,7 @@ spec: - name: {{ include "common.name" . }} image: {{ include "repositoryGenerator.repository" . }}/{{ .Values.image }} imagePullPolicy: {{ .Values.global.pullPolicy | default .Values.pullPolicy }} - {{- if and .Values.global.cmpv2Enabled .Values.global.CMPv2CertManagerIntegration }} + {{- if .Values.global.cmpv2Enabled }} {{- $linkCommand := include "common.certManager.linkVolumeMounts" . }} lifecycle: postStart: @@ -312,8 +311,7 @@ spec: value: "{{ .Values.config.sdnr.netconfCallHome.enabled | default "false" }}" volumeMounts: {{ include "common.certInitializer.volumeMount" . | indent 10 }} -{{ include "common.certServiceClient.volumeMounts" . | indent 10 }} -{{- if and .Values.global.cmpv2Enabled .Values.global.CMPv2CertManagerIntegration }} +{{- if .Values.global.cmpv2Enabled }} {{ include "common.certManager.volumeMounts" . | indent 10 }} {{- end }} - mountPath: /etc/localtime @@ -437,8 +435,7 @@ spec: emptyDir: {} {{ else }} {{ include "common.certInitializer.volumes" . | nindent 8 }} -{{ include "common.certServiceClient.volumes" . | nindent 8 }} -{{- if and .Values.global.cmpv2Enabled .Values.global.CMPv2CertManagerIntegration }} +{{- if .Values.global.cmpv2Enabled }} {{ include "common.certManager.volumes" . | nindent 8 }} {{- end }} volumeClaimTemplates: diff --git a/kubernetes/sdnc/values.yaml b/kubernetes/sdnc/values.yaml index b22b6758d2..6ab96adde7 100644 --- a/kubernetes/sdnc/values.yaml +++ b/kubernetes/sdnc/values.yaml @@ -30,8 +30,6 @@ global: service: mariadb-galera internalPort: 3306 nameOverride: mariadb-galera - # Enabling CMPv2 with CertManager - CMPv2CertManagerIntegration: false ################################################################# # Secrets metaconfig @@ -461,6 +459,8 @@ dgbuilder: dbServiceName: mariadb-galera # This should be revisited and changed to plain text dgUserPassword: cc03e747a6afbbcbf8be7668acfebee5 + serviceAccount: + nameOverride: sdnc-dgbuilder mariadb-galera: service: name: sdnc-dgbuilder diff --git a/kubernetes/so/components/so-admin-cockpit/requirements.yaml b/kubernetes/so/components/so-admin-cockpit/requirements.yaml index 730d75ae80..724526613d 100755 --- a/kubernetes/so/components/so-admin-cockpit/requirements.yaml +++ b/kubernetes/so/components/so-admin-cockpit/requirements.yaml @@ -25,3 +25,6 @@ dependencies: - name: soHelpers version: ~8.x-0 repository: 'file://../soHelpers' + - name: serviceAccount + version: ~8.x-0 + repository: '@local' diff --git a/kubernetes/so/components/so-admin-cockpit/templates/deployment.yaml b/kubernetes/so/components/so-admin-cockpit/templates/deployment.yaml index 9de1b50c8c..4b46721c2a 100644 --- a/kubernetes/so/components/so-admin-cockpit/templates/deployment.yaml +++ b/kubernetes/so/components/so-admin-cockpit/templates/deployment.yaml @@ -118,6 +118,7 @@ spec: - containerPort: {{ index .Values.containerPort }} name: {{ .Values.service.portName }} protocol: TCP + serviceAccountName: {{ include "common.fullname" (dict "suffix" "read" "dot" . )}} volumes: {{ include "so.certificate.volumes" . | nindent 6 }} - name: logs emptyDir: {} diff --git a/kubernetes/so/components/so-admin-cockpit/values.yaml b/kubernetes/so/components/so-admin-cockpit/values.yaml index d59189b98b..6cba922571 100644 --- a/kubernetes/so/components/so-admin-cockpit/values.yaml +++ b/kubernetes/so/components/so-admin-cockpit/values.yaml @@ -159,3 +159,9 @@ ingress: nodeSelector: {} tolerations: [] affinity: {} + +#Pods Service Account +serviceAccount: + nameOverride: so-admin-cockpit + roles: + - read diff --git a/kubernetes/so/components/so-appc-orchestrator/requirements.yaml b/kubernetes/so/components/so-appc-orchestrator/requirements.yaml index f8b1d7445e..f8c29f83f8 100755 --- a/kubernetes/so/components/so-appc-orchestrator/requirements.yaml +++ b/kubernetes/so/components/so-appc-orchestrator/requirements.yaml @@ -24,3 +24,7 @@ dependencies: - name: soHelpers version: ~8.x-0 repository: 'file://../soHelpers' + - name: serviceAccount + version: ~8.x-0 + repository: '@local' + diff --git a/kubernetes/so/components/so-appc-orchestrator/templates/deployment.yaml b/kubernetes/so/components/so-appc-orchestrator/templates/deployment.yaml index 142ae725d6..d6584250e2 100644 --- a/kubernetes/so/components/so-appc-orchestrator/templates/deployment.yaml +++ b/kubernetes/so/components/so-appc-orchestrator/templates/deployment.yaml @@ -81,6 +81,7 @@ spec: mountPath: /app/config readOnly: true {{ include "so.helpers.livenessProbe" .| indent 8 }} + serviceAccountName: {{ include "common.fullname" (dict "suffix" "read" "dot" . )}} volumes: {{ include "so.certificate.volumes" . | nindent 6 }} - name: logs emptyDir: {} diff --git a/kubernetes/so/components/so-appc-orchestrator/values.yaml b/kubernetes/so/components/so-appc-orchestrator/values.yaml index 310cb9f323..724fcbd032 100644 --- a/kubernetes/so/components/so-appc-orchestrator/values.yaml +++ b/kubernetes/so/components/so-appc-orchestrator/values.yaml @@ -158,3 +158,9 @@ appc: key: VIlbtVl6YLhNUrtU secret: 64AG2hF4pYeG2pq7CT6XwUOT service: ueb + +#Pods Service Account +serviceAccount: + nameOverride: so-appc-orchestrator + roles: + - read diff --git a/kubernetes/so/components/so-bpmn-infra/requirements.yaml b/kubernetes/so/components/so-bpmn-infra/requirements.yaml index ff6f19ddde..1ea0239014 100755 --- a/kubernetes/so/components/so-bpmn-infra/requirements.yaml +++ b/kubernetes/so/components/so-bpmn-infra/requirements.yaml @@ -27,3 +27,6 @@ dependencies: - name: soHelpers version: ~8.x-0 repository: 'file://../soHelpers' + - name: serviceAccount + version: ~8.x-0 + repository: '@local' diff --git a/kubernetes/so/components/so-bpmn-infra/templates/deployment.yaml b/kubernetes/so/components/so-bpmn-infra/templates/deployment.yaml index 6e117cd8bf..2609e99781 100755 --- a/kubernetes/so/components/so-bpmn-infra/templates/deployment.yaml +++ b/kubernetes/so/components/so-bpmn-infra/templates/deployment.yaml @@ -103,6 +103,7 @@ spec: mountPath: /var/log/onap/so - name: {{ include "common.fullname" . }}-logs mountPath: /var/log/onap + serviceAccountName: {{ include "common.fullname" (dict "suffix" "read" "dot" . )}} volumes: {{ include "so.certificate.volumes" . | nindent 6 }} - name: logs emptyDir: {} diff --git a/kubernetes/so/components/so-bpmn-infra/values.yaml b/kubernetes/so/components/so-bpmn-infra/values.yaml index 3e59cbfd74..09ad91191d 100755 --- a/kubernetes/so/components/so-bpmn-infra/values.yaml +++ b/kubernetes/so/components/so-bpmn-infra/values.yaml @@ -165,3 +165,9 @@ ingress: nodeSelector: {} tolerations: [] affinity: {} + +#Pods Service Account +serviceAccount: + nameOverride: so-bpmn-infra + roles: + - read diff --git a/kubernetes/so/components/so-catalog-db-adapter/requirements.yaml b/kubernetes/so/components/so-catalog-db-adapter/requirements.yaml index ff6f19ddde..1ea0239014 100755 --- a/kubernetes/so/components/so-catalog-db-adapter/requirements.yaml +++ b/kubernetes/so/components/so-catalog-db-adapter/requirements.yaml @@ -27,3 +27,6 @@ dependencies: - name: soHelpers version: ~8.x-0 repository: 'file://../soHelpers' + - name: serviceAccount + version: ~8.x-0 + repository: '@local' diff --git a/kubernetes/so/components/so-catalog-db-adapter/templates/deployment.yaml b/kubernetes/so/components/so-catalog-db-adapter/templates/deployment.yaml index f756448e2b..30e55511cc 100755 --- a/kubernetes/so/components/so-catalog-db-adapter/templates/deployment.yaml +++ b/kubernetes/so/components/so-catalog-db-adapter/templates/deployment.yaml @@ -87,6 +87,7 @@ spec: - containerPort: {{ index .Values.containerPort }} name: {{ .Values.service.portName }} protocol: TCP + serviceAccountName: {{ include "common.fullname" (dict "suffix" "read" "dot" . )}} volumes: {{ include "so.certificate.volumes" . | nindent 6 }} - name: logs emptyDir: {} diff --git a/kubernetes/so/components/so-catalog-db-adapter/values.yaml b/kubernetes/so/components/so-catalog-db-adapter/values.yaml index 6308e9f8de..f3d6bdbcb9 100755 --- a/kubernetes/so/components/so-catalog-db-adapter/values.yaml +++ b/kubernetes/so/components/so-catalog-db-adapter/values.yaml @@ -148,3 +148,9 @@ config: nodeSelector: {} tolerations: [] affinity: {} + +serviceAccount: + nameOverride: so-catalog-db-adapter + roles: + - read + diff --git a/kubernetes/so/components/so-cnf-adapter/requirements.yaml b/kubernetes/so/components/so-cnf-adapter/requirements.yaml index ce294949a2..6f2b29e6ba 100755 --- a/kubernetes/so/components/so-cnf-adapter/requirements.yaml +++ b/kubernetes/so/components/so-cnf-adapter/requirements.yaml @@ -28,3 +28,6 @@ dependencies: - name: soHelpers version: ~8.x-0 repository: 'file://../soHelpers' + - name: serviceAccount + version: ~8.x-0 + repository: '@local' diff --git a/kubernetes/so/components/so-cnf-adapter/templates/deployment.yaml b/kubernetes/so/components/so-cnf-adapter/templates/deployment.yaml index 0d80b2a9ae..340571a59b 100755 --- a/kubernetes/so/components/so-cnf-adapter/templates/deployment.yaml +++ b/kubernetes/so/components/so-cnf-adapter/templates/deployment.yaml @@ -104,6 +104,7 @@ spec: timeoutSeconds: {{ index .Values.livenessProbe.timeoutSeconds}} successThreshold: {{ index .Values.livenessProbe.successThreshold}} failureThreshold: {{ index .Values.livenessProbe.failureThreshold}} + serviceAccountName: {{ include "common.fullname" (dict "suffix" "read" "dot" . )}} volumes: {{ include "so.certificate.volumes" . | nindent 8 }} - name: logs emptyDir: {} diff --git a/kubernetes/so/components/so-cnf-adapter/values.yaml b/kubernetes/so/components/so-cnf-adapter/values.yaml index 2d6d57b2f1..f3d53c974c 100755 --- a/kubernetes/so/components/so-cnf-adapter/values.yaml +++ b/kubernetes/so/components/so-cnf-adapter/values.yaml @@ -165,3 +165,8 @@ nodeSelector: {} tolerations: [] affinity: {} +#Pods Service Account +serviceAccount: + nameOverride: so-cnf-adapter + roles: + - read diff --git a/kubernetes/so/components/so-etsi-nfvo-ns-lcm/requirements.yaml b/kubernetes/so/components/so-etsi-nfvo-ns-lcm/requirements.yaml index f8b1d7445e..421fe7e290 100755 --- a/kubernetes/so/components/so-etsi-nfvo-ns-lcm/requirements.yaml +++ b/kubernetes/so/components/so-etsi-nfvo-ns-lcm/requirements.yaml @@ -24,3 +24,6 @@ dependencies: - name: soHelpers version: ~8.x-0 repository: 'file://../soHelpers' + - name: serviceAccount + version: ~8.x-0 + repository: '@local' diff --git a/kubernetes/so/components/so-etsi-nfvo-ns-lcm/templates/deployment.yaml b/kubernetes/so/components/so-etsi-nfvo-ns-lcm/templates/deployment.yaml index c33dcb7f32..6465af4e4a 100644 --- a/kubernetes/so/components/so-etsi-nfvo-ns-lcm/templates/deployment.yaml +++ b/kubernetes/so/components/so-etsi-nfvo-ns-lcm/templates/deployment.yaml @@ -83,6 +83,7 @@ spec: successThreshold: {{ index .Values.livenessProbe.successThreshold}} failureThreshold: {{ index .Values.livenessProbe.failureThreshold}} ports: {{ include "common.containerPorts" . | nindent 12 }} + serviceAccountName: {{ include "common.fullname" (dict "suffix" "read" "dot" . )}} volumes: {{ include "so.certificate.volumes" . | nindent 8 }} - name: logs emptyDir: {} diff --git a/kubernetes/so/components/so-etsi-nfvo-ns-lcm/values.yaml b/kubernetes/so/components/so-etsi-nfvo-ns-lcm/values.yaml index 363ce40cae..57bf2f3c17 100644 --- a/kubernetes/so/components/so-etsi-nfvo-ns-lcm/values.yaml +++ b/kubernetes/so/components/so-etsi-nfvo-ns-lcm/values.yaml @@ -161,3 +161,9 @@ nodeSelector: {} tolerations: [] affinity: {} + +#Pods Service Account +serviceAccount: + nameOverride: so-etsi-nfvo-ns-lcm + roles: + - read diff --git a/kubernetes/so/components/so-etsi-sol003-adapter/requirements.yaml b/kubernetes/so/components/so-etsi-sol003-adapter/requirements.yaml index f8b1d7445e..421fe7e290 100755 --- a/kubernetes/so/components/so-etsi-sol003-adapter/requirements.yaml +++ b/kubernetes/so/components/so-etsi-sol003-adapter/requirements.yaml @@ -24,3 +24,6 @@ dependencies: - name: soHelpers version: ~8.x-0 repository: 'file://../soHelpers' + - name: serviceAccount + version: ~8.x-0 + repository: '@local' diff --git a/kubernetes/so/components/so-etsi-sol003-adapter/templates/deployment.yaml b/kubernetes/so/components/so-etsi-sol003-adapter/templates/deployment.yaml index 29ebd97229..3272bfd299 100755 --- a/kubernetes/so/components/so-etsi-sol003-adapter/templates/deployment.yaml +++ b/kubernetes/so/components/so-etsi-sol003-adapter/templates/deployment.yaml @@ -78,6 +78,7 @@ spec: - containerPort: {{ .Values.containerPort }} name: {{ .Values.service.portName }} protocol: TCP + serviceAccountName: {{ include "common.fullname" (dict "suffix" "read" "dot" . )}} volumes: {{ include "so.certificate.volumes" . | nindent 6 }} - name: logs emptyDir: {} diff --git a/kubernetes/so/components/so-etsi-sol003-adapter/values.yaml b/kubernetes/so/components/so-etsi-sol003-adapter/values.yaml index b8a7776da6..42554bb5a2 100755 --- a/kubernetes/so/components/so-etsi-sol003-adapter/values.yaml +++ b/kubernetes/so/components/so-etsi-sol003-adapter/values.yaml @@ -109,3 +109,9 @@ ingress: nodeSelector: {} tolerations: [] affinity: {} + +#Pods Service Account +serviceAccount: + nameOverride: so-etsi-sol003-adapter + roles: + - read diff --git a/kubernetes/so/components/so-etsi-sol005-adapter/requirements.yaml b/kubernetes/so/components/so-etsi-sol005-adapter/requirements.yaml index ff6f19ddde..1ea0239014 100755 --- a/kubernetes/so/components/so-etsi-sol005-adapter/requirements.yaml +++ b/kubernetes/so/components/so-etsi-sol005-adapter/requirements.yaml @@ -27,3 +27,6 @@ dependencies: - name: soHelpers version: ~8.x-0 repository: 'file://../soHelpers' + - name: serviceAccount + version: ~8.x-0 + repository: '@local' diff --git a/kubernetes/so/components/so-etsi-sol005-adapter/templates/deployment.yaml b/kubernetes/so/components/so-etsi-sol005-adapter/templates/deployment.yaml index c769961059..4f8f4d9f26 100755 --- a/kubernetes/so/components/so-etsi-sol005-adapter/templates/deployment.yaml +++ b/kubernetes/so/components/so-etsi-sol005-adapter/templates/deployment.yaml @@ -96,6 +96,7 @@ spec: - containerPort: {{ .Values.containerPort }} name: {{ .Values.service.portName }} protocol: TCP + serviceAccountName: {{ include "common.fullname" (dict "suffix" "read" "dot" . )}} volumes: {{ include "so.certificate.volumes" . | nindent 6 }} - name: logs emptyDir: {} diff --git a/kubernetes/so/components/so-etsi-sol005-adapter/values.yaml b/kubernetes/so/components/so-etsi-sol005-adapter/values.yaml index d43bffd71b..31b925576b 100755 --- a/kubernetes/so/components/so-etsi-sol005-adapter/values.yaml +++ b/kubernetes/so/components/so-etsi-sol005-adapter/values.yaml @@ -134,3 +134,9 @@ ingress: nodeSelector: {} tolerations: [] affinity: {} + +#Pods Service Account +serviceAccount: + nameOverride: so-etsi-sol005-adapter + roles: + - read diff --git a/kubernetes/so/components/so-mariadb/requirements.yaml b/kubernetes/so/components/so-mariadb/requirements.yaml index a9e9697689..b182a7008b 100755 --- a/kubernetes/so/components/so-mariadb/requirements.yaml +++ b/kubernetes/so/components/so-mariadb/requirements.yaml @@ -24,3 +24,6 @@ dependencies: - name: readinessCheck version: ~8.x-0 repository: '@local' + - name: serviceAccount + version: ~8.x-0 + repository: '@local' diff --git a/kubernetes/so/components/so-mariadb/templates/job.yaml b/kubernetes/so/components/so-mariadb/templates/job.yaml index 0eeba7b61a..178dff0261 100644 --- a/kubernetes/so/components/so-mariadb/templates/job.yaml +++ b/kubernetes/so/components/so-mariadb/templates/job.yaml @@ -60,6 +60,7 @@ spec: readOnly: true - name: backup-storage mountPath: /var/data/mariadb + serviceAccountName: {{ include "common.fullname" (dict "suffix" "read" "dot" . )}} volumes: - name: localtime hostPath: diff --git a/kubernetes/so/components/so-mariadb/values.yaml b/kubernetes/so/components/so-mariadb/values.yaml index 2dfd5b831f..58e34b78d6 100755 --- a/kubernetes/so/components/so-mariadb/values.yaml +++ b/kubernetes/so/components/so-mariadb/values.yaml @@ -181,3 +181,9 @@ persistence: mountPath: /dockerdata-nfs mountSubPath: so/migration + +#Pods Service Account +serviceAccount: + nameOverride: so-mariadb + roles: + - read diff --git a/kubernetes/so/components/so-nssmf-adapter/requirements.yaml b/kubernetes/so/components/so-nssmf-adapter/requirements.yaml index ff6f19ddde..1ea0239014 100755 --- a/kubernetes/so/components/so-nssmf-adapter/requirements.yaml +++ b/kubernetes/so/components/so-nssmf-adapter/requirements.yaml @@ -27,3 +27,6 @@ dependencies: - name: soHelpers version: ~8.x-0 repository: 'file://../soHelpers' + - name: serviceAccount + version: ~8.x-0 + repository: '@local' diff --git a/kubernetes/so/components/so-nssmf-adapter/templates/deployment.yaml b/kubernetes/so/components/so-nssmf-adapter/templates/deployment.yaml index dde03a4aad..f41352e63f 100755 --- a/kubernetes/so/components/so-nssmf-adapter/templates/deployment.yaml +++ b/kubernetes/so/components/so-nssmf-adapter/templates/deployment.yaml @@ -93,6 +93,7 @@ spec: timeoutSeconds: {{ index .Values.livenessProbe.timeoutSeconds}} successThreshold: {{ index .Values.livenessProbe.successThreshold}} failureThreshold: {{ index .Values.livenessProbe.failureThreshold}} + serviceAccountName: {{ include "common.fullname" (dict "suffix" "read" "dot" . )}} volumes: {{ include "so.certificate.volumes" . | nindent 8 }} - name: logs emptyDir: {} diff --git a/kubernetes/so/components/so-nssmf-adapter/values.yaml b/kubernetes/so/components/so-nssmf-adapter/values.yaml index c9f13b9d76..583f9ad3e8 100755 --- a/kubernetes/so/components/so-nssmf-adapter/values.yaml +++ b/kubernetes/so/components/so-nssmf-adapter/values.yaml @@ -155,3 +155,9 @@ ingress: nodeSelector: {} tolerations: [] affinity: {} + +#Pods Service Account +serviceAccount: + nameOverride: so-nssmf-adapter + roles: + - read diff --git a/kubernetes/so/components/so-oof-adapter/requirements.yaml b/kubernetes/so/components/so-oof-adapter/requirements.yaml index 12f93f95a6..4d6d760eef 100644 --- a/kubernetes/so/components/so-oof-adapter/requirements.yaml +++ b/kubernetes/so/components/so-oof-adapter/requirements.yaml @@ -25,3 +25,6 @@ dependencies: - name: soHelpers version: ~8.x-0 repository: 'file://../soHelpers' + - name: serviceAccount + version: ~8.x-0 + repository: '@local' diff --git a/kubernetes/so/components/so-oof-adapter/templates/deployment.yaml b/kubernetes/so/components/so-oof-adapter/templates/deployment.yaml index 62ebfff99f..5e8869ce11 100755 --- a/kubernetes/so/components/so-oof-adapter/templates/deployment.yaml +++ b/kubernetes/so/components/so-oof-adapter/templates/deployment.yaml @@ -83,6 +83,7 @@ spec: mountPath: /var/log/onap/so - name: {{ include "common.fullname" . }}-logs mountPath: /var/log/onap + serviceAccountName: {{ include "common.fullname" (dict "suffix" "read" "dot" . )}} volumes: {{ include "so.certificate.volumes" . | nindent 6 }} - name: logs emptyDir: {} diff --git a/kubernetes/so/components/so-oof-adapter/values.yaml b/kubernetes/so/components/so-oof-adapter/values.yaml index 5de0866b9a..240f05f204 100755 --- a/kubernetes/so/components/so-oof-adapter/values.yaml +++ b/kubernetes/so/components/so-oof-adapter/values.yaml @@ -139,3 +139,9 @@ ingress: nodeSelector: {} tolerations: [] affinity: {} + +#Pods Service Account +serviceAccount: + nameOverride: so-oof-adapter + roles: + - read diff --git a/kubernetes/so/components/so-openstack-adapter/requirements.yaml b/kubernetes/so/components/so-openstack-adapter/requirements.yaml index ff6f19ddde..1ea0239014 100755 --- a/kubernetes/so/components/so-openstack-adapter/requirements.yaml +++ b/kubernetes/so/components/so-openstack-adapter/requirements.yaml @@ -27,3 +27,6 @@ dependencies: - name: soHelpers version: ~8.x-0 repository: 'file://../soHelpers' + - name: serviceAccount + version: ~8.x-0 + repository: '@local' diff --git a/kubernetes/so/components/so-openstack-adapter/templates/deployment.yaml b/kubernetes/so/components/so-openstack-adapter/templates/deployment.yaml index 6e117cd8bf..2609e99781 100755 --- a/kubernetes/so/components/so-openstack-adapter/templates/deployment.yaml +++ b/kubernetes/so/components/so-openstack-adapter/templates/deployment.yaml @@ -103,6 +103,7 @@ spec: mountPath: /var/log/onap/so - name: {{ include "common.fullname" . }}-logs mountPath: /var/log/onap + serviceAccountName: {{ include "common.fullname" (dict "suffix" "read" "dot" . )}} volumes: {{ include "so.certificate.volumes" . | nindent 6 }} - name: logs emptyDir: {} diff --git a/kubernetes/so/components/so-openstack-adapter/values.yaml b/kubernetes/so/components/so-openstack-adapter/values.yaml index 29fc50b2b2..ff0277bf14 100755 --- a/kubernetes/so/components/so-openstack-adapter/values.yaml +++ b/kubernetes/so/components/so-openstack-adapter/values.yaml @@ -152,3 +152,9 @@ config: nodeSelector: {} tolerations: [] affinity: {} + +#Pods Service Account +serviceAccount: + nameOverride: so-openstack-adapter + roles: + - read diff --git a/kubernetes/so/components/so-request-db-adapter/requirements.yaml b/kubernetes/so/components/so-request-db-adapter/requirements.yaml index ff6f19ddde..1ea0239014 100755 --- a/kubernetes/so/components/so-request-db-adapter/requirements.yaml +++ b/kubernetes/so/components/so-request-db-adapter/requirements.yaml @@ -27,3 +27,6 @@ dependencies: - name: soHelpers version: ~8.x-0 repository: 'file://../soHelpers' + - name: serviceAccount + version: ~8.x-0 + repository: '@local' diff --git a/kubernetes/so/components/so-request-db-adapter/templates/deployment.yaml b/kubernetes/so/components/so-request-db-adapter/templates/deployment.yaml index f756448e2b..30e55511cc 100755 --- a/kubernetes/so/components/so-request-db-adapter/templates/deployment.yaml +++ b/kubernetes/so/components/so-request-db-adapter/templates/deployment.yaml @@ -87,6 +87,7 @@ spec: - containerPort: {{ index .Values.containerPort }} name: {{ .Values.service.portName }} protocol: TCP + serviceAccountName: {{ include "common.fullname" (dict "suffix" "read" "dot" . )}} volumes: {{ include "so.certificate.volumes" . | nindent 6 }} - name: logs emptyDir: {} diff --git a/kubernetes/so/components/so-request-db-adapter/values.yaml b/kubernetes/so/components/so-request-db-adapter/values.yaml index c117a7434a..61ec26d1f6 100755 --- a/kubernetes/so/components/so-request-db-adapter/values.yaml +++ b/kubernetes/so/components/so-request-db-adapter/values.yaml @@ -133,3 +133,9 @@ ingress: nodeSelector: {} tolerations: [] affinity: {} + +#Pods Service Account +serviceAccount: + nameOverride: so-request-db-adapter + roles: + - read diff --git a/kubernetes/so/components/so-sdc-controller/requirements.yaml b/kubernetes/so/components/so-sdc-controller/requirements.yaml index ff6f19ddde..1ea0239014 100755 --- a/kubernetes/so/components/so-sdc-controller/requirements.yaml +++ b/kubernetes/so/components/so-sdc-controller/requirements.yaml @@ -27,3 +27,6 @@ dependencies: - name: soHelpers version: ~8.x-0 repository: 'file://../soHelpers' + - name: serviceAccount + version: ~8.x-0 + repository: '@local' diff --git a/kubernetes/so/components/so-sdc-controller/templates/deployment.yaml b/kubernetes/so/components/so-sdc-controller/templates/deployment.yaml index 6e117cd8bf..2609e99781 100755 --- a/kubernetes/so/components/so-sdc-controller/templates/deployment.yaml +++ b/kubernetes/so/components/so-sdc-controller/templates/deployment.yaml @@ -103,6 +103,7 @@ spec: mountPath: /var/log/onap/so - name: {{ include "common.fullname" . }}-logs mountPath: /var/log/onap + serviceAccountName: {{ include "common.fullname" (dict "suffix" "read" "dot" . )}} volumes: {{ include "so.certificate.volumes" . | nindent 6 }} - name: logs emptyDir: {} diff --git a/kubernetes/so/components/so-sdc-controller/values.yaml b/kubernetes/so/components/so-sdc-controller/values.yaml index b1d7173a62..4b6eceecdd 100755 --- a/kubernetes/so/components/so-sdc-controller/values.yaml +++ b/kubernetes/so/components/so-sdc-controller/values.yaml @@ -141,3 +141,9 @@ ingress: nodeSelector: {} tolerations: [] affinity: {} + +#Pods Service Account +serviceAccount: + nameOverride: so-sdc-controller + roles: + - read diff --git a/kubernetes/so/components/so-sdnc-adapter/requirements.yaml b/kubernetes/so/components/so-sdnc-adapter/requirements.yaml index f8b1d7445e..421fe7e290 100755 --- a/kubernetes/so/components/so-sdnc-adapter/requirements.yaml +++ b/kubernetes/so/components/so-sdnc-adapter/requirements.yaml @@ -24,3 +24,6 @@ dependencies: - name: soHelpers version: ~8.x-0 repository: 'file://../soHelpers' + - name: serviceAccount + version: ~8.x-0 + repository: '@local' diff --git a/kubernetes/so/components/so-sdnc-adapter/templates/deployment.yaml b/kubernetes/so/components/so-sdnc-adapter/templates/deployment.yaml index 7b32cb6050..703186e292 100755 --- a/kubernetes/so/components/so-sdnc-adapter/templates/deployment.yaml +++ b/kubernetes/so/components/so-sdnc-adapter/templates/deployment.yaml @@ -107,6 +107,7 @@ spec: mountPath: /var/log/onap/so - name: {{ include "common.fullname" . }}-logs mountPath: /var/log/onap + serviceAccountName: {{ include "common.fullname" (dict "suffix" "read" "dot" . )}} volumes: {{ include "so.certificate.volumes" . | nindent 6 }} - name: logs emptyDir: {} diff --git a/kubernetes/so/components/so-sdnc-adapter/values.yaml b/kubernetes/so/components/so-sdnc-adapter/values.yaml index 9a67ef8220..8f3565ed3e 100755 --- a/kubernetes/so/components/so-sdnc-adapter/values.yaml +++ b/kubernetes/so/components/so-sdnc-adapter/values.yaml @@ -162,3 +162,9 @@ ingress: nodeSelector: {} tolerations: [] affinity: {} + +#Pods Service Account +serviceAccount: + nameOverride: so-sdnc-adapter + roles: + - read diff --git a/kubernetes/so/components/so-ve-vnfm-adapter/requirements.yaml b/kubernetes/so/components/so-ve-vnfm-adapter/requirements.yaml index ff6f19ddde..1ea0239014 100755 --- a/kubernetes/so/components/so-ve-vnfm-adapter/requirements.yaml +++ b/kubernetes/so/components/so-ve-vnfm-adapter/requirements.yaml @@ -27,3 +27,6 @@ dependencies: - name: soHelpers version: ~8.x-0 repository: 'file://../soHelpers' + - name: serviceAccount + version: ~8.x-0 + repository: '@local' diff --git a/kubernetes/so/components/so-ve-vnfm-adapter/templates/deployment.yaml b/kubernetes/so/components/so-ve-vnfm-adapter/templates/deployment.yaml index ac4f574bec..9a6b79c440 100755 --- a/kubernetes/so/components/so-ve-vnfm-adapter/templates/deployment.yaml +++ b/kubernetes/so/components/so-ve-vnfm-adapter/templates/deployment.yaml @@ -48,6 +48,7 @@ spec: successThreshold: {{ .Values.livenessProbe.successThreshold}} failureThreshold: {{ .Values.livenessProbe.failureThreshold}} ports: {{- include "common.containerPorts" . | nindent 10 }} + serviceAccountName: {{ include "common.fullname" (dict "suffix" "read" "dot" . )}} volumes: {{ include "so.certificate.volumes" . | nindent 8 }} - name: logs emptyDir: {} diff --git a/kubernetes/so/components/so-ve-vnfm-adapter/values.yaml b/kubernetes/so/components/so-ve-vnfm-adapter/values.yaml index 83ec78d857..8e8236cfb4 100755 --- a/kubernetes/so/components/so-ve-vnfm-adapter/values.yaml +++ b/kubernetes/so/components/so-ve-vnfm-adapter/values.yaml @@ -84,3 +84,9 @@ livenessProbe: nodeSelector: {} tolerations: [] affinity: {} + +#Pods Service Account +serviceAccount: + nameOverride: so-ve-vnfm-adapter + roles: + - read diff --git a/kubernetes/so/requirements.yaml b/kubernetes/so/requirements.yaml index 06fc6e9eb5..f2fc70c1f9 100755 --- a/kubernetes/so/requirements.yaml +++ b/kubernetes/so/requirements.yaml @@ -91,3 +91,6 @@ dependencies: version: ~8.x-0 repository: 'file://components/so-etsi-sol005-adapter' condition: so-etsi-sol005-adapter.enabled + - name: serviceAccount + version: ~8.x-0 + repository: '@local' diff --git a/kubernetes/so/resources/config/docker-files/scripts/start-jboss-server.sh b/kubernetes/so/resources/config/docker-files/scripts/start-jboss-server.sh index 52ba27ddca..3a9ef84834 100755 --- a/kubernetes/so/resources/config/docker-files/scripts/start-jboss-server.sh +++ b/kubernetes/so/resources/config/docker-files/scripts/start-jboss-server.sh @@ -37,7 +37,7 @@ trap "kill -TERM $JBOSS_PID" INT trap "kill -QUIT $JBOSS_PID" QUIT trap "kill -PIPE $JBOSS_PID" PIPE trap "kill -TERM $JBOSS_PID" TERM -if [ "x$JBOSS_PIDFILE" != "x" ]; then +if [ "$JBOSS_PIDFILE" != "" ]; then echo $JBOSS_PID > $JBOSS_PIDFILE fi # Wait until the background process exits @@ -60,6 +60,6 @@ if [ "$JBOSS_STATUS" -ne 10 ]; then # Wait for a complete shudown wait $JBOSS_PID 2>/dev/null fi -if [ "x$JBOSS_PIDFILE" != "x" ]; then +if [ "$JBOSS_PIDFILE" != "" ]; then grep "$JBOSS_PID" $JBOSS_PIDFILE && rm $JBOSS_PIDFILE fi diff --git a/kubernetes/so/templates/deployment.yaml b/kubernetes/so/templates/deployment.yaml index 6e117cd8bf..2609e99781 100755 --- a/kubernetes/so/templates/deployment.yaml +++ b/kubernetes/so/templates/deployment.yaml @@ -103,6 +103,7 @@ spec: mountPath: /var/log/onap/so - name: {{ include "common.fullname" . }}-logs mountPath: /var/log/onap + serviceAccountName: {{ include "common.fullname" (dict "suffix" "read" "dot" . )}} volumes: {{ include "so.certificate.volumes" . | nindent 6 }} - name: logs emptyDir: {} diff --git a/kubernetes/so/values.yaml b/kubernetes/so/values.yaml index ba98c344ac..f0bb7d1fe5 100755 --- a/kubernetes/so/values.yaml +++ b/kubernetes/so/values.yaml @@ -378,3 +378,9 @@ so-etsi-sol005-adapter: so-etsi-sol003-adapter: enabled: true + +#Pods Service Account +serviceAccount: + nameOverride: so + roles: + - read |