metadata: annotations: prow.k8s.io/context: ci/prow/e2e-gke-multi-datacenter-parallel prow.k8s.io/job: pull-scylla-operator-master-e2e-gke-multi-datacenter-parallel creationTimestamp: "2025-06-02T17:02:16Z" generation: 18 labels: created-by-prow: "true" event-GUID: 54b569f0-3fd3-11f0-9249-6937b1f61065 prow.k8s.io/build-id: "1929584361397555200" prow.k8s.io/context: e2e-gke-multi-datacenter-parallel prow.k8s.io/id: 93ada8c5-7a0f-4ab4-86a1-02007d5dc629 prow.k8s.io/is-optional: "false" prow.k8s.io/job: pull-scylla-operator-master-e2e-gke-multi-datacenter-parallel prow.k8s.io/refs.base_ref: master prow.k8s.io/refs.org: scylladb prow.k8s.io/refs.pull: "2641" prow.k8s.io/refs.repo: scylla-operator prow.k8s.io/type: presubmit name: 93ada8c5-7a0f-4ab4-86a1-02007d5dc629 namespace: prow-workspace resourceVersion: "679455574" uid: 8892688f-1286-45a2-bf37-d3705ca59a20 spec: agent: kubernetes cluster: default context: ci/prow/e2e-gke-multi-datacenter-parallel 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: 4h0m0s utility_images: clonerefs: us-docker.pkg.dev/k8s-infra-prow/images/clonerefs:v20240802-66b115076 entrypoint: us-docker.pkg.dev/k8s-infra-prow/images/entrypoint:v20240802-66b115076 initupload: us-docker.pkg.dev/k8s-infra-prow/images/initupload:v20240802-66b115076 sidecar: us-docker.pkg.dev/k8s-infra-prow/images/sidecar:v20240802-66b115076 job: pull-scylla-operator-master-e2e-gke-multi-datacenter-parallel namespace: prow-workspace pod_spec: containers: - args: - | function cleanup { touch /tmp/shared/setup.finished kubectl -n ci-clusters delete --wait=false --ignore-not-found kubernetesclusterset/"${POD_UID}" } trap cleanup EXIT pull_refs_hash=$( sha512sum <<< "${PULL_REFS}" | cut -c 1-31 ) SOCI_PR_TAG="pr-${pull_refs_hash}" export SOCI_PR_TAG # Don't create e2e cluster before an image is build, 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://"quay.io/scylladb-dev/ci:scylla-operator-${SOCI_PR_TAG}" 2>>"${ERR_LOG}"; do sleep 5; done' || ( cat "${ERR_LOG}" && exit 2 ) kubectl version -o yaml kubectl -n ci-clusters create -f - < /tmp/shared/kubeconfigs.init/"${1}".kubeconfig kubectl --kubeconfig=/tmp/shared/kubeconfigs.init/"${1}".kubeconfig config set-context --current --namespace 'default-unexisting-namespace' } mkdir /tmp/shared/kubeconfigs.init for name in "europe-west1" "europe-west3" "europe-west4"; do get_kubeconfig "${name}" # Sanity check. kubectl --kubeconfig=/tmp/shared/kubeconfigs.init/"${name}".kubeconfig version -o yaml kubectl --kubeconfig=/tmp/shared/kubeconfigs.init/"${name}".kubeconfig config view done # Signal cluster bootstrap by sharing the kubeconfig. mv /tmp/shared/kubeconfigs{.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 [[ -d "${KUBECONFIG_DIR}" ]] || [[ -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 for f in $( find "$( realpath "${KUBECONFIG_DIR}" )" -maxdepth 1 -type f -name '*.kubeconfig' ); do # Setup info and kubeconfig sanity check kubectl --kubeconfig="${f}" config view kubectl --kubeconfig="${f}" version -o yaml kubectl --kubeconfig="${f}" cluster-info done pull_refs_hash=$( sha512sum <<< "${PULL_REFS}" | cut -c 1-31 ) SOCI_PR_TAG="pr-${pull_refs_hash}" SO_SUITE=scylla-operator/conformance/multi-datacenter-parallel export SO_SUITE SO_IMAGE=quay.io/scylladb-dev/ci:scylla-operator-${SOCI_PR_TAG} export SO_IMAGE SO_SCYLLACLUSTER_NODE_SERVICE_TYPE=Headless export SO_SCYLLACLUSTER_NODE_SERVICE_TYPE SO_SCYLLACLUSTER_NODES_BROADCAST_ADDRESS_TYPE=PodIP export SO_SCYLLACLUSTER_NODES_BROADCAST_ADDRESS_TYPE SO_SCYLLACLUSTER_CLIENTS_BROADCAST_ADDRESS_TYPE=PodIP export SO_SCYLLACLUSTER_CLIENTS_BROADCAST_ADDRESS_TYPE SO_E2E_TIMEOUT=90m export SO_E2E_TIMEOUT timeout --verbose --signal INT --kill-after=130m 120m ./hack/.ci/run-e2e-gke.sh command: - /usr/bin/bash - -euExo - pipefail - -O - inherit_errexit - -c env: - name: KUBECONFIG_DIR value: /tmp/shared/kubeconfigs 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/144fa8c7149ef5a0b846d8ddd075b4b42a323fdf base_ref: master base_sha: 144fa8c7149ef5a0b846d8ddd075b4b42a323fdf 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/2641/commits/2c27855cb924e0815ca35287376fceecf8a37e95 head_ref: manager-sdc-tasks link: https://github.com/scylladb/scylla-operator/pull/2641 number: 2641 sha: 2c27855cb924e0815ca35287376fceecf8a37e95 title: Support backup and repair task scheduling with global ScyllaDB Manager for v1alpha1.ScyllaDBDatacenter repo: scylla-operator repo_link: https://github.com/scylladb/scylla-operator report: true rerun_command: /test e2e-gke-multi-datacenter-parallel type: presubmit status: build_id: "1929584361397555200" completionTime: "2025-06-02T17:32:16Z" description: Aborted by trigger plugin. pendingTime: "2025-06-02T17:02:16Z" pod_name: 93ada8c5-7a0f-4ab4-86a1-02007d5dc629 prev_report_states: gcsk8sreporter: aborted gcsreporter: aborted github-reporter: aborted startTime: "2025-06-02T17:02:16Z" state: aborted url: https://prow.scylla-operator.scylladb.com/view/gs/scylla-operator-prow/pr-logs/pull/scylladb_scylla-operator/2641/pull-scylla-operator-master-e2e-gke-multi-datacenter-parallel/1929584361397555200