Skip to content

Commit df7480f

Browse files
authored
Merge pull request GoogleCloudPlatform#4853 from GoogleCloudPlatform/release-candidate
Release candidate: v1.73.0
2 parents 7a69cb3 + e679dcc commit df7480f

77 files changed

Lines changed: 1340 additions & 908 deletions

File tree

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

.github/workflows/multi-approvers.yml

Lines changed: 9 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -15,6 +15,15 @@
1515
name: 'multi-approvers'
1616

1717
on:
18+
pull_request:
19+
types:
20+
- 'opened'
21+
- 'edited'
22+
- 'reopened'
23+
- 'synchronize'
24+
- 'ready_for_review'
25+
- 'review_requested'
26+
- 'review_request_removed'
1827
pull_request_review:
1928
types:
2029
- 'submitted'
@@ -31,7 +40,6 @@ concurrency:
3140

3241
jobs:
3342
multi-approvers:
34-
if: github.event_name == 'pull_request_review' && (github.event.review.state == 'approved' || github.event.action == 'dismissed')
3543
uses: 'abcxyz/pkg/.github/workflows/multi-approvers.yml@main'
3644
with:
3745
org-members-path: 'GoogleCloudPlatform/cluster-toolkit/develop/cluster-toolkit-writers.json'

.yamllint

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -8,7 +8,6 @@ yaml-files:
88
ignore:
99
- modules/management/kubectl-apply/manifests/*
1010
- examples/gke-a4x/nvidia-dra-driver.yaml
11-
- examples/gke-a4x/nccl-rdma-installer.yaml
1211

1312
rules:
1413
# Defaults

cluster-toolkit-writers.json

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -394,5 +394,8 @@
394394
},
395395
{
396396
"login": "akiki-liang0"
397+
},
398+
{
399+
"login": "simrankaurb"
397400
}
398401
]

cmd/root.go

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -53,7 +53,7 @@ HPC deployments on the Google Cloud Platform.`,
5353
logging.Fatal("cmd.Help function failed: %s", err)
5454
}
5555
},
56-
Version: "v1.72.0",
56+
Version: "v1.73.0",
5757
Annotations: annotation,
5858
}
5959
)

community/examples/gke-tpu-v6/README.md

Lines changed: 45 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -248,3 +248,48 @@ Once deployed, the `Lustre` filesystem is available to the cluster as a `Persist
248248
```
249249

250250
The pod will start, and the Managed Lustre filesystem will be available inside the container at `/mnt/lustre`.
251+
252+
### Understanding Hyperdisk Balanced Integration
253+
The blueprint also supports [Hyperdisk Balanced](https://docs.cloud.google.com/compute/docs/disks/hyperdisks), Google Cloud's high-performance, persistent block storage solution.
254+
255+
To enable Hyperdisk Balanced integration, you must make these changes before deploying:
256+
257+
1. Ensure the GKE cluster is configured to support standard Persistent Disks (the Hyperdisk CSI driver runs automatically once enabled). Verify the `gke-tpu-v6-cluster` module setting `enable_persistent_disk_csi: true` is present.
258+
259+
2. Find the section commented `--- HYPERDISK BALANCED ADDITIONS ---`. Uncomment the entire block containing the following two modules:
260+
* `hyperdisk-balanced-setup`: This module creates a **StorageClass** and a **PersistentVolumeClaim (PVC)** that will dynamically provision a Hyperdisk Balanced volume in your cluster.
261+
* `fio-bench-job-hyperdisk`: This job is pre-configured to mount the Hyperdisk volume and run performance tests.
262+
263+
After making these changes, run the `gcluster deploy` command as usual.
264+
265+
#### Testing the Hyperdisk Balanced Mount
266+
267+
1. Connect to your cluster:
268+
269+
```sh
270+
gcloud container clusters get-credentials DEPLOYMENT_NAME --region=REGION --project_id=PROJECT_ID
271+
```
272+
273+
Replace the `DEPLOYMENT_NAME`,`REGION` and `PROJECT_ID` with the ones used in the blueprint.
274+
2. Apply the generated FIO Job manifest, whose path is provided in the final deployment instructions.
275+
276+
```sh
277+
kubectl apply -f <path/to/fio-benchmark.yaml>
278+
```
279+
280+
The job created in the cluster will be named `fio-benchmark`.
281+
282+
3. Monitor the job until it completes and obtain the list of pods:
283+
284+
```bash
285+
kubectl get jobs
286+
kubectl get pods
287+
```
288+
289+
4. View the logs of the completed pod to check the benchmark results:
290+
291+
```bash
292+
kubectl logs <pod-name>
293+
```
294+
295+
The logs of the pod verifies the disk is mounted successfully and performs a mixed I/O test to validate the disk's provisioned performance.

community/examples/gke-tpu-v6/gke-tpu-v6-advanced.yaml

Lines changed: 73 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -170,6 +170,7 @@ deployment_groups:
170170
configure_workload_identity_sa: true
171171
enable_gcsfuse_csi: true
172172
enable_managed_lustre_csi: true
173+
enable_persistent_disk_csi: true # enable Hyperdisk for the cluster
173174
master_authorized_networks:
174175
- cidr_block: $(vars.authorized_cidr) # Allows your machine to run the kubectl command. Required for multi network setup.
175176
display_name: "kubectl-access-network"
@@ -397,3 +398,75 @@ deployment_groups:
397398
rm -rf /{training,checkpoint}-data/fio-benchmarks-${TAG}
398399
399400
outputs: [instructions]
401+
402+
# # --- HYPERDISK BALANCED ADDITIONS ---
403+
# # To enable Hyperdisk-balanced support please uncomment this hyperdisk-balanced-setup and fio-bench-job-template module.
404+
# # Set up storage class and persistent volume claim for Hyperdisk
405+
# - id: hyperdisk-balanced-setup
406+
# source: modules/file-system/gke-storage
407+
# use: [gke-tpu-v6-cluster]
408+
# settings:
409+
# storage_type: Hyperdisk-balanced
410+
# access_mode: ReadWriteOnce
411+
# sc_volume_binding_mode: Immediate
412+
# sc_reclaim_policy: Delete
413+
# sc_topology_zones: [$(vars.zone)]
414+
# pvc_count: 1
415+
# capacity_gb: 100
416+
417+
# # This is an example job that will install and run an `fio`benchmark against the hyperdisk volumes.
418+
# # For more FIO tests, see https://cloud.google.com/compute/docs/disks/benchmark-hyperdisk-performance
419+
# - id: fio-bench-job-hyperdisk
420+
# source: modules/compute/gke-job-template
421+
# use:
422+
# - gke-tpu-v6-pool
423+
# - hyperdisk-balanced-setup
424+
# settings:
425+
# name: fio-benchmark
426+
# image: ubuntu:latest
427+
# security_context: # to make sure the job have enough access to install the fio packages
428+
# - key: runAsUser
429+
# value: 0
430+
# - key: runAsGroup
431+
# value: 100
432+
# - key: fsGroup
433+
# value: 100
434+
# command:
435+
# - bash
436+
# - -c
437+
# - |
438+
439+
# set -eux
440+
441+
# cleanup() {
442+
# # This function will be called on script exit
443+
# if [ -n "${TAG:-}" ]; then
444+
# echo "--- Cleaning up temporary directories for tag ${TAG} ---"
445+
# rm -rf "/data/hyperdisk-balanced-pvc-0/fio-benchmarks-${TAG}"
446+
# fi
447+
# }
448+
# trap cleanup EXIT
449+
450+
# export DEBIAN_FRONTEND=noninteractive
451+
452+
# # Install fio
453+
# apt update -y && apt install -y fio
454+
455+
# # Use a tag to create a unique path for tests
456+
# TAG=`date +%s`
457+
458+
# # Verify mountpoints
459+
# df -h
460+
# mountpoint /data/hyperdisk-balanced-pvc-0
461+
462+
# # Create temporary directory for fio benchmarks
463+
# mkdir -p "/data/hyperdisk-balanced-pvc-0/fio-benchmarks-${TAG}"
464+
465+
# # Perform hyperdisk balanced performance (Mixed IOPS) test
466+
# fio --name=hyperdisk-balanced-iops --ioengine=libaio --iodepth=256 --rw=randrw \
467+
# --bs=4k --direct=1 --size=10G --numjobs=16 --group_reporting --time_based --runtime=300s \
468+
# --ramp_time=10s --iodepth_batch_submit=256 --iodepth_batch_complete_max=256 \
469+
# --directory="/data/hyperdisk-balanced-pvc-0/fio-benchmarks-${TAG}" --filename_format=fiotest-balanced-iops
470+
# node_count: 1
471+
472+
# outputs: [instructions]

community/modules/compute/htcondor-execute-point/versions.tf

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -29,6 +29,6 @@ terraform {
2929
}
3030

3131
provider_meta "google" {
32-
module_name = "blueprints/terraform/hpc-toolkit:htcondor-execute-point/v1.72.0"
32+
module_name = "blueprints/terraform/hpc-toolkit:htcondor-execute-point/v1.73.0"
3333
}
3434
}

community/modules/compute/mig/versions.tf

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -22,6 +22,6 @@ terraform {
2222
}
2323
}
2424
provider_meta "google" {
25-
module_name = "blueprints/terraform/hpc-toolkit:mig/v1.72.0"
25+
module_name = "blueprints/terraform/hpc-toolkit:mig/v1.73.0"
2626
}
2727
}

community/modules/compute/schedmd-slurm-gcp-v6-nodeset-dynamic/versions.tf

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -17,6 +17,6 @@
1717
terraform {
1818
required_version = ">= 1.3"
1919
provider_meta "google" {
20-
module_name = "blueprints/terraform/hpc-toolkit:schedmd-slurm-gcp-v6-nodeset-dynamic/v1.72.0"
20+
module_name = "blueprints/terraform/hpc-toolkit:schedmd-slurm-gcp-v6-nodeset-dynamic/v1.73.0"
2121
}
2222
}

community/modules/compute/schedmd-slurm-gcp-v6-nodeset-tpu/versions.tf

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -18,6 +18,6 @@ terraform {
1818
required_version = ">= 1.3"
1919

2020
provider_meta "google" {
21-
module_name = "blueprints/terraform/hpc-toolkit:schedmd-slurm-gcp-v6-nodeset-tpu/v1.72.0"
21+
module_name = "blueprints/terraform/hpc-toolkit:schedmd-slurm-gcp-v6-nodeset-tpu/v1.73.0"
2222
}
2323
}

0 commit comments

Comments
 (0)