aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--docs/clamp/acm/acm-participant-guide.rst33
-rw-r--r--docs/clamp/acm/design-impl/clamp-runtime-acm.rst32
-rw-r--r--docs/development/prometheus-metrics.rst4
-rw-r--r--integration/pom.xml19
-rw-r--r--integration/src/main/resources/release/pf_release_data.csv24
5 files changed, 86 insertions, 26 deletions
diff --git a/docs/clamp/acm/acm-participant-guide.rst b/docs/clamp/acm/acm-participant-guide.rst
index 56710a4c..05532a02 100644
--- a/docs/clamp/acm/acm-participant-guide.rst
+++ b/docs/clamp/acm/acm-participant-guide.rst
@@ -85,6 +85,39 @@ and the same is configured for the 'ParticipantIntermediaryParameters' object in
typeName: org.onap.policy.clamp.acm.PolicyAutomationCompositionElement
typeVersion: 1.0.0
+Kafka Healthcheck
+-----------------
+
+Optionally is possible to add a Kafka Healthcheck by configuration. That feature is responsible of starting the Kafka configuration.
+If Kafka is not up and Kafka Healthcheck is not enable, Kafka messages configuration will fail.
+This feature check Kafka by an admin connection and if Kafka is up, it will start the Kafka messages configuration,
+but if Kafka is not up yet, it will retry this check later.
+
+Kafka Healthcheck supports the topics check and it could be enabled by configuration (using topicValidation parameter).
+Usually topics are getting created when first message happen, so in that scenario, topicValidation should be set as false.
+In different environment, the two topics will be created manually by a script with specific permissions. So Kafka could be up,
+but the Kafka messages configuration could be fail because the two topics are not get created yet.
+So in that scenario, topicValidation should be set as true, and if topics are not created yet, Healthcheck will retry that check later.
+
+For backward compatibility if Kafka Healthcheck is not configured, it will be disabled and Kafka messages configuration will start as normal.
+
+The following example shows the Kafka Healthcheck configuration.
+
+.. code-block:: bash
+
+ intermediaryParameters:
+ topicValidation: true
+ clampAdminTopics:
+ servers:
+ - ${topicServer:kafka:9092}
+ topicCommInfrastructure: kafka
+ fetchTimeout: 15000
+ topics:
+ operationTopic: policy-acruntime-participant
+ syncTopic: acm-ppnt-sync
+ ........
+
+
Interfaces to Implement
-----------------------
AutomationCompositionElementListener:
diff --git a/docs/clamp/acm/design-impl/clamp-runtime-acm.rst b/docs/clamp/acm/design-impl/clamp-runtime-acm.rst
index 46d4a85f..a3c22e69 100644
--- a/docs/clamp/acm/design-impl/clamp-runtime-acm.rst
+++ b/docs/clamp/acm/design-impl/clamp-runtime-acm.rst
@@ -430,3 +430,35 @@ YAML format is a standard for Automation Composition Type Definition. For the co
text/plain
++++++++++
Text format is used by Prometheus. For the conversion from Object to String will be used **StringHttpMessageConverter**.
+
+JSON log format
+***************
+ACM-runtime supports log in Json format. Below an example of appender for logback configuration to enable it.
+
+.. code-block:: xml
+ :caption: Part of logback configuration
+ :linenos:
+
+ <appender name="STDOUT" class="ch.qos.logback.core.ConsoleAppender">
+ <encoder class="ch.qos.logback.core.encoder.LayoutWrappingEncoder">
+ <layout class="org.onap.policy.clamp.acm.runtime.config.LoggingConsoleLayout">
+ <timestampFormat>YYYY-MM-DDThh:mm:ss.sss+/-hh:mm</timestampFormat>
+ <timestampFormatTimezoneId>Etc/UTC</timestampFormatTimezoneId>
+ <staticParameters>service_id=policy-acm|application_id=policy-acm</staticParameters>
+ </layout>
+ </encoder>
+ </appender>
+
+LayoutWrappingEncoder implements the encoder interface and wraps the Java class LoggingConsoleLayout as layout to which it delegates the work of transforming an event into Json string.
+Parameters for LoggingConsoleLayout:
+
+- *timestampFormat*: Timestamp Format
+- *timestampFormatTimezoneId*: Time Zone used in the Timestamp Format
+- *staticParameters*: List of parameters do add into the log separated with a "|"
+
+Below un example of result:
+
+.. code-block:: json
+
+ {"severity":"INFO","extra_data":{"logger":"network","thread":"KAFKA-source-policy-acruntime-participant"},"service_id":"policy-acm","message":"[IN|KAFKA|policy-acruntime-participant]\n{\"state\":\"ON_LINE\",\"participantDefinitionUpdates\":[],\"automationCompositionInfoList\":[],\"participantSupportedElementType\":[{\"id\":\"f88c4463-f012-42e1-8927-12b552ecf380\",\"typeName\":\"org.onap.policy.clamp.acm.K8SMicroserviceAutomationCompositionElement\",\"typeVersion\":\"1.0.0\"}],\"messageType\":\"PARTICIPANT_STATUS\",\"messageId\":\"d3dc2f86-4253-4520-bbac-97c4c04547ad\",\"timestamp\":\"2025-01-21T16:14:27.087474035Z\",\"participantId\":\"101c62b3-8918-41b9-a747-d21eb79c6c93\",\"replicaId\":\"c1ba61d2-1dbd-44e4-80bd-135526c0615f\"}","application_id":"policy-acm","timestamp":"2025-01-21T16:14:27.114851006Z"}
+ {"severity":"INFO","extra_data":{"logger":"network","thread":"KAFKA-source-policy-acruntime-participant"},"service_id":"policy-acm","message":"[IN|KAFKA|policy-acruntime-participant]\n{\"state\":\"ON_LINE\",\"participantDefinitionUpdates\":[],\"automationCompositionInfoList\":[],\"participantSupportedElementType\":[{\"id\":\"4609a119-a8c7-41ee-96d1-6b49c3afaf2c\",\"typeName\":\"org.onap.policy.clamp.acm.HttpAutomationCompositionElement\",\"typeVersion\":\"1.0.0\"}],\"messageType\":\"PARTICIPANT_STATUS\",\"messageId\":\"ea29ab01-665d-4693-ab17-3a72491b5c71\",\"timestamp\":\"2025-01-21T16:14:27.117716317Z\",\"participantId\":\"101c62b3-8918-41b9-a747-d21eb79c6c91\",\"replicaId\":\"5e4f9690-742d-4190-a439-ebb4c820a010\"}","application_id":"policy-acm","timestamp":"2025-01-21T16:14:27.144379028Z"}
diff --git a/docs/development/prometheus-metrics.rst b/docs/development/prometheus-metrics.rst
index 74532311..e7d4d3a6 100644
--- a/docs/development/prometheus-metrics.rst
+++ b/docs/development/prometheus-metrics.rst
@@ -188,6 +188,6 @@ Key metrics for Policy Distribution
===================================================================
Policy Framework uses ServiceMonitor custom resource definition (CRD) to allow Prometheus to monitor the services it exposes. Label selection is used to determine which services are selected to be monitored.
-For label management and troubleshooting refer to the documentation at: `Prometheus operator <https://github.com/prometheus-operator/prometheus-operator/blob/main/Documentation/troubleshooting.md>`__.
+For label management and troubleshooting refer to the documentation at: `Prometheus operator <https://github.com/prometheus-operator/prometheus-operator/tree/main/Documentation>`__.
-`OOM charts <https://github.com/onap/oom/tree/master/kubernetes/policy/components>`__ for policy include ServiceMonitor and properties can be overrided based on the deployment specifics.
+`OOM charts <https://github.com/onap/oom/tree/master/kubernetes/policy/components>`__ for policy include ServiceMonitor and properties can be overwritten based on the deployment specifics.
diff --git a/integration/pom.xml b/integration/pom.xml
index f48b7d0f..8b1f56ea 100644
--- a/integration/pom.xml
+++ b/integration/pom.xml
@@ -2,7 +2,7 @@
============LICENSE_START=======================================================
Copyright (C) 2018 Ericsson. All rights reserved.
Modifications Copyright (C) 2018-2023 AT&T. All rights reserved.
- Modifications Copyright (C) 2019-2024 Nordix Foundation.
+ Modifications Copyright (C) 2019-2025 Nordix Foundation.
Modifications Copyright (C) 2020-2022 Bell Canada.
================================================================================
Licensed under the Apache License, Version 2.0 (the "License");
@@ -75,7 +75,7 @@
<version.kafka>3.8.1</version.kafka>
<version.kotlin>2.0.20</version.kotlin>
<version.log4j>2.23.1</version.log4j>
- <version.logback>1.5.12</version.logback>
+ <version.logback>1.5.15</version.logback>
<version.maven-checkstyle-plugin>3.3.1</version.maven-checkstyle-plugin>
<version.maven-remote-resources-plugin>3.1.0</version.maven-remote-resources-plugin>
<version.micrometer>1.13.6</version.micrometer>
@@ -89,10 +89,10 @@
<version.sdc-dist>2.1.1</version.sdc-dist>
<version.sdc-tosca>1.9.0</version.sdc-tosca>
<version.slf4j>2.0.13</version.slf4j>
- <version.spring>6.1.14</version.spring>
- <version.springboot>3.3.5</version.springboot>
- <version.spring-data>3.3.5</version.spring-data>
- <version.spring-security>6.3.4</version.spring-security>
+ <version.spring>6.1.16</version.spring>
+ <version.springboot>3.3.7</version.springboot>
+ <version.spring-data>3.3.7</version.spring-data>
+ <version.spring-security>6.3.6</version.spring-security>
<version.sonar>3.11.0.3922</version.sonar>
<version.swagger.codegen.v3>3.0.52</version.swagger.codegen.v3>
<version.swagger.core.v3>2.2.25</version.swagger.core.v3>
@@ -512,7 +512,7 @@
<dependency>
<groupId>org.apache.tomcat.embed</groupId>
<artifactId>tomcat-embed-core</artifactId>
- <version>10.1.31</version>
+ <version>10.1.34</version>
</dependency>
<dependency>
<groupId>org.aspectj</groupId>
@@ -680,11 +680,6 @@
<version>${version.drools}</version>
</dependency>
<dependency>
- <groupId>org.mariadb.jdbc</groupId>
- <artifactId>mariadb-java-client</artifactId>
- <version>3.3.3</version>
- </dependency>
- <dependency>
<groupId>org.postgresql</groupId>
<artifactId>postgresql</artifactId>
<version>42.7.2</version>
diff --git a/integration/src/main/resources/release/pf_release_data.csv b/integration/src/main/resources/release/pf_release_data.csv
index 9a0dd41b..343752b5 100644
--- a/integration/src/main/resources/release/pf_release_data.csv
+++ b/integration/src/main/resources/release/pf_release_data.csv
@@ -1,13 +1,13 @@
Repo, Last Tag Version,Snapshot Version,Changed Files,Docker Images
-policy/parent,5.0.1,5.0.2-SNAPSHOT,0,
-policy/docker,4.0.1,4.0.2-SNAPSHOT,1,'policy-jre-alpine':'policy-jdk-alpine':'policy-db-migrator'
-policy/common,3.0.1,3.0.2-SNAPSHOT,0,
-policy/models,4.0.1,4.0.2-SNAPSHOT,2,'policy-models-simulator'
-policy/api,4.0.1,4.0.2-SNAPSHOT,1,'policy-api'
-policy/pap,4.0.1,4.0.2-SNAPSHOT,1,'policy-pap'
-policy/apex-pdp,4.0.1,4.0.2-SNAPSHOT,1,'policy-apex-pdp'
-policy/drools-pdp,3.0.1,3.0.2-SNAPSHOT,1,'policy-drools'
-policy/xacml-pdp,4.0.1,4.0.2-SNAPSHOT,1,'policy-xacml-pdp'
-policy/distribution,4.0.1,4.0.2-SNAPSHOT,1,'policy-distribution'
-policy/clamp,8.0.1,8.0.2-SNAPSHOT,8,'policy-clamp-ac-pf-ppnt':'policy-clamp-ac-k8s-ppnt':'policy-clamp-ac-http-ppnt':'policy-clamp-ac-a1pms-ppnt':'policy-clamp-runtime-acm':'policy-clamp-acm-element-impl':'policy-clamp-ac-kserve-ppnt':'policy-clamp-ac-sim-ppnt'
-policy/drools-applications,3.0.1,3.0.2-SNAPSHOT,0,'policy-pdpd-cl'
+policy/parent,5.0.1,5.1.0-SNAPSHOT,0,
+policy/docker,4.0.1,4.1.0-SNAPSHOT,1,'policy-jre-alpine':'policy-jdk-alpine':'policy-db-migrator'
+policy/common,3.0.1,3.1.0-SNAPSHOT,0,
+policy/models,4.0.1,4.1.0-SNAPSHOT,2,'policy-models-simulator'
+policy/api,4.0.1,4.1.0-SNAPSHOT,1,'policy-api'
+policy/pap,4.0.1,4.1.0-SNAPSHOT,1,'policy-pap'
+policy/apex-pdp,4.0.1,4.1.0-SNAPSHOT,1,'policy-apex-pdp'
+policy/drools-pdp,3.0.1,3.1.0-SNAPSHOT,1,'policy-drools'
+policy/xacml-pdp,4.0.1,4.1.0-SNAPSHOT,1,'policy-xacml-pdp'
+policy/distribution,4.0.1,4.1.0-SNAPSHOT,1,'policy-distribution'
+policy/clamp,8.0.1,8.1.0-SNAPSHOT,8,'policy-clamp-ac-pf-ppnt':'policy-clamp-ac-k8s-ppnt':'policy-clamp-ac-http-ppnt':'policy-clamp-ac-a1pms-ppnt':'policy-clamp-runtime-acm':'policy-clamp-acm-element-impl':'policy-clamp-ac-kserve-ppnt':'policy-clamp-ac-sim-ppnt'
+policy/drools-applications,3.0.1,3.1.0-SNAPSHOT,0,'policy-pdpd-cl'