Skip to content

Commit 783860a

Browse files
committed
Merge remote-tracking branch 'origin/develop' into gcnv-integration
2 parents 6a4c44e + 702865c commit 783860a

164 files changed

Lines changed: 3406 additions & 537 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/pr-precommit.yml

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -34,13 +34,13 @@ jobs:
3434
- uses: actions/checkout@v4
3535
- uses: actions/setup-python@v5
3636
with:
37-
# internal Python tests require Python 3.10
38-
python-version: '3.10'
37+
# internal Python tests require Python 3.12
38+
python-version: '3.12'
3939
check-latest: true
4040
cache: 'pip'
4141
- uses: actions/setup-go@v5
4242
with:
43-
go-version: '1.23'
43+
go-version: '1.24'
4444
check-latest: true
4545
- uses: hashicorp/setup-terraform@v3
4646
with:
@@ -70,7 +70,7 @@ jobs:
7070
cache: 'pip'
7171
- uses: actions/setup-go@v5
7272
with:
73-
go-version: '1.23'
73+
go-version: '1.24'
7474
check-latest: true
7575
- uses: hashicorp/setup-terraform@v3
7676
with:

Makefile

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
# PREAMBLE
22
MIN_PACKER_VERSION=1.7.9 # for building images
33
MIN_TERRAFORM_VERSION=1.5.7 # for deploying modules
4-
MIN_GOLANG_VERSION=1.23 # for building gcluster
4+
MIN_GOLANG_VERSION=1.24 # for building gcluster
55

66
.PHONY: install install-user tests format install-dev-deps \
77
warn-go-missing warn-terraform-missing warn-packer-missing \

cluster-toolkit-writers.json

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -379,5 +379,11 @@
379379
},
380380
{
381381
"login": "bytetwin"
382+
},
383+
{
384+
"login": "LAVEEN"
385+
},
386+
{
387+
"login": "Neelabh94"
382388
}
383389
]

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.61.0",
56+
Version: "v1.62.0",
5757
Annotations: annotation,
5858
}
5959
)

community/examples/AMD/hpc-amd-slurm.yaml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -168,7 +168,7 @@ deployment_groups:
168168
# these images must match the images used by Slurm modules below because
169169
# we are building OpenMPI with PMI support in libraries contained in
170170
# Slurm installation
171-
family: slurm-gcp-6-10-hpc-rocky-linux-8
171+
family: slurm-gcp-6-11-hpc-rocky-linux-8
172172
project: schedmd-slurm-public
173173

174174
- id: low_cost_nodeset
Lines changed: 27 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,27 @@
1+
# Copyright 2025 "Google LLC"
2+
#
3+
# Licensed under the Apache License, Version 2.0 (the "License");
4+
# you may not use this file except in compliance with the License.
5+
# You may obtain a copy of the License at
6+
#
7+
# http://www.apache.org/licenses/LICENSE-2.0
8+
#
9+
# Unless required by applicable law or agreed to in writing, software
10+
# distributed under the License is distributed on an "AS IS" BASIS,
11+
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
12+
# See the License for the specific language governing permissions and
13+
# limitations under the License.
14+
15+
apiVersion: monitoring.googleapis.com/v1
16+
kind: PodMonitoring
17+
metadata:
18+
name: slurm-exporter
19+
namespace: slurm
20+
spec:
21+
selector:
22+
matchLabels:
23+
app.kubernetes.io/instance: slurm-exporter
24+
app.kubernetes.io/name: slurm-exporter
25+
endpoints:
26+
- port: metrics
27+
interval: 30s
Lines changed: 166 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,166 @@
1+
# Copyright 2025 Google LLC
2+
#
3+
# Licensed under the Apache License, Version 2.0 (the "License");
4+
# you may not use this file except in compliance with the License.
5+
# You may obtain a copy of the License at
6+
#
7+
# http://www.apache.org/licenses/LICENSE-2.0
8+
#
9+
# Unless required by applicable law or agreed to in writing, software
10+
# distributed under the License is distributed on an "AS IS" BASIS,
11+
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
12+
# See the License for the specific language governing permissions and
13+
# limitations under the License.
14+
---
15+
16+
blueprint_name: hpc-slinky
17+
18+
vars:
19+
project_id: ## Set GCP Project ID Here ##
20+
deployment_name: slinky-01
21+
region: us-central1
22+
zones:
23+
- us-central1-a
24+
authorized_cidr: # <your-ip-address>/32
25+
gcp_public_cidrs_access_enabled: false
26+
exporter_pod_monitoring_path: $(ghpc_stage("./exporter-pod-monitoring.yaml"))
27+
debug_nodeset_replicas: 2
28+
h3_nodeset_replicas: 2
29+
30+
deployment_groups:
31+
- group: primary
32+
modules:
33+
- id: network
34+
source: modules/network/vpc
35+
settings:
36+
subnetwork_name: $(vars.deployment_name)-subnet
37+
secondary_ranges_list:
38+
- subnetwork_name: $(vars.deployment_name)-subnet
39+
ranges:
40+
- range_name: pods
41+
ip_cidr_range: 10.4.0.0/14
42+
- range_name: services
43+
ip_cidr_range: 10.0.32.0/20
44+
45+
- id: node_pool_service_account
46+
source: community/modules/project/service-account
47+
settings:
48+
name: gke-np-sa
49+
project_roles:
50+
- logging.logWriter
51+
- monitoring.metricWriter
52+
- monitoring.viewer
53+
- stackdriver.resourceMetadata.writer
54+
- storage.objectAdmin
55+
- artifactregistry.reader
56+
57+
- id: workload_service_account
58+
source: community/modules/project/service-account
59+
settings:
60+
name: gke-wl-sa
61+
project_roles:
62+
- logging.logWriter
63+
- monitoring.metricWriter
64+
- monitoring.viewer
65+
- stackdriver.resourceMetadata.writer
66+
- storage.objectAdmin
67+
- artifactregistry.reader
68+
69+
- id: gke_cluster
70+
source: modules/scheduler/gke-cluster
71+
use: [network, workload_service_account]
72+
settings:
73+
enable_private_endpoint: false
74+
gcp_public_cidrs_access_enabled: $(vars.gcp_public_cidrs_access_enabled)
75+
master_authorized_networks:
76+
- display_name: deployment-machine
77+
cidr_block: $(vars.authorized_cidr)
78+
system_node_pool_enabled: false
79+
configure_workload_identity_sa: true
80+
outputs: [instructions]
81+
82+
- id: base_pool
83+
source: modules/compute/gke-node-pool
84+
use: [gke_cluster, node_pool_service_account]
85+
settings:
86+
initial_node_count: 1
87+
disk_type: pd-balanced
88+
machine_type: e2-standard-4
89+
zones: $(vars.zones)
90+
91+
- id: h3_pool
92+
source: modules/compute/gke-node-pool
93+
use: [gke_cluster, node_pool_service_account]
94+
settings:
95+
initial_node_count: 2
96+
disk_type: pd-balanced
97+
machine_type: h3-standard-88
98+
zones: $(vars.zones)
99+
100+
- id: slinky
101+
source: community/modules/scheduler/slinky
102+
use:
103+
- gke_cluster
104+
- base_pool # Optionally specify nodepool(s) to avoid operator components running on HPC hardware
105+
settings:
106+
slurm_values:
107+
compute:
108+
nodesets:
109+
- name: debug
110+
enabled: true
111+
replicas: $(vars.debug_nodeset_replicas)
112+
image:
113+
# Use the default nodeset image
114+
repository: ""
115+
tag: ""
116+
resources:
117+
requests:
118+
cpu: 500m
119+
memory: 4Gi
120+
limits:
121+
cpu: 500m
122+
memory: 4Gi
123+
affinity:
124+
nodeAffinity:
125+
requiredDuringSchedulingIgnoredDuringExecution:
126+
nodeSelectorTerms:
127+
- matchExpressions:
128+
- key: "node.kubernetes.io/instance-type"
129+
operator: In
130+
values:
131+
- e2-standard-4
132+
partition:
133+
enabled: true
134+
- name: h3
135+
enabled: true
136+
replicas: $(vars.h3_nodeset_replicas)
137+
image:
138+
# Use the default nodeset image
139+
repository: ""
140+
tag: ""
141+
resources:
142+
requests:
143+
cpu: 86
144+
memory: 324Gi
145+
limits:
146+
cpu: 86
147+
memory: 324Gi
148+
affinity:
149+
nodeAffinity:
150+
requiredDuringSchedulingIgnoredDuringExecution:
151+
nodeSelectorTerms:
152+
- matchExpressions:
153+
- key: "node.kubernetes.io/instance-type"
154+
operator: In
155+
values:
156+
- h3-standard-88
157+
partition:
158+
enabled: true
159+
outputs: [instructions]
160+
161+
- id: slurm_exporter_monitoring
162+
source: modules/management/kubectl-apply
163+
use: [gke_cluster]
164+
settings:
165+
apply_manifests:
166+
- source: $(vars.exporter_pod_monitoring_path)

community/examples/hpc-slurm-ubuntu2004.yaml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -24,7 +24,7 @@ vars:
2424
slurm_image:
2525
# Please refer to the following link for the latest images:
2626
# https://github.com/GoogleCloudPlatform/slurm-gcp/blob/master/docs/images.md#supported-operating-systems
27-
family: slurm-gcp-6-10-ubuntu-2204-lts-nvidia-570
27+
family: slurm-gcp-6-11-ubuntu-2204-lts-nvidia-570
2828
project: schedmd-slurm-public
2929

3030
deployment_groups:

community/examples/hpc-slurm6-apptainer.yaml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -60,7 +60,7 @@ deployment_groups:
6060
settings:
6161
source_image_project_id: [schedmd-slurm-public]
6262
# see latest in https://github.com/GoogleCloudPlatform/slurm-gcp/blob/master/docs/images.md#published-image-family
63-
source_image_family: slurm-gcp-6-10-hpc-rocky-linux-8
63+
source_image_family: slurm-gcp-6-11-hpc-rocky-linux-8
6464
# You can find size of source image by using following command
6565
# gcloud compute images describe-from-family <source_image_family> --project schedmd-slurm-public
6666
disk_size: $(vars.disk_size)

community/front-end/ofe/infrastructure_files/gcs_bucket/clusters/ansible_setup/roles/c2_daemon/templates/ghpcfe_c2.yaml.j2

Lines changed: 17 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,20 @@
1+
{#
2+
Copyright 2025 "Google LLC"
3+
4+
Licensed under the Apache License, Version 2.0 (the "License");
5+
you may not use this file except in compliance with the License.
6+
You may obtain a copy of the License at
7+
8+
http://www.apache.org/licenses/LICENSE-2.0
9+
10+
Unless required by applicable law or agreed to in writing, software
11+
distributed under the License is distributed on an "AS IS" BASIS,
12+
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13+
See the License for the specific language governing permissions and
14+
limitations under the License.
15+
#}
16+
17+
118
topic_path: {{ ansible_local.ghpcfe.config.fec2_topic }}
219
subscription_path: {{ ansible_local.ghpcfe.config.fec2_subscription }}
320
cluster_id: {{ ansible_local.ghpcfe.config.cluster_id }}

0 commit comments

Comments
 (0)