diff --git a/cmd/root.go b/cmd/root.go index 90615c72d4..f7c360044d 100644 --- a/cmd/root.go +++ b/cmd/root.go @@ -53,7 +53,7 @@ HPC deployments on the Google Cloud Platform.`, logging.Fatal("cmd.Help function failed: %s", err) } }, - Version: "v1.74.0", + Version: "v1.75.1", Annotations: annotation, } ) diff --git a/community/examples/xpk-n2-filestore/xpk-n2-filestore.yaml b/community/examples/xpk-n2-filestore/xpk-n2-filestore.yaml index 0f1c5ff89c..11a24183bc 100644 --- a/community/examples/xpk-n2-filestore/xpk-n2-filestore.yaml +++ b/community/examples/xpk-n2-filestore/xpk-n2-filestore.yaml @@ -64,12 +64,12 @@ deployment_groups: - display_name: deployment-machine cidr_block: $(vars.authorized_cidr) version_prefix: "1.31." - release_channel: RAPID + release_channel: REGULAR maintenance_exclusions: - name: no-minor-or-node-upgrades-indefinite - start_time: "2024-12-01T00:00:00Z" - end_time: "2025-12-22T00:00:00Z" + start_time: "2025-12-01T00:00:00Z" exclusion_scope: NO_MINOR_OR_NODE_UPGRADES + exclusion_end_time_behavior: UNTIL_END_OF_SUPPORT enable_filestore_csi: true outputs: [instructions] diff --git a/community/modules/compute/gke-nodeset/versions.tf b/community/modules/compute/gke-nodeset/versions.tf index 201fb07d79..998d30e2ea 100644 --- a/community/modules/compute/gke-nodeset/versions.tf +++ b/community/modules/compute/gke-nodeset/versions.tf @@ -22,6 +22,6 @@ terraform { } } provider_meta "google" { - module_name = "blueprints/terraform/hpc-toolkit:gke-nodeset/v1.74.0" + module_name = "blueprints/terraform/hpc-toolkit:gke-nodeset/v1.75.1" } } diff --git a/community/modules/compute/gke-partition/versions.tf b/community/modules/compute/gke-partition/versions.tf index 7f26c876e0..ac9aa0a132 100644 --- a/community/modules/compute/gke-partition/versions.tf +++ b/community/modules/compute/gke-partition/versions.tf @@ -22,6 +22,6 @@ terraform { } } provider_meta "google" { - module_name = "blueprints/terraform/hpc-toolkit:gke-partition/v1.74.0" + module_name = "blueprints/terraform/hpc-toolkit:gke-partition/v1.75.1" } } diff --git a/community/modules/compute/htcondor-execute-point/versions.tf b/community/modules/compute/htcondor-execute-point/versions.tf index 729dc3cda5..2b8e147399 100644 --- a/community/modules/compute/htcondor-execute-point/versions.tf +++ b/community/modules/compute/htcondor-execute-point/versions.tf @@ -29,6 +29,6 @@ terraform { } provider_meta "google" { - module_name = "blueprints/terraform/hpc-toolkit:htcondor-execute-point/v1.74.0" + module_name = "blueprints/terraform/hpc-toolkit:htcondor-execute-point/v1.75.1" } } diff --git a/community/modules/compute/mig/versions.tf b/community/modules/compute/mig/versions.tf index 4147447b44..ed4ce8be41 100644 --- a/community/modules/compute/mig/versions.tf +++ b/community/modules/compute/mig/versions.tf @@ -22,6 +22,6 @@ terraform { } } provider_meta "google" { - module_name = "blueprints/terraform/hpc-toolkit:mig/v1.74.0" + module_name = "blueprints/terraform/hpc-toolkit:mig/v1.75.1" } } diff --git a/community/modules/compute/schedmd-slurm-gcp-v6-nodeset-dynamic/versions.tf b/community/modules/compute/schedmd-slurm-gcp-v6-nodeset-dynamic/versions.tf index b4c30dc3d0..722a132db5 100644 --- a/community/modules/compute/schedmd-slurm-gcp-v6-nodeset-dynamic/versions.tf +++ b/community/modules/compute/schedmd-slurm-gcp-v6-nodeset-dynamic/versions.tf @@ -17,6 +17,6 @@ terraform { required_version = ">= 1.3" provider_meta "google" { - module_name = "blueprints/terraform/hpc-toolkit:schedmd-slurm-gcp-v6-nodeset-dynamic/v1.74.0" + module_name = "blueprints/terraform/hpc-toolkit:schedmd-slurm-gcp-v6-nodeset-dynamic/v1.75.1" } } diff --git a/community/modules/compute/schedmd-slurm-gcp-v6-nodeset-tpu/versions.tf b/community/modules/compute/schedmd-slurm-gcp-v6-nodeset-tpu/versions.tf index 398eeffdda..230fb8f0da 100644 --- a/community/modules/compute/schedmd-slurm-gcp-v6-nodeset-tpu/versions.tf +++ b/community/modules/compute/schedmd-slurm-gcp-v6-nodeset-tpu/versions.tf @@ -18,6 +18,6 @@ terraform { required_version = ">= 1.3" provider_meta "google" { - module_name = "blueprints/terraform/hpc-toolkit:schedmd-slurm-gcp-v6-nodeset-tpu/v1.74.0" + module_name = "blueprints/terraform/hpc-toolkit:schedmd-slurm-gcp-v6-nodeset-tpu/v1.75.1" } } diff --git a/community/modules/compute/schedmd-slurm-gcp-v6-nodeset/versions.tf b/community/modules/compute/schedmd-slurm-gcp-v6-nodeset/versions.tf index e014c318e4..7d18927b62 100644 --- a/community/modules/compute/schedmd-slurm-gcp-v6-nodeset/versions.tf +++ b/community/modules/compute/schedmd-slurm-gcp-v6-nodeset/versions.tf @@ -24,6 +24,6 @@ terraform { } } provider_meta "google" { - module_name = "blueprints/terraform/hpc-toolkit:schedmd-slurm-gcp-v6-nodeset/v1.74.0" + module_name = "blueprints/terraform/hpc-toolkit:schedmd-slurm-gcp-v6-nodeset/v1.75.1" } } diff --git a/community/modules/compute/schedmd-slurm-gcp-v6-partition/versions.tf b/community/modules/compute/schedmd-slurm-gcp-v6-partition/versions.tf index d388f4bfdd..d645551a4a 100644 --- a/community/modules/compute/schedmd-slurm-gcp-v6-partition/versions.tf +++ b/community/modules/compute/schedmd-slurm-gcp-v6-partition/versions.tf @@ -18,6 +18,6 @@ terraform { required_version = ">= 1.3" provider_meta "google" { - module_name = "blueprints/terraform/hpc-toolkit:schedmd-slurm-gcp-v6-partition/v1.74.0" + module_name = "blueprints/terraform/hpc-toolkit:schedmd-slurm-gcp-v6-partition/v1.75.1" } } diff --git a/community/modules/database/slurm-cloudsql-federation/versions.tf b/community/modules/database/slurm-cloudsql-federation/versions.tf index 7e672858b6..1624c3d87a 100644 --- a/community/modules/database/slurm-cloudsql-federation/versions.tf +++ b/community/modules/database/slurm-cloudsql-federation/versions.tf @@ -26,10 +26,10 @@ terraform { } } provider_meta "google" { - module_name = "blueprints/terraform/hpc-toolkit:slurm-cloudsql-federation/v1.74.0" + module_name = "blueprints/terraform/hpc-toolkit:slurm-cloudsql-federation/v1.75.1" } provider_meta "google-beta" { - module_name = "blueprints/terraform/hpc-toolkit:slurm-cloudsql-federation/v1.74.0" + module_name = "blueprints/terraform/hpc-toolkit:slurm-cloudsql-federation/v1.75.1" } required_version = ">= 0.13.0" diff --git a/community/modules/file-system/nfs-server/versions.tf b/community/modules/file-system/nfs-server/versions.tf index 63443806b8..3faf450d2d 100644 --- a/community/modules/file-system/nfs-server/versions.tf +++ b/community/modules/file-system/nfs-server/versions.tf @@ -30,7 +30,7 @@ terraform { } } provider_meta "google" { - module_name = "blueprints/terraform/hpc-toolkit:nfs-server/v1.74.0" + module_name = "blueprints/terraform/hpc-toolkit:nfs-server/v1.75.1" } required_version = ">= 0.14.0" diff --git a/community/modules/files/fsi-montecarlo-on-batch/versions.tf b/community/modules/files/fsi-montecarlo-on-batch/versions.tf index 86dcb4dc52..4b78424c94 100644 --- a/community/modules/files/fsi-montecarlo-on-batch/versions.tf +++ b/community/modules/files/fsi-montecarlo-on-batch/versions.tf @@ -35,9 +35,9 @@ terraform { } } provider_meta "google" { - module_name = "blueprints/terraform/hpc-toolkit:fsi-montecarlo-on-batch/v1.74.0" + module_name = "blueprints/terraform/hpc-toolkit:fsi-montecarlo-on-batch/v1.75.1" } provider_meta "google-beta" { - module_name = "blueprints/terraform/hpc-toolkit:fsi-montecarlo-on-batch/v1.74.0" + module_name = "blueprints/terraform/hpc-toolkit:fsi-montecarlo-on-batch/v1.75.1" } } diff --git a/community/modules/internal/slurm-gcp/login/versions.tf b/community/modules/internal/slurm-gcp/login/versions.tf index d527df490b..2c06621dcd 100644 --- a/community/modules/internal/slurm-gcp/login/versions.tf +++ b/community/modules/internal/slurm-gcp/login/versions.tf @@ -24,6 +24,6 @@ terraform { } } provider_meta "google" { - module_name = "blueprints/terraform/hpc-toolkit:schedmd-slurm-gcp-v6-controller/v1.74.0" + module_name = "blueprints/terraform/hpc-toolkit:schedmd-slurm-gcp-v6-controller/v1.75.1" } } diff --git a/community/modules/network/private-service-access/versions.tf b/community/modules/network/private-service-access/versions.tf index df2914cdb9..cccd00f4fb 100644 --- a/community/modules/network/private-service-access/versions.tf +++ b/community/modules/network/private-service-access/versions.tf @@ -26,11 +26,11 @@ terraform { } } provider_meta "google" { - module_name = "blueprints/terraform/hpc-toolkit:private-service-access/v1.74.0" + module_name = "blueprints/terraform/hpc-toolkit:private-service-access/v1.75.1" } provider_meta "google-beta" { - module_name = "blueprints/terraform/hpc-toolkit:private-service-access/v1.74.0" + module_name = "blueprints/terraform/hpc-toolkit:private-service-access/v1.75.1" } required_version = ">= 1.2" diff --git a/community/modules/project/service-enablement/versions.tf b/community/modules/project/service-enablement/versions.tf index 07f25fb045..fc6f98ebe9 100644 --- a/community/modules/project/service-enablement/versions.tf +++ b/community/modules/project/service-enablement/versions.tf @@ -22,7 +22,7 @@ terraform { } } provider_meta "google" { - module_name = "blueprints/terraform/hpc-toolkit:service-enablement/v1.74.0" + module_name = "blueprints/terraform/hpc-toolkit:service-enablement/v1.75.1" } required_version = ">= 0.14.0" diff --git a/community/modules/pubsub/bigquery-sub/versions.tf b/community/modules/pubsub/bigquery-sub/versions.tf index 46ad6e17c8..36dcafdca9 100644 --- a/community/modules/pubsub/bigquery-sub/versions.tf +++ b/community/modules/pubsub/bigquery-sub/versions.tf @@ -26,10 +26,10 @@ terraform { } } provider_meta "google" { - module_name = "blueprints/terraform/hpc-toolkit:bigquery-sub/v1.74.0" + module_name = "blueprints/terraform/hpc-toolkit:bigquery-sub/v1.75.1" } provider_meta "google-beta" { - module_name = "blueprints/terraform/hpc-toolkit:bigquery-sub/v1.74.0" + module_name = "blueprints/terraform/hpc-toolkit:bigquery-sub/v1.75.1" } required_version = ">= 1.0" } diff --git a/community/modules/pubsub/topic/versions.tf b/community/modules/pubsub/topic/versions.tf index c8810b7ab7..54aa498566 100644 --- a/community/modules/pubsub/topic/versions.tf +++ b/community/modules/pubsub/topic/versions.tf @@ -27,6 +27,6 @@ terraform { } } provider_meta "google" { - module_name = "blueprints/terraform/hpc-toolkit:topic/v1.74.0" + module_name = "blueprints/terraform/hpc-toolkit:topic/v1.75.1" } } diff --git a/community/modules/scheduler/htcondor-access-point/versions.tf b/community/modules/scheduler/htcondor-access-point/versions.tf index 0d07e7abf1..51c58d407e 100644 --- a/community/modules/scheduler/htcondor-access-point/versions.tf +++ b/community/modules/scheduler/htcondor-access-point/versions.tf @@ -30,7 +30,7 @@ terraform { } } provider_meta "google" { - module_name = "blueprints/terraform/hpc-toolkit:htcondor-access-point/v1.74.0" + module_name = "blueprints/terraform/hpc-toolkit:htcondor-access-point/v1.75.1" } required_version = ">= 1.1" diff --git a/community/modules/scheduler/htcondor-central-manager/versions.tf b/community/modules/scheduler/htcondor-central-manager/versions.tf index 4dee3adac7..c01257d3e8 100644 --- a/community/modules/scheduler/htcondor-central-manager/versions.tf +++ b/community/modules/scheduler/htcondor-central-manager/versions.tf @@ -26,7 +26,7 @@ terraform { } } provider_meta "google" { - module_name = "blueprints/terraform/hpc-toolkit:htcondor-central-manager/v1.74.0" + module_name = "blueprints/terraform/hpc-toolkit:htcondor-central-manager/v1.75.1" } required_version = ">= 1.1.0" diff --git a/community/modules/scheduler/htcondor-pool-secrets/versions.tf b/community/modules/scheduler/htcondor-pool-secrets/versions.tf index d8a1d96f5f..bd8083a517 100644 --- a/community/modules/scheduler/htcondor-pool-secrets/versions.tf +++ b/community/modules/scheduler/htcondor-pool-secrets/versions.tf @@ -26,7 +26,7 @@ terraform { } } provider_meta "google" { - module_name = "blueprints/terraform/hpc-toolkit:htcondor-pool-secrets/v1.74.0" + module_name = "blueprints/terraform/hpc-toolkit:htcondor-pool-secrets/v1.75.1" } required_version = ">= 1.3.0" diff --git a/community/modules/scheduler/schedmd-slurm-gcp-v6-controller/versions.tf b/community/modules/scheduler/schedmd-slurm-gcp-v6-controller/versions.tf index cfb891df6b..c6dc7a2808 100644 --- a/community/modules/scheduler/schedmd-slurm-gcp-v6-controller/versions.tf +++ b/community/modules/scheduler/schedmd-slurm-gcp-v6-controller/versions.tf @@ -28,6 +28,6 @@ terraform { } } provider_meta "google" { - module_name = "blueprints/terraform/hpc-toolkit:schedmd-slurm-gcp-v6-controller/v1.74.0" + module_name = "blueprints/terraform/hpc-toolkit:schedmd-slurm-gcp-v6-controller/v1.75.1" } } diff --git a/community/modules/scheduler/schedmd-slurm-gcp-v6-login/versions.tf b/community/modules/scheduler/schedmd-slurm-gcp-v6-login/versions.tf index add981a03e..8c9312e0f9 100644 --- a/community/modules/scheduler/schedmd-slurm-gcp-v6-login/versions.tf +++ b/community/modules/scheduler/schedmd-slurm-gcp-v6-login/versions.tf @@ -18,6 +18,6 @@ terraform { required_version = ">= 1.3" provider_meta "google" { - module_name = "blueprints/terraform/hpc-toolkit:schedmd-slurm-gcp-v6-login/v1.74.0" + module_name = "blueprints/terraform/hpc-toolkit:schedmd-slurm-gcp-v6-login/v1.75.1" } } diff --git a/community/modules/scripts/wait-for-startup/versions.tf b/community/modules/scripts/wait-for-startup/versions.tf index 8cd43b944e..47f0093fbe 100644 --- a/community/modules/scripts/wait-for-startup/versions.tf +++ b/community/modules/scripts/wait-for-startup/versions.tf @@ -22,7 +22,7 @@ terraform { } } provider_meta "google" { - module_name = "blueprints/terraform/hpc-toolkit:wait-for-startup/v1.74.0" + module_name = "blueprints/terraform/hpc-toolkit:wait-for-startup/v1.75.1" } required_version = ">= 0.14.0" diff --git a/community/modules/scripts/windows-startup-script/versions.tf b/community/modules/scripts/windows-startup-script/versions.tf index dfeeac34f8..fdf5055909 100644 --- a/community/modules/scripts/windows-startup-script/versions.tf +++ b/community/modules/scripts/windows-startup-script/versions.tf @@ -16,7 +16,7 @@ terraform { provider_meta "google" { - module_name = "blueprints/terraform/hpc-toolkit:windows-startup-script/v1.74.0" + module_name = "blueprints/terraform/hpc-toolkit:windows-startup-script/v1.75.1" } required_version = ">= 0.14.0" diff --git a/examples/gke-a3-ultragpu/gke-a3-ultragpu.yaml b/examples/gke-a3-ultragpu/gke-a3-ultragpu.yaml index fdeb9ab8a7..7ac42a508d 100644 --- a/examples/gke-a3-ultragpu/gke-a3-ultragpu.yaml +++ b/examples/gke-a3-ultragpu/gke-a3-ultragpu.yaml @@ -197,12 +197,12 @@ deployment_groups: # Cluster versions cannot be updated through the toolkit after creation # Please manage cluster version from the Google Cloud Console directly version_prefix: $(vars.version_prefix) - release_channel: RAPID + release_channel: REGULAR maintenance_exclusions: - name: no-minor-or-node-upgrades-indefinite - start_time: "2024-12-01T00:00:00Z" - end_time: "2025-12-22T00:00:00Z" + start_time: "2025-12-01T00:00:00Z" exclusion_scope: NO_MINOR_OR_NODE_UPGRADES + exclusion_end_time_behavior: UNTIL_END_OF_SUPPORT outputs: [instructions] # # --- MANAGED LUSTRE ADDITIONS --- diff --git a/examples/gke-a4/gke-a4.yaml b/examples/gke-a4/gke-a4.yaml index 092cb3687f..853eeca985 100644 --- a/examples/gke-a4/gke-a4.yaml +++ b/examples/gke-a4/gke-a4.yaml @@ -212,12 +212,12 @@ deployment_groups: # Cluster versions cannot be updated through the toolkit after creation # Please manage cluster version from the Google Cloud Console directly version_prefix: $(vars.version_prefix) - release_channel: RAPID + release_channel: REGULAR maintenance_exclusions: - name: no-minor-or-node-upgrades-indefinite - start_time: "2024-12-01T00:00:00Z" - end_time: "2025-12-22T00:00:00Z" + start_time: "2025-12-01T00:00:00Z" exclusion_scope: NO_MINOR_OR_NODE_UPGRADES + exclusion_end_time_behavior: UNTIL_END_OF_SUPPORT outputs: [instructions] # # --- MANAGED LUSTRE ADDITIONS --- diff --git a/examples/gke-a4x/gke-a4x.yaml b/examples/gke-a4x/gke-a4x.yaml index 595788ee11..b5f4e144cc 100644 --- a/examples/gke-a4x/gke-a4x.yaml +++ b/examples/gke-a4x/gke-a4x.yaml @@ -74,25 +74,6 @@ vars: # # Maximum throughput of the lustre instance in MBps per TiB # per_unit_storage_throughput: 500 -terraform_providers: - google: - source: hashicorp/google - version: 7.2.0 - configuration: - project: $(vars.project_id) - region: $(vars.region) - zone: $(vars.zone) - compute_custom_endpoint: "https://www.googleapis.com/compute/beta/" - - google-beta: - source: hashicorp/google-beta - version: 7.2.0 - configuration: - project: $(vars.project_id) - region: $(vars.region) - zone: $(vars.zone) - compute_custom_endpoint: "https://www.googleapis.com/compute/beta/" - deployment_groups: - group: primary diff --git a/examples/gke-consumption-options/dws-flex-start/gke-a3-ultragpu.yaml b/examples/gke-consumption-options/dws-flex-start/gke-a3-ultragpu.yaml index 6ec9ae307b..c7b1c4ac23 100644 --- a/examples/gke-consumption-options/dws-flex-start/gke-a3-ultragpu.yaml +++ b/examples/gke-consumption-options/dws-flex-start/gke-a3-ultragpu.yaml @@ -145,12 +145,12 @@ deployment_groups: # Cluster versions cannot be updated through the toolkit after creation # Please manage cluster version from the Google Cloud Console directly version_prefix: "1.32." - release_channel: RAPID + release_channel: REGULAR maintenance_exclusions: - name: no-minor-or-node-upgrades-indefinite - start_time: "2024-12-01T00:00:00Z" - end_time: "2025-12-22T00:00:00Z" + start_time: "2025-12-01T00:00:00Z" exclusion_scope: NO_MINOR_OR_NODE_UPGRADES + exclusion_end_time_behavior: UNTIL_END_OF_SUPPORT outputs: [instructions] - id: a3-ultragpu-pool diff --git a/examples/gke-g4/gke-g4.yaml b/examples/gke-g4/gke-g4.yaml index faa17736fa..73695d76bb 100644 --- a/examples/gke-g4/gke-g4.yaml +++ b/examples/gke-g4/gke-g4.yaml @@ -144,12 +144,12 @@ deployment_groups: # Cluster versions cannot be updated through the toolkit after creation # Please manage cluster version from the Google Cloud Console directly version_prefix: "1.32." - release_channel: RAPID + release_channel: REGULAR maintenance_exclusions: - name: no-minor-or-node-upgrades-indefinite - start_time: "2025-08-01T00:00:00Z" - end_time: "2026-04-10T00:00:00Z" + start_time: "2025-12-01T00:00:00Z" exclusion_scope: NO_MINOR_OR_NODE_UPGRADES + exclusion_end_time_behavior: UNTIL_END_OF_SUPPORT outputs: [instructions] - id: g4-pool diff --git a/examples/gke-h4d/gke-h4d.yaml b/examples/gke-h4d/gke-h4d.yaml index 540c9402d6..94145ab608 100644 --- a/examples/gke-h4d/gke-h4d.yaml +++ b/examples/gke-h4d/gke-h4d.yaml @@ -144,12 +144,12 @@ deployment_groups: # Cluster versions cannot be updated through the toolkit after creation # Please manage cluster version from the Google Cloud Console directly version_prefix: "1.32." - release_channel: RAPID + release_channel: REGULAR maintenance_exclusions: - name: no-minor-or-node-upgrades-indefinite - start_time: "2024-12-01T00:00:00Z" - end_time: "2025-12-22T00:00:00Z" + start_time: "2025-12-01T00:00:00Z" exclusion_scope: NO_MINOR_OR_NODE_UPGRADES + exclusion_end_time_behavior: UNTIL_END_OF_SUPPORT outputs: [instructions] - id: h4d-pool diff --git a/examples/gke-managed-hyperdisk.yaml b/examples/gke-managed-hyperdisk.yaml index 640c32d300..42c3529c5b 100644 --- a/examples/gke-managed-hyperdisk.yaml +++ b/examples/gke-managed-hyperdisk.yaml @@ -65,18 +65,18 @@ deployment_groups: source: modules/scheduler/gke-cluster use: [network, workload_service_account] settings: - release_channel: RAPID enable_persistent_disk_csi: true # enable Hyperdisk for the cluster configure_workload_identity_sa: true enable_private_endpoint: false # Allows for access from authorized public IPs master_authorized_networks: - display_name: deployment-machine cidr_block: $(vars.authorized_cidr) + release_channel: REGULAR maintenance_exclusions: - name: no-minor-or-node-upgrades-indefinite - start_time: "2024-12-01T00:00:00Z" - end_time: "2025-12-22T00:00:00Z" + start_time: "2025-12-01T00:00:00Z" exclusion_scope: NO_MINOR_OR_NODE_UPGRADES + exclusion_end_time_behavior: UNTIL_END_OF_SUPPORT outputs: [instructions] ### Set up storage class and persistent volume claim for Hyperdisk ### diff --git a/examples/gke-managed-lustre.yaml b/examples/gke-managed-lustre.yaml index 248ab1e1ff..7d9f706342 100644 --- a/examples/gke-managed-lustre.yaml +++ b/examples/gke-managed-lustre.yaml @@ -116,18 +116,18 @@ deployment_groups: use: [network, workload_service_account] settings: version_prefix: $(vars.version_prefix) - release_channel: RAPID enable_managed_lustre_csi: true # Enable Managed Lustre for the cluster configure_workload_identity_sa: true enable_private_endpoint: false # Allows for access from authorized public IPs master_authorized_networks: - display_name: kubectl-access-network cidr_block: $(vars.authorized_cidr) + release_channel: REGULAR maintenance_exclusions: - name: no-minor-or-node-upgrades-indefinite - start_time: "2025-08-01T00:00:00Z" - end_time: "2026-08-01T00:00:00Z" + start_time: "2025-12-01T00:00:00Z" exclusion_scope: NO_MINOR_OR_NODE_UPGRADES + exclusion_end_time_behavior: UNTIL_END_OF_SUPPORT outputs: [instructions] - id: lustre-pv diff --git a/examples/gke-tpu-7x/gke-tpu-7x-advanced.yaml b/examples/gke-tpu-7x/gke-tpu-7x-advanced.yaml index 35e140b01b..62a3588b9d 100644 --- a/examples/gke-tpu-7x/gke-tpu-7x-advanced.yaml +++ b/examples/gke-tpu-7x/gke-tpu-7x-advanced.yaml @@ -186,12 +186,12 @@ deployment_groups: # Cluster versions cannot be updated through the toolkit after creation # Please manage cluster version from the Google Cloud Console directly version_prefix: "1.34.1" - release_channel: RAPID + release_channel: REGULAR maintenance_exclusions: - name: no-minor-or-node-upgrades-indefinite - start_time: "2024-12-01T00:00:00Z" - end_time: "2025-12-22T00:00:00Z" + start_time: "2025-12-01T00:00:00Z" exclusion_scope: NO_MINOR_OR_NODE_UPGRADES + exclusion_end_time_behavior: UNTIL_END_OF_SUPPORT outputs: [instructions] - id: workload_policy diff --git a/examples/gke-tpu-7x/gke-tpu-7x.yaml b/examples/gke-tpu-7x/gke-tpu-7x.yaml index 7bf27c027e..f8dafbed4d 100644 --- a/examples/gke-tpu-7x/gke-tpu-7x.yaml +++ b/examples/gke-tpu-7x/gke-tpu-7x.yaml @@ -116,7 +116,12 @@ deployment_groups: # Cluster versions cannot be updated through the toolkit after creation # Please manage cluster version from the Google Cloud Console directly version_prefix: "1.34." - release_channel: RAPID + release_channel: REGULAR + maintenance_exclusions: + - name: no-minor-or-node-upgrades-indefinite + start_time: "2025-12-01T00:00:00Z" + exclusion_scope: NO_MINOR_OR_NODE_UPGRADES + exclusion_end_time_behavior: UNTIL_END_OF_SUPPORT outputs: [instructions] - id: workload_policy diff --git a/examples/gke-tpu-v6/gke-tpu-v6-advanced.yaml b/examples/gke-tpu-v6/gke-tpu-v6-advanced.yaml index c86e1fda41..d5f80675de 100644 --- a/examples/gke-tpu-v6/gke-tpu-v6-advanced.yaml +++ b/examples/gke-tpu-v6/gke-tpu-v6-advanced.yaml @@ -192,12 +192,12 @@ deployment_groups: # Cluster versions cannot be updated through the toolkit after creation # Please manage cluster version from the Google Cloud Console directly version_prefix: $(vars.version_prefix) - release_channel: RAPID + release_channel: REGULAR maintenance_exclusions: - name: no-minor-or-node-upgrades-indefinite - start_time: "2024-12-01T00:00:00Z" - end_time: "2025-12-22T00:00:00Z" + start_time: "2025-12-01T00:00:00Z" exclusion_scope: NO_MINOR_OR_NODE_UPGRADES + exclusion_end_time_behavior: UNTIL_END_OF_SUPPORT outputs: [instructions] - id: gke-tpu-v6-pool diff --git a/examples/gke-tpu-v6/gke-tpu-v6.yaml b/examples/gke-tpu-v6/gke-tpu-v6.yaml index ea9c108593..fc350feec1 100644 --- a/examples/gke-tpu-v6/gke-tpu-v6.yaml +++ b/examples/gke-tpu-v6/gke-tpu-v6.yaml @@ -154,12 +154,12 @@ deployment_groups: # Cluster versions cannot be updated through the toolkit after creation # Please manage cluster version from the Google Cloud Console directly version_prefix: "1.32." - release_channel: RAPID + release_channel: REGULAR maintenance_exclusions: - name: no-minor-or-node-upgrades-indefinite - start_time: "2024-12-01T00:00:00Z" - end_time: "2025-12-22T00:00:00Z" + start_time: "2025-12-01T00:00:00Z" exclusion_scope: NO_MINOR_OR_NODE_UPGRADES + exclusion_end_time_behavior: UNTIL_END_OF_SUPPORT outputs: [instructions] - id: gke-tpu-v6-pool diff --git a/modules/compute/gke-node-pool/versions.tf b/modules/compute/gke-node-pool/versions.tf index f018d04fc5..15347ab262 100644 --- a/modules/compute/gke-node-pool/versions.tf +++ b/modules/compute/gke-node-pool/versions.tf @@ -30,9 +30,9 @@ terraform { } } provider_meta "google" { - module_name = "blueprints/terraform/hpc-toolkit:gke-node-pool/v1.74.0" + module_name = "blueprints/terraform/hpc-toolkit:gke-node-pool/v1.75.1" } provider_meta "google-beta" { - module_name = "blueprints/terraform/hpc-toolkit:gke-node-pool/v1.74.0" + module_name = "blueprints/terraform/hpc-toolkit:gke-node-pool/v1.75.1" } } diff --git a/modules/compute/resource-policy/versions.tf b/modules/compute/resource-policy/versions.tf index 425e5382c9..ea6292f652 100644 --- a/modules/compute/resource-policy/versions.tf +++ b/modules/compute/resource-policy/versions.tf @@ -27,7 +27,7 @@ terraform { } provider_meta "google" { - module_name = "blueprints/terraform/hpc-toolkit:resource-policy/v1.74.0" + module_name = "blueprints/terraform/hpc-toolkit:resource-policy/v1.75.1" } required_version = ">= 1.3" diff --git a/modules/compute/vm-instance/versions.tf b/modules/compute/vm-instance/versions.tf index 0429782c6d..a5fe4d851e 100644 --- a/modules/compute/vm-instance/versions.tf +++ b/modules/compute/vm-instance/versions.tf @@ -31,10 +31,10 @@ terraform { } } provider_meta "google" { - module_name = "blueprints/terraform/hpc-toolkit:vm-instance/v1.74.0" + module_name = "blueprints/terraform/hpc-toolkit:vm-instance/v1.75.1" } provider_meta "google-beta" { - module_name = "blueprints/terraform/hpc-toolkit:vm-instance/v1.74.0" + module_name = "blueprints/terraform/hpc-toolkit:vm-instance/v1.75.1" } required_version = ">= 1.3.0" diff --git a/modules/file-system/cloud-storage-bucket/versions.tf b/modules/file-system/cloud-storage-bucket/versions.tf index 217ee2f3a2..1108315632 100644 --- a/modules/file-system/cloud-storage-bucket/versions.tf +++ b/modules/file-system/cloud-storage-bucket/versions.tf @@ -30,10 +30,10 @@ terraform { } } provider_meta "google" { - module_name = "blueprints/terraform/hpc-toolkit:cloud-storage-bucket/v1.74.0" + module_name = "blueprints/terraform/hpc-toolkit:cloud-storage-bucket/v1.75.1" } provider_meta "google-beta" { - module_name = "blueprints/terraform/hpc-toolkit:cloud-storage-bucket/v1.74.0" + module_name = "blueprints/terraform/hpc-toolkit:cloud-storage-bucket/v1.75.1" } required_version = ">= 0.14.0" } diff --git a/modules/file-system/filestore/versions.tf b/modules/file-system/filestore/versions.tf index 1ba0e7967e..6d24d6c66f 100644 --- a/modules/file-system/filestore/versions.tf +++ b/modules/file-system/filestore/versions.tf @@ -26,10 +26,10 @@ terraform { } } provider_meta "google" { - module_name = "blueprints/terraform/hpc-toolkit:filestore/v1.74.0" + module_name = "blueprints/terraform/hpc-toolkit:filestore/v1.75.1" } provider_meta "google-beta" { - module_name = "blueprints/terraform/hpc-toolkit:filestore/v1.74.0" + module_name = "blueprints/terraform/hpc-toolkit:filestore/v1.75.1" } required_version = ">= 1.3.0" diff --git a/modules/file-system/gke-persistent-volume/versions.tf b/modules/file-system/gke-persistent-volume/versions.tf index fa1c3e2b3f..10cf38466a 100644 --- a/modules/file-system/gke-persistent-volume/versions.tf +++ b/modules/file-system/gke-persistent-volume/versions.tf @@ -25,6 +25,6 @@ terraform { } } provider_meta "google" { - module_name = "blueprints/terraform/hpc-toolkit:gke-persistent-volume/v1.74.0" + module_name = "blueprints/terraform/hpc-toolkit:gke-persistent-volume/v1.75.1" } } diff --git a/modules/file-system/gke-storage/versions.tf b/modules/file-system/gke-storage/versions.tf index bcc803e41e..bd82af2e98 100644 --- a/modules/file-system/gke-storage/versions.tf +++ b/modules/file-system/gke-storage/versions.tf @@ -16,6 +16,6 @@ terraform { required_version = ">= 1.5" provider_meta "google" { - module_name = "blueprints/terraform/hpc-toolkit:gke-storage/v1.74.0" + module_name = "blueprints/terraform/hpc-toolkit:gke-storage/v1.75.1" } } diff --git a/modules/file-system/managed-lustre/versions.tf b/modules/file-system/managed-lustre/versions.tf index 2322c9a8fd..73fd9c24b1 100644 --- a/modules/file-system/managed-lustre/versions.tf +++ b/modules/file-system/managed-lustre/versions.tf @@ -26,10 +26,10 @@ terraform { } } provider_meta "google" { - module_name = "blueprints/terraform/hpc-toolkit:managed-lustre/v1.74.0" + module_name = "blueprints/terraform/hpc-toolkit:managed-lustre/v1.75.1" } provider_meta "google-beta" { - module_name = "blueprints/terraform/hpc-toolkit:managed-lustre/v1.74.0" + module_name = "blueprints/terraform/hpc-toolkit:managed-lustre/v1.75.1" } required_version = ">= 1.3.0" diff --git a/modules/file-system/netapp-storage-pool/versions.tf b/modules/file-system/netapp-storage-pool/versions.tf index bf7da0a832..51417b6d95 100644 --- a/modules/file-system/netapp-storage-pool/versions.tf +++ b/modules/file-system/netapp-storage-pool/versions.tf @@ -27,10 +27,10 @@ terraform { } provider_meta "google" { - module_name = "blueprints/terraform/hpc-toolkit:netapp-storage-pool/v1.74.0" + module_name = "blueprints/terraform/hpc-toolkit:netapp-storage-pool/v1.75.1" } provider_meta "google-beta" { - module_name = "blueprints/terraform/hpc-toolkit:netapp-storage-pool/v1.74.0" + module_name = "blueprints/terraform/hpc-toolkit:netapp-storage-pool/v1.75.1" } required_version = ">= 1.5.7" diff --git a/modules/file-system/netapp-volume/versions.tf b/modules/file-system/netapp-volume/versions.tf index a850a3dfe2..b68c344e8d 100644 --- a/modules/file-system/netapp-volume/versions.tf +++ b/modules/file-system/netapp-volume/versions.tf @@ -22,10 +22,10 @@ terraform { } } provider_meta "google" { - module_name = "blueprints/terraform/hpc-toolkit:netapp-volume/v1.74.0" + module_name = "blueprints/terraform/hpc-toolkit:netapp-volume/v1.75.1" } provider_meta "google-beta" { - module_name = "blueprints/terraform/hpc-toolkit:netapp-volume/v1.74.0" + module_name = "blueprints/terraform/hpc-toolkit:netapp-volume/v1.75.1" } required_version = ">= 1.5.7" diff --git a/modules/management/kubectl-apply/versions.tf b/modules/management/kubectl-apply/versions.tf index 8032de754f..521180817f 100644 --- a/modules/management/kubectl-apply/versions.tf +++ b/modules/management/kubectl-apply/versions.tf @@ -35,7 +35,7 @@ terraform { } provider_meta "google" { - module_name = "blueprints/terraform/hpc-toolkit:kubectl-apply/v1.74.0" + module_name = "blueprints/terraform/hpc-toolkit:kubectl-apply/v1.75.1" } required_version = ">= 1.3" diff --git a/modules/monitoring/dashboard/versions.tf b/modules/monitoring/dashboard/versions.tf index 2717fe79f6..e7bf12f189 100644 --- a/modules/monitoring/dashboard/versions.tf +++ b/modules/monitoring/dashboard/versions.tf @@ -22,7 +22,7 @@ terraform { } } provider_meta "google" { - module_name = "blueprints/terraform/hpc-toolkit:dashboard/v1.74.0" + module_name = "blueprints/terraform/hpc-toolkit:dashboard/v1.75.1" } required_version = ">= 0.14.0" diff --git a/modules/network/firewall-rules/versions.tf b/modules/network/firewall-rules/versions.tf index 9061dd3ae5..3de30b53df 100644 --- a/modules/network/firewall-rules/versions.tf +++ b/modules/network/firewall-rules/versions.tf @@ -22,7 +22,7 @@ terraform { } } provider_meta "google" { - module_name = "blueprints/terraform/hpc-toolkit:firewall-rules/v1.74.0" + module_name = "blueprints/terraform/hpc-toolkit:firewall-rules/v1.75.1" } required_version = ">= 1.5" diff --git a/modules/network/pre-existing-subnetwork/versions.tf b/modules/network/pre-existing-subnetwork/versions.tf index 917d948433..59a1c05e01 100644 --- a/modules/network/pre-existing-subnetwork/versions.tf +++ b/modules/network/pre-existing-subnetwork/versions.tf @@ -22,7 +22,7 @@ terraform { } } provider_meta "google" { - module_name = "blueprints/terraform/hpc-toolkit:pre-existing-subnetwork/v1.74.0" + module_name = "blueprints/terraform/hpc-toolkit:pre-existing-subnetwork/v1.75.1" } required_version = ">= 1.5" diff --git a/modules/network/pre-existing-vpc/versions.tf b/modules/network/pre-existing-vpc/versions.tf index 81fe5aeff3..d425563a52 100644 --- a/modules/network/pre-existing-vpc/versions.tf +++ b/modules/network/pre-existing-vpc/versions.tf @@ -22,7 +22,7 @@ terraform { } } provider_meta "google" { - module_name = "blueprints/terraform/hpc-toolkit:pre-existing-vpc/v1.74.0" + module_name = "blueprints/terraform/hpc-toolkit:pre-existing-vpc/v1.75.1" } required_version = ">= 1.5" diff --git a/modules/scheduler/batch-login-node/versions.tf b/modules/scheduler/batch-login-node/versions.tf index 15337a1d7b..ca4ac5d207 100644 --- a/modules/scheduler/batch-login-node/versions.tf +++ b/modules/scheduler/batch-login-node/versions.tf @@ -22,7 +22,7 @@ terraform { } } provider_meta "google" { - module_name = "blueprints/terraform/hpc-toolkit:batch-login-node/v1.74.0" + module_name = "blueprints/terraform/hpc-toolkit:batch-login-node/v1.75.1" } required_version = ">= 0.14.0" diff --git a/modules/scheduler/gke-cluster/README.md b/modules/scheduler/gke-cluster/README.md index dd4f7fdaa7..2c1a6d0974 100644 --- a/modules/scheduler/gke-cluster/README.md +++ b/modules/scheduler/gke-cluster/README.md @@ -173,7 +173,7 @@ limitations under the License. | [k8s\_network\_names](#input\_k8s\_network\_names) | Kubernetes network names details for GKE. If starting index is not specified for gvnic or rdma, it would be set to the default values. |
object({
gvnic_prefix = optional(string, "")
gvnic_start_index = optional(number, 1)
gvnic_postfix = optional(string, "")
rdma_prefix = optional(string, "")
rdma_start_index = optional(number, 0)
rdma_postfix = optional(string, "")
})
|
{
"gvnic_postfix": "",
"gvnic_prefix": "gvnic-",
"gvnic_start_index": 1,
"rdma_postfix": "",
"rdma_prefix": "rdma-",
"rdma_start_index": 0
}
| no | | [k8s\_service\_account\_name](#input\_k8s\_service\_account\_name) | Kubernetes service account name to use with the gke cluster | `string` | `"workload-identity-k8s-sa"` | no | | [labels](#input\_labels) | GCE resource labels to be applied to resources. Key-value pairs. | `map(string)` | n/a | yes | -| [maintenance\_exclusions](#input\_maintenance\_exclusions) | List of maintenance exclusions. A cluster can have up to three. |
list(object({
name = string
start_time = string
end_time = string
exclusion_scope = string
}))
| `[]` | no | +| [maintenance\_exclusions](#input\_maintenance\_exclusions) | List of maintenance exclusions. A cluster can have up to three. For each exclusion, exactly one of `end_time` or `exclusion_end_time_behavior` must be specified. If `exclusion_end_time_behavior` is used, its value must be `UNTIL_END_OF_SUPPORT`. |
list(object({
name = string
start_time = string
end_time = optional(string)
exclusion_scope = string
exclusion_end_time_behavior = optional(string)
}))
| `[]` | no | | [maintenance\_start\_time](#input\_maintenance\_start\_time) | Start time for daily maintenance operations. Specified in GMT with `HH:MM` format. | `string` | `"09:00"` | no | | [master\_authorized\_networks](#input\_master\_authorized\_networks) | External network that can access Kubernetes master through HTTPS. Must be specified in CIDR notation. |
list(object({
cidr_block = string
display_name = string
}))
| `[]` | no | | [master\_ipv4\_cidr\_block](#input\_master\_ipv4\_cidr\_block) | (Beta) The IP range in CIDR notation to use for the hosted master network. | `string` | `"172.16.0.32/28"` | no | diff --git a/modules/scheduler/gke-cluster/main.tf b/modules/scheduler/gke-cluster/main.tf index 6106f8d90f..01e384d3ea 100644 --- a/modules/scheduler/gke-cluster/main.tf +++ b/modules/scheduler/gke-cluster/main.tf @@ -198,7 +198,8 @@ resource "google_container_cluster" "gke_cluster" { start_time = maintenance_exclusion.value.start_time end_time = maintenance_exclusion.value.end_time exclusion_options { - scope = maintenance_exclusion.value.exclusion_scope + scope = maintenance_exclusion.value.exclusion_scope + end_time_behavior = maintenance_exclusion.value.exclusion_end_time_behavior } } } diff --git a/modules/scheduler/gke-cluster/variables.tf b/modules/scheduler/gke-cluster/variables.tf index 8d863b1730..a02388bd91 100644 --- a/modules/scheduler/gke-cluster/variables.tf +++ b/modules/scheduler/gke-cluster/variables.tf @@ -104,14 +104,31 @@ variable "maintenance_start_time" { } variable "maintenance_exclusions" { - description = "List of maintenance exclusions. A cluster can have up to three." + description = "List of maintenance exclusions. A cluster can have up to three. For each exclusion, exactly one of `end_time` or `exclusion_end_time_behavior` must be specified. If `exclusion_end_time_behavior` is used, its value must be `UNTIL_END_OF_SUPPORT`." type = list(object({ - name = string - start_time = string - end_time = string - exclusion_scope = string + name = string + start_time = string + end_time = optional(string) + exclusion_scope = string + exclusion_end_time_behavior = optional(string) })) default = [] + validation { + condition = alltrue([ + for x in var.maintenance_exclusions : ( + ((x.end_time != null) != (x.exclusion_end_time_behavior != null)) && + (x.end_time == null || length(trimspace(x.end_time)) > 0) + ) + ]) + error_message = "For each maintenance exclusion, exactly one of 'end_time' or 'exclusion_end_time_behavior' must be specified. If 'end_time' is provided, it cannot be an empty string." + } + validation { + condition = alltrue([ + for x in var.maintenance_exclusions : + x.exclusion_end_time_behavior == null || x.exclusion_end_time_behavior == "UNTIL_END_OF_SUPPORT" + ]) + error_message = "If specified, 'exclusion_end_time_behavior' must be 'UNTIL_END_OF_SUPPORT'." + } validation { condition = alltrue([ for x in var.maintenance_exclusions : diff --git a/modules/scheduler/gke-cluster/versions.tf b/modules/scheduler/gke-cluster/versions.tf index 27c8bbb884..42ea4e2b35 100644 --- a/modules/scheduler/gke-cluster/versions.tf +++ b/modules/scheduler/gke-cluster/versions.tf @@ -30,10 +30,10 @@ terraform { } } provider_meta "google" { - module_name = "blueprints/terraform/hpc-toolkit:gke-cluster/v1.74.0" + module_name = "blueprints/terraform/hpc-toolkit:gke-cluster/v1.75.1" } provider_meta "google-beta" { - module_name = "blueprints/terraform/hpc-toolkit:gke-cluster/v1.74.0" + module_name = "blueprints/terraform/hpc-toolkit:gke-cluster/v1.75.1" } } diff --git a/modules/scheduler/pre-existing-gke-cluster/versions.tf b/modules/scheduler/pre-existing-gke-cluster/versions.tf index 562d8647b1..b0ff893066 100644 --- a/modules/scheduler/pre-existing-gke-cluster/versions.tf +++ b/modules/scheduler/pre-existing-gke-cluster/versions.tf @@ -23,7 +23,7 @@ terraform { } provider_meta "google" { - module_name = "blueprints/terraform/hpc-toolkit:pre-existing-gke-cluster/v1.74.0" + module_name = "blueprints/terraform/hpc-toolkit:pre-existing-gke-cluster/v1.75.1" } required_version = ">= 1.3" diff --git a/modules/scripts/startup-script/versions.tf b/modules/scripts/startup-script/versions.tf index 8dace3ac83..42598adc19 100644 --- a/modules/scripts/startup-script/versions.tf +++ b/modules/scripts/startup-script/versions.tf @@ -30,7 +30,7 @@ terraform { } } provider_meta "google" { - module_name = "blueprints/terraform/hpc-toolkit:startup-script/v1.74.0" + module_name = "blueprints/terraform/hpc-toolkit:startup-script/v1.75.1" } required_version = ">= 1.5"