From a56446177c43c36a0afccdf961c0e6304b457e2b Mon Sep 17 00:00:00 2001 From: Ishwar Kanse Date: Mon, 18 May 2026 19:07:24 +0530 Subject: [PATCH 1/4] fix(otel-upstream): use opentelemetry-operator-system namespace The OpenTelemetry Operator upstream e2e tests now install the operator into opentelemetry-operator-system (the OLM default) instead of the old opentelemetry-operator namespace. Update all oc -n and CSV patch commands in the upstream step to match. Co-Authored-By: Claude Sonnet 4.6 --- ...ng-tests-opentelemetry-upstream-commands.sh | 18 +++++++++--------- 1 file changed, 9 insertions(+), 9 deletions(-) diff --git a/ci-operator/step-registry/distributed-tracing/tests/opentelemetry/upstream/distributed-tracing-tests-opentelemetry-upstream-commands.sh b/ci-operator/step-registry/distributed-tracing/tests/opentelemetry/upstream/distributed-tracing-tests-opentelemetry-upstream-commands.sh index 6ff3eca70b895..942abb41f84c9 100755 --- a/ci-operator/step-registry/distributed-tracing/tests/opentelemetry/upstream/distributed-tracing-tests-opentelemetry-upstream-commands.sh +++ b/ci-operator/step-registry/distributed-tracing/tests/opentelemetry/upstream/distributed-tracing-tests-opentelemetry-upstream-commands.sh @@ -47,13 +47,13 @@ fi any_errors=false # Set the operator environment variables required for tests execution. -OTEL_CSV_NAME=$(oc get csv -n opentelemetry-operator | grep "opentelemetry-operator" | awk '{print $1}') -oc -n opentelemetry-operator patch csv $OTEL_CSV_NAME --type=json -p '[ +OTEL_CSV_NAME=$(oc get csv -n opentelemetry-operator-system | grep "opentelemetry-operator" | awk '{print $1}') +oc -n opentelemetry-operator-system patch csv $OTEL_CSV_NAME --type=json -p '[ {"op":"add","path":"/spec/install/spec/deployments/0/spec/template/spec/containers/0/env/-","value":{"name":"RELATED_IMAGE_TARGET_ALLOCATOR","value":"'"${TARGETALLOCATOR_IMG}"'"}}, {"op":"add","path":"/spec/install/spec/deployments/0/spec/template/spec/containers/0/env/-","value":{"name":"RELATED_IMAGE_OPERATOR_OPAMP_BRIDGE","value":"'"${OPERATOROPAMPBRIDGE_IMG}"'"}} ]' sleep 60 -if oc -n opentelemetry-operator get deployment opentelemetry-operator-controller-manager -o jsonpath='{.status.conditions[?(@.type=="Available")].status}' | grep -q "True"; then +if oc -n opentelemetry-operator-system get deployment opentelemetry-operator-controller-manager -o jsonpath='{.status.conditions[?(@.type=="Available")].status}' | grep -q "True"; then echo "Operator deployment updated successfully, continuing script execution..." else echo "Operator deployment update failed, exiting with error." @@ -98,13 +98,13 @@ tests/e2e-prometheuscr \ tests/e2e-sidecar || any_errors=true # Set the operator environment variables for metadata filters tests. -OTEL_CSV_NAME=$(oc get csv -n opentelemetry-operator | grep "opentelemetry-operator" | awk '{print $1}') -oc -n opentelemetry-operator patch csv $OTEL_CSV_NAME --type=json -p '[ +OTEL_CSV_NAME=$(oc get csv -n opentelemetry-operator-system | grep "opentelemetry-operator" | awk '{print $1}') +oc -n opentelemetry-operator-system patch csv $OTEL_CSV_NAME --type=json -p '[ {"op":"add","path":"/spec/install/spec/deployments/0/spec/template/spec/containers/0/env/-","value":{"name":"ANNOTATIONS_FILTER","value":".*filter.out,config.*.gke.io.*"}}, {"op":"add","path":"/spec/install/spec/deployments/0/spec/template/spec/containers/0/env/-","value":{"name":"LABELS_FILTER","value":".*filter.out"}} ]' sleep 60 -if oc -n opentelemetry-operator get deployment opentelemetry-operator-controller-manager -o jsonpath='{.status.conditions[?(@.type=="Available")].status}' | grep -q "True"; then +if oc -n opentelemetry-operator-system get deployment opentelemetry-operator-controller-manager -o jsonpath='{.status.conditions[?(@.type=="Available")].status}' | grep -q "True"; then echo "Operator deployment updated successfully for metadata filters, continuing script execution..." else echo "Operator deployment update for metadata filters failed, exiting with error." @@ -121,8 +121,8 @@ chainsaw test \ tests/e2e-metadata-filters || any_errors=true # Set the operator environment variables with instrumentation images for e2e-instrumentation tests. -OTEL_CSV_NAME=$(oc get csv -n opentelemetry-operator | grep "opentelemetry-operator" | awk '{print $1}') -oc -n opentelemetry-operator patch csv $OTEL_CSV_NAME --type=json -p '[ +OTEL_CSV_NAME=$(oc get csv -n opentelemetry-operator-system | grep "opentelemetry-operator" | awk '{print $1}') +oc -n opentelemetry-operator-system patch csv $OTEL_CSV_NAME --type=json -p '[ {"op":"add","path":"/spec/install/spec/deployments/0/spec/template/spec/containers/0/env/-","value":{"name":"RELATED_IMAGE_AUTO_INSTRUMENTATION_JAVA","value":"'"${INSTRUMENTATION_JAVA_IMG}"'"}}, {"op":"add","path":"/spec/install/spec/deployments/0/spec/template/spec/containers/0/env/-","value":{"name":"RELATED_IMAGE_AUTO_INSTRUMENTATION_NODEJS","value":"'"${INSTRUMENTATION_NODEJS_IMG}"'"}}, {"op":"add","path":"/spec/install/spec/deployments/0/spec/template/spec/containers/0/env/-","value":{"name":"RELATED_IMAGE_AUTO_INSTRUMENTATION_PYTHON","value":"'"${INSTRUMENTATION_PYTHON_IMG}"'"}}, @@ -130,7 +130,7 @@ oc -n opentelemetry-operator patch csv $OTEL_CSV_NAME --type=json -p '[ {"op":"add","path":"/spec/install/spec/deployments/0/spec/template/spec/containers/0/env/-","value":{"name":"RELATED_IMAGE_AUTO_INSTRUMENTATION_APACHE_HTTPD","value":"'"${INSTRUMENTATION_APACHE_HTTPD_IMG}"'"}} ]' sleep 60 -if oc -n opentelemetry-operator get deployment opentelemetry-operator-controller-manager -o jsonpath='{.status.conditions[?(@.type=="Available")].status}' | grep -q "True"; then +if oc -n opentelemetry-operator-system get deployment opentelemetry-operator-controller-manager -o jsonpath='{.status.conditions[?(@.type=="Available")].status}' | grep -q "True"; then echo "Operator deployment updated successfully with instrumentation images, continuing script execution..." else echo "Operator deployment update with instrumentation images failed, exiting with error." From a7306e8eb8dba09572dcd39ff2f327e5652142a6 Mon Sep 17 00:00:00 2001 From: Ishwar Kanse Date: Mon, 18 May 2026 19:24:20 +0530 Subject: [PATCH 2/4] fix(otel-upstream): use opentelemetry-operator-system in job configs Update the operator install namespace from opentelemetry-operator to opentelemetry-operator-system in the upstream OCP 4.12, 4.21, and 4.22 job configs. Aligns with the step script change and the upstream operator repo standardization. Co-Authored-By: Claude Sonnet 4.6 --- ...lemetry-operator-main__upstream-ocp-4.12-amd64.yaml | 10 +++++----- ...lemetry-operator-main__upstream-ocp-4.21-amd64.yaml | 8 ++++---- ...lemetry-operator-main__upstream-ocp-4.22-amd64.yaml | 10 +++++----- 3 files changed, 14 insertions(+), 14 deletions(-) diff --git a/ci-operator/config/openshift/open-telemetry-opentelemetry-operator/openshift-open-telemetry-opentelemetry-operator-main__upstream-ocp-4.12-amd64.yaml b/ci-operator/config/openshift/open-telemetry-opentelemetry-operator/openshift-open-telemetry-opentelemetry-operator-main__upstream-ocp-4.12-amd64.yaml index 9c4d75b697f4f..ae4cc879822ba 100644 --- a/ci-operator/config/openshift/open-telemetry-opentelemetry-operator/openshift-open-telemetry-opentelemetry-operator-main__upstream-ocp-4.12-amd64.yaml +++ b/ci-operator/config/openshift/open-telemetry-opentelemetry-operator/openshift-open-telemetry-opentelemetry-operator-main__upstream-ocp-4.12-amd64.yaml @@ -109,7 +109,7 @@ tests: as: security-sast-otel steps: env: - PROJECT_NAME: opentelemetry-operator + PROJECT_NAME: opentelemetry-operator-system SNYK_PRE_EXECUTION_HOOK_CMD: go mod vendor && go mod tidy workflow: openshift-ci-security - as: opentelemetry-upstream-tests @@ -128,10 +128,10 @@ tests: - as: install cli: latest commands: | - oc create namespace opentelemetry-operator - oc label namespace opentelemetry-operator openshift.io/cluster-monitoring="true" - operator-sdk run bundle --timeout=5m --security-context-config restricted -n opentelemetry-operator "$OO_BUNDLE" - oc wait --for condition=Available -n opentelemetry-operator deployment opentelemetry-operator-controller-manager + oc create namespace opentelemetry-operator-system + oc label namespace opentelemetry-operator-system openshift.io/cluster-monitoring="true" + operator-sdk run bundle --timeout=5m --security-context-config restricted -n opentelemetry-operator-system "$OO_BUNDLE" + oc wait --for condition=Available -n opentelemetry-operator-system deployment opentelemetry-operator-controller-manager dependencies: - env: OO_BUNDLE name: opentelemetry-bundle diff --git a/ci-operator/config/openshift/open-telemetry-opentelemetry-operator/openshift-open-telemetry-opentelemetry-operator-main__upstream-ocp-4.21-amd64.yaml b/ci-operator/config/openshift/open-telemetry-opentelemetry-operator/openshift-open-telemetry-opentelemetry-operator-main__upstream-ocp-4.21-amd64.yaml index 8e18eb942fb7e..8ac37edc370ba 100644 --- a/ci-operator/config/openshift/open-telemetry-opentelemetry-operator/openshift-open-telemetry-opentelemetry-operator-main__upstream-ocp-4.21-amd64.yaml +++ b/ci-operator/config/openshift/open-telemetry-opentelemetry-operator/openshift-open-telemetry-opentelemetry-operator-main__upstream-ocp-4.21-amd64.yaml @@ -118,10 +118,10 @@ tests: - as: install cli: latest commands: | - oc create namespace opentelemetry-operator - oc label namespace opentelemetry-operator openshift.io/cluster-monitoring="true" - operator-sdk run bundle --timeout=5m --security-context-config restricted -n opentelemetry-operator "$OO_BUNDLE" - oc wait --for condition=Available -n opentelemetry-operator deployment opentelemetry-operator-controller-manager + oc create namespace opentelemetry-operator-system + oc label namespace opentelemetry-operator-system openshift.io/cluster-monitoring="true" + operator-sdk run bundle --timeout=5m --security-context-config restricted -n opentelemetry-operator-system "$OO_BUNDLE" + oc wait --for condition=Available -n opentelemetry-operator-system deployment opentelemetry-operator-controller-manager dependencies: - env: OO_BUNDLE name: opentelemetry-bundle diff --git a/ci-operator/config/openshift/open-telemetry-opentelemetry-operator/openshift-open-telemetry-opentelemetry-operator-main__upstream-ocp-4.22-amd64.yaml b/ci-operator/config/openshift/open-telemetry-opentelemetry-operator/openshift-open-telemetry-opentelemetry-operator-main__upstream-ocp-4.22-amd64.yaml index 3f3be5dca8183..39bb4c5e05cf4 100644 --- a/ci-operator/config/openshift/open-telemetry-opentelemetry-operator/openshift-open-telemetry-opentelemetry-operator-main__upstream-ocp-4.22-amd64.yaml +++ b/ci-operator/config/openshift/open-telemetry-opentelemetry-operator/openshift-open-telemetry-opentelemetry-operator-main__upstream-ocp-4.22-amd64.yaml @@ -105,7 +105,7 @@ tests: as: security-sast-otel steps: env: - PROJECT_NAME: opentelemetry-operator + PROJECT_NAME: opentelemetry-operator-system SNYK_PRE_EXECUTION_HOOK_CMD: go mod vendor && go mod tidy workflow: openshift-ci-security - as: opentelemetry-upstream-tests @@ -124,10 +124,10 @@ tests: - as: install cli: latest commands: | - oc create namespace opentelemetry-operator - oc label namespace opentelemetry-operator openshift.io/cluster-monitoring="true" - operator-sdk run bundle --timeout=5m --security-context-config restricted -n opentelemetry-operator "$OO_BUNDLE" - oc wait --for condition=Available -n opentelemetry-operator deployment opentelemetry-operator-controller-manager + oc create namespace opentelemetry-operator-system + oc label namespace opentelemetry-operator-system openshift.io/cluster-monitoring="true" + operator-sdk run bundle --timeout=5m --security-context-config restricted -n opentelemetry-operator-system "$OO_BUNDLE" + oc wait --for condition=Available -n opentelemetry-operator-system deployment opentelemetry-operator-controller-manager dependencies: - env: OO_BUNDLE name: opentelemetry-bundle From c5315778a7bb69956412e5efcdddc2450edf1a0f Mon Sep 17 00:00:00 2001 From: Ishwar Kanse Date: Mon, 18 May 2026 19:43:58 +0530 Subject: [PATCH 3/4] fix(otel-upstream): revert PROJECT_NAME to opentelemetry-operator PROJECT_NAME is consumed by the Snyk SAST step as the Snyk project name, not as an OCP namespace. Revert the inadvertent rename. Co-Authored-By: Claude Sonnet 4.6 --- ...ry-opentelemetry-operator-main__upstream-ocp-4.12-amd64.yaml | 2 +- ...ry-opentelemetry-operator-main__upstream-ocp-4.22-amd64.yaml | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/ci-operator/config/openshift/open-telemetry-opentelemetry-operator/openshift-open-telemetry-opentelemetry-operator-main__upstream-ocp-4.12-amd64.yaml b/ci-operator/config/openshift/open-telemetry-opentelemetry-operator/openshift-open-telemetry-opentelemetry-operator-main__upstream-ocp-4.12-amd64.yaml index ae4cc879822ba..66df27ba6505a 100644 --- a/ci-operator/config/openshift/open-telemetry-opentelemetry-operator/openshift-open-telemetry-opentelemetry-operator-main__upstream-ocp-4.12-amd64.yaml +++ b/ci-operator/config/openshift/open-telemetry-opentelemetry-operator/openshift-open-telemetry-opentelemetry-operator-main__upstream-ocp-4.12-amd64.yaml @@ -109,7 +109,7 @@ tests: as: security-sast-otel steps: env: - PROJECT_NAME: opentelemetry-operator-system + PROJECT_NAME: opentelemetry-operator SNYK_PRE_EXECUTION_HOOK_CMD: go mod vendor && go mod tidy workflow: openshift-ci-security - as: opentelemetry-upstream-tests diff --git a/ci-operator/config/openshift/open-telemetry-opentelemetry-operator/openshift-open-telemetry-opentelemetry-operator-main__upstream-ocp-4.22-amd64.yaml b/ci-operator/config/openshift/open-telemetry-opentelemetry-operator/openshift-open-telemetry-opentelemetry-operator-main__upstream-ocp-4.22-amd64.yaml index 39bb4c5e05cf4..86fd323e3548e 100644 --- a/ci-operator/config/openshift/open-telemetry-opentelemetry-operator/openshift-open-telemetry-opentelemetry-operator-main__upstream-ocp-4.22-amd64.yaml +++ b/ci-operator/config/openshift/open-telemetry-opentelemetry-operator/openshift-open-telemetry-opentelemetry-operator-main__upstream-ocp-4.22-amd64.yaml @@ -105,7 +105,7 @@ tests: as: security-sast-otel steps: env: - PROJECT_NAME: opentelemetry-operator-system + PROJECT_NAME: opentelemetry-operator SNYK_PRE_EXECUTION_HOOK_CMD: go mod vendor && go mod tidy workflow: openshift-ci-security - as: opentelemetry-upstream-tests From 68e9ff06646f9204755e1248280b63f13326a40e Mon Sep 17 00:00:00 2001 From: Ishwar Kanse Date: Tue, 19 May 2026 20:06:55 +0530 Subject: [PATCH 4/4] Run Tempo TLS profile tests last as an isolated chainsaw invocation The TLS profile tests patch the cluster-wide APIServer resource, triggering node-level TLS reconciliation that disrupts concurrently running tests. Run them as a separate chainsaw invocation after all other suites complete, matching the same any_errors pattern used in the OTel upstream test step. Co-Authored-By: Claude Sonnet 4.6 --- ...d-tracing-tests-tempo-upstream-commands.sh | 25 +++++++++++++++++-- 1 file changed, 23 insertions(+), 2 deletions(-) diff --git a/ci-operator/step-registry/distributed-tracing/tests/tempo/upstream/distributed-tracing-tests-tempo-upstream-commands.sh b/ci-operator/step-registry/distributed-tracing/tests/tempo/upstream/distributed-tracing-tests-tempo-upstream-commands.sh index 88acb6f38e286..d934d4f1ba59e 100755 --- a/ci-operator/step-registry/distributed-tracing/tests/tempo/upstream/distributed-tracing-tests-tempo-upstream-commands.sh +++ b/ci-operator/step-registry/distributed-tracing/tests/tempo/upstream/distributed-tracing-tests-tempo-upstream-commands.sh @@ -35,6 +35,9 @@ fi # Unset environment variable which conflicts with Chainsaw unset NAMESPACE +# Initialize a variable to keep track of errors +any_errors=false + # Execute Tempo e2e tests chainsaw test \ --quiet \ @@ -50,5 +53,23 @@ tests/e2e-openshift-ossm \ tests/e2e-openshift-object-stores \ tests/e2e-long-running \ tests/e2e-openshift-tshirt-sizes \ -tests/operator-metrics \ -tests/e2e-openshift-tls-profile +tests/operator-metrics || any_errors=true + +# Execute TLS profile tests last: they patch the cluster-wide APIServer resource, +# triggering node-level TLS reconciliation that would disrupt concurrently running tests. +chainsaw test \ +--quiet \ +--config .chainsaw-openshift.yaml \ +--report-name "junit_tempo_e2e_tls_profile" \ +--report-path "$ARTIFACT_DIR" \ +--report-format "XML" \ +--test-dir \ +tests/e2e-openshift-tls-profile || any_errors=true + +# Check if any errors occurred +if $any_errors; then + echo "Tests failed, check the logs for more details." + exit 1 +else + echo "All the tests passed." +fi