aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorsaul.gill <saul.gill@est.tech>2024-06-25 17:42:22 +0100
committersaul.gill <saul.gill@est.tech>2024-06-26 15:48:04 +0100
commitbbf5f964ca7c7a2cd330d761b43d47e4b5446800 (patch)
treed7bc7246fd830adcc598fa264ec2531ffa619d61
parent4f25dde65158bf67ce4ad02d2a9aa76c3d28f4b5 (diff)
Add CSITs for Tracing
Added custom start scripts for acm and participants Added config for tracing to acm and participants Added CSITs for Jaeger tracing of acm and participants Issue-ID: POLICY-5062 Change-Id: I58c4dcc85d119d5dc3a74c39b786491f080bafdc Signed-off-by: saul.gill <saul.gill@est.tech>
-rwxr-xr-xcompose/config/clamp/A1pmsParticipantParameters.yaml19
-rw-r--r--compose/config/clamp/AcRuntimeParameters.yaml30
-rw-r--r--compose/config/clamp/HttpParticipantParameters.yaml19
-rwxr-xr-xcompose/config/clamp/KserveParticipantParameters.yaml19
-rw-r--r--compose/config/clamp/KubernetesParticipantParameters.yaml11
-rw-r--r--compose/config/clamp/PolicyParticipantParameters.yaml11
-rw-r--r--compose/config/clamp/SimulatorParticipantParameters.yaml19
-rw-r--r--compose/config/clamp/a1pms-participant.sh60
-rwxr-xr-xcompose/config/clamp/acm-runtime.sh66
-rwxr-xr-xcompose/config/clamp/http-participant.sh60
-rw-r--r--compose/config/clamp/kserve-participant.sh60
-rwxr-xr-xcompose/config/clamp/kubernetes-participant.sh60
-rwxr-xr-xcompose/config/clamp/policy-participant.sh60
-rwxr-xr-xcompose/config/clamp/sim-participant.sh60
-rw-r--r--compose/docker-compose.yml64
-rwxr-xr-xcsit/resources/scripts/run-test.sh4
-rw-r--r--csit/resources/tests/common-library.robot30
-rw-r--r--csit/resources/tests/policy-clamp-test.robot34
18 files changed, 685 insertions, 1 deletions
diff --git a/compose/config/clamp/A1pmsParticipantParameters.yaml b/compose/config/clamp/A1pmsParticipantParameters.yaml
index 1b81a678..71395536 100755
--- a/compose/config/clamp/A1pmsParticipantParameters.yaml
+++ b/compose/config/clamp/A1pmsParticipantParameters.yaml
@@ -1,4 +1,6 @@
spring:
+ application:
+ name: a1pms-ppnt
security:
user:
name: participantUser
@@ -36,6 +38,7 @@ participant:
- ${topicServer:kafka:9092}
topicCommInfrastructure: kafka
fetchTimeout: 15000
+ allowTracing: true
additionalProps:
group.id: policy-clamp-ac-a1pms-ppnt
@@ -45,14 +48,21 @@ participant:
topicCommInfrastructure: kafka
fetchTimeout: 15000
useHttps: false
+ allowTracing: true
topicSinks:
- topic: ${participant.intermediaryParameters.topics.operationTopic}
servers:
- ${topicServer:kafka:9092}
topicCommInfrastructure: kafka
+ allowTracing: true
management:
+ tracing:
+ propagation:
+ produce: B3
+ sampling:
+ probability: 1.0
endpoints:
web:
base-path: /
@@ -64,3 +74,12 @@ server:
enabled: false
servlet:
context-path: /onap/policy/clamp/acm/a1pmsparticipant
+
+tracing:
+ enabled: true
+ exporter:
+ endpoint: http://jaeger:4318/v1/traces
+ protocol: http
+ sampler:
+ jaeger-remote:
+ endpoint: http://jaeger:14250
diff --git a/compose/config/clamp/AcRuntimeParameters.yaml b/compose/config/clamp/AcRuntimeParameters.yaml
index abb5c485..dbcbc562 100644
--- a/compose/config/clamp/AcRuntimeParameters.yaml
+++ b/compose/config/clamp/AcRuntimeParameters.yaml
@@ -1,4 +1,6 @@
spring:
+ application:
+ name: acm-r
security:
user:
name: runtimeUser
@@ -56,12 +58,14 @@ runtime:
useHttps: false
additionalProps:
group.id: policy-clamp-runtime-acm
+ allowTracing: true
topicSinks:
-
topic: ${runtime.topics.operationTopic}
servers:
- ${topicServer:kafka:9092}
topicCommInfrastructure: kafka
+ allowTracing: true
useHttps: false
-
topic: ${runtime.topics.syncTopic}
@@ -69,11 +73,17 @@ runtime:
- ${topicServer:kafka:9092}
topicCommInfrastructure: kafka
useHttps: false
+ allowTracing: true
acmParameters:
toscaElementName: org.onap.policy.clamp.acm.AutomationCompositionElement
toscaCompositionName: org.onap.policy.clamp.acm.AutomationComposition
management:
+ tracing:
+ propagation:
+ produce: B3
+ sampling:
+ probability: 1.0
endpoints:
web:
base-path: /
@@ -83,3 +93,23 @@ management:
metrics:
security:
disabled: false
+
+
+# Tracing can be configured for grpc or http - default is http
+#tracing:
+# enabled: true
+# exporter:
+# endpoint: http://jaeger:4317
+# protocol: grpc
+# sampler:
+# jaeger-remote:
+# endpoint: http://jaeger:14250
+
+tracing:
+ enabled: true
+ exporter:
+ endpoint: http://jaeger:4318/v1/traces
+ protocol: http
+ sampler:
+ jaeger-remote:
+ endpoint: http://jaeger:14250
diff --git a/compose/config/clamp/HttpParticipantParameters.yaml b/compose/config/clamp/HttpParticipantParameters.yaml
index 6761f617..62e309c3 100644
--- a/compose/config/clamp/HttpParticipantParameters.yaml
+++ b/compose/config/clamp/HttpParticipantParameters.yaml
@@ -1,4 +1,6 @@
spring:
+ application:
+ name: http-ppnt
security:
user:
name: participantUser
@@ -26,6 +28,7 @@ participant:
topicCommInfrastructure: kafka
fetchTimeout: 15000
useHttps: false
+ allowTracing: true
additionalProps:
group.id: policy-clamp-ac-http-ppnt
- topic: ${participant.intermediaryParameters.topics.syncTopic}
@@ -34,16 +37,23 @@ participant:
topicCommInfrastructure: kafka
fetchTimeout: 15000
useHttps: false
+ allowTracing: true
topicSinks:
- topic: ${participant.intermediaryParameters.topics.operationTopic}
servers:
- ${topicServer:kafka:9092}
topicCommInfrastructure: kafka
useHttps: false
+ allowTracing: true
participantSupportedElementTypes:
- typeName: org.onap.policy.clamp.acm.HttpAutomationCompositionElement
typeVersion: 1.0.0
management:
+ tracing:
+ propagation:
+ produce: B3
+ sampling:
+ probability: 1.0
endpoints:
web:
exposure:
@@ -54,3 +64,12 @@ server:
enabled: false
servlet:
context-path: /onap/policy/clamp/acm/httpparticipant
+
+tracing:
+ enabled: true
+ exporter:
+ endpoint: http://jaeger:4318/v1/traces
+ protocol: http
+ sampler:
+ jaeger-remote:
+ endpoint: http://jaeger:14250
diff --git a/compose/config/clamp/KserveParticipantParameters.yaml b/compose/config/clamp/KserveParticipantParameters.yaml
index 1865d0e8..efc2918e 100755
--- a/compose/config/clamp/KserveParticipantParameters.yaml
+++ b/compose/config/clamp/KserveParticipantParameters.yaml
@@ -1,4 +1,6 @@
spring:
+ application:
+ name: kserve-ppnt
cloud:
kubernetes:
enabled: false
@@ -32,6 +34,7 @@ participant:
- ${topicServer:kafka:9092}
topicCommInfrastructure: kafka
fetchTimeout: 15000
+ allowTracing: true
additionalProps:
group.id: policy-clamp-ac-kserve-ppnt
@@ -41,11 +44,13 @@ participant:
topicCommInfrastructure: kafka
fetchTimeout: 15000
useHttps: false
+ allowTracing: true
topicSinks:
- topic: ${participant.intermediaryParameters.topics.operationTopic}
servers:
- ${topicServer:kafka:9092}
topicCommInfrastructure: kafka
+ allowTracing: true
participantSupportedElementTypes:
-
typeName: org.onap.policy.clamp.acm.KserveAutomationCompositionElement
@@ -58,6 +63,11 @@ customresourcedefinition:
grace-period: 10
management:
+ tracing:
+ propagation:
+ produce: B3
+ sampling:
+ probability: 1.0
endpoints:
web:
base-path: /
@@ -69,3 +79,12 @@ server:
context-path: /onap/policy/clamp/acm/kserveparticipant
ssl:
enabled: false
+
+tracing:
+ enabled: true
+ exporter:
+ endpoint: http://jaeger:4318/v1/traces
+ protocol: http
+ sampler:
+ jaeger-remote:
+ endpoint: http://jaeger:14250 \ No newline at end of file
diff --git a/compose/config/clamp/KubernetesParticipantParameters.yaml b/compose/config/clamp/KubernetesParticipantParameters.yaml
index c85c7e54..76ae9696 100644
--- a/compose/config/clamp/KubernetesParticipantParameters.yaml
+++ b/compose/config/clamp/KubernetesParticipantParameters.yaml
@@ -1,4 +1,6 @@
spring:
+ application:
+ name: k8s-ppnt
security:
user:
name: participantUser
@@ -30,6 +32,7 @@ participant:
topicCommInfrastructure: kafka
fetchTimeout: 15000
useHttps: false
+ allowTracing: true
additionalProps:
group.id: policy-clamp-ac-k8s-ppnt
-
@@ -37,15 +40,23 @@ participant:
servers:
- ${topicServer:kafka:9092}
topicCommInfrastructure: kafka
+ additionalProps:
+ group.id: k8s-ppnt
+ security.protocol: PLAINTEXT
fetchTimeout: 15000
useHttps: false
+ allowTracing: true
topicSinks:
-
topic: ${participant.intermediaryParameters.topics.operationTopic}
servers:
- ${topicServer:kafka:9092}
topicCommInfrastructure: kafka
+ additionalProps:
+ group.id: k8s-ppnt
+ security.protocol: PLAINTEXT
useHttps: false
+ allowTracing: true
participantSupportedElementTypes:
- typeName: org.onap.policy.clamp.acm.K8SMicroserviceAutomationCompositionElement
typeVersion: 1.0.0
diff --git a/compose/config/clamp/PolicyParticipantParameters.yaml b/compose/config/clamp/PolicyParticipantParameters.yaml
index e5108742..a65eeb03 100644
--- a/compose/config/clamp/PolicyParticipantParameters.yaml
+++ b/compose/config/clamp/PolicyParticipantParameters.yaml
@@ -1,4 +1,6 @@
spring:
+ application:
+ name: policy-ppnt
security:
user:
name: participantUser
@@ -43,6 +45,7 @@ participant:
topicCommInfrastructure: kafka
fetchTimeout: 15000
useHttps: false
+ allowTracing: true
additionalProps:
group.id: policy-clamp-ac-pf-ppnt
-
@@ -50,15 +53,23 @@ participant:
servers:
- ${topicServer:kafka:9092}
topicCommInfrastructure: kafka
+ additionalProps:
+ group.id: policy-ppnt
+ security.protocol: PLAINTEXT
fetchTimeout: 15000
useHttps: false
+ allowTracing: true
topicSinks:
-
topic: ${participant.intermediaryParameters.topics.operationTopic}
servers:
- ${topicServer:kafka:9092}
topicCommInfrastructure: kafka
+ additionalProps:
+ group.id: policy-ppnt
+ security.protocol: PLAINTEXT
useHttps: false
+ allowTracing: true
participantSupportedElementTypes:
- typeName: org.onap.policy.clamp.acm.PolicyAutomationCompositionElement
typeVersion: 1.0.0
diff --git a/compose/config/clamp/SimulatorParticipantParameters.yaml b/compose/config/clamp/SimulatorParticipantParameters.yaml
index ae0b0f9a..6f6a5131 100644
--- a/compose/config/clamp/SimulatorParticipantParameters.yaml
+++ b/compose/config/clamp/SimulatorParticipantParameters.yaml
@@ -1,4 +1,6 @@
spring:
+ application:
+ name: sim-ppnt
security:
user:
name: participantUser
@@ -28,6 +30,7 @@ participant:
topicCommInfrastructure: kafka
fetchTimeout: 15000
useHttps: false
+ allowTracing: true
additionalProps:
group.id: policy-clamp-ac-sim-ppnt
- topic: ${participant.intermediaryParameters.topics.syncTopic}
@@ -36,18 +39,25 @@ participant:
topicCommInfrastructure: kafka
fetchTimeout: 15000
useHttps: false
+ allowTracing: true
topicSinks:
- topic: ${participant.intermediaryParameters.topics.operationTopic}
servers:
- ${topicServer:kafka:9092}
topicCommInfrastructure: kafka
useHttps: false
+ allowTracing: true
participantSupportedElementTypes:
-
typeName: ${supportedElementTypeName:org.onap.policy.clamp.acm.SimAutomationCompositionElement}
typeVersion: ${supportedElementTypeVersion:1.0.0}
management:
+ tracing:
+ propagation:
+ produce: B3
+ sampling:
+ probability: 1.0
endpoints:
web:
base-path: /
@@ -59,3 +69,12 @@ server:
enabled: false
servlet:
context-path: /onap/policy/simparticipant
+
+tracing:
+ enabled: true
+ exporter:
+ endpoint: http://jaeger:4318/v1/traces
+ protocol: http
+ sampler:
+ jaeger-remote:
+ endpoint: http://jaeger:14250 \ No newline at end of file
diff --git a/compose/config/clamp/a1pms-participant.sh b/compose/config/clamp/a1pms-participant.sh
new file mode 100644
index 00000000..88ff3b88
--- /dev/null
+++ b/compose/config/clamp/a1pms-participant.sh
@@ -0,0 +1,60 @@
+#!/usr/bin/env sh
+#
+# ============LICENSE_START=======================================================
+# Copyright (C) 2024 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=========================================================
+#
+
+KEYSTORE="${KEYSTORE:-$POLICY_HOME/etc/ssl/policy-keystore}"
+TRUSTSTORE="${TRUSTSTORE:-$POLICY_HOME/etc/ssl/policy-truststore}"
+KEYSTORE_PASSWD="${KEYSTORE_PASSWD:-Pol1cy_0nap}"
+TRUSTSTORE_PASSWD="${TRUSTSTORE_PASSWD:-Pol1cy_0nap}"
+
+if [ "$#" -eq 1 ]; then
+ CONFIG_FILE=$1
+fi
+
+if [ -z "$CONFIG_FILE" ]; then
+ CONFIG_FILE="${POLICY_HOME}/etc/A1pmsParticipantParameters.yaml"
+fi
+
+echo "Policy clamp A1 Pms participant config file: $CONFIG_FILE"
+
+if [ -f "${POLICY_HOME}/etc/mounted/policy-truststore" ]; then
+ echo "overriding policy-truststore"
+ cp -f "${POLICY_HOME}"/etc/mounted/policy-truststore "${TRUSTSTORE}"
+fi
+
+if [ -f "${POLICY_HOME}/etc/mounted/policy-keystore" ]; then
+ echo "overriding policy-keystore"
+ cp -f "${POLICY_HOME}"/etc/mounted/policy-keystore "${KEYSTORE}"
+fi
+
+if [ -f "${POLICY_HOME}/etc/mounted/logback.xml" ]; then
+ echo "overriding logback xml file"
+ cp -f "${POLICY_HOME}"/etc/mounted/logback.xml "${POLICY_HOME}"/etc/
+fi
+
+$JAVA_HOME/bin/java \
+ -Dlogging.config="${POLICY_HOME}/etc/logback.xml" \
+ -Dserver.ssl.keyStore="${KEYSTORE}" \
+ -Dserver.ssl.keyStorePassword="${KEYSTORE_PASSWD}" \
+ -Djavax.net.ssl.trustStore="${TRUSTSTORE}" \
+ -Djavax.net.ssl.trustStorePassword="${TRUSTSTORE_PASSWD}" \
+ -Dotel.java.global-autoconfigure.enabled=true \
+ -jar /app/app.jar \
+ --spring.config.location="${CONFIG_FILE}"
diff --git a/compose/config/clamp/acm-runtime.sh b/compose/config/clamp/acm-runtime.sh
new file mode 100755
index 00000000..695c08fc
--- /dev/null
+++ b/compose/config/clamp/acm-runtime.sh
@@ -0,0 +1,66 @@
+#!/usr/bin/env sh
+#
+# ============LICENSE_START=======================================================
+# Copyright (C) 2024 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=========================================================
+#
+
+KEYSTORE="${KEYSTORE:-$POLICY_HOME/etc/ssl/policy-keystore}"
+TRUSTSTORE="${TRUSTSTORE:-$POLICY_HOME/etc/ssl/policy-truststore}"
+KEYSTORE_PASSWD="${KEYSTORE_PASSWD:-Pol1cy_0nap}"
+TRUSTSTORE_PASSWD="${TRUSTSTORE_PASSWD:-Pol1cy_0nap}"
+
+if [ "$#" -eq 1 ]; then
+ CONFIG_FILE=$1
+fi
+
+if [ -z "$CONFIG_FILE" ]; then
+ CONFIG_FILE="${POLICY_HOME}/etc/AcRuntimeParameters.yaml"
+fi
+
+echo "Policy clamp runtime acm config file: $CONFIG_FILE"
+
+if [ -f "${POLICY_HOME}/etc/mounted/policy-truststore" ]; then
+ echo "overriding policy-truststore"
+ cp -f "${POLICY_HOME}"/etc/mounted/policy-truststore "${TRUSTSTORE}"
+fi
+
+if [ -f "${POLICY_HOME}/etc/mounted/policy-keystore" ]; then
+ echo "overriding policy-keystore"
+ cp -f "${POLICY_HOME}"/etc/mounted/policy-keystore "${KEYSTORE}"
+fi
+
+if [ -f "${POLICY_HOME}/etc/mounted/logback.xml" ]; then
+ echo "overriding logback xml file"
+ cp -f "${POLICY_HOME}"/etc/mounted/logback.xml "${POLICY_HOME}"/etc/
+fi
+
+$JAVA_HOME/bin/java \
+ -Dlogging.config="${POLICY_HOME}/etc/logback.xml" \
+ -Dserver.ssl.keyStore="${KEYSTORE}" \
+ -Dserver.ssl.keyStorePassword="${KEYSTORE_PASSWD}" \
+ -Djavax.net.ssl.trustStore="${TRUSTSTORE}" \
+ -Djavax.net.ssl.trustStorePassword="${TRUSTSTORE_PASSWD}" \
+ -Dcom.sun.management.jmxremote.rmi.port=9090 \
+ -Dcom.sun.management.jmxremote=true \
+ -Dcom.sun.management.jmxremote.port=9090 \
+ -Dcom.sun.management.jmxremote.ssl=false \
+ -Dcom.sun.management.jmxremote.authenticate=false \
+ -Dcom.sun.management.jmxremote.local.only=false \
+ -Dotel.java.global-autoconfigure.enabled=true \
+ -jar /app/app.jar \
+ --spring.config.location="${CONFIG_FILE}"
diff --git a/compose/config/clamp/http-participant.sh b/compose/config/clamp/http-participant.sh
new file mode 100755
index 00000000..e35fb868
--- /dev/null
+++ b/compose/config/clamp/http-participant.sh
@@ -0,0 +1,60 @@
+#!/usr/bin/env sh
+#
+# ============LICENSE_START=======================================================
+# Copyright (C) 2024 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=========================================================
+#
+
+KEYSTORE="${KEYSTORE:-$POLICY_HOME/etc/ssl/policy-keystore}"
+TRUSTSTORE="${TRUSTSTORE:-$POLICY_HOME/etc/ssl/policy-truststore}"
+KEYSTORE_PASSWD="${KEYSTORE_PASSWD:-Pol1cy_0nap}"
+TRUSTSTORE_PASSWD="${TRUSTSTORE_PASSWD:-Pol1cy_0nap}"
+
+if [ "$#" -eq 1 ]; then
+ CONFIG_FILE=$1
+fi
+
+if [ -z "$CONFIG_FILE" ]; then
+ CONFIG_FILE="${POLICY_HOME}/etc/HttpParticipantParameters.yaml"
+fi
+
+echo "Policy clamp HTTP participant config file: $CONFIG_FILE"
+
+if [ -f "${POLICY_HOME}/etc/mounted/policy-truststore" ]; then
+ echo "overriding policy-truststore"
+ cp -f "${POLICY_HOME}"/etc/mounted/policy-truststore "${TRUSTSTORE}"
+fi
+
+if [ -f "${POLICY_HOME}/etc/mounted/policy-keystore" ]; then
+ echo "overriding policy-keystore"
+ cp -f "${POLICY_HOME}"/etc/mounted/policy-keystore "${KEYSTORE}"
+fi
+
+if [ -f "${POLICY_HOME}/etc/mounted/logback.xml" ]; then
+ echo "overriding logback xml file"
+ cp -f "${POLICY_HOME}"/etc/mounted/logback.xml "${POLICY_HOME}"/etc/
+fi
+
+$JAVA_HOME/bin/java \
+ -Dlogging.config="${POLICY_HOME}/etc/logback.xml" \
+ -Dserver.ssl.keyStore="${KEYSTORE}" \
+ -Dserver.ssl.keyStorePassword="${KEYSTORE_PASSWD}" \
+ -Djavax.net.ssl.trustStore="${TRUSTSTORE}" \
+ -Djavax.net.ssl.trustStorePassword="${TRUSTSTORE_PASSWD}" \
+ -Dotel.java.global-autoconfigure.enabled=true \
+ -jar /app/app.jar \
+ --spring.config.location="${CONFIG_FILE}"
diff --git a/compose/config/clamp/kserve-participant.sh b/compose/config/clamp/kserve-participant.sh
new file mode 100644
index 00000000..7da0b0f6
--- /dev/null
+++ b/compose/config/clamp/kserve-participant.sh
@@ -0,0 +1,60 @@
+#!/usr/bin/env sh
+#
+# ============LICENSE_START=======================================================
+# Copyright (C) 2024 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=========================================================
+#
+
+KEYSTORE="${KEYSTORE:-$POLICY_HOME/etc/ssl/policy-keystore}"
+TRUSTSTORE="${TRUSTSTORE:-$POLICY_HOME/etc/ssl/policy-truststore}"
+KEYSTORE_PASSWD="${KEYSTORE_PASSWD:-Pol1cy_0nap}"
+TRUSTSTORE_PASSWD="${TRUSTSTORE_PASSWD:-Pol1cy_0nap}"
+
+if [ "$#" -eq 1 ]; then
+ CONFIG_FILE=$1
+fi
+
+if [ -z "$CONFIG_FILE" ]; then
+ CONFIG_FILE="${POLICY_HOME}/etc/KserveParticipantParameters.yaml"
+fi
+
+echo "Policy clamp Kserve participant config file: $CONFIG_FILE"
+
+if [ -f "${POLICY_HOME}/etc/mounted/policy-truststore" ]; then
+ echo "overriding policy-truststore"
+ cp -f "${POLICY_HOME}"/etc/mounted/policy-truststore "${TRUSTSTORE}"
+fi
+
+if [ -f "${POLICY_HOME}/etc/mounted/policy-keystore" ]; then
+ echo "overriding policy-keystore"
+ cp -f "${POLICY_HOME}"/etc/mounted/policy-keystore "${KEYSTORE}"
+fi
+
+if [ -f "${POLICY_HOME}/etc/mounted/logback.xml" ]; then
+ echo "overriding logback xml file"
+ cp -f "${POLICY_HOME}"/etc/mounted/logback.xml "${POLICY_HOME}"/etc/
+fi
+
+$JAVA_HOME/bin/java \
+ -Dlogging.config="${POLICY_HOME}/etc/logback.xml" \
+ -Dserver.ssl.keyStore="${KEYSTORE}" \
+ -Dserver.ssl.keyStorePassword="${KEYSTORE_PASSWD}" \
+ -Djavax.net.ssl.trustStore="${TRUSTSTORE}" \
+ -Djavax.net.ssl.trustStorePassword="${TRUSTSTORE_PASSWD}" \
+ -Dotel.java.global-autoconfigure.enabled=true \
+ -jar /app/app.jar \
+ --spring.config.location="${CONFIG_FILE}"
diff --git a/compose/config/clamp/kubernetes-participant.sh b/compose/config/clamp/kubernetes-participant.sh
new file mode 100755
index 00000000..ce08684d
--- /dev/null
+++ b/compose/config/clamp/kubernetes-participant.sh
@@ -0,0 +1,60 @@
+#!/usr/bin/env sh
+#
+# ============LICENSE_START=======================================================
+# Copyright (C) 2024 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=========================================================
+#
+
+KEYSTORE="${KEYSTORE:-$POLICY_HOME/etc/ssl/policy-keystore}"
+TRUSTSTORE="${TRUSTSTORE:-$POLICY_HOME/etc/ssl/policy-truststore}"
+KEYSTORE_PASSWD="${KEYSTORE_PASSWD:-Pol1cy_0nap}"
+TRUSTSTORE_PASSWD="${TRUSTSTORE_PASSWD:-Pol1cy_0nap}"
+
+if [ "$#" -eq 1 ]; then
+ CONFIG_FILE=$1
+fi
+
+if [ -z "$CONFIG_FILE" ]; then
+ CONFIG_FILE="${POLICY_HOME}/etc/KubernetesParticipantParameters.yaml"
+fi
+
+echo "Policy clamp Kubernetes participant config file: $CONFIG_FILE"
+
+if [ -f "${POLICY_HOME}/etc/mounted/policy-truststore" ]; then
+ echo "overriding policy-truststore"
+ cp -f "${POLICY_HOME}"/etc/mounted/policy-truststore "${TRUSTSTORE}"
+fi
+
+if [ -f "${POLICY_HOME}/etc/mounted/policy-keystore" ]; then
+ echo "overriding policy-keystore"
+ cp -f "${POLICY_HOME}"/etc/mounted/policy-keystore "${KEYSTORE}"
+fi
+
+if [ -f "${POLICY_HOME}/etc/mounted/logback.xml" ]; then
+ echo "overriding logback xml file"
+ cp -f "${POLICY_HOME}"/etc/mounted/logback.xml "${POLICY_HOME}"/etc/
+fi
+
+$JAVA_HOME/bin/java \
+ -Dlogging.config="${POLICY_HOME}/etc/logback.xml" \
+ -Dserver.ssl.keyStore="${KEYSTORE}" \
+ -Dserver.ssl.keyStorePassword="${KEYSTORE_PASSWD}" \
+ -Djavax.net.ssl.trustStore="${TRUSTSTORE}" \
+ -Djavax.net.ssl.trustStorePassword="${TRUSTSTORE_PASSWD}" \
+ -Dotel.java.global-autoconfigure.enabled=true \
+ -jar /app/app.jar \
+ --spring.config.location="${CONFIG_FILE}"
diff --git a/compose/config/clamp/policy-participant.sh b/compose/config/clamp/policy-participant.sh
new file mode 100755
index 00000000..f36c2b37
--- /dev/null
+++ b/compose/config/clamp/policy-participant.sh
@@ -0,0 +1,60 @@
+#!/usr/bin/env sh
+#
+# ============LICENSE_START=======================================================
+# Copyright (C) 2024 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=========================================================
+#
+
+KEYSTORE="${KEYSTORE:-$POLICY_HOME/etc/ssl/policy-keystore}"
+TRUSTSTORE="${TRUSTSTORE:-$POLICY_HOME/etc/ssl/policy-truststore}"
+KEYSTORE_PASSWD="${KEYSTORE_PASSWD:-Pol1cy_0nap}"
+TRUSTSTORE_PASSWD="${TRUSTSTORE_PASSWD:-Pol1cy_0nap}"
+
+if [ "$#" -eq 1 ]; then
+ CONFIG_FILE=$1
+fi
+
+if [ -z "$CONFIG_FILE" ]; then
+ CONFIG_FILE="${POLICY_HOME}/etc/PolicyParticipantParameters.yaml"
+fi
+
+echo "Policy clamp policy participant config file: $CONFIG_FILE"
+
+if [ -f "${POLICY_HOME}/etc/mounted/policy-truststore" ]; then
+ echo "overriding policy-truststore"
+ cp -f "${POLICY_HOME}"/etc/mounted/policy-truststore "${TRUSTSTORE}"
+fi
+
+if [ -f "${POLICY_HOME}/etc/mounted/policy-keystore" ]; then
+ echo "overriding policy-keystore"
+ cp -f "${POLICY_HOME}"/etc/mounted/policy-keystore "${KEYSTORE}"
+fi
+
+if [ -f "${POLICY_HOME}/etc/mounted/logback.xml" ]; then
+ echo "overriding logback xml file"
+ cp -f "${POLICY_HOME}"/etc/mounted/logback.xml "${POLICY_HOME}"/etc/
+fi
+
+$JAVA_HOME/bin/java \
+ -Dlogging.config="${POLICY_HOME}/etc/logback.xml" \
+ -Dserver.ssl.keyStore="${KEYSTORE}" \
+ -Dserver.ssl.keyStorePassword="${KEYSTORE_PASSWD}" \
+ -Djavax.net.ssl.trustStore="${TRUSTSTORE}" \
+ -Djavax.net.ssl.trustStorePassword="${TRUSTSTORE_PASSWD}" \
+ -Dotel.java.global-autoconfigure.enabled=true \
+ -jar /app/app.jar \
+ --spring.config.location="${CONFIG_FILE}"
diff --git a/compose/config/clamp/sim-participant.sh b/compose/config/clamp/sim-participant.sh
new file mode 100755
index 00000000..556f4ef8
--- /dev/null
+++ b/compose/config/clamp/sim-participant.sh
@@ -0,0 +1,60 @@
+#!/usr/bin/env sh
+#
+# ============LICENSE_START=======================================================
+# Copyright (C) 2024 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=========================================================
+#
+
+KEYSTORE="${KEYSTORE:-$POLICY_HOME/etc/ssl/policy-keystore}"
+TRUSTSTORE="${TRUSTSTORE:-$POLICY_HOME/etc/ssl/policy-truststore}"
+KEYSTORE_PASSWD="${KEYSTORE_PASSWD:-Pol1cy_0nap}"
+TRUSTSTORE_PASSWD="${TRUSTSTORE_PASSWD:-Pol1cy_0nap}"
+
+if [ "$#" -eq 1 ]; then
+ CONFIG_FILE=$1
+fi
+
+if [ -z "$CONFIG_FILE" ]; then
+ CONFIG_FILE="${POLICY_HOME}/etc/SimulatorParticipantParameters.yaml"
+fi
+
+echo "Policy clamp Simulator participant config file: $CONFIG_FILE"
+
+if [ -f "${POLICY_HOME}/etc/mounted/policy-truststore" ]; then
+ echo "overriding policy-truststore"
+ cp -f "${POLICY_HOME}"/etc/mounted/policy-truststore "${TRUSTSTORE}"
+fi
+
+if [ -f "${POLICY_HOME}/etc/mounted/policy-keystore" ]; then
+ echo "overriding policy-keystore"
+ cp -f "${POLICY_HOME}"/etc/mounted/policy-keystore "${KEYSTORE}"
+fi
+
+if [ -f "${POLICY_HOME}/etc/mounted/logback.xml" ]; then
+ echo "overriding logback xml file"
+ cp -f "${POLICY_HOME}"/etc/mounted/logback.xml "${POLICY_HOME}"/etc/
+fi
+
+$JAVA_HOME/bin/java \
+ -Dlogging.config="${POLICY_HOME}/etc/logback.xml" \
+ -Dserver.ssl.keyStore="${KEYSTORE}" \
+ -Dserver.ssl.keyStorePassword="${KEYSTORE_PASSWD}" \
+ -Djavax.net.ssl.trustStore="${TRUSTSTORE}" \
+ -Djavax.net.ssl.trustStorePassword="${TRUSTSTORE_PASSWD}" \
+ -Dotel.java.global-autoconfigure.enabled=true \
+ -jar /app/app.jar \
+ --spring.config.location="${CONFIG_FILE}"
diff --git a/compose/docker-compose.yml b/compose/docker-compose.yml
index 85631e49..d5a2cc78 100644
--- a/compose/docker-compose.yml
+++ b/compose/docker-compose.yml
@@ -264,6 +264,7 @@ services:
depends_on:
- policy-db-migrator-clamp
- kafka
+ - jaeger
- policy-clamp-ac-http-ppnt
- policy-clamp-ac-k8s-ppnt
- policy-clamp-ac-pf-ppnt
@@ -271,9 +272,19 @@ services:
- apex-pdp
ports:
- ${ACM_PORT}:6969
+ environment:
+ OTEL_SERVICE_NAME: acm-r
+ OTEL_EXPORTER_OTLP_PROTOCOL: http/protobuf
+ OTEL_EXPORTER_OTLP_TRACES_PROTOCOL: http/protobuf
+ OTEL_EXPORTER_OTLP_ENDPOINT: http://jaeger:4318
+ # Tracing can be configured for grpc or http - default is http
+ #OTEL_EXPORTER_OTLP_PROTOCOL: grpc
+ #OTEL_EXPORTER_OTLP_TRACES_PROTOCOL: grpc
+ #OTEL_EXPORTER_OTLP_ENDPOINT: http://jaeger:4317
volumes:
- ./config/clamp/AcRuntimeParameters.yaml:/opt/app/policy/clamp/etc/AcRuntimeParameters.yaml
- ./config/clamp/logback.xml:/opt/app/policy/clamp/etc/logback.xml:ro
+ - ./config/clamp/acm-runtime.sh:/opt/app/policy/clamp/bin/acm-runtime.sh:rw
- ./wait_for_port.sh:/opt/app/policy/bin/wait_for_port.sh:ro
entrypoint: /opt/app/policy/bin/wait_for_port.sh
command: [
@@ -292,10 +303,17 @@ services:
hostname: policy-clamp-ac-http-ppnt
depends_on:
- kafka
+ - jaeger
ports:
- "30290:6969"
+ environment:
+ OTEL_SERVICE_NAME: http-ppnt
+ OTEL_EXPORTER_OTLP_PROTOCOL: http/protobuf
+ OTEL_EXPORTER_OTLP_TRACES_PROTOCOL: http/protobuf
+ OTEL_EXPORTER_OTLP_ENDPOINT: http://jaeger:4318
volumes:
- ./config/clamp/HttpParticipantParameters.yaml:/opt/app/policy/clamp/etc/HttpParticipantParameters.yaml
+ - ./config/clamp/http-participant.sh:/opt/app/policy/clamp/bin/http-participant.sh:rw
- ./config/clamp/logback.xml:/opt/app/policy/clamp/etc/logback.xml:ro
- ./wait_for_port.sh:/opt/app/policy/bin/wait_for_port.sh:ro
entrypoint: /opt/app/policy/bin/wait_for_port.sh
@@ -309,10 +327,17 @@ services:
hostname: policy-clamp-ac-k8s-ppnt
depends_on:
- kafka
+ - jaeger
+ environment:
+ OTEL_SERVICE_NAME: k8s-ppnt
+ OTEL_EXPORTER_OTLP_PROTOCOL: http/protobuf
+ OTEL_EXPORTER_OTLP_TRACES_PROTOCOL: http/protobuf
+ OTEL_EXPORTER_OTLP_ENDPOINT: http://jaeger:4318
ports:
- "30295:6969"
volumes:
- ./config/clamp/KubernetesParticipantParameters.yaml:/opt/app/policy/clamp/etc/KubernetesParticipantParameters.yaml
+ - ./config/clamp/kubernetes-participant.sh:/opt/app/policy/clamp/bin/kubernetes-participant.sh:rw
- ./config/clamp/logback.xml:/opt/app/policy/clamp/etc/logback.xml:ro
- ./wait_for_port.sh:/opt/app/policy/bin/wait_for_port.sh:ro
entrypoint: /opt/app/policy/bin/wait_for_port.sh
@@ -327,10 +352,17 @@ services:
depends_on:
- kafka
- api
+ - jaeger
ports:
- ${POLICY_PARTICIPANT_PORT}:6969
+ environment:
+ OTEL_SERVICE_NAME: policy-ppnt
+ OTEL_EXPORTER_OTLP_PROTOCOL: http/protobuf
+ OTEL_EXPORTER_OTLP_TRACES_PROTOCOL: http/protobuf
+ OTEL_EXPORTER_OTLP_ENDPOINT: http://jaeger:4318
volumes:
- ./config/clamp/PolicyParticipantParameters.yaml:/opt/app/policy/clamp/etc/PolicyParticipantParameters.yaml:ro
+ - ./config/clamp/policy-participant.sh:/opt/app/policy/clamp/bin/policy-participant.sh:rw
- ./config/clamp/logback.xml:/opt/app/policy/clamp/etc/logback.xml:ro
- ./wait_for_port.sh:/opt/app/policy/bin/wait_for_port.sh:ro
entrypoint: /opt/app/policy/bin/wait_for_port.sh
@@ -345,10 +377,17 @@ services:
hostname: policy-clamp-ac-a1pms-ppnt
depends_on:
- kafka
+ - jaeger
+ environment:
+ OTEL_SERVICE_NAME: a1pms-ppnt
+ OTEL_EXPORTER_OTLP_PROTOCOL: http/protobuf
+ OTEL_EXPORTER_OTLP_TRACES_PROTOCOL: http/protobuf
+ OTEL_EXPORTER_OTLP_ENDPOINT: http://jaeger:4318
ports:
- "30296:6969"
volumes:
- ./config/clamp/A1pmsParticipantParameters.yaml:/opt/app/policy/clamp/etc/A1pmsParticipantParameters.yaml:ro
+ - ./config/clamp/a1pms-participant.sh:/opt/app/policy/clamp/bin/a1pms-participant.sh:rw
- ./config/clamp/logback.xml:/opt/app/policy/clamp/etc/logback.xml:ro
- ./wait_for_port.sh:/opt/app/policy/bin/wait_for_port.sh:ro
entrypoint: /opt/app/policy/bin/wait_for_port.sh
@@ -362,10 +401,17 @@ services:
hostname: policy-clamp-ac-kserve-ppnt
depends_on:
- kafka
+ - jaeger
+ environment:
+ OTEL_SERVICE_NAME: kserve-ppnt
+ OTEL_EXPORTER_OTLP_PROTOCOL: http/protobuf
+ OTEL_EXPORTER_OTLP_TRACES_PROTOCOL: http/protobuf
+ OTEL_EXPORTER_OTLP_ENDPOINT: http://jaeger:4318
ports:
- "30297:6969"
volumes:
- ./config/clamp/KserveParticipantParameters.yaml:/opt/app/policy/clamp/etc/KserveParticipantParameters.yaml:ro
+ - ./config/clamp/kserve-participant.sh:/opt/app/policy/clamp/bin/kserve-participant.sh:rw
- ./config/clamp/logback.xml:/opt/app/policy/clamp/etc/logback.xml:ro
- ./wait_for_port.sh:/opt/app/policy/bin/wait_for_port.sh:ro
entrypoint: /opt/app/policy/bin/wait_for_port.sh
@@ -379,10 +425,17 @@ services:
hostname: policy-clamp-ac-sim-ppnt
depends_on:
- kafka
+ - jaeger
+ environment:
+ OTEL_SERVICE_NAME: sim-ppnt
+ OTEL_EXPORTER_OTLP_PROTOCOL: http/protobuf
+ OTEL_EXPORTER_OTLP_TRACES_PROTOCOL: http/protobuf
+ OTEL_EXPORTER_OTLP_ENDPOINT: http://jaeger:4318
ports:
- ${SIM_PARTICIPANT_PORT}:6969
volumes:
- ./config/clamp/SimulatorParticipantParameters.yaml:/opt/app/policy/clamp/etc/SimulatorParticipantParameters.yaml:ro
+ - ./config/clamp/sim-participant.sh:/opt/app/policy/clamp/bin/sim-participant.sh:rw
- ./config/clamp/logback.xml:/opt/app/policy/clamp/etc/logback.xml:ro
- ./wait_for_port.sh:/opt/app/policy/bin/wait_for_port.sh:ro
entrypoint: /opt/app/policy/bin/wait_for_port.sh
@@ -445,3 +498,14 @@ services:
environment:
ROBOT_FILE: ${ROBOT_FILES}
TEST_ENV: ${TEST_ENV}
+
+ jaeger:
+ image: jaegertracing/all-in-one:latest
+ container_name: jaeger
+ ports:
+ - 4318:4318
+ - 4317:4317
+ - 14250:14250
+ - 16686:16686
+ environment:
+ - COLLECTOR_OTLP_ENABLED=true
diff --git a/csit/resources/scripts/run-test.sh b/csit/resources/scripts/run-test.sh
index fb7d30bb..1e756f6d 100755
--- a/csit/resources/scripts/run-test.sh
+++ b/csit/resources/scripts/run-test.sh
@@ -41,6 +41,7 @@ DISTRIBUTION_IP=policy-distribution:${DEFAULT_PORT}
POLICY_RUNTIME_ACM_IP=policy-clamp-runtime-acm:${DEFAULT_PORT}
POLICY_PARTICIPANT_SIM_IP=policy-clamp-ac-sim-ppnt:${DEFAULT_PORT}
+JAEGER_IP=jaeger:16686
KAFKA_IP=kafka:9092
PROMETHEUS_IP=prometheus:9090
@@ -63,7 +64,8 @@ ROBOT_VARIABLES="-v DATA:${DATA}
-v DROOLS_IP_2:${DROOLS_IP_2}
-v TEMP_FOLDER:${DIST_TEMP_FOLDER}
-v DISTRIBUTION_IP:${DISTRIBUTION_IP}
--v TEST_ENV:${TEST_ENV}"
+-v TEST_ENV:${TEST_ENV}
+-v JAEGER_IP:${JAEGER_IP}"
export ROBOT_VARIABLES
diff --git a/csit/resources/tests/common-library.robot b/csit/resources/tests/common-library.robot
index bee80a90..a585bc97 100644
--- a/csit/resources/tests/common-library.robot
+++ b/csit/resources/tests/common-library.robot
@@ -115,6 +115,36 @@ GetMetrics
Log Received response from policy ${resp.text}
RETURN ${resp}
+VerifyTracingWorks
+ [Arguments] ${domain} ${service}
+ Log Creating session http://${domain}
+ ${session}= Create Session jaeger http://${domain}
+ ${resp}= GET On Session jaeger /api/traces params=service=${service} expected_status=200
+ Log Received response from jaeger ${resp.text}
+ RETURN ${resp}
+
+VerifyKafkaInTraces
+ [Arguments] ${domain} ${service}
+ Log Creating session http://${domain}
+ ${session}= Create Session jaeger http://${domain}
+ ${tags}= Create Dictionary otel.library.name=io.opentelemetry.kafka-clients-2.6 messaging.system=kafka
+ ${tags_json}= evaluate json.dumps(${tags}) json
+ ${params}= Create Dictionary service=${service} tags=${tags_json} operation=policy-acruntime-participant send lookback=1h limit=10
+ ${resp}= GET On Session jaeger /api/traces params=${params} expected_status=200
+ Log Received response from jaeger ${resp.text}
+ RETURN ${resp}
+
+VerifyHttpInTraces
+ [Arguments] ${domain} ${service}
+ Log Creating session http://${domain}
+ ${session}= Create Session jaeger http://${domain}
+ ${tags}= Create Dictionary uri=/v2/compositions/{compositionId}
+ ${tags_json}= evaluate json.dumps(${tags}) json
+ ${params}= Create Dictionary service=${service} tags=${tags_json} operation=http put /v2/compositions/{compositionId} lookback=1h limit=10
+ ${resp}= GET On Session jaeger /api/traces params=${params} expected_status=200
+ Log Received response from jaeger ${resp.text}
+ RETURN ${resp}
+
QueryPrometheus
[Arguments] ${query}
${params}= Create Dictionary query=${query}
diff --git a/csit/resources/tests/policy-clamp-test.robot b/csit/resources/tests/policy-clamp-test.robot
index ca7cf7d1..9d69520a 100644
--- a/csit/resources/tests/policy-clamp-test.robot
+++ b/csit/resources/tests/policy-clamp-test.robot
@@ -5,6 +5,7 @@ Library OperatingSystem
Library String
Library json
Library yaml
+Resource common-library.robot
*** Test Cases ***
HealthcheckAcm
@@ -159,6 +160,39 @@ DeployAutomationComposition
Should Be Equal As Strings ${resp.status_code} 202
Wait Until Keyword Succeeds 10 min 5 sec VerifyDeployStatus ${compositionId} ${instanceId} DEPLOYED
+CheckTraces
+ [Documentation] Verify that traces are being recorded in jaeger
+ Log Verifying Jaeger traces
+ ${acmResp}= VerifyTracingWorks ${JAEGER_IP} acm-r
+ ${httpResp}= VerifyTracingWorks ${JAEGER_IP} http-ppnt
+ ${policyResp}= VerifyTracingWorks ${JAEGER_IP} policy-ppnt
+ ${k8sResp}= VerifyTracingWorks ${JAEGER_IP} k8s-ppnt
+ Should Not Be Empty ${acmResp.json()["data"][0]["spans"][0]["spanID"]}
+ Log Received spanID is ${acmResp.json()["data"][0]["spans"][0]["spanID"]}
+ Should Not Be Empty ${httpResp.json()["data"][0]["spans"][0]["spanID"]}
+ Should Not Be Empty ${policyResp.json()["data"][0]["spans"][0]["spanID"]}
+ Should Not Be Empty ${k8sResp.json()["data"][0]["spans"][0]["spanID"]}
+
+CheckKafkaPresentInTraces
+ [Documentation] Verify that kafka traces are being recorded in jaeger
+ Log Verifying Kafka Jaeger traces
+ ${acmResp}= VerifyKafkaInTraces ${JAEGER_IP} acm-r
+ ${httpResp}= VerifyKafkaInTraces ${JAEGER_IP} http-ppnt
+ ${policyResp}= VerifyKafkaInTraces ${JAEGER_IP} policy-ppnt
+ ${k8sResp}= VerifyKafkaInTraces ${JAEGER_IP} k8s-ppnt
+ Should Not Be Empty ${acmResp.json()["data"][0]["spans"][0]["spanID"]}
+ Log Received spanID is ${acmResp.json()["data"][0]["spans"][0]["spanID"]}
+ Should Not Be Empty ${httpResp.json()["data"][0]["spans"][0]["spanID"]}
+ Should Not Be Empty ${policyResp.json()["data"][0]["spans"][0]["spanID"]}
+ Should Not Be Empty ${k8sResp.json()["data"][0]["spans"][0]["spanID"]}
+
+CheckHttpPresentInAcmTraces
+ [Documentation] Verify that http traces are being recorded in jaeger
+ Log Verifying Http Jaeger traces
+ ${acmResp}= VerifyHttpInTraces ${JAEGER_IP} acm-r
+ Should Not Be Empty ${acmResp.json()["data"][0]["spans"][0]["spanID"]}
+ Log Received spanID is ${acmResp.json()["data"][0]["spans"][0]["spanID"]}
+
QueryPolicies
[Documentation] Verify the new policies deployed
${auth}= Create List policyadmin zb!XztG34