diff --git a/community/modules/compute/gke-nodeset/versions.tf b/community/modules/compute/gke-nodeset/versions.tf
index fb45b0a4f2..1ce6f1547c 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.94.0"
+ module_name = "blueprints/terraform/hpc-toolkit:gke-nodeset/v1.95.0"
}
}
diff --git a/community/modules/compute/gke-partition/versions.tf b/community/modules/compute/gke-partition/versions.tf
index 349172de8d..c7612bfe65 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.94.0"
+ module_name = "blueprints/terraform/hpc-toolkit:gke-partition/v1.95.0"
}
}
diff --git a/community/modules/compute/htcondor-execute-point/README.md b/community/modules/compute/htcondor-execute-point/README.md
index a5b6669c58..1ce39ba636 100644
--- a/community/modules/compute/htcondor-execute-point/README.md
+++ b/community/modules/compute/htcondor-execute-point/README.md
@@ -249,7 +249,7 @@ limitations under the License.
| [metadata](#input\_metadata) | Metadata to add to HTCondor execute points | `map(string)` | `{}` | no |
| [min\_idle](#input\_min\_idle) | Minimum number of idle VMs in the HTCondor pool (if pool reaches var.max\_size, this minimum is not guaranteed); set to ensure jobs beginning run more quickly. | `number` | `0` | no |
| [name\_prefix](#input\_name\_prefix) | Name prefix given to hostnames in this group of execute points; must be unique across all instances of this module | `string` | n/a | yes |
-| [network\_interfaces](#input\_network\_interfaces) | A list of network interfaces to attach to HTCondor execute point instances.
Each network interface should have the following fields:
- network (required): The self link of the network
- subnetwork (optional): The self link of the subnetwork
- nic\_type (optional): "GVNIC" or "VIRTIO\_NET"
- stack\_type (optional): "IPV4\_ONLY" or "IPV4\_IPV6"
- network\_ip (optional): Specific IP address to assign
- queue\_count (optional): Queue count for multiqueue NIC
- access\_config (optional): List of NAT config objects
- ipv6\_access\_config (optional): List of IPv6 access config objects
- alias\_ip\_range (optional): List of alias IP ranges
If the list is empty, the module will fall back to using var.network\_self\_link
and var.subnetwork\_self\_link for backward compatibility.
NB: If you update the current setup with network interfaces, you may need to delete the current mig to apply the new network interface configuration |
list(object({
network = string
subnetwork = optional(string)
subnetwork_project = optional(string)
nic_type = optional(string)
stack_type = optional(string)
network_ip = optional(string, "")
queue_count = optional(number)
access_config = optional(list(object({
nat_ip = optional(string)
network_tier = optional(string)
})), [])
ipv6_access_config = optional(list(object({
network_tier = optional(string)
})), [])
alias_ip_range = optional(list(object({
ip_cidr_range = string
subnetwork_range_name = string
})), [])
})) | `[]` | no |
+| [network\_interfaces](#input\_network\_interfaces) | A list of network interfaces to attach to HTCondor execute point instances.list(object({
network = string
subnetwork = optional(string)
subnetwork_project = optional(string)
nic_type = optional(string)
stack_type = optional(string)
network_ip = optional(string, "")
queue_count = optional(number)
access_config = optional(list(object({
nat_ip = optional(string)
network_tier = optional(string)
})), [])
ipv6_access_config = optional(list(object({
network_tier = optional(string)
})), [])
alias_ip_range = optional(list(object({
ip_cidr_range = string
subnetwork_range_name = string
})), [])
})) | `[]` | no |
| [network\_self\_link](#input\_network\_self\_link) | The self link of the network HTCondor execute points will join | `string` | `"default"` | no |
| [network\_storage](#input\_network\_storage) | An array of network attached storage mounts to be configured | list(object({
server_ip = string,
remote_mount = string,
local_mount = string,
fs_type = string,
mount_options = string,
client_install_runner = map(string)
mount_runner = map(string)
})) | `[]` | no |
| [project\_id](#input\_project\_id) | Project in which the HTCondor execute points will be created | `string` | n/a | yes |
diff --git a/community/modules/compute/htcondor-execute-point/main.tf b/community/modules/compute/htcondor-execute-point/main.tf
index 8d3de4fb7d..143a2ab3c1 100644
--- a/community/modules/compute/htcondor-execute-point/main.tf
+++ b/community/modules/compute/htcondor-execute-point/main.tf
@@ -125,6 +125,7 @@ locals {
for ni in var.network_interfaces : {
network = ni.network
subnetwork = ni.subnetwork
+ subnetwork_project = ni.subnetwork_project
nic_type = ni.nic_type
stack_type = ni.stack_type
network_ip = ni.network_ip
@@ -138,6 +139,7 @@ locals {
{
network = var.network_self_link
subnetwork = var.subnetwork_self_link
+ subnetwork_project = null
nic_type = null
stack_type = null
network_ip = ""
@@ -182,11 +184,12 @@ module "execute_point_instance_template" {
source = "terraform-google-modules/vm/google//modules/instance_template"
version = "~> 14.0"
- name_prefix = local.name_prefix
- project_id = var.project_id
- region = var.region
- network = local.network_interfaces[0].network
- subnetwork = local.network_interfaces[0].subnetwork
+ name_prefix = local.name_prefix
+ project_id = var.project_id
+ region = var.region
+ network = local.network_interfaces[0].network
+ subnetwork = local.network_interfaces[0].subnetwork
+ subnetwork_project = local.network_interfaces[0].subnetwork_project
additional_networks = [
for network_interface in slice(local.network_interfaces, 1, length(local.network_interfaces)) : {
diff --git a/community/modules/compute/htcondor-execute-point/variables.tf b/community/modules/compute/htcondor-execute-point/variables.tf
index 3fd4876aad..fd0fa8c8dd 100644
--- a/community/modules/compute/htcondor-execute-point/variables.tf
+++ b/community/modules/compute/htcondor-execute-point/variables.tf
@@ -141,6 +141,7 @@ variable "network_interfaces" {
Each network interface should have the following fields:
- network (required): The self link of the network
- subnetwork (optional): The self link of the subnetwork
+ - subnetwork_project (optional): The self link of the subnetwork project
- nic_type (optional): "GVNIC" or "VIRTIO_NET"
- stack_type (optional): "IPV4_ONLY" or "IPV4_IPV6"
- network_ip (optional): Specific IP address to assign
diff --git a/community/modules/compute/htcondor-execute-point/versions.tf b/community/modules/compute/htcondor-execute-point/versions.tf
index 37893caf69..6914210a89 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.94.0"
+ module_name = "blueprints/terraform/hpc-toolkit:htcondor-execute-point/v1.95.0"
}
}
diff --git a/community/modules/compute/mig/versions.tf b/community/modules/compute/mig/versions.tf
index 41ce9521bb..117c8c2497 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.94.0"
+ module_name = "blueprints/terraform/hpc-toolkit:mig/v1.95.0"
}
}
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 d982715505..c6a512c72c 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.12.2"
provider_meta "google" {
- module_name = "blueprints/terraform/hpc-toolkit:schedmd-slurm-gcp-v6-nodeset-dynamic/v1.94.0"
+ module_name = "blueprints/terraform/hpc-toolkit:schedmd-slurm-gcp-v6-nodeset-dynamic/v1.95.0"
}
}
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 49ff954073..0e6fe7853a 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.12.2"
provider_meta "google" {
- module_name = "blueprints/terraform/hpc-toolkit:schedmd-slurm-gcp-v6-nodeset-tpu/v1.94.0"
+ module_name = "blueprints/terraform/hpc-toolkit:schedmd-slurm-gcp-v6-nodeset-tpu/v1.95.0"
}
}
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 9e08b9e735..04d8c03f36 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.94.0"
+ module_name = "blueprints/terraform/hpc-toolkit:schedmd-slurm-gcp-v6-nodeset/v1.95.0"
}
}
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 b23bc03677..77f0727c43 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.12.2"
provider_meta "google" {
- module_name = "blueprints/terraform/hpc-toolkit:schedmd-slurm-gcp-v6-partition/v1.94.0"
+ module_name = "blueprints/terraform/hpc-toolkit:schedmd-slurm-gcp-v6-partition/v1.95.0"
}
}
diff --git a/community/modules/database/slurm-cloudsql-federation/versions.tf b/community/modules/database/slurm-cloudsql-federation/versions.tf
index 224ba0e63c..a10dcad632 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.94.0"
+ module_name = "blueprints/terraform/hpc-toolkit:slurm-cloudsql-federation/v1.95.0"
}
provider_meta "google-beta" {
- module_name = "blueprints/terraform/hpc-toolkit:slurm-cloudsql-federation/v1.94.0"
+ module_name = "blueprints/terraform/hpc-toolkit:slurm-cloudsql-federation/v1.95.0"
}
required_version = ">= 1.12.2"
diff --git a/community/modules/file-system/nfs-server/versions.tf b/community/modules/file-system/nfs-server/versions.tf
index da2ffb10cf..6b2160c2fd 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.94.0"
+ module_name = "blueprints/terraform/hpc-toolkit:nfs-server/v1.95.0"
}
required_version = ">= 1.12.2"
diff --git a/community/modules/files/fsi-montecarlo-on-batch/versions.tf b/community/modules/files/fsi-montecarlo-on-batch/versions.tf
index 5a17e46244..f8c1a2aedd 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.94.0"
+ module_name = "blueprints/terraform/hpc-toolkit:fsi-montecarlo-on-batch/v1.95.0"
}
provider_meta "google-beta" {
- module_name = "blueprints/terraform/hpc-toolkit:fsi-montecarlo-on-batch/v1.94.0"
+ module_name = "blueprints/terraform/hpc-toolkit:fsi-montecarlo-on-batch/v1.95.0"
}
}
diff --git a/community/modules/internal/slurm-gcp/login/versions.tf b/community/modules/internal/slurm-gcp/login/versions.tf
index e615852f06..91d146513f 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-login/v1.94.0"
+ module_name = "blueprints/terraform/hpc-toolkit:schedmd-slurm-gcp-v6-login/v1.95.0"
}
}
diff --git a/community/modules/project/service-enablement/versions.tf b/community/modules/project/service-enablement/versions.tf
index 7845aba7bb..6fa22b2914 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.94.0"
+ module_name = "blueprints/terraform/hpc-toolkit:service-enablement/v1.95.0"
}
required_version = ">= 1.12.2"
diff --git a/community/modules/pubsub/bigquery-sub/versions.tf b/community/modules/pubsub/bigquery-sub/versions.tf
index dbee72124a..5ff340d2bc 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.94.0"
+ module_name = "blueprints/terraform/hpc-toolkit:bigquery-sub/v1.95.0"
}
provider_meta "google-beta" {
- module_name = "blueprints/terraform/hpc-toolkit:bigquery-sub/v1.94.0"
+ module_name = "blueprints/terraform/hpc-toolkit:bigquery-sub/v1.95.0"
}
required_version = ">= 1.12.2"
}
diff --git a/community/modules/pubsub/topic/versions.tf b/community/modules/pubsub/topic/versions.tf
index c6aa3ec994..5e3c69acae 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.94.0"
+ module_name = "blueprints/terraform/hpc-toolkit:topic/v1.95.0"
}
}
diff --git a/community/modules/scheduler/htcondor-access-point/versions.tf b/community/modules/scheduler/htcondor-access-point/versions.tf
index df84753d75..9b0358e18c 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.94.0"
+ module_name = "blueprints/terraform/hpc-toolkit:htcondor-access-point/v1.95.0"
}
required_version = ">= 1.12.2"
diff --git a/community/modules/scheduler/htcondor-central-manager/versions.tf b/community/modules/scheduler/htcondor-central-manager/versions.tf
index 17a5a61219..64019baeb0 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.94.0"
+ module_name = "blueprints/terraform/hpc-toolkit:htcondor-central-manager/v1.95.0"
}
required_version = ">= 1.12.2"
diff --git a/community/modules/scheduler/htcondor-pool-secrets/versions.tf b/community/modules/scheduler/htcondor-pool-secrets/versions.tf
index 766105196a..d347227c65 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.94.0"
+ module_name = "blueprints/terraform/hpc-toolkit:htcondor-pool-secrets/v1.95.0"
}
required_version = ">= 1.12.2"
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 05da2ad238..5804b339b4 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.94.0"
+ module_name = "blueprints/terraform/hpc-toolkit:schedmd-slurm-gcp-v6-controller/v1.95.0"
}
}
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 6cbe4beef4..abe5914967 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.12.2"
provider_meta "google" {
- module_name = "blueprints/terraform/hpc-toolkit:schedmd-slurm-gcp-v6-login/v1.94.0"
+ module_name = "blueprints/terraform/hpc-toolkit:schedmd-slurm-gcp-v6-login/v1.95.0"
}
}
diff --git a/community/modules/scripts/wait-for-startup/versions.tf b/community/modules/scripts/wait-for-startup/versions.tf
index c39d3cf472..3f928c262d 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.94.0"
+ module_name = "blueprints/terraform/hpc-toolkit:wait-for-startup/v1.95.0"
}
required_version = ">= 1.12.2"
diff --git a/community/modules/scripts/windows-startup-script/versions.tf b/community/modules/scripts/windows-startup-script/versions.tf
index 1f82530448..62d25d564b 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.94.0"
+ module_name = "blueprints/terraform/hpc-toolkit:windows-startup-script/v1.95.0"
}
required_version = ">= 1.12.2"
diff --git a/examples/gke-a4x/gke-a4x.yaml b/examples/gke-a4x/gke-a4x.yaml
index ceda0aa906..4dc47c7b8b 100644
--- a/examples/gke-a4x/gke-a4x.yaml
+++ b/examples/gke-a4x/gke-a4x.yaml
@@ -157,6 +157,7 @@ deployment_groups:
enable_dcgm_monitoring: true
enable_gcsfuse_csi: true
enable_managed_lustre_csi: true # Enable Managed Lustre for the cluster
+ enable_dataplane_v2: true
enable_k8s_beta_apis:
- "resource.k8s.io/v1beta1/deviceclasses"
- "resource.k8s.io/v1beta1/resourceclaims"
diff --git a/modules/compute/gke-node-pool/README.md b/modules/compute/gke-node-pool/README.md
index d0ad29d0e4..3d79083093 100644
--- a/modules/compute/gke-node-pool/README.md
+++ b/modules/compute/gke-node-pool/README.md
@@ -346,7 +346,7 @@ limitations under the License.
| [disk\_type](#input\_disk\_type) | Disk type for each node. | `string` | `null` | no |
| [dranet\_allocation\_mode](#input\_dranet\_allocation\_mode) | Allocation mode for the auto-applied DRANET ResourceClaimTemplate (e.g., 'All' or 'ExactCount'). | `string` | `"All"` | no |
| [dranet\_device\_class\_name](#input\_dranet\_device\_class\_name) | DRA device class name. Default is mrdma.google.com (RDMA). Set to netdev.google.com for non-RDMA machines. | `string` | `"mrdma.google.com"` | no |
-| [enable\_dranet](#input\_enable\_dranet) | Enable GKE managed Dynamic Resource Allocation (DRA) driver for networking (DRANET) and Accelerator Network Profile (ANP). If null, automatically enabled for supported GPU/TPU nodes on GKE 1.34.1-gke.1829001 or later when Dataplane V2 is enabled on the cluster. | `bool` | `null` | no |
+| [enable\_dranet](#input\_enable\_dranet) | Enable GKE managed Dynamic Resource Allocation (DRA) driver for networking (DRANET) and Accelerator Network Profile (ANP). When set to true, this enables the driver for supported GPU/TPU nodes on GKE 1.34.1-gke.1829001 or later when Dataplane V2 is enabled on the cluster. | `bool` | `false` | no |
| [enable\_flex\_start](#input\_enable\_flex\_start) | If true, start the node pool with Flex Start provisioning model.