From 53463b8964ec489b1b58e95ef363701491afa286 Mon Sep 17 00:00:00 2001 From: Fabricio Aguiar Date: Thu, 2 Jul 2026 10:13:19 +0100 Subject: [PATCH] OTA-1870: openshift-lightspeed-service: add cluster-updates periodic evaluation job Depends-On: https://github.com/openshift/lightspeed-service/pull/2908 Add a new periodic CI job to evaluate OLS cluster update prompts. This job runs daily at 14:10 UTC and tests OLS responses across 5 OpenShift cluster upgrade scenarios: - Precheck analysis (Update Service health, cluster history, available updates) - Targeted upgrade path validation - Cluster health assessment at latest version - Real-time upgrade progress monitoring - Upgrade failure diagnosis and remediation The test uses GPT-4o-mini model and validates evaluation artifacts with 0% error rate requirement. It follows the same pattern as ols-evaluation-periodics but focuses specifically on cluster upgrade workflow AI responses. Co-Authored-By: Claude Sonnet 4.5 Signed-off-by: Fabricio Aguiar rh-pre-commit.version: 2.3.2 rh-pre-commit.check-secrets: ENABLED --- ...enshift-lightspeed-service-main__4.21.yaml | 57 ++++++++++++ ...ift-lightspeed-service-main-periodics.yaml | 87 +++++++++++++++++++ 2 files changed, 144 insertions(+) diff --git a/ci-operator/config/openshift/lightspeed-service/openshift-lightspeed-service-main__4.21.yaml b/ci-operator/config/openshift/lightspeed-service/openshift-lightspeed-service-main__4.21.yaml index 5139a60de0d59..2e18d76862e4e 100644 --- a/ci-operator/config/openshift/lightspeed-service/openshift-lightspeed-service-main__4.21.yaml +++ b/ci-operator/config/openshift/lightspeed-service/openshift-lightspeed-service-main__4.21.yaml @@ -151,6 +151,63 @@ tests: requests: cpu: 100m workflow: generic-claim +- as: ols-cluster-updates-periodics + cluster_claim: + architecture: amd64 + cloud: aws + labels: + region: us-east-1 + variant: fips + owner: obs + product: ocp + timeout: 1h30m0s + version: "4.21" + cron: 10 14 * * * + steps: + allow_skip_on_success: true + post: + - ref: gather-must-gather + test: + - as: cluster-updates + cli: latest + commands: | + export BAM_PROVIDER_KEY_PATH=/var/run/bam/token + export AZUREOPENAI_PROVIDER_KEY_PATH=/var/run/azure_openai/token + export OPENAI_PROVIDER_KEY_PATH=/var/run/openai/token + export WATSONX_PROVIDER_KEY_PATH=/var/run/watsonx/token + export VERTEX_PROVIDER_KEY_PATH=/var/run/vertex/token + export PROVIDER_KEY_PATH=/var/run/openai/token + export PROVIDER=openai + export MODEL=gpt-4o-mini + + tests/scripts/test-cluster-updates.sh + credentials: + - mount_path: /var/run/bam + name: bam-apitoken + namespace: test-credentials + - mount_path: /var/run/azure_openai + name: azureopenai-apitoken + namespace: test-credentials + - mount_path: /var/run/openai + name: openai-apitoken + namespace: test-credentials + - mount_path: /var/run/watsonx + name: watsonx-apitoken + namespace: test-credentials + - mount_path: /var/run/vertex + name: vertex-apitoken + namespace: test-credentials + - mount_path: /var/run/insights-stage-upload-offline-token + name: insights-stage-upload-offline-token + namespace: test-credentials + dependencies: + - env: OLS_IMAGE + name: lightspeed-service-api + from: src + resources: + requests: + cpu: 100m + workflow: generic-claim zz_generated_metadata: branch: main org: openshift diff --git a/ci-operator/jobs/openshift/lightspeed-service/openshift-lightspeed-service-main-periodics.yaml b/ci-operator/jobs/openshift/lightspeed-service/openshift-lightspeed-service-main-periodics.yaml index f2ed9c07a4743..749b3522c5a7a 100644 --- a/ci-operator/jobs/openshift/lightspeed-service/openshift-lightspeed-service-main-periodics.yaml +++ b/ci-operator/jobs/openshift/lightspeed-service/openshift-lightspeed-service-main-periodics.yaml @@ -785,6 +785,93 @@ periodics: - name: result-aggregator secret: secretName: result-aggregator +- agent: kubernetes + cluster: build08 + cron: 10 14 * * * + decorate: true + decoration_config: + skip_cloning: true + extra_refs: + - base_ref: main + org: openshift + repo: lightspeed-service + labels: + ci-operator.openshift.io/variant: "4.21" + ci.openshift.io/generator: prowgen + pj-rehearse.openshift.io/can-be-rehearsed: "true" + name: periodic-ci-openshift-lightspeed-service-main-4.21-ols-cluster-updates-periodics + spec: + containers: + - args: + - --gcs-upload-secret=/secrets/gcs/service-account.json + - --hive-kubeconfig=/secrets/hive-hive-credentials/kubeconfig + - --image-import-pull-secret=/etc/pull-secret/.dockerconfigjson + - --lease-server-credentials-file=/etc/boskos/credentials + - --report-credentials-file=/etc/report/credentials + - --secret-dir=/secrets/ci-pull-credentials + - --target=ols-cluster-updates-periodics + - --variant=4.21 + command: + - ci-operator + env: + - name: HTTP_SERVER_IP + valueFrom: + fieldRef: + fieldPath: status.podIP + image: quay-proxy.ci.openshift.org/openshift/ci:ci_ci-operator_latest + imagePullPolicy: Always + name: "" + ports: + - containerPort: 8080 + name: http + resources: + requests: + cpu: 10m + volumeMounts: + - mountPath: /etc/boskos + name: boskos + readOnly: true + - mountPath: /secrets/ci-pull-credentials + name: ci-pull-credentials + readOnly: true + - mountPath: /secrets/gcs + name: gcs-credentials + readOnly: true + - mountPath: /secrets/hive-hive-credentials + name: hive-hive-credentials + readOnly: true + - mountPath: /secrets/manifest-tool + name: manifest-tool-local-pusher + readOnly: true + - mountPath: /etc/pull-secret + name: pull-secret + readOnly: true + - mountPath: /etc/report + name: result-aggregator + readOnly: true + serviceAccountName: ci-operator + volumes: + - name: boskos + secret: + items: + - key: credentials + path: credentials + secretName: boskos-credentials + - name: ci-pull-credentials + secret: + secretName: ci-pull-credentials + - name: hive-hive-credentials + secret: + secretName: hive-hive-credentials + - name: manifest-tool-local-pusher + secret: + secretName: manifest-tool-local-pusher + - name: pull-secret + secret: + secretName: registry-pull-credentials + - name: result-aggregator + secret: + secretName: result-aggregator - agent: kubernetes cluster: build08 cron: 10 8 * * *