metadata: annotations: prow.k8s.io/context: ci/prow/olm-bundle-openshift-preflight prow.k8s.io/job: pull-scylla-operator-master-olm-bundle-openshift-preflight creationTimestamp: "2025-12-02T10:52:32Z" generation: 10 labels: created-by-prow: "true" event-GUID: fed5d6d0-cf6c-11f0-97d5-118ce7426e1f prow.k8s.io/build-id: "1995808295037702144" prow.k8s.io/context: olm-bundle-openshift-preflight prow.k8s.io/id: a747e99a-0d7a-4106-ab83-77d86607dbec prow.k8s.io/is-optional: "true" prow.k8s.io/job: pull-scylla-operator-master-olm-bundle-openshift-preflight prow.k8s.io/refs.base_ref: master prow.k8s.io/refs.org: scylladb prow.k8s.io/refs.pull: "3115" prow.k8s.io/refs.repo: scylla-operator prow.k8s.io/type: presubmit name: a747e99a-0d7a-4106-ab83-77d86607dbec namespace: prow-workspace resourceVersion: "1764676462203023014" uid: e6935657-78c9-4b61-86ac-56f8d36db59a spec: agent: kubernetes cluster: default context: ci/prow/olm-bundle-openshift-preflight decoration_config: gcs_configuration: bucket: gs://scylla-operator-prow path_strategy: explicit gcs_credentials_secret: gcs-credentials github_api_endpoints: - http://ghproxy.prow.svc - https://api.github.com github_app_id: "112385" github_app_private_key_secret: key: cert name: github-token grace_period: 15m0s resources: clonerefs: requests: cpu: 100m initupload: requests: cpu: 100m place_entrypoint: requests: cpu: 100m sidecar: requests: cpu: 100m timeout: 3h0m0s utility_images: clonerefs: us-docker.pkg.dev/k8s-infra-prow/images/clonerefs:v20250522-9b3f5faca entrypoint: us-docker.pkg.dev/k8s-infra-prow/images/entrypoint:v20250522-9b3f5faca initupload: us-docker.pkg.dev/k8s-infra-prow/images/initupload:v20250522-9b3f5faca sidecar: us-docker.pkg.dev/k8s-infra-prow/images/sidecar:v20250522-9b3f5faca job: pull-scylla-operator-master-olm-bundle-openshift-preflight namespace: prow-workspace pod_spec: containers: - args: - | source "./hack/lib/kube.sh" function cleanup { touch /tmp/shared/setup.finished kubectl -n ci-clusters delete --wait=false --ignore-not-found kubernetescluster/"${POD_UID}" } trap cleanup EXIT pull_refs_hash=$( sha512sum <<< "${PULL_REFS}" | cut -c 1-31 ) pr_tag="pr-${pull_refs_hash}" CATALOG_REF="quay.io/scylladb-dev/ci:scylla-operator-catalog-${pr_tag}" export CATALOG_REF BUNDLE_REF="quay.io/scylladb-dev/ci:scylla-operator-bundle-${pr_tag}" export BUNDLE_REF # Don't create e2e cluster before bundle and catalog are built, so we don't waste infra when it doesn't compile. ERR_LOG=$( mktemp ) export ERR_LOG timeout 15m bash -xc 'until skopeo inspect --format='"'"'{{ printf "%s@%s" .Name .Digest }}'"'"' docker://"${BUNDLE_REF}" 2>>"${ERR_LOG}"; do sleep 5; done' || ( cat "${ERR_LOG}" && exit 2 ) timeout 15m bash -xc 'until skopeo inspect --format='"'"'{{ printf "%s@%s" .Name .Digest }}'"'"' docker://"${CATALOG_REF}" 2>>"${ERR_LOG}"; do sleep 5; done' || ( cat "${ERR_LOG}" && exit 2 ) kubectl version -o yaml kubectl -n ci-clusters create -f - < "${ARTIFACTS}/.ci/manifests/cluster/${POD_UID}-openshift-install-config.cm.yaml" timeout -v 2h bash -c 'until kubectl -n ci-clusters wait --for=condition=Degraded=False kubernetescluster/"${POD_UID}" --timeout=2h && kubectl -n ci-clusters wait --for=condition=Progressing=False kubernetescluster/"${POD_UID}" --timeout=2h && kubectl -n ci-clusters wait --for=condition=ClusterBootstrapped=True kubernetescluster/"${POD_UID}" --timeout=2h; do sleep 1; done' kubectl -n ci-clusters get secret/"${POD_UID}-kubeconfig" --template='{{ .data.kubeconfig }}' | base64 -d > /tmp/shared/kubeconfig.init kubectl --kubeconfig=/tmp/shared/kubeconfig.init config set-context --current --namespace 'default-unexisting-namespace' # Sanity check. kubectl --kubeconfig=/tmp/shared/kubeconfig.init version -o yaml kubectl --kubeconfig=/tmp/shared/kubeconfig.init config view # Enable all default OperatorHub sources. kubectl --kubeconfig=/tmp/shared/kubeconfig.init patch operatorhub cluster --type='json' --patch='[{"op": "replace", "path": "/spec/disableAllDefaultSources", "value": false}, {"op": "replace", "path": "/spec/sources", "value": []}]' # Signal cluster bootstrap by sharing the kubeconfig. mv /tmp/shared/kubeconfig{.init,} set +x # TODO: Wait on active signal like updating a file every X seconds # so we can deal with the other container being OOM killed. echo "Waiting for test to finish..." until [[ -f "/tmp/shared/test.finished" ]]; do sleep 1; done echo "Test has finished." set -x command: - /usr/bin/bash - -euExo - pipefail - -O - inherit_errexit - -c env: - name: POD_UID valueFrom: fieldRef: fieldPath: metadata.uid image: quay.io/scylladb/scylla-operator-images:kube-tools imagePullPolicy: Always name: setup resources: limits: cpu: 100m memory: 200Mi securityContext: allowPrivilegeEscalation: false capabilities: drop: - ALL seccompProfile: type: RuntimeDefault volumeMounts: - mountPath: /var/run/secrets/kubernetes.io/serviceaccount/ name: kube-api-access - mountPath: /tmp/shared name: shared-data - args: - | trap 'touch /tmp/shared/test.finished' EXIT set +x echo "Waiting for cluster to be provisioned..." until [[ -f "${KUBECONFIG}" || -f /tmp/shared/setup.finished ]]; do sleep 1; done if [[ -f /tmp/shared/setup.finished ]]; then echo "Cluster provisioning failed. Exiting." exit 1 fi echo "Cluster provisioning has finished." set -x # Setup info and kubeconfig sanity check kubectl config view kubectl version -o yaml kubectl cluster-info pull_refs_hash=$( sha512sum <<< "${PULL_REFS}" | cut -c 1-31 ) pr_tag="pr-${pull_refs_hash}" catalog_ref="quay.io/scylladb-dev/ci:scylla-operator-catalog-${pr_tag}" bundle_ref="quay.io/scylladb-dev/ci:scylla-operator-bundle-${pr_tag}" PFLT_INDEXIMAGE="${catalog_ref}" export PFLT_INDEXIMAGE BUNDLE_REF="${bundle_ref}" export BUNDLE_REF PFLT_ARTIFACTS="${ARTIFACTS}/preflight" mkdir -p "${PFLT_ARTIFACTS}" export PFLT_ARTIFACTS timeout --verbose --signal INT --kill-after=20m 25m preflight check operator --artifacts=${PFLT_ARTIFACTS} ${BUNDLE_REF} if [[ "$(cat ${PFLT_ARTIFACTS}/results.json | jq .passed)" != "true" ]]; then echo "Preflight test hasn't passed." exit 1 fi command: - /usr/bin/bash - -euExo - pipefail - -O - inherit_errexit - -c env: - name: POD_UID valueFrom: fieldRef: fieldPath: metadata.uid - name: KUBECONFIG value: /tmp/shared/kubeconfig image: quay.io/scylladb/scylla-operator-images:kube-tools imagePullPolicy: Always name: test resources: limits: cpu: 100m memory: 1200Mi securityContext: allowPrivilegeEscalation: false capabilities: drop: - ALL seccompProfile: type: RuntimeDefault volumeMounts: - mountPath: /tmp/shared name: shared-data serviceAccountName: e2e volumes: - emptyDir: {} name: shared-data - name: kube-api-access projected: defaultMode: 400 sources: - serviceAccountToken: path: token - configMap: items: - key: ca.crt path: ca.crt name: kube-root-ca.crt - downwardAPI: items: - fieldRef: apiVersion: v1 fieldPath: metadata.namespace path: namespace prowjob_defaults: tenant_id: GlobalDefaultID refs: base_link: https://github.com/scylladb/scylla-operator/commit/ef5ca6fe0ec3c95ba873ccf80353db69d360e856 base_ref: master base_sha: ef5ca6fe0ec3c95ba873ccf80353db69d360e856 org: scylladb path_alias: github.com/scylladb/scylla-operator pulls: - author: rzetelskik author_link: https://github.com/rzetelskik commit_link: https://github.com/scylladb/scylla-operator/pull/3115/commits/b53e666d5d248d1720c2f28a5880f5f3211ccc39 head_ref: openshift-bundle-dependencies link: https://github.com/scylladb/scylla-operator/pull/3115 number: 3115 sha: b53e666d5d248d1720c2f28a5880f5f3211ccc39 title: '[WIP] Define a dependency on openshift-cert-manager-operator in OLM bundle' repo: scylla-operator repo_link: https://github.com/scylladb/scylla-operator report: true rerun_command: /test olm-bundle-openshift-preflight type: presubmit status: build_id: "1995808295037702144" completionTime: "2025-12-02T11:54:20Z" description: Job succeeded. pendingTime: "2025-12-02T10:52:34Z" pod_name: a747e99a-0d7a-4106-ab83-77d86607dbec prev_report_states: gcsk8sreporter: success gcsreporter: success github-reporter: success startTime: "2025-12-02T10:52:32Z" state: success url: https://prow.scylla-operator.scylladb.com/view/gs/scylla-operator-prow/pr-logs/pull/scylladb_scylla-operator/3115/pull-scylla-operator-master-olm-bundle-openshift-preflight/1995808295037702144