From 9c126615d93ada36299fbac36dfb20aedbe2add1 Mon Sep 17 00:00:00 2001 From: emaclee Date: Sun, 16 Apr 2023 17:48:15 +0100 Subject: Add retry mechanism on Subscription loader Issue-ID: CPS-1568 Signed-off-by: emaclee Change-Id: I35697c260cc1a774f50d12552996b39f812fc2de --- cps-application/src/main/resources/application.yml | 394 +++++++++++---------- 1 file changed, 198 insertions(+), 196 deletions(-) (limited to 'cps-application') diff --git a/cps-application/src/main/resources/application.yml b/cps-application/src/main/resources/application.yml index 6d45835668..b95d9eb43b 100644 --- a/cps-application/src/main/resources/application.yml +++ b/cps-application/src/main/resources/application.yml @@ -1,197 +1,199 @@ -# ============LICENSE_START======================================================= -# Copyright (C) 2021 Pantheon.tech -# Modifications Copyright (C) 2021-2022 Bell Canada -# Modifications Copyright (C) 2021-2023 Nordix Foundation -# ================================================================================ -# Licensed under the Apache License, Version 2.0 (the "License"); -# you may not use this file except in compliance with the License. -# 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. -# -# SPDX-License-Identifier: Apache-2.0 -# ============LICENSE_END========================================================= - -server: - port: 8080 - -rest: - api: - cps-base-path: /cps/api - ncmp-base-path: /ncmp - ncmp-inventory-base-path: /ncmpInventory - -spring: - main: - banner-mode: "off" - application: - name: "cps-application" - jpa: - show-sql: false - ddl-auto: create - open-in-view: false - properties: - hibernate: - enable_lazy_load_no_trans: true - dialect: org.hibernate.dialect.PostgreSQLDialect - - datasource: - url: jdbc:postgresql://${DB_HOST}:${DB_PORT:5432}/cpsdb - username: ${DB_USERNAME} - password: ${DB_PASSWORD} - driverClassName: org.postgresql.Driver - hikari: - minimumIdle: 5 - maximumPoolSize: 80 - idleTimeout: 60000 - connectionTimeout: 120000 - leakDetectionThreshold: 30000 - pool-name: CpsDatabasePool - - cache: - type: caffeine - cache-names: yangSchema - caffeine: - spec: maximumSize=10000,expireAfterAccess=10m - - liquibase: - change-log: classpath:changelog/changelog-master.yaml - labels: ${LIQUIBASE_LABELS} - - servlet: - multipart: - enabled: true - max-file-size: 100MB - max-request-size: 100MB - - kafka: - bootstrap-servers: ${KAFKA_BOOTSTRAP_SERVER:localhost:9092} - security: - protocol: PLAINTEXT - producer: - value-serializer: org.springframework.kafka.support.serializer.JsonSerializer - client-id: cps-core - consumer: - group-id: ${NCMP_CONSUMER_GROUP_ID:ncmp-group} - key-deserializer: org.springframework.kafka.support.serializer.ErrorHandlingDeserializer - value-deserializer: org.springframework.kafka.support.serializer.ErrorHandlingDeserializer - properties: - spring.deserializer.key.delegate.class: org.apache.kafka.common.serialization.StringDeserializer - spring.deserializer.value.delegate.class: org.springframework.kafka.support.serializer.JsonDeserializer - spring.json.use.type.headers: false - - jackson: - default-property-inclusion: NON_NULL - serialization: - FAIL_ON_EMPTY_BEANS: false - sql: - init: - mode: ALWAYS -app: - ncmp: - async-m2m: - topic: ${NCMP_ASYNC_M2M_TOPIC:ncmp-async-m2m} - avc: - subscription-topic: ${NCMP_CM_AVC_SUBSCRIPTION:cm-avc-subscription} - cm-events-topic: ${NCMP_CM_EVENTS_TOPIC:cm-events} - lcm: - events: - topic: ${LCM_EVENTS_TOPIC:ncmp-events} - dmi: - cm-events: - topic: ${DMI_CM_EVENTS_TOPIC:dmi-cm-events} - - -notification: - enabled: true - data-updated: - topic: ${CPS_CHANGE_EVENT_TOPIC:cps.data-updated-events} - filters: - enabled-dataspaces: ${NOTIFICATION_DATASPACE_FILTER_PATTERNS:""} - async: - executor: - core-pool-size: 2 - max-pool-size: 10 - queue-capacity: 500 - wait-for-tasks-to-complete-on-shutdown: true - thread-name-prefix: Async- - time-out-value-in-ms: 2000 - -springdoc: - swagger-ui: - disable-swagger-default-url: true - urlsPrimaryName: cps-core - urls: - - name: cps-core - url: /api-docs/cps-core/openapi.yaml - - name: cps-ncmp - url: /api-docs/cps-ncmp/openapi.yaml - - name: cps-ncmp-inventory - url: /api-docs/cps-ncmp/openapi-inventory.yaml - - -security: - # comma-separated uri patterns which do not require authorization - permit-uri: /manage/**,/swagger-ui.html,/swagger-ui/**,/swagger-resources/**,/api-docs/** - auth: - username: ${CPS_USERNAME} - password: ${CPS_PASSWORD} - -# Actuator -management: - server: - port: 8081 - endpoints: - web: - base-path: /manage - exposure: - include: info,health,loggers,prometheus - endpoint: - health: - show-details: always - # kubernetes probes: liveness and readiness - probes: - enabled: true - -logging: - format: json - level: - org: - springframework: INFO - onap: - cps: INFO -ncmp: - dmi: - auth: - username: ${DMI_USERNAME} - password: ${DMI_PASSWORD} - api: - base-path: dmi - - timers: - advised-modules-sync: - sleep-time-ms: 5000 - locked-modules-sync: - sleep-time-ms: 300000 - cm-handle-data-sync: - sleep-time-ms: 30000 - - modules-sync-watchdog: - async-executor: - parallelism-level: 10 - - model-loader: - subscription: false - -# Custom Hazelcast Config. -hazelcast: - mode: - kubernetes: - enabled: ${HAZELCAST_MODE_KUBERNETES_ENABLED:false} +# ============LICENSE_START======================================================= +# Copyright (C) 2021 Pantheon.tech +# Modifications Copyright (C) 2021-2022 Bell Canada +# Modifications Copyright (C) 2021-2023 Nordix Foundation +# ================================================================================ +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# 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. +# +# SPDX-License-Identifier: Apache-2.0 +# ============LICENSE_END========================================================= + +server: + port: 8080 + +rest: + api: + cps-base-path: /cps/api + ncmp-base-path: /ncmp + ncmp-inventory-base-path: /ncmpInventory + +spring: + main: + banner-mode: "off" + application: + name: "cps-application" + jpa: + show-sql: false + ddl-auto: create + open-in-view: false + properties: + hibernate: + enable_lazy_load_no_trans: true + dialect: org.hibernate.dialect.PostgreSQLDialect + + datasource: + url: jdbc:postgresql://${DB_HOST}:${DB_PORT:5432}/cpsdb + username: ${DB_USERNAME} + password: ${DB_PASSWORD} + driverClassName: org.postgresql.Driver + hikari: + minimumIdle: 5 + maximumPoolSize: 80 + idleTimeout: 60000 + connectionTimeout: 120000 + leakDetectionThreshold: 30000 + pool-name: CpsDatabasePool + + cache: + type: caffeine + cache-names: yangSchema + caffeine: + spec: maximumSize=10000,expireAfterAccess=10m + + liquibase: + change-log: classpath:changelog/changelog-master.yaml + labels: ${LIQUIBASE_LABELS} + + servlet: + multipart: + enabled: true + max-file-size: 100MB + max-request-size: 100MB + + kafka: + bootstrap-servers: ${KAFKA_BOOTSTRAP_SERVER:localhost:9092} + security: + protocol: PLAINTEXT + producer: + value-serializer: org.springframework.kafka.support.serializer.JsonSerializer + client-id: cps-core + consumer: + group-id: ${NCMP_CONSUMER_GROUP_ID:ncmp-group} + key-deserializer: org.springframework.kafka.support.serializer.ErrorHandlingDeserializer + value-deserializer: org.springframework.kafka.support.serializer.ErrorHandlingDeserializer + properties: + spring.deserializer.key.delegate.class: org.apache.kafka.common.serialization.StringDeserializer + spring.deserializer.value.delegate.class: org.springframework.kafka.support.serializer.JsonDeserializer + spring.json.use.type.headers: false + + jackson: + default-property-inclusion: NON_NULL + serialization: + FAIL_ON_EMPTY_BEANS: false + sql: + init: + mode: ALWAYS +app: + ncmp: + async-m2m: + topic: ${NCMP_ASYNC_M2M_TOPIC:ncmp-async-m2m} + avc: + subscription-topic: ${NCMP_CM_AVC_SUBSCRIPTION:cm-avc-subscription} + cm-events-topic: ${NCMP_CM_EVENTS_TOPIC:cm-events} + lcm: + events: + topic: ${LCM_EVENTS_TOPIC:ncmp-events} + dmi: + cm-events: + topic: ${DMI_CM_EVENTS_TOPIC:dmi-cm-events} + + +notification: + enabled: true + data-updated: + topic: ${CPS_CHANGE_EVENT_TOPIC:cps.data-updated-events} + filters: + enabled-dataspaces: ${NOTIFICATION_DATASPACE_FILTER_PATTERNS:""} + async: + executor: + core-pool-size: 2 + max-pool-size: 10 + queue-capacity: 500 + wait-for-tasks-to-complete-on-shutdown: true + thread-name-prefix: Async- + time-out-value-in-ms: 2000 + +springdoc: + swagger-ui: + disable-swagger-default-url: true + urlsPrimaryName: cps-core + urls: + - name: cps-core + url: /api-docs/cps-core/openapi.yaml + - name: cps-ncmp + url: /api-docs/cps-ncmp/openapi.yaml + - name: cps-ncmp-inventory + url: /api-docs/cps-ncmp/openapi-inventory.yaml + + +security: + # comma-separated uri patterns which do not require authorization + permit-uri: /manage/**,/swagger-ui.html,/swagger-ui/**,/swagger-resources/**,/api-docs/** + auth: + username: ${CPS_USERNAME} + password: ${CPS_PASSWORD} + +# Actuator +management: + server: + port: 8081 + endpoints: + web: + base-path: /manage + exposure: + include: info,health,loggers,prometheus + endpoint: + health: + show-details: always + # kubernetes probes: liveness and readiness + probes: + enabled: true + +logging: + format: json + level: + org: + springframework: INFO + onap: + cps: INFO +ncmp: + dmi: + auth: + username: ${DMI_USERNAME} + password: ${DMI_PASSWORD} + api: + base-path: dmi + + timers: + advised-modules-sync: + sleep-time-ms: 5000 + locked-modules-sync: + sleep-time-ms: 300000 + cm-handle-data-sync: + sleep-time-ms: 30000 + + modules-sync-watchdog: + async-executor: + parallelism-level: 10 + + model-loader: + subscription: false + maximumAttemptCount: 20 + retryTimeMs: 1000 + +# Custom Hazelcast Config. +hazelcast: + mode: + kubernetes: + enabled: ${HAZELCAST_MODE_KUBERNETES_ENABLED:false} service-name: ${CPS_NCMP_SERVICE_NAME:"cps-and-ncmp-service"} \ No newline at end of file -- cgit 1.2.3-korg