From bea86bc43883496957639a3a76a2fdddb53ce8dc Mon Sep 17 00:00:00 2001 From: Tiger Kaovilai Date: Mon, 24 Aug 2026 23:31:12 -0400 Subject: [PATCH 1/3] Add oadp-analyze-e2e-failure step, migrate off in-repo Claude CLI Adds a new oadp-analyze-e2e-failure post-step using the shared claude-ai-helpers base image and sa-claude-openshift-ci credential, matching the pattern already used by medik8s and hypershift. Wires it into the oadp-1.6 and oadp-dev variant configs, the only OADP branches whose Makefile currently invokes an in-repo analyze_failures.sh (added in openshift/oadp-operator#2038). That in-repo approach never actually had Vertex AI credentials wired into this repo's config, so it silently no-ops in CI today. Companion issue tracking the in-repo cleanup (removing the Claude CLI install from build/ci-Dockerfile and the Makefile hook): openshift/oadp-operator#2407 Signed-off-by: Tiger Kaovilai --- ...penshift-oadp-operator-oadp-1.6__4.18.yaml | 7 + ...penshift-oadp-operator-oadp-1.6__4.22.yaml | 28 ++++ ...penshift-oadp-operator-oadp-1.6__4.23.yaml | 28 ++++ ...openshift-oadp-operator-oadp-1.6__5.0.yaml | 28 ++++ ...penshift-oadp-operator-oadp-dev__4.22.yaml | 16 ++ ...penshift-oadp-operator-oadp-dev__4.23.yaml | 10 ++ ...openshift-oadp-operator-oadp-dev__5.0.yaml | 25 +++ ...openshift-oadp-operator-oadp-dev__5.1.yaml | 22 +++ .../oadp/analyze-e2e-failure/OWNERS | 18 +++ .../oadp-analyze-e2e-failure-commands.sh | 148 ++++++++++++++++++ ...oadp-analyze-e2e-failure-ref.metadata.json | 24 +++ .../oadp-analyze-e2e-failure-ref.yaml | 58 +++++++ 12 files changed, 412 insertions(+) create mode 100644 ci-operator/step-registry/oadp/analyze-e2e-failure/OWNERS create mode 100755 ci-operator/step-registry/oadp/analyze-e2e-failure/oadp-analyze-e2e-failure-commands.sh create mode 100644 ci-operator/step-registry/oadp/analyze-e2e-failure/oadp-analyze-e2e-failure-ref.metadata.json create mode 100644 ci-operator/step-registry/oadp/analyze-e2e-failure/oadp-analyze-e2e-failure-ref.yaml diff --git a/ci-operator/config/openshift/oadp-operator/openshift-oadp-operator-oadp-1.6__4.18.yaml b/ci-operator/config/openshift/oadp-operator/openshift-oadp-operator-oadp-1.6__4.18.yaml index c070389887cdd..dfeedb44911aa 100644 --- a/ci-operator/config/openshift/oadp-operator/openshift-oadp-operator-oadp-1.6__4.18.yaml +++ b/ci-operator/config/openshift/oadp-operator/openshift-oadp-operator-oadp-1.6__4.18.yaml @@ -1,4 +1,8 @@ base_images: + claude-ai-helpers: + name: claude-ai-helpers + namespace: ci + tag: latest hypershift-oadp-plugin-oadp-1.6: name: hypershift-oadp-plugin namespace: konveyor @@ -149,6 +153,9 @@ tests: OO_INSTALL_NAMESPACE: openshift-adp OO_PACKAGE: oadp-operator OO_TARGET_NAMESPACES: '!install' + TEST_NAME: e2e-test-hcp-aws-periodic + post: + - ref: oadp-analyze-e2e-failure test: - as: e2e cli: latest diff --git a/ci-operator/config/openshift/oadp-operator/openshift-oadp-operator-oadp-1.6__4.22.yaml b/ci-operator/config/openshift/oadp-operator/openshift-oadp-operator-oadp-1.6__4.22.yaml index cfbae14575a32..48dfaec652efe 100644 --- a/ci-operator/config/openshift/oadp-operator/openshift-oadp-operator-oadp-1.6__4.22.yaml +++ b/ci-operator/config/openshift/oadp-operator/openshift-oadp-operator-oadp-1.6__4.22.yaml @@ -1,4 +1,8 @@ base_images: + claude-ai-helpers: + name: claude-ai-helpers + namespace: ci + tag: latest hypershift-oadp-plugin-oadp-1.6: name: hypershift-oadp-plugin namespace: konveyor @@ -154,6 +158,9 @@ tests: OO_INSTALL_NAMESPACE: openshift-adp OO_PACKAGE: oadp-operator OO_TARGET_NAMESPACES: '!install' + TEST_NAME: e2e-test-cli-aws + post: + - ref: oadp-analyze-e2e-failure test: - as: e2e cli: latest @@ -180,6 +187,9 @@ tests: OO_INSTALL_NAMESPACE: openshift-adp OO_PACKAGE: oadp-operator OO_TARGET_NAMESPACES: '!install' + TEST_NAME: e2e-test-aws + post: + - ref: oadp-analyze-e2e-failure test: - as: e2e cli: latest @@ -214,6 +224,9 @@ tests: OO_INSTALL_NAMESPACE: openshift-adp OO_PACKAGE: oadp-operator OO_TARGET_NAMESPACES: '!install' + TEST_NAME: e2e-test-aws-periodic + post: + - ref: oadp-analyze-e2e-failure test: - as: e2e cli: latest @@ -240,6 +253,9 @@ tests: OO_INSTALL_NAMESPACE: openshift-adp OO_PACKAGE: oadp-operator OO_TARGET_NAMESPACES: '!install' + TEST_NAME: e2e-test-kubevirt-aws + post: + - ref: oadp-analyze-e2e-failure test: - as: e2e cli: latest @@ -274,6 +290,9 @@ tests: OO_INSTALL_NAMESPACE: openshift-adp OO_PACKAGE: oadp-operator OO_TARGET_NAMESPACES: '!install' + TEST_NAME: e2e-test-kubevirt-aws-periodic + post: + - ref: oadp-analyze-e2e-failure test: - as: e2e cli: latest @@ -300,6 +319,9 @@ tests: OO_INSTALL_NAMESPACE: openshift-adp OO_PACKAGE: oadp-operator OO_TARGET_NAMESPACES: '!install' + TEST_NAME: e2e-test-hcp-aws + post: + - ref: oadp-analyze-e2e-failure test: - as: e2e cli: latest @@ -325,6 +347,9 @@ tests: OO_INSTALL_NAMESPACE: openshift-adp OO_PACKAGE: oadp-operator OO_TARGET_NAMESPACES: '!install' + TEST_NAME: e2e-test-hcp-aws-periodic + post: + - ref: oadp-analyze-e2e-failure test: - as: e2e cli: latest @@ -350,6 +375,9 @@ tests: OO_INSTALL_NAMESPACE: openshift-adp OO_PACKAGE: oadp-operator OO_TARGET_NAMESPACES: '!install' + TEST_NAME: e2e-test-cli-aws-periodic + post: + - ref: oadp-analyze-e2e-failure test: - as: e2e cli: latest diff --git a/ci-operator/config/openshift/oadp-operator/openshift-oadp-operator-oadp-1.6__4.23.yaml b/ci-operator/config/openshift/oadp-operator/openshift-oadp-operator-oadp-1.6__4.23.yaml index 9d07783a1cfd0..a7477b862a7ab 100644 --- a/ci-operator/config/openshift/oadp-operator/openshift-oadp-operator-oadp-1.6__4.23.yaml +++ b/ci-operator/config/openshift/oadp-operator/openshift-oadp-operator-oadp-1.6__4.23.yaml @@ -1,4 +1,8 @@ base_images: + claude-ai-helpers: + name: claude-ai-helpers + namespace: ci + tag: latest tls-scanner-tool: name: "4.23" namespace: ocp @@ -46,6 +50,9 @@ tests: OO_INSTALL_NAMESPACE: openshift-adp OO_PACKAGE: oadp-operator OO_TARGET_NAMESPACES: '!install' + TEST_NAME: e2e-test-cli-aws + post: + - ref: oadp-analyze-e2e-failure test: - as: e2e cli: latest @@ -72,6 +79,9 @@ tests: OO_INSTALL_NAMESPACE: openshift-adp OO_PACKAGE: oadp-operator OO_TARGET_NAMESPACES: '!install' + TEST_NAME: e2e-test-aws + post: + - ref: oadp-analyze-e2e-failure test: - as: e2e cli: latest @@ -106,6 +116,9 @@ tests: OO_INSTALL_NAMESPACE: openshift-adp OO_PACKAGE: oadp-operator OO_TARGET_NAMESPACES: '!install' + TEST_NAME: e2e-test-aws-periodic + post: + - ref: oadp-analyze-e2e-failure test: - as: e2e cli: latest @@ -132,6 +145,9 @@ tests: OO_INSTALL_NAMESPACE: openshift-adp OO_PACKAGE: oadp-operator OO_TARGET_NAMESPACES: '!install' + TEST_NAME: e2e-test-kubevirt-aws + post: + - ref: oadp-analyze-e2e-failure test: - as: e2e cli: latest @@ -166,6 +182,9 @@ tests: OO_INSTALL_NAMESPACE: openshift-adp OO_PACKAGE: oadp-operator OO_TARGET_NAMESPACES: '!install' + TEST_NAME: e2e-test-kubevirt-aws-periodic + post: + - ref: oadp-analyze-e2e-failure test: - as: e2e cli: latest @@ -192,6 +211,9 @@ tests: OO_INSTALL_NAMESPACE: openshift-adp OO_PACKAGE: oadp-operator OO_TARGET_NAMESPACES: '!install' + TEST_NAME: e2e-test-hcp-aws + post: + - ref: oadp-analyze-e2e-failure test: - as: e2e cli: latest @@ -217,6 +239,9 @@ tests: OO_INSTALL_NAMESPACE: openshift-adp OO_PACKAGE: oadp-operator OO_TARGET_NAMESPACES: '!install' + TEST_NAME: e2e-test-hcp-aws-periodic + post: + - ref: oadp-analyze-e2e-failure test: - as: e2e cli: latest @@ -242,6 +267,9 @@ tests: OO_INSTALL_NAMESPACE: openshift-adp OO_PACKAGE: oadp-operator OO_TARGET_NAMESPACES: '!install' + TEST_NAME: e2e-test-cli-aws-periodic + post: + - ref: oadp-analyze-e2e-failure test: - as: e2e cli: latest diff --git a/ci-operator/config/openshift/oadp-operator/openshift-oadp-operator-oadp-1.6__5.0.yaml b/ci-operator/config/openshift/oadp-operator/openshift-oadp-operator-oadp-1.6__5.0.yaml index acb26032c2d79..2d0a192b5a024 100644 --- a/ci-operator/config/openshift/oadp-operator/openshift-oadp-operator-oadp-1.6__5.0.yaml +++ b/ci-operator/config/openshift/oadp-operator/openshift-oadp-operator-oadp-1.6__5.0.yaml @@ -1,4 +1,8 @@ base_images: + claude-ai-helpers: + name: claude-ai-helpers + namespace: ci + tag: latest hypershift-oadp-plugin-oadp-1.6: name: hypershift-oadp-plugin namespace: konveyor @@ -150,6 +154,9 @@ tests: OO_INSTALL_NAMESPACE: openshift-adp OO_PACKAGE: oadp-operator OO_TARGET_NAMESPACES: '!install' + TEST_NAME: e2e-test-cli-aws + post: + - ref: oadp-analyze-e2e-failure test: - as: e2e cli: latest @@ -176,6 +183,9 @@ tests: OO_INSTALL_NAMESPACE: openshift-adp OO_PACKAGE: oadp-operator OO_TARGET_NAMESPACES: '!install' + TEST_NAME: e2e-test-aws + post: + - ref: oadp-analyze-e2e-failure test: - as: e2e cli: latest @@ -210,6 +220,9 @@ tests: OO_INSTALL_NAMESPACE: openshift-adp OO_PACKAGE: oadp-operator OO_TARGET_NAMESPACES: '!install' + TEST_NAME: e2e-test-aws-periodic + post: + - ref: oadp-analyze-e2e-failure test: - as: e2e cli: latest @@ -236,6 +249,9 @@ tests: OO_INSTALL_NAMESPACE: openshift-adp OO_PACKAGE: oadp-operator OO_TARGET_NAMESPACES: '!install' + TEST_NAME: e2e-test-kubevirt-aws + post: + - ref: oadp-analyze-e2e-failure test: - as: e2e cli: latest @@ -270,6 +286,9 @@ tests: OO_INSTALL_NAMESPACE: openshift-adp OO_PACKAGE: oadp-operator OO_TARGET_NAMESPACES: '!install' + TEST_NAME: e2e-test-kubevirt-aws-periodic + post: + - ref: oadp-analyze-e2e-failure test: - as: e2e cli: latest @@ -296,6 +315,9 @@ tests: OO_INSTALL_NAMESPACE: openshift-adp OO_PACKAGE: oadp-operator OO_TARGET_NAMESPACES: '!install' + TEST_NAME: e2e-test-hcp-aws + post: + - ref: oadp-analyze-e2e-failure test: - as: e2e cli: latest @@ -321,6 +343,9 @@ tests: OO_INSTALL_NAMESPACE: openshift-adp OO_PACKAGE: oadp-operator OO_TARGET_NAMESPACES: '!install' + TEST_NAME: e2e-test-hcp-aws-periodic + post: + - ref: oadp-analyze-e2e-failure test: - as: e2e cli: latest @@ -346,6 +371,9 @@ tests: OO_INSTALL_NAMESPACE: openshift-adp OO_PACKAGE: oadp-operator OO_TARGET_NAMESPACES: '!install' + TEST_NAME: e2e-test-cli-aws-periodic + post: + - ref: oadp-analyze-e2e-failure test: - as: e2e cli: latest diff --git a/ci-operator/config/openshift/oadp-operator/openshift-oadp-operator-oadp-dev__4.22.yaml b/ci-operator/config/openshift/oadp-operator/openshift-oadp-operator-oadp-dev__4.22.yaml index e038110f9800a..d98e504ed26b0 100644 --- a/ci-operator/config/openshift/oadp-operator/openshift-oadp-operator-oadp-dev__4.22.yaml +++ b/ci-operator/config/openshift/oadp-operator/openshift-oadp-operator-oadp-dev__4.22.yaml @@ -1,4 +1,8 @@ base_images: + claude-ai-helpers: + name: claude-ai-helpers + namespace: ci + tag: latest hypershift-oadp-plugin: name: hypershift-oadp-plugin namespace: konveyor @@ -154,6 +158,9 @@ tests: OO_INSTALL_NAMESPACE: openshift-adp OO_PACKAGE: oadp-operator OO_TARGET_NAMESPACES: '!install' + TEST_NAME: e2e-test-cli-aws + post: + - ref: oadp-analyze-e2e-failure test: - as: e2e cli: latest @@ -180,6 +187,9 @@ tests: OO_INSTALL_NAMESPACE: openshift-adp OO_PACKAGE: oadp-operator OO_TARGET_NAMESPACES: '!install' + TEST_NAME: e2e-test-aws + post: + - ref: oadp-analyze-e2e-failure test: - as: e2e cli: latest @@ -214,6 +224,9 @@ tests: OO_INSTALL_NAMESPACE: openshift-adp OO_PACKAGE: oadp-operator OO_TARGET_NAMESPACES: '!install' + TEST_NAME: e2e-test-aws-periodic + post: + - ref: oadp-analyze-e2e-failure test: - as: e2e cli: latest @@ -239,6 +252,9 @@ tests: OO_INSTALL_NAMESPACE: openshift-adp OO_PACKAGE: oadp-operator OO_TARGET_NAMESPACES: '!install' + TEST_NAME: e2e-test-cli-aws-periodic + post: + - ref: oadp-analyze-e2e-failure test: - as: e2e cli: latest diff --git a/ci-operator/config/openshift/oadp-operator/openshift-oadp-operator-oadp-dev__4.23.yaml b/ci-operator/config/openshift/oadp-operator/openshift-oadp-operator-oadp-dev__4.23.yaml index 4073b02ecfa8b..f2dcaddecbfd3 100644 --- a/ci-operator/config/openshift/oadp-operator/openshift-oadp-operator-oadp-dev__4.23.yaml +++ b/ci-operator/config/openshift/oadp-operator/openshift-oadp-operator-oadp-dev__4.23.yaml @@ -1,4 +1,8 @@ base_images: + claude-ai-helpers: + name: claude-ai-helpers + namespace: ci + tag: latest hypershift-oadp-plugin: name: hypershift-oadp-plugin namespace: konveyor @@ -151,6 +155,9 @@ tests: OO_INSTALL_NAMESPACE: openshift-adp OO_PACKAGE: oadp-operator OO_TARGET_NAMESPACES: '!install' + TEST_NAME: e2e-test-aws + post: + - ref: oadp-analyze-e2e-failure test: - as: e2e cli: latest @@ -185,6 +192,9 @@ tests: OO_INSTALL_NAMESPACE: openshift-adp OO_PACKAGE: oadp-operator OO_TARGET_NAMESPACES: '!install' + TEST_NAME: e2e-test-aws-periodic + post: + - ref: oadp-analyze-e2e-failure test: - as: e2e cli: latest diff --git a/ci-operator/config/openshift/oadp-operator/openshift-oadp-operator-oadp-dev__5.0.yaml b/ci-operator/config/openshift/oadp-operator/openshift-oadp-operator-oadp-dev__5.0.yaml index 224d728a6f0e2..352e57e16766b 100644 --- a/ci-operator/config/openshift/oadp-operator/openshift-oadp-operator-oadp-dev__5.0.yaml +++ b/ci-operator/config/openshift/oadp-operator/openshift-oadp-operator-oadp-dev__5.0.yaml @@ -1,4 +1,8 @@ base_images: + claude-ai-helpers: + name: claude-ai-helpers + namespace: ci + tag: latest hypershift-oadp-plugin: name: hypershift-oadp-plugin namespace: konveyor @@ -150,6 +154,9 @@ tests: OO_INSTALL_NAMESPACE: openshift-adp OO_PACKAGE: oadp-operator OO_TARGET_NAMESPACES: '!install' + TEST_NAME: e2e-test-cli-aws + post: + - ref: oadp-analyze-e2e-failure test: - as: e2e cli: latest @@ -176,6 +183,9 @@ tests: OO_INSTALL_NAMESPACE: openshift-adp OO_PACKAGE: oadp-operator OO_TARGET_NAMESPACES: '!install' + TEST_NAME: e2e-test-aws + post: + - ref: oadp-analyze-e2e-failure test: - as: e2e cli: latest @@ -210,6 +220,9 @@ tests: OO_INSTALL_NAMESPACE: openshift-adp OO_PACKAGE: oadp-operator OO_TARGET_NAMESPACES: '!install' + TEST_NAME: e2e-test-aws-periodic + post: + - ref: oadp-analyze-e2e-failure test: - as: e2e cli: latest @@ -236,6 +249,9 @@ tests: OO_INSTALL_NAMESPACE: openshift-adp OO_PACKAGE: oadp-operator OO_TARGET_NAMESPACES: '!install' + TEST_NAME: e2e-test-kubevirt-aws + post: + - ref: oadp-analyze-e2e-failure test: - as: e2e cli: latest @@ -270,6 +286,9 @@ tests: OO_INSTALL_NAMESPACE: openshift-adp OO_PACKAGE: oadp-operator OO_TARGET_NAMESPACES: '!install' + TEST_NAME: e2e-test-kubevirt-aws-periodic + post: + - ref: oadp-analyze-e2e-failure test: - as: e2e cli: latest @@ -295,6 +314,9 @@ tests: OO_INSTALL_NAMESPACE: openshift-adp OO_PACKAGE: oadp-operator OO_TARGET_NAMESPACES: '!install' + TEST_NAME: e2e-test-hcp-aws-periodic + post: + - ref: oadp-analyze-e2e-failure test: - as: e2e cli: latest @@ -320,6 +342,9 @@ tests: OO_INSTALL_NAMESPACE: openshift-adp OO_PACKAGE: oadp-operator OO_TARGET_NAMESPACES: '!install' + TEST_NAME: e2e-test-cli-aws-periodic + post: + - ref: oadp-analyze-e2e-failure test: - as: e2e cli: latest diff --git a/ci-operator/config/openshift/oadp-operator/openshift-oadp-operator-oadp-dev__5.1.yaml b/ci-operator/config/openshift/oadp-operator/openshift-oadp-operator-oadp-dev__5.1.yaml index c0058c27f9cda..a50836f6750cb 100644 --- a/ci-operator/config/openshift/oadp-operator/openshift-oadp-operator-oadp-dev__5.1.yaml +++ b/ci-operator/config/openshift/oadp-operator/openshift-oadp-operator-oadp-dev__5.1.yaml @@ -1,4 +1,8 @@ base_images: + claude-ai-helpers: + name: claude-ai-helpers + namespace: ci + tag: latest hypershift-oadp-plugin: name: hypershift-oadp-plugin namespace: konveyor @@ -151,6 +155,9 @@ tests: OO_INSTALL_NAMESPACE: openshift-adp OO_PACKAGE: oadp-operator OO_TARGET_NAMESPACES: '!install' + TEST_NAME: e2e-test-cli-aws + post: + - ref: oadp-analyze-e2e-failure test: - as: e2e cli: latest @@ -178,6 +185,9 @@ tests: OO_INSTALL_NAMESPACE: openshift-adp OO_PACKAGE: oadp-operator OO_TARGET_NAMESPACES: '!install' + TEST_NAME: e2e-test-aws + post: + - ref: oadp-analyze-e2e-failure test: - as: e2e cli: latest @@ -212,6 +222,9 @@ tests: OO_INSTALL_NAMESPACE: openshift-adp OO_PACKAGE: oadp-operator OO_TARGET_NAMESPACES: '!install' + TEST_NAME: e2e-test-aws-periodic + post: + - ref: oadp-analyze-e2e-failure test: - as: e2e cli: latest @@ -246,6 +259,9 @@ tests: OO_INSTALL_NAMESPACE: openshift-adp OO_PACKAGE: oadp-operator OO_TARGET_NAMESPACES: '!install' + TEST_NAME: e2e-test-kubevirt-aws-periodic + post: + - ref: oadp-analyze-e2e-failure test: - as: e2e cli: latest @@ -271,6 +287,9 @@ tests: OO_INSTALL_NAMESPACE: openshift-adp OO_PACKAGE: oadp-operator OO_TARGET_NAMESPACES: '!install' + TEST_NAME: e2e-test-hcp-aws-periodic + post: + - ref: oadp-analyze-e2e-failure test: - as: e2e cli: latest @@ -296,6 +315,9 @@ tests: OO_INSTALL_NAMESPACE: openshift-adp OO_PACKAGE: oadp-operator OO_TARGET_NAMESPACES: '!install' + TEST_NAME: e2e-test-cli-aws-periodic + post: + - ref: oadp-analyze-e2e-failure test: - as: e2e cli: latest diff --git a/ci-operator/step-registry/oadp/analyze-e2e-failure/OWNERS b/ci-operator/step-registry/oadp/analyze-e2e-failure/OWNERS new file mode 100644 index 0000000000000..206be4be36966 --- /dev/null +++ b/ci-operator/step-registry/oadp/analyze-e2e-failure/OWNERS @@ -0,0 +1,18 @@ +approvers: +- cspi-qe-ocp-lp +- jwmatthews +- sseago +- shawn-hurley +- dymurray +- shubham-pampattiwar +- kaovilai +- mpryc +- joeavaikath +options: {} +reviewers: +- cspi-qe-ocp-lp +- sseago +- shubham-pampattiwar +- kaovilai +- mpryc +- joeavaikath diff --git a/ci-operator/step-registry/oadp/analyze-e2e-failure/oadp-analyze-e2e-failure-commands.sh b/ci-operator/step-registry/oadp/analyze-e2e-failure/oadp-analyze-e2e-failure-commands.sh new file mode 100755 index 0000000000000..ccc57b795cb37 --- /dev/null +++ b/ci-operator/step-registry/oadp/analyze-e2e-failure/oadp-analyze-e2e-failure-commands.sh @@ -0,0 +1,148 @@ +#!/bin/bash +set -euo pipefail + +echo "=== OADP Operator E2E Failure Analyzer ===" + +# --------------------------------------------------------------------------- +# 1. Construct GCS base path and wait for test step artifacts +# --------------------------------------------------------------------------- +JOB_NAME="${JOB_NAME:-unknown}" +BUILD_ID="${BUILD_ID:-unknown}" +JOB_TYPE="${JOB_TYPE:-}" +PULL_NUMBER="${PULL_NUMBER:-}" +REPO_OWNER="${REPO_OWNER:-}" +REPO_NAME="${REPO_NAME:-}" + +if [[ "$JOB_TYPE" == "presubmit" ]] && [[ -n "$PULL_NUMBER" ]]; then + GCS_BUCKET_PATH="pr-logs/pull/${REPO_OWNER}_${REPO_NAME}/${PULL_NUMBER}/${JOB_NAME}/${BUILD_ID}" +else + GCS_BUCKET_PATH="logs/${JOB_NAME}/${BUILD_ID}" +fi + +GCSWEB_BASE="https://gcsweb-ci.apps.ci.l2s4.p1.openshiftapps.com/gcs/test-platform-results" +PROW_JOB_URL="${GCSWEB_BASE}/${GCS_BUCKET_PATH}" +ARTIFACTS_BASE="${GCSWEB_BASE}/${GCS_BUCKET_PATH}/artifacts/${TEST_NAME}" + +echo "Waiting for test step artifacts in GCS..." +FAILURE_DETECTED=false +FAILED_STEP="" +MAX_WAIT=600 +POLL_INTERVAL=15 +WAITED=0 + +while [[ $WAITED -lt $MAX_WAIT ]]; do + for STEP_NAME in $TEST_STEPS; do + FINISHED_JSON=$(curl -sL "${ARTIFACTS_BASE}/${STEP_NAME}/finished.json" 2>/dev/null || true) + if echo "$FINISHED_JSON" | jq -e '.passed == false' &>/dev/null; then + echo "Detected test failure in ${STEP_NAME}/finished.json (waited ${WAITED}s)" + FAILURE_DETECTED=true + FAILED_STEP="$STEP_NAME" + break 2 + elif echo "$FINISHED_JSON" | jq -e '.passed == true' &>/dev/null; then + echo "Test step ${STEP_NAME} passed — skipping analysis." + exit 0 + fi + done + + echo " Waiting for artifacts... (${WAITED}s/${MAX_WAIT}s)" + sleep "$POLL_INTERVAL" + WAITED=$((WAITED + POLL_INTERVAL)) +done + +if [[ "$FAILURE_DETECTED" == "false" ]]; then + echo "Timed out waiting for test step artifacts after ${WAITED}s — skipping analysis." + exit 0 +fi + +# --------------------------------------------------------------------------- +# 2. Verify Claude Code CLI +# --------------------------------------------------------------------------- +if ! command -v claude &>/dev/null; then + echo "ERROR: Claude Code CLI not found — skipping analysis" + exit 0 +fi + +echo "Claude Code CLI: $(claude --version 2>/dev/null || echo 'unknown')" + +# --------------------------------------------------------------------------- +# 3. Run Claude with the pre-installed ai-helpers skill +# --------------------------------------------------------------------------- +echo "Prow job URL: $PROW_JOB_URL" +echo "Failed step: $FAILED_STEP" + +SYSTEM_PROMPT="IMPORTANT CI CONTEXT: +- You are running inside the CI job itself as a post-step. +- This step's artifact directory is: ${ARTIFACT_DIR} +- Other steps' artifacts (build-log, JUnit, must-gather, per-test pod logs) are available via GCS at: ${PROW_JOB_URL} +- You have network access to download artifacts from GCS using curl. +- Write the final analysis report to: ${ARTIFACT_DIR}/failure-analysis.md +- Use --fast mode (do NOT use AskUserQuestion). +- Do NOT prompt for JIRA export — just write the markdown analysis. + +OADP CONTEXT: +- OADP (OpenShift API for Data Protection) is an operator that installs and manages Velero for backup/restore in OpenShift. +- Core resources: DataProtectionApplication (DPA), BackupStorageLocation (BSL), VolumeSnapshotLocation (VSL), CloudStorage, DataProtectionTest, NonAdminBackup/NonAdminRestore. +- E2E tests use Ginkgo v2, filtered by cloud provider/feature labels: aws, gcp, azure, ibmcloud, virt, hcp, cli, upgrade. +- Artifacts of interest per test: + - junit_report.xml: structured pass/fail results. + - must-gather/clusters//oadp-must-gather-summary.md: high-level cluster diagnostics summary. + - must-gather/clusters//namespaces/openshift-adp/: Velero/node-agent/plugin pod logs, DPA/BSL/VSL/backup/restore resources. + - Per-test directories with pod logs from the openshift-adp namespace and application namespaces under test. +- Known flakes are tracked upstream in tests/e2e/lib/flakes.go (flakePatterns / errorIgnorePatterns) in the openshift/oadp-operator repo — cross-reference failure signatures against known issue patterns before treating them as new bugs." + +echo "" +echo "Running Claude with /ci:prow-job-analysis skill..." +echo "" + +set +e +timeout 1200 claude -p "/ci:prow-job-analysis ${PROW_JOB_URL} --fast" \ + --append-system-prompt "$SYSTEM_PROMPT" \ + --allowedTools "Bash Read Write Edit Grep Glob WebFetch Skill" \ + --max-turns 100 \ + --model "$CLAUDE_MODEL" \ + --verbose \ + --output-format stream-json \ + 2> "${ARTIFACT_DIR}/claude-failure-analysis.log" \ + | tee "${ARTIFACT_DIR}/claude-failure-analysis.json" +CLAUDE_EXIT=$? +set -e + +if [[ "$CLAUDE_EXIT" -eq 124 ]]; then + echo "Claude timed out — report may be incomplete" +fi + +# --------------------------------------------------------------------------- +# 4. Extract token usage +# --------------------------------------------------------------------------- + +TOKENS_JSON=$(grep '"type":"result"' "${ARTIFACT_DIR}/claude-failure-analysis.json" 2>/dev/null \ + | head -1 \ + | jq '{ + total_cost_usd: (.total_cost_usd // 0), + duration_ms: (.duration_ms // 0), + num_turns: (.num_turns // 0), + input_tokens: (.usage.input_tokens // 0), + output_tokens: (.usage.output_tokens // 0), + cache_read_input_tokens: (.usage.cache_read_input_tokens // 0), + cache_creation_input_tokens: (.usage.cache_creation_input_tokens // 0) + }' 2>/dev/null \ + || echo '{"total_cost_usd":0,"duration_ms":0,"num_turns":0,"input_tokens":0,"output_tokens":0,"cache_read_input_tokens":0,"cache_creation_input_tokens":0}') + +DURATION_MS=$(echo "$TOKENS_JSON" | jq -r '.duration_ms // 0') +DURATION_S=$(printf '%.0f' "$(echo "${DURATION_MS} / 1000" | bc -l 2>/dev/null)" 2>/dev/null || echo 0) +NUM_TURNS=$(echo "$TOKENS_JSON" | jq -r '.num_turns // 0') + +jq -j 'select(.type == "assistant") | .message.content[]? | select(.type == "text") | .text // empty' \ + "${ARTIFACT_DIR}/claude-failure-analysis.json" \ + > "${ARTIFACT_DIR}/claude-failure-analysis-text.txt" 2>/dev/null || true + +echo "$TOKENS_JSON" > "${SHARED_DIR}/claude-failure-analysis-tokens.json" 2>/dev/null || true + +echo "" +echo "=== Failure Analysis Complete ===" +echo "Claude exit code: $CLAUDE_EXIT" +echo "Duration: ${DURATION_S}s" +echo "Turns: ${NUM_TURNS}" +echo "Analysis: ${ARTIFACT_DIR}/failure-analysis.md" + +exit 0 diff --git a/ci-operator/step-registry/oadp/analyze-e2e-failure/oadp-analyze-e2e-failure-ref.metadata.json b/ci-operator/step-registry/oadp/analyze-e2e-failure/oadp-analyze-e2e-failure-ref.metadata.json new file mode 100644 index 0000000000000..7f566cef4e6b3 --- /dev/null +++ b/ci-operator/step-registry/oadp/analyze-e2e-failure/oadp-analyze-e2e-failure-ref.metadata.json @@ -0,0 +1,24 @@ +{ + "path": "oadp/analyze-e2e-failure/oadp-analyze-e2e-failure-ref.yaml", + "owners": { + "approvers": [ + "cspi-qe-ocp-lp", + "jwmatthews", + "sseago", + "shawn-hurley", + "dymurray", + "shubham-pampattiwar", + "kaovilai", + "mpryc", + "joeavaikath" + ], + "reviewers": [ + "cspi-qe-ocp-lp", + "sseago", + "shubham-pampattiwar", + "kaovilai", + "mpryc", + "joeavaikath" + ] + } +} \ No newline at end of file diff --git a/ci-operator/step-registry/oadp/analyze-e2e-failure/oadp-analyze-e2e-failure-ref.yaml b/ci-operator/step-registry/oadp/analyze-e2e-failure/oadp-analyze-e2e-failure-ref.yaml new file mode 100644 index 0000000000000..a7cf576abe7e8 --- /dev/null +++ b/ci-operator/step-registry/oadp/analyze-e2e-failure/oadp-analyze-e2e-failure-ref.yaml @@ -0,0 +1,58 @@ +ref: + as: oadp-analyze-e2e-failure + from: claude-ai-helpers + best_effort: true + commands: oadp-analyze-e2e-failure-commands.sh + timeout: 30m0s + grace_period: 30s + env: + - name: CLAUDE_CODE_USE_VERTEX + default: "1" + documentation: |- + Enable Vertex AI for Claude Code. + - name: CLOUD_ML_REGION + default: "global" + documentation: |- + Google Cloud region for Vertex AI. + - name: ANTHROPIC_VERTEX_PROJECT_ID + default: "openshift-ci-prow-agents" + documentation: |- + Google Cloud project ID for Vertex AI authentication. + - name: GOOGLE_APPLICATION_CREDENTIALS + default: "/var/run/claude-code-service-account/google-token" + documentation: |- + Path to the Google Cloud service account JSON key file for Vertex AI authentication. + - name: CLAUDE_MODEL + default: "claude-opus-4-6" + documentation: |- + Claude model to use for test failure analysis. + - name: TEST_NAME + default: "e2e-test-aws" + documentation: |- + The test name (as: field) in the ci-operator config for the outer test. + Used to construct the GCS artifact path. Override per test via steps.env + since every OADP e2e test entry has a different outer test name. + - name: TEST_STEPS + default: "e2e" + documentation: |- + Space-separated list of test step names to check for finished.json. + These are the inner step names (as: fields) within the test definition. + All OADP e2e test entries currently use the inner step name "e2e". + resources: + requests: + cpu: 100m + memory: 256Mi + credentials: + - namespace: test-credentials + name: sa-claude-openshift-ci + mount_path: /var/run/claude-code-service-account + documentation: |- + Post-step that uses Claude to analyze OADP operator e2e test failures. + Only runs when test failures are detected (polls GCS for finished.json). + On success (no test failures), exits early with no cost. + Produces a markdown analysis report in ARTIFACT_DIR. + + Replaces the previous in-repo approach (Claude CLI installed in + build/ci-Dockerfile, invoked from the Makefile's test-e2e target) with + the shared claude-ai-helpers base image and sa-claude-openshift-ci + credential used by other repos (e.g. medik8s, hypershift). From c86e92ddd76e8899051dccae18703cc41c67547f Mon Sep 17 00:00:00 2001 From: Tiger Kaovilai Date: Tue, 25 Aug 2026 08:33:41 -0400 Subject: [PATCH 2/3] oadp-analyze-e2e-failure: redact secrets, stop streaming raw output CodeRabbit flagged a credential-exfiltration risk: Claude runs with Bash/Read/Write/WebFetch access and a mounted GCP service account while reading must-gather/pod logs that may themselves contain leaked credentials, and the script streamed its raw stream-json tool output straight to CI stdout (Prow's build-log.txt is public) with no redaction. Stop teeing stream-json to stdout, and redact common credential/token patterns (borrowed from the original openshift/oadp-operator analyze_failures.sh design) from the extracted analysis text, the report Claude writes to ARTIFACT_DIR, and the raw transcript/log before either is left for GCS upload. Signed-off-by: Tiger Kaovilai --- .../oadp-analyze-e2e-failure-commands.sh | 38 +++++++++++++++++-- 1 file changed, 34 insertions(+), 4 deletions(-) diff --git a/ci-operator/step-registry/oadp/analyze-e2e-failure/oadp-analyze-e2e-failure-commands.sh b/ci-operator/step-registry/oadp/analyze-e2e-failure/oadp-analyze-e2e-failure-commands.sh index ccc57b795cb37..10ca4de6220cb 100755 --- a/ci-operator/step-registry/oadp/analyze-e2e-failure/oadp-analyze-e2e-failure-commands.sh +++ b/ci-operator/step-registry/oadp/analyze-e2e-failure/oadp-analyze-e2e-failure-commands.sh @@ -64,11 +64,31 @@ fi echo "Claude Code CLI: $(claude --version 2>/dev/null || echo 'unknown')" +# --------------------------------------------------------------------------- +# 2b. Redact sensitive information before it ever reaches CI logs/artifacts +# --------------------------------------------------------------------------- +# Claude has Bash/Read/WebFetch access and reads must-gather/pod logs that may +# themselves contain leaked credentials/tokens. Never stream its raw tool +# output to stdout (Prow's build-log.txt is public); only a redacted summary +# is ever printed or written to ARTIFACT_DIR. +redact_secrets() { + sed -E \ + -e 's/AKIA[0-9A-Z]{16}/[REDACTED-AWS-ACCESS-KEY]/g' \ + -e 's/(aws_secret_access_key[" :=]+)[A-Za-z0-9/+=]{40}/\1[REDACTED-AWS-SECRET]/g' \ + -e 's/"private_key": ?"-----BEGIN[^"]*END[^"]*"/"private_key": "[REDACTED-GCP-PRIVATE-KEY]"/g' \ + -e 's/Bearer +[A-Za-z0-9._~+-]+=*/Bearer [REDACTED-TOKEN]/g' \ + -e 's/(password[" :=]+)[^ "'"'"']+/\1[REDACTED-PASSWORD]/gi' \ + -e 's/(api[_-]?key[" :=]+)[^ "'"'"']+/\1[REDACTED-APIKEY]/gi' \ + -e 's/(token[" :=]+)[A-Za-z0-9._~+-]+=*/\1[REDACTED-TOKEN]/gi' \ + -e 's/(secret[" :=]+)[^ "'"'"']{16,}/\1[REDACTED-SECRET]/gi' \ + -e 's/eyJ[A-Za-z0-9_-]*\.eyJ[A-Za-z0-9_-]*\.[A-Za-z0-9_-]*/[REDACTED-JWT-TOKEN]/g' \ + -e 's/-----BEGIN (RSA |EC )?PRIVATE KEY-----[^-]*-----END (RSA |EC )?PRIVATE KEY-----/[REDACTED-PRIVATE-KEY]/g' +} + # --------------------------------------------------------------------------- # 3. Run Claude with the pre-installed ai-helpers skill # --------------------------------------------------------------------------- -echo "Prow job URL: $PROW_JOB_URL" -echo "Failed step: $FAILED_STEP" +echo "Analyzing failed step: $FAILED_STEP" SYSTEM_PROMPT="IMPORTANT CI CONTEXT: - You are running inside the CI job itself as a post-step. @@ -103,7 +123,7 @@ timeout 1200 claude -p "/ci:prow-job-analysis ${PROW_JOB_URL} --fast" \ --verbose \ --output-format stream-json \ 2> "${ARTIFACT_DIR}/claude-failure-analysis.log" \ - | tee "${ARTIFACT_DIR}/claude-failure-analysis.json" + > "${ARTIFACT_DIR}/claude-failure-analysis.json" CLAUDE_EXIT=$? set -e @@ -134,15 +154,25 @@ NUM_TURNS=$(echo "$TOKENS_JSON" | jq -r '.num_turns // 0') jq -j 'select(.type == "assistant") | .message.content[]? | select(.type == "text") | .text // empty' \ "${ARTIFACT_DIR}/claude-failure-analysis.json" \ + | redact_secrets \ > "${ARTIFACT_DIR}/claude-failure-analysis-text.txt" 2>/dev/null || true echo "$TOKENS_JSON" > "${SHARED_DIR}/claude-failure-analysis-tokens.json" 2>/dev/null || true +# Redact the report Claude wrote directly, and the raw stream-json transcript +# (which can contain full tool-call inputs/outputs from artifacts it read), +# in place before either is left in ARTIFACT_DIR for GCS upload. +for f in "${ARTIFACT_DIR}/failure-analysis.md" "${ARTIFACT_DIR}/claude-failure-analysis.json" "${ARTIFACT_DIR}/claude-failure-analysis.log"; do + if [[ -f "$f" ]]; then + redact_secrets < "$f" > "${f}.redacted" 2>/dev/null && mv "${f}.redacted" "$f" + fi +done + echo "" echo "=== Failure Analysis Complete ===" echo "Claude exit code: $CLAUDE_EXIT" echo "Duration: ${DURATION_S}s" echo "Turns: ${NUM_TURNS}" -echo "Analysis: ${ARTIFACT_DIR}/failure-analysis.md" +echo "Analysis (redacted): ${ARTIFACT_DIR}/failure-analysis.md" exit 0 From 1357d0e82695f159d5589e009b476885ff00d695 Mon Sep 17 00:00:00 2001 From: Tiger Kaovilai Date: Tue, 25 Aug 2026 08:48:46 -0400 Subject: [PATCH 3/3] Also wire oadp-analyze-e2e-failure into oadp-1.4 and oadp-1.5 The new post-step analyzes GCS test artifacts (JUnit, must-gather, pod logs) independently of whatever the tested repo's own Makefile does, so it doesn't need the old in-repo Claude CLI hook to have existed on a branch first. Extend coverage to oadp-1.4 and oadp-1.5 (which never had that hook) alongside oadp-1.6 and oadp-dev. oadp-1.3 intentionally left out for now. Signed-off-by: Tiger Kaovilai --- ...penshift-oadp-operator-oadp-1.4__4.18.yaml | 16 +++++++++++ ...penshift-oadp-operator-oadp-1.5__4.19.yaml | 28 +++++++++++++++++++ ...penshift-oadp-operator-oadp-1.5__4.20.yaml | 28 +++++++++++++++++++ 3 files changed, 72 insertions(+) diff --git a/ci-operator/config/openshift/oadp-operator/openshift-oadp-operator-oadp-1.4__4.18.yaml b/ci-operator/config/openshift/oadp-operator/openshift-oadp-operator-oadp-1.4__4.18.yaml index 585ff53004c32..4d147af9bf7bc 100644 --- a/ci-operator/config/openshift/oadp-operator/openshift-oadp-operator-oadp-1.4__4.18.yaml +++ b/ci-operator/config/openshift/oadp-operator/openshift-oadp-operator-oadp-1.4__4.18.yaml @@ -1,4 +1,8 @@ base_images: + claude-ai-helpers: + name: claude-ai-helpers + namespace: ci + tag: latest openshift-velero-plugin-oadp-1.4: name: openshift-velero-plugin namespace: konveyor @@ -81,6 +85,9 @@ tests: OO_INSTALL_NAMESPACE: openshift-adp OO_PACKAGE: oadp-operator OO_TARGET_NAMESPACES: '!install' + TEST_NAME: e2e-test-cli-aws + post: + - ref: oadp-analyze-e2e-failure test: - as: e2e cli: latest @@ -109,6 +116,9 @@ tests: OO_INSTALL_NAMESPACE: openshift-adp OO_PACKAGE: oadp-operator OO_TARGET_NAMESPACES: '!install' + TEST_NAME: e2e-test-aws + post: + - ref: oadp-analyze-e2e-failure test: - as: e2e cli: latest @@ -145,6 +155,9 @@ tests: OO_INSTALL_NAMESPACE: openshift-adp OO_PACKAGE: oadp-operator OO_TARGET_NAMESPACES: '!install' + TEST_NAME: e2e-test-cli-aws-periodic + post: + - ref: oadp-analyze-e2e-failure test: - as: e2e cli: latest @@ -181,6 +194,9 @@ tests: OO_INSTALL_NAMESPACE: openshift-adp OO_PACKAGE: oadp-operator OO_TARGET_NAMESPACES: '!install' + TEST_NAME: e2e-test-aws-periodic + post: + - ref: oadp-analyze-e2e-failure test: - as: e2e cli: latest diff --git a/ci-operator/config/openshift/oadp-operator/openshift-oadp-operator-oadp-1.5__4.19.yaml b/ci-operator/config/openshift/oadp-operator/openshift-oadp-operator-oadp-1.5__4.19.yaml index ae8304e9101d7..cbcec05ffec54 100644 --- a/ci-operator/config/openshift/oadp-operator/openshift-oadp-operator-oadp-1.5__4.19.yaml +++ b/ci-operator/config/openshift/oadp-operator/openshift-oadp-operator-oadp-1.5__4.19.yaml @@ -1,4 +1,8 @@ base_images: + claude-ai-helpers: + name: claude-ai-helpers + namespace: ci + tag: latest openshift-velero-plugin-oadp-1.5: name: openshift-velero-plugin namespace: konveyor @@ -79,6 +83,9 @@ tests: OO_INSTALL_NAMESPACE: openshift-adp OO_PACKAGE: oadp-operator OO_TARGET_NAMESPACES: '!install' + TEST_NAME: e2e-test-cli-aws + post: + - ref: oadp-analyze-e2e-failure test: - as: e2e cli: latest @@ -105,6 +112,9 @@ tests: OO_INSTALL_NAMESPACE: openshift-adp OO_PACKAGE: oadp-operator OO_TARGET_NAMESPACES: '!install' + TEST_NAME: e2e-test-aws + post: + - ref: oadp-analyze-e2e-failure test: - as: e2e cli: latest @@ -139,6 +149,9 @@ tests: OO_INSTALL_NAMESPACE: openshift-adp OO_PACKAGE: oadp-operator OO_TARGET_NAMESPACES: '!install' + TEST_NAME: e2e-test-aws-periodic + post: + - ref: oadp-analyze-e2e-failure test: - as: e2e cli: latest @@ -165,6 +178,9 @@ tests: OO_INSTALL_NAMESPACE: openshift-adp OO_PACKAGE: oadp-operator OO_TARGET_NAMESPACES: '!install' + TEST_NAME: e2e-test-kubevirt-aws + post: + - ref: oadp-analyze-e2e-failure test: - as: e2e cli: latest @@ -199,6 +215,9 @@ tests: OO_INSTALL_NAMESPACE: openshift-adp OO_PACKAGE: oadp-operator OO_TARGET_NAMESPACES: '!install' + TEST_NAME: e2e-test-kubevirt-aws-periodic + post: + - ref: oadp-analyze-e2e-failure test: - as: e2e cli: latest @@ -225,6 +244,9 @@ tests: OO_INSTALL_NAMESPACE: openshift-adp OO_PACKAGE: oadp-operator OO_TARGET_NAMESPACES: '!install' + TEST_NAME: e2e-test-hcp-aws + post: + - ref: oadp-analyze-e2e-failure test: - as: e2e cli: latest @@ -250,6 +272,9 @@ tests: OO_INSTALL_NAMESPACE: openshift-adp OO_PACKAGE: oadp-operator OO_TARGET_NAMESPACES: '!install' + TEST_NAME: e2e-test-hcp-aws-periodic + post: + - ref: oadp-analyze-e2e-failure test: - as: e2e cli: latest @@ -275,6 +300,9 @@ tests: OO_INSTALL_NAMESPACE: openshift-adp OO_PACKAGE: oadp-operator OO_TARGET_NAMESPACES: '!install' + TEST_NAME: e2e-test-cli-aws-periodic + post: + - ref: oadp-analyze-e2e-failure test: - as: e2e cli: latest diff --git a/ci-operator/config/openshift/oadp-operator/openshift-oadp-operator-oadp-1.5__4.20.yaml b/ci-operator/config/openshift/oadp-operator/openshift-oadp-operator-oadp-1.5__4.20.yaml index 81ffda577517d..5276e4d72df7c 100644 --- a/ci-operator/config/openshift/oadp-operator/openshift-oadp-operator-oadp-1.5__4.20.yaml +++ b/ci-operator/config/openshift/oadp-operator/openshift-oadp-operator-oadp-1.5__4.20.yaml @@ -1,4 +1,8 @@ base_images: + claude-ai-helpers: + name: claude-ai-helpers + namespace: ci + tag: latest openshift-velero-plugin-oadp-1.5: name: openshift-velero-plugin namespace: konveyor @@ -79,6 +83,9 @@ tests: OO_INSTALL_NAMESPACE: openshift-adp OO_PACKAGE: oadp-operator OO_TARGET_NAMESPACES: '!install' + TEST_NAME: e2e-test-cli-aws + post: + - ref: oadp-analyze-e2e-failure test: - as: e2e cli: latest @@ -105,6 +112,9 @@ tests: OO_INSTALL_NAMESPACE: openshift-adp OO_PACKAGE: oadp-operator OO_TARGET_NAMESPACES: '!install' + TEST_NAME: e2e-test-aws + post: + - ref: oadp-analyze-e2e-failure test: - as: e2e cli: latest @@ -139,6 +149,9 @@ tests: OO_INSTALL_NAMESPACE: openshift-adp OO_PACKAGE: oadp-operator OO_TARGET_NAMESPACES: '!install' + TEST_NAME: e2e-test-aws-periodic + post: + - ref: oadp-analyze-e2e-failure test: - as: e2e cli: latest @@ -165,6 +178,9 @@ tests: OO_INSTALL_NAMESPACE: openshift-adp OO_PACKAGE: oadp-operator OO_TARGET_NAMESPACES: '!install' + TEST_NAME: e2e-test-kubevirt-aws + post: + - ref: oadp-analyze-e2e-failure test: - as: e2e cli: latest @@ -199,6 +215,9 @@ tests: OO_INSTALL_NAMESPACE: openshift-adp OO_PACKAGE: oadp-operator OO_TARGET_NAMESPACES: '!install' + TEST_NAME: e2e-test-kubevirt-aws-periodic + post: + - ref: oadp-analyze-e2e-failure test: - as: e2e cli: latest @@ -225,6 +244,9 @@ tests: OO_INSTALL_NAMESPACE: openshift-adp OO_PACKAGE: oadp-operator OO_TARGET_NAMESPACES: '!install' + TEST_NAME: e2e-test-hcp-aws + post: + - ref: oadp-analyze-e2e-failure test: - as: e2e cli: latest @@ -250,6 +272,9 @@ tests: OO_INSTALL_NAMESPACE: openshift-adp OO_PACKAGE: oadp-operator OO_TARGET_NAMESPACES: '!install' + TEST_NAME: e2e-test-hcp-aws-periodic + post: + - ref: oadp-analyze-e2e-failure test: - as: e2e cli: latest @@ -275,6 +300,9 @@ tests: OO_INSTALL_NAMESPACE: openshift-adp OO_PACKAGE: oadp-operator OO_TARGET_NAMESPACES: '!install' + TEST_NAME: e2e-test-cli-aws-periodic + post: + - ref: oadp-analyze-e2e-failure test: - as: e2e cli: latest