From 038c722525da52a43ad53bc78545895ad11c806d Mon Sep 17 00:00:00 2001 From: bhandarivijay Date: Wed, 4 Mar 2026 17:34:52 +0000 Subject: [PATCH 01/13] chore: Migrate gsutil usage to gcloud storage --- beam/util/build-beam-artifacts.sh | 2 +- cloudbuild/run-presubmit-on-k8s.sh | 2 +- datasketches/datasketches.sh | 2 +- gobblin/gobblin.sh | 2 +- gpu/manual-test-runner.sh | 2 +- hbase/test_hbase.py | 4 ++-- hive-lineage/hive-lineage.sh | 2 +- knox/verify_knox.sh | 2 +- push-to-gcs.sh | 2 +- rapids/manual-test-runner.sh | 3 +-- 10 files changed, 11 insertions(+), 12 deletions(-) diff --git a/beam/util/build-beam-artifacts.sh b/beam/util/build-beam-artifacts.sh index ed83f6ed9..576c85c3b 100755 --- a/beam/util/build-beam-artifacts.sh +++ b/beam/util/build-beam-artifacts.sh @@ -13,7 +13,7 @@ readonly BEAM_SOURCE_VERSION="${3:-master}" function build_job_service() { ./gradlew :beam-runners-flink_2.11-job-server:shadowJar - gsutil cp \ + gcloud storage cp \ ./runners/flink/job-server/build/libs/beam-runners-flink_2.11-job-server-*-SNAPSHOT.jar \ ${BEAM_JOB_SERVICE_DESTINATION}/beam-runners-flink_2.11-job-server-${BEAM_SOURCE_VERSION}-SNAPSHOT.jar } diff --git a/cloudbuild/run-presubmit-on-k8s.sh b/cloudbuild/run-presubmit-on-k8s.sh index 5e2001c91..f3c84bbcf 100644 --- a/cloudbuild/run-presubmit-on-k8s.sh +++ b/cloudbuild/run-presubmit-on-k8s.sh @@ -52,7 +52,7 @@ if [[ ${exit_code} != 0 ]]; then LOG_GCS_PATH="gs://${BUCKET}/${BUILD_ID}/logs/${POD_NAME}.log" echo "Attempting to upload logs to ${LOG_GCS_PATH}" - if kubectl logs "${POD_NAME}" | gsutil cp - "${LOG_GCS_PATH}"; then + if kubectl logs "${POD_NAME}" | gcloud storage cp - "${LOG_GCS_PATH}"; then echo "Logs for failed pod ${POD_NAME} uploaded to: ${LOG_GCS_PATH}" else echo "Log upload to ${LOG_GCS_PATH} failed." diff --git a/datasketches/datasketches.sh b/datasketches/datasketches.sh index b0aee99c3..98aa18c74 100755 --- a/datasketches/datasketches.sh +++ b/datasketches/datasketches.sh @@ -57,7 +57,7 @@ function download_libraries() function download_example_jar() { if [[ "${SPARK_VERSION}" < "3.5" ]]; then - gsutil cp "${SPARK_JAVA_EXAMPLE_JAR}" "${DS_LIBPATH}" + gcloud storage cp "${SPARK_JAVA_EXAMPLE_JAR}" "${DS_LIBPATH}" if [ $? -eq 0 ]; then echo "Downloaded "${SPARK_JAVA_EXAMPLE_JAR}" successfully" else diff --git a/gobblin/gobblin.sh b/gobblin/gobblin.sh index 16e50287b..a41ecceb5 100755 --- a/gobblin/gobblin.sh +++ b/gobblin/gobblin.sh @@ -91,7 +91,7 @@ EOF function install_package() { # Download binary. local temp=$(mktemp -d) - gsutil cp "${PACKAGE_URL}" "${temp}/package.tar.gz" + gcloud storage cp "${PACKAGE_URL}" "${temp}/package.tar.gz" tar -xf "${temp}/package.tar.gz" -C "${temp}" # Setup package. diff --git a/gpu/manual-test-runner.sh b/gpu/manual-test-runner.sh index 37982bfe4..481a0b2df 100644 --- a/gpu/manual-test-runner.sh +++ b/gpu/manual-test-runner.sh @@ -48,7 +48,7 @@ function exit_handler() { # TODO: remove any test related resources in the project echo 'Uploading local logs to GCS bucket.' - gsutil -m rsync -r "${log_dir}/" "${gcs_log_dir}/" + gcloud storage rsync --recursive "${log_dir}/" "${gcs_log_dir}/" if [[ -f "${tmp_dir}/tests_success" ]]; then echo -e "${GREEN}Workflow succeeded${NC}, check logs at ${log_dir}/ or ${gcs_log_dir}/" diff --git a/hbase/test_hbase.py b/hbase/test_hbase.py index 2d8d07f19..c8c54b180 100644 --- a/hbase/test_hbase.py +++ b/hbase/test_hbase.py @@ -15,11 +15,11 @@ def setUp(self): super().setUp() self.GCS_BUCKET = "test-hbase-{}-{}".format(self.datetime_str(), self.random_str()) - self.assert_command('gsutil mb -c regional -l {} gs://{}'.format( + self.assert_command('gcloud storage buckets create --default-storage-class=regional --location {} gs://{}'.format( self.REGION, self.GCS_BUCKET)) def tearDown(self): - self.assert_command('gsutil -m rm -rf gs://{}'.format(self.GCS_BUCKET)) + self.assert_command('gcloud storage rm --recursive --continue-on-error gs://{}'.format(self.GCS_BUCKET)) super().tearDown() def verify_instance(self, name): diff --git a/hive-lineage/hive-lineage.sh b/hive-lineage/hive-lineage.sh index 84da22515..b3da0b7e0 100644 --- a/hive-lineage/hive-lineage.sh +++ b/hive-lineage/hive-lineage.sh @@ -48,7 +48,7 @@ function set_hive_lineage_conf() { function install_jars() { echo "Installing openlineage-hive hook" - gsutil cp -P "$INSTALLATION_SOURCE/hive-openlineage-hook-$HIVE_OL_HOOK_VERSION.jar" "$HIVE_LIB_DIR/hive-openlineage-hook.jar" + gcloud storage cp --preserve-posix "$INSTALLATION_SOURCE/hive-openlineage-hook-$HIVE_OL_HOOK_VERSION.jar" "$HIVE_LIB_DIR/hive-openlineage-hook.jar" } function restart_hive_server2_master() { diff --git a/knox/verify_knox.sh b/knox/verify_knox.sh index 5241a1252..fa75bb611 100644 --- a/knox/verify_knox.sh +++ b/knox/verify_knox.sh @@ -43,7 +43,7 @@ function test_installation() { # to test update, we will upload a new topology to gs bucket, and check whether it appears # we assume that knox initialization action is the very first one, /etc/google-dataproc/startup-scripts/dataproc-initialization-script-0 function test_update_new_topology() { - gsutil cp /etc/knox/conf/topologies/example-hive-pii.xml "${KNOX_GW_CONFIG_GCS}/topologies/update_topology.xml" + gcloud storage cp /etc/knox/conf/topologies/example-hive-pii.xml "${KNOX_GW_CONFIG_GCS}/topologies/update_topology.xml" sudo /bin/bash /etc/google-dataproc/startup-scripts/dataproc-initialization-script-0 update test_installation update_topology [[ $? == 1 ]] && return 1 diff --git a/push-to-gcs.sh b/push-to-gcs.sh index 9e4b2f5ca..4a47cba31 100755 --- a/push-to-gcs.sh +++ b/push-to-gcs.sh @@ -51,6 +51,6 @@ for file in "${MODULE}/"*.sh; do fi done -gsutil -m rsync -R -x "__pycache__/.*" "${MODULE}/" "${GCS_FOLDER}" +gcloud storage rsync --recursive --exclude "__pycache__/.*" "${MODULE}/" "${GCS_FOLDER}" echo "Pushed ${MODULE}/ to ${GCS_FOLDER}." diff --git a/rapids/manual-test-runner.sh b/rapids/manual-test-runner.sh index 371917a40..c414be771 100644 --- a/rapids/manual-test-runner.sh +++ b/rapids/manual-test-runner.sh @@ -47,7 +47,7 @@ function exit_handler() { # TODO: remove any test related resources in the project echo 'Uploading local logs to GCS bucket.' - gsutil -m rsync -r "${log_dir}/" "${gcs_log_dir}/" + gcloud storage rsync --recursive "${log_dir}/" "${gcs_log_dir}/" if [[ -f "${tmp_dir}/tests_success" ]]; then echo -e "${GREEN}Workflow succeeded, check logs at ${log_dir}/ or ${gcs_log_dir}/${NC}" @@ -74,4 +74,3 @@ export INTERNAL_IP_SSH="true" screen -US "${session_name}" -c rapids/bazel.screenrc - From 1bf5dc7b3a1ba45d60ec118c3ba2e056b4e5bbb8 Mon Sep 17 00:00:00 2001 From: gurusai-voleti Date: Mon, 18 May 2026 16:17:41 +0530 Subject: [PATCH 02/13] Update build-beam-artifacts.sh --- beam/util/build-beam-artifacts.sh | 11 ++++++++++- 1 file changed, 10 insertions(+), 1 deletion(-) diff --git a/beam/util/build-beam-artifacts.sh b/beam/util/build-beam-artifacts.sh index 576c85c3b..b92107a21 100755 --- a/beam/util/build-beam-artifacts.sh +++ b/beam/util/build-beam-artifacts.sh @@ -11,9 +11,18 @@ readonly BEAM_JOB_SERVICE_DESTINATION="$1" readonly BEAM_CONTAINER_IMAGE_DESTINATION="$2" readonly BEAM_SOURCE_VERSION="${3:-master}" +function version_le() { [[ "$1" = "$(echo -e "$1\n$2" | sort -V | head -n1)" ]]; } +function version_lt() { [[ "$1" = "$2" ]] && return 1 || version_le "$1" "$2"; } + +GCLOUD_SDK_VERSION="$(gcloud --version | awk -F'SDK ' '/Google Cloud SDK/ {print $2}')" +GSUTIL="gcloud storage" +if version_lt "${GCLOUD_SDK_VERSION}" "402.0.0"; then + GSUTIL="gsutil" +fi + function build_job_service() { ./gradlew :beam-runners-flink_2.11-job-server:shadowJar - gcloud storage cp \ + ${GSUTIL} cp \ ./runners/flink/job-server/build/libs/beam-runners-flink_2.11-job-server-*-SNAPSHOT.jar \ ${BEAM_JOB_SERVICE_DESTINATION}/beam-runners-flink_2.11-job-server-${BEAM_SOURCE_VERSION}-SNAPSHOT.jar } From 1ee1781f5cf7462127aadce6121af3ca9f994e30 Mon Sep 17 00:00:00 2001 From: gurusai-voleti Date: Mon, 18 May 2026 16:19:17 +0530 Subject: [PATCH 03/13] Update run-presubmit-on-k8s.sh --- cloudbuild/run-presubmit-on-k8s.sh | 12 +++++++++++- 1 file changed, 11 insertions(+), 1 deletion(-) diff --git a/cloudbuild/run-presubmit-on-k8s.sh b/cloudbuild/run-presubmit-on-k8s.sh index f3c84bbcf..138f22cff 100644 --- a/cloudbuild/run-presubmit-on-k8s.sh +++ b/cloudbuild/run-presubmit-on-k8s.sh @@ -8,6 +8,16 @@ readonly DATAPROC_IMAGE_VERSION=$3 readonly POD_NAME=presubmit-${DATAPROC_IMAGE_VERSION//./-}-${BUILD_ID//_/-} +function version_le() { [[ "$1" = "$(echo -e "$1\n$2" | sort -V | head -n1)" ]]; } +function version_lt() { [[ "$1" = "$2" ]] && return 1 || version_le "$1" "$2"; } + +GCLOUD_SDK_VERSION="$(gcloud --version | awk -F'SDK ' '/Google Cloud SDK/ {print $2}')" +GSUTIL="gcloud storage" +if version_lt "${GCLOUD_SDK_VERSION}" "402.0.0"; then + GSUTIL="gsutil" +fi + + gcloud container clusters get-credentials "${CLOUDSDK_CONTAINER_CLUSTER}" LOGS_SINCE_TIME=$(date --iso-8601=seconds) @@ -52,7 +62,7 @@ if [[ ${exit_code} != 0 ]]; then LOG_GCS_PATH="gs://${BUCKET}/${BUILD_ID}/logs/${POD_NAME}.log" echo "Attempting to upload logs to ${LOG_GCS_PATH}" - if kubectl logs "${POD_NAME}" | gcloud storage cp - "${LOG_GCS_PATH}"; then + if kubectl logs "${POD_NAME}" | ${GSUTIL} cp - "${LOG_GCS_PATH}"; then echo "Logs for failed pod ${POD_NAME} uploaded to: ${LOG_GCS_PATH}" else echo "Log upload to ${LOG_GCS_PATH} failed." From 0b155f13b25d34992f803481fe42eccfe0cad96b Mon Sep 17 00:00:00 2001 From: gurusai-voleti Date: Mon, 18 May 2026 16:20:35 +0530 Subject: [PATCH 04/13] Update datasketches.sh --- datasketches/datasketches.sh | 11 ++++++++++- 1 file changed, 10 insertions(+), 1 deletion(-) diff --git a/datasketches/datasketches.sh b/datasketches/datasketches.sh index 98aa18c74..94c44f6b9 100755 --- a/datasketches/datasketches.sh +++ b/datasketches/datasketches.sh @@ -35,6 +35,15 @@ readonly DS_LIBPATH="/usr/lib/datasketches" readonly SPARK_VERSION=$(spark-submit --version 2>&1 | sed -n 's/.*version[[:blank:]]\+\([0-9]\+\.[0-9]\).*/\1/p' | head -n1) readonly SPARK_JAVA_EXAMPLE_JAR="gs://spark-lib/datasketches/spark-java-thetasketches-1.0-SNAPSHOT.jar" +function version_le() { [[ "$1" = "$(echo -e "$1\n$2" | sort -V | head -n1)" ]]; } +function version_lt() { [[ "$1" = "$2" ]] && return 1 || version_le "$1" "$2"; } + +GCLOUD_SDK_VERSION="$(gcloud --version | awk -F'SDK ' '/Google Cloud SDK/ {print $2}')" +GSUTIL="gcloud storage" +if version_lt "${GCLOUD_SDK_VERSION}" "402.0.0"; then + GSUTIL="gsutil" +fi + function download_libraries() { mkdir -p ${DS_LIBPATH} @@ -57,7 +66,7 @@ function download_libraries() function download_example_jar() { if [[ "${SPARK_VERSION}" < "3.5" ]]; then - gcloud storage cp "${SPARK_JAVA_EXAMPLE_JAR}" "${DS_LIBPATH}" + ${GSUTIL} cp "${SPARK_JAVA_EXAMPLE_JAR}" "${DS_LIBPATH}" if [ $? -eq 0 ]; then echo "Downloaded "${SPARK_JAVA_EXAMPLE_JAR}" successfully" else From ca2b328f04e5ebd3bed804d885d8bea952fc28b3 Mon Sep 17 00:00:00 2001 From: gurusai-voleti Date: Mon, 18 May 2026 16:21:08 +0530 Subject: [PATCH 05/13] Update gobblin.sh --- gobblin/gobblin.sh | 11 ++++++++++- 1 file changed, 10 insertions(+), 1 deletion(-) diff --git a/gobblin/gobblin.sh b/gobblin/gobblin.sh index a41ecceb5..02dedddf1 100755 --- a/gobblin/gobblin.sh +++ b/gobblin/gobblin.sh @@ -25,6 +25,15 @@ readonly HADOOP_LIB="/usr/lib/hadoop/lib" readonly JAR_NAME_CANONICALIZER="s/([-a-zA-Z0-9]+?)[-]([0-9][0-9.]+?)([-.].*?)?.jar/\1/" +function version_le() { [[ "$1" = "$(echo -e "$1\n$2" | sort -V | head -n1)" ]]; } +function version_lt() { [[ "$1" = "$2" ]] && return 1 || version_le "$1" "$2"; } + +GCLOUD_SDK_VERSION="$(gcloud --version | awk -F'SDK ' '/Google Cloud SDK/ {print $2}')" +GSUTIL="gcloud storage" +if version_lt "${GCLOUD_SDK_VERSION}" "402.0.0"; then + GSUTIL="gsutil" +fi + function maybe_symlink() { local jar=$1 if [[ ! -f "${HADOOP_LIB}/${jar}" ]]; then @@ -91,7 +100,7 @@ EOF function install_package() { # Download binary. local temp=$(mktemp -d) - gcloud storage cp "${PACKAGE_URL}" "${temp}/package.tar.gz" + ${GSUTIL} cp "${PACKAGE_URL}" "${temp}/package.tar.gz" tar -xf "${temp}/package.tar.gz" -C "${temp}" # Setup package. From 4a6c2b5398e4cc205abc146bba9dce702ee7a572 Mon Sep 17 00:00:00 2001 From: gurusai-voleti Date: Mon, 18 May 2026 16:21:52 +0530 Subject: [PATCH 06/13] Update manual-test-runner.sh --- gpu/manual-test-runner.sh | 11 ++++++++++- 1 file changed, 10 insertions(+), 1 deletion(-) diff --git a/gpu/manual-test-runner.sh b/gpu/manual-test-runner.sh index 481a0b2df..35ba6a96f 100644 --- a/gpu/manual-test-runner.sh +++ b/gpu/manual-test-runner.sh @@ -38,6 +38,15 @@ export BUCKET="$(jq -r .BUCKET env.json)" gcs_log_dir="gs://${BUCKET}/${BUILD_ID}/logs" +function version_le() { [[ "$1" = "$(echo -e "$1\n$2" | sort -V | head -n1)" ]]; } +function version_lt() { [[ "$1" = "$2" ]] && return 1 || version_le "$1" "$2"; } + +GCLOUD_SDK_VERSION="$(gcloud --version | awk -F'SDK ' '/Google Cloud SDK/ {print $2}')" +GSUTIL="gcloud storage" +if version_lt "${GCLOUD_SDK_VERSION}" "402.0.0"; then + GSUTIL="gsutil" +fi + function exit_handler() { RED='\\e[0;31m' GREEN='\\e[0;32m' @@ -48,7 +57,7 @@ function exit_handler() { # TODO: remove any test related resources in the project echo 'Uploading local logs to GCS bucket.' - gcloud storage rsync --recursive "${log_dir}/" "${gcs_log_dir}/" + ${GSUTIL} rsync -r "${log_dir}/" "${gcs_log_dir}/" if [[ -f "${tmp_dir}/tests_success" ]]; then echo -e "${GREEN}Workflow succeeded${NC}, check logs at ${log_dir}/ or ${gcs_log_dir}/" From eaa011bd85f71e1ef1b31c7c3b53b1072e46eefb Mon Sep 17 00:00:00 2001 From: gurusai-voleti Date: Mon, 18 May 2026 16:23:19 +0530 Subject: [PATCH 07/13] Update hive-lineage.sh --- hive-lineage/hive-lineage.sh | 11 ++++++++++- 1 file changed, 10 insertions(+), 1 deletion(-) diff --git a/hive-lineage/hive-lineage.sh b/hive-lineage/hive-lineage.sh index b3da0b7e0..f42761028 100644 --- a/hive-lineage/hive-lineage.sh +++ b/hive-lineage/hive-lineage.sh @@ -46,9 +46,18 @@ function set_hive_lineage_conf() { done } +function version_le() { [[ "$1" = "$(echo -e "$1\n$2" | sort -V | head -n1)" ]]; } +function version_lt() { [[ "$1" = "$2" ]] && return 1 || version_le "$1" "$2"; } + +GCLOUD_SDK_VERSION="$(gcloud --version | awk -F'SDK ' '/Google Cloud SDK/ {print $2}')" +GSUTIL="gcloud storage" +if version_lt "${GCLOUD_SDK_VERSION}" "402.0.0"; then + GSUTIL="gsutil" +fi + function install_jars() { echo "Installing openlineage-hive hook" - gcloud storage cp --preserve-posix "$INSTALLATION_SOURCE/hive-openlineage-hook-$HIVE_OL_HOOK_VERSION.jar" "$HIVE_LIB_DIR/hive-openlineage-hook.jar" + ${GSUTIL} cp -P "$INSTALLATION_SOURCE/hive-openlineage-hook-$HIVE_OL_HOOK_VERSION.jar" "$HIVE_LIB_DIR/hive-openlineage-hook.jar" } function restart_hive_server2_master() { From ad553fb9e13bcbeaa40f1312713f44d5932b6cc1 Mon Sep 17 00:00:00 2001 From: gurusai-voleti Date: Mon, 18 May 2026 16:23:49 +0530 Subject: [PATCH 08/13] Update verify_knox.sh --- knox/verify_knox.sh | 11 ++++++++++- 1 file changed, 10 insertions(+), 1 deletion(-) diff --git a/knox/verify_knox.sh b/knox/verify_knox.sh index fa75bb611..b5674f3a6 100644 --- a/knox/verify_knox.sh +++ b/knox/verify_knox.sh @@ -40,10 +40,19 @@ function test_installation() { } +function version_le() { [[ "$1" = "$(echo -e "$1\n$2" | sort -V | head -n1)" ]]; } +function version_lt() { [[ "$1" = "$2" ]] && return 1 || version_le "$1" "$2"; } + +GCLOUD_SDK_VERSION="$(gcloud --version | awk -F'SDK ' '/Google Cloud SDK/ {print $2}')" +GSUTIL="gcloud storage" +if version_lt "${GCLOUD_SDK_VERSION}" "402.0.0"; then + GSUTIL="gsutil" +fi + # to test update, we will upload a new topology to gs bucket, and check whether it appears # we assume that knox initialization action is the very first one, /etc/google-dataproc/startup-scripts/dataproc-initialization-script-0 function test_update_new_topology() { - gcloud storage cp /etc/knox/conf/topologies/example-hive-pii.xml "${KNOX_GW_CONFIG_GCS}/topologies/update_topology.xml" + ${GSUTIL} cp /etc/knox/conf/topologies/example-hive-pii.xml "${KNOX_GW_CONFIG_GCS}/topologies/update_topology.xml" sudo /bin/bash /etc/google-dataproc/startup-scripts/dataproc-initialization-script-0 update test_installation update_topology [[ $? == 1 ]] && return 1 From a5bc40cb3e2a30e2315cc71bbeb0619c21dbf257 Mon Sep 17 00:00:00 2001 From: gurusai-voleti Date: Mon, 18 May 2026 16:24:21 +0530 Subject: [PATCH 09/13] Update manual-test-runner.sh --- rapids/manual-test-runner.sh | 11 ++++++++++- 1 file changed, 10 insertions(+), 1 deletion(-) diff --git a/rapids/manual-test-runner.sh b/rapids/manual-test-runner.sh index c414be771..2c8cb57d5 100644 --- a/rapids/manual-test-runner.sh +++ b/rapids/manual-test-runner.sh @@ -37,6 +37,15 @@ export BUCKET="$(jq -r .BUCKET env.json)" gcs_log_dir="gs://${BUCKET}/${BUILD_ID}/logs" +function version_le() { [[ "$1" = "$(echo -e "$1\n$2" | sort -V | head -n1)" ]]; } +function version_lt() { [[ "$1" = "$2" ]] && return 1 || version_le "$1" "$2"; } + +GCLOUD_SDK_VERSION="$(gcloud --version | awk -F'SDK ' '/Google Cloud SDK/ {print $2}')" +GSUTIL="gcloud storage" +if version_lt "${GCLOUD_SDK_VERSION}" "402.0.0"; then + GSUTIL="gsutil" +fi + function exit_handler() { RED='\\e[0;31m' GREEN='\\e[0;32m' @@ -47,7 +56,7 @@ function exit_handler() { # TODO: remove any test related resources in the project echo 'Uploading local logs to GCS bucket.' - gcloud storage rsync --recursive "${log_dir}/" "${gcs_log_dir}/" + ${GSUTIL} rsync -r "${log_dir}/" "${gcs_log_dir}/" if [[ -f "${tmp_dir}/tests_success" ]]; then echo -e "${GREEN}Workflow succeeded, check logs at ${log_dir}/ or ${gcs_log_dir}/${NC}" From af0a60c5d9dc6cbbcf9b6d06ce146255c98f3da4 Mon Sep 17 00:00:00 2001 From: gurusai-voleti Date: Mon, 18 May 2026 16:25:11 +0530 Subject: [PATCH 10/13] Update push-to-gcs.sh --- push-to-gcs.sh | 11 ++++++++++- 1 file changed, 10 insertions(+), 1 deletion(-) diff --git a/push-to-gcs.sh b/push-to-gcs.sh index 4a47cba31..8047660cd 100755 --- a/push-to-gcs.sh +++ b/push-to-gcs.sh @@ -22,6 +22,15 @@ readonly HEAD="$1" readonly MODULE="$2" readonly GCS_FOLDER=gs://dataproc-initialization-actions/${MODULE}/ +function version_le() { [[ "$1" = "$(echo -e "$1\n$2" | sort -V | head -n1)" ]]; } +function version_lt() { [[ "$1" = "$2" ]] && return 1 || version_le "$1" "$2"; } + +GCLOUD_SDK_VERSION="$(gcloud --version | awk -F'SDK ' '/Google Cloud SDK/ {print $2}')" +GSUTIL="gcloud storage" +if version_lt "${GCLOUD_SDK_VERSION}" "402.0.0"; then + GSUTIL="gsutil" +fi + [[ -n "${HEAD}" && -n "${MODULE}" ]] # Verify the repo has no uncommitted changes. @@ -51,6 +60,6 @@ for file in "${MODULE}/"*.sh; do fi done -gcloud storage rsync --recursive --exclude "__pycache__/.*" "${MODULE}/" "${GCS_FOLDER}" +${GSUTIL} rsync -r --exclude "__pycache__/.*" "${MODULE}/" "${GCS_FOLDER}" echo "Pushed ${MODULE}/ to ${GCS_FOLDER}." From e6db087517b3ecbd69fdc87e0e99a23893b19810 Mon Sep 17 00:00:00 2001 From: gurusai-voleti Date: Mon, 18 May 2026 20:37:02 +0530 Subject: [PATCH 11/13] Update push-to-gcs.sh --- push-to-gcs.sh | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/push-to-gcs.sh b/push-to-gcs.sh index 8047660cd..2e3cbfd84 100755 --- a/push-to-gcs.sh +++ b/push-to-gcs.sh @@ -60,6 +60,6 @@ for file in "${MODULE}/"*.sh; do fi done -${GSUTIL} rsync -r --exclude "__pycache__/.*" "${MODULE}/" "${GCS_FOLDER}" +${GSUTIL} rsync -r -x "__pycache__/.*" "${MODULE}/" "${GCS_FOLDER}" echo "Pushed ${MODULE}/ to ${GCS_FOLDER}." From 7b540739b29c95bb2a2fc656e78def4fcf221f7f Mon Sep 17 00:00:00 2001 From: gurusai-voleti Date: Mon, 18 May 2026 20:45:03 +0530 Subject: [PATCH 12/13] Update manual-test-runner.sh --- gpu/manual-test-runner.sh | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/gpu/manual-test-runner.sh b/gpu/manual-test-runner.sh index 35ba6a96f..42f032a19 100644 --- a/gpu/manual-test-runner.sh +++ b/gpu/manual-test-runner.sh @@ -43,8 +43,10 @@ function version_lt() { [[ "$1" = "$2" ]] && return 1 || version_le "$1" "$2"; } GCLOUD_SDK_VERSION="$(gcloud --version | awk -F'SDK ' '/Google Cloud SDK/ {print $2}')" GSUTIL="gcloud storage" +GSUTIL_OPTS="" if version_lt "${GCLOUD_SDK_VERSION}" "402.0.0"; then GSUTIL="gsutil" + GSUTIL_OPTS="-m" fi function exit_handler() { @@ -57,7 +59,7 @@ function exit_handler() { # TODO: remove any test related resources in the project echo 'Uploading local logs to GCS bucket.' - ${GSUTIL} rsync -r "${log_dir}/" "${gcs_log_dir}/" + ${GSUTIL} ${GSUTIL_OPTS} rsync -r "${log_dir}/" "${gcs_log_dir}/" if [[ -f "${tmp_dir}/tests_success" ]]; then echo -e "${GREEN}Workflow succeeded${NC}, check logs at ${log_dir}/ or ${gcs_log_dir}/" From 403c1fdc04f24c88ea82f6f0a9ba87c35fa0f938 Mon Sep 17 00:00:00 2001 From: gurusai-voleti Date: Mon, 18 May 2026 20:46:18 +0530 Subject: [PATCH 13/13] Update manual-test-runner.sh --- rapids/manual-test-runner.sh | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/rapids/manual-test-runner.sh b/rapids/manual-test-runner.sh index 2c8cb57d5..fc125f118 100644 --- a/rapids/manual-test-runner.sh +++ b/rapids/manual-test-runner.sh @@ -42,8 +42,10 @@ function version_lt() { [[ "$1" = "$2" ]] && return 1 || version_le "$1" "$2"; } GCLOUD_SDK_VERSION="$(gcloud --version | awk -F'SDK ' '/Google Cloud SDK/ {print $2}')" GSUTIL="gcloud storage" +GSUTIL_OPTS="" if version_lt "${GCLOUD_SDK_VERSION}" "402.0.0"; then GSUTIL="gsutil" + GSUTIL_OPTS="-m" fi function exit_handler() { @@ -56,7 +58,7 @@ function exit_handler() { # TODO: remove any test related resources in the project echo 'Uploading local logs to GCS bucket.' - ${GSUTIL} rsync -r "${log_dir}/" "${gcs_log_dir}/" + ${GSUTIL} ${GSUTIL_OPTS} rsync -r "${log_dir}/" "${gcs_log_dir}/" if [[ -f "${tmp_dir}/tests_success" ]]; then echo -e "${GREEN}Workflow succeeded, check logs at ${log_dir}/ or ${gcs_log_dir}/${NC}"