Skip to content

Commit

Permalink
feat: Add a new single node policy to databricks-default-cluster-poli…
Browse files Browse the repository at this point in the history
…cies (#579)

* Add a new single node policy to databricks-default-cluster-policies

* enforce policy name prefix
  • Loading branch information
jayengee authored Apr 23, 2024
1 parent 81ed8d0 commit 2723df6
Show file tree
Hide file tree
Showing 2 changed files with 73 additions and 10 deletions.
82 changes: 73 additions & 9 deletions databricks-default-cluster-policies/main.tf
Original file line number Diff line number Diff line change
Expand Up @@ -139,7 +139,7 @@ module "large_personal_compute_cluster_policy" {
"hidden" : false
},
})
grantees = ["CZI - Large Personal Compute"]
grantees = ["${var.policy_name_prefix}Large Personal Compute"]
}

module "power_user_compute_cluster_policy" {
Expand Down Expand Up @@ -171,7 +171,7 @@ module "power_user_compute_cluster_policy" {
},
})

grantees = [local.power_user_group_name, "CZI - Power User Compute"]
grantees = [local.power_user_group_name, "${var.policy_name_prefix}Power User Compute"]
}

module "job_compute_cluster_policy" {
Expand All @@ -193,7 +193,7 @@ module "job_compute_cluster_policy" {
}
})

grantees = [local.power_user_group_name, "CZI - Job Compute"]
grantees = [local.power_user_group_name, "${var.policy_name_prefix}Job Compute"]
}

module "small_job_compute_cluster_policy" {
Expand All @@ -212,7 +212,7 @@ module "small_job_compute_cluster_policy" {
}
})

grantees = [local.power_user_group_name, "CZI - Small Job Compute"]
grantees = [local.power_user_group_name, "${var.policy_name_prefix}Small Job Compute"]
}

## Fully custom policies
Expand Down Expand Up @@ -261,7 +261,7 @@ module "large_gpu_large_clusters_cluster_policy" {
"defaultValue" : "g4dn.xlarge"
},
})
grantees = ["CZI - Large GPU Large Clusters"]
grantees = ["${var.policy_name_prefix}Large GPU Large Clusters"]
}

module "large_gpu_personal_cluster_policy" {
Expand Down Expand Up @@ -297,7 +297,7 @@ module "large_gpu_personal_cluster_policy" {
"defaultValue" : "g4dn.xlarge"
},
})
grantees = ["CZI - Large GPU Personal"]
grantees = ["${var.policy_name_prefix}Large GPU Personal"]
}

module "large_gpu_small_clusters_cluster_policy" {
Expand Down Expand Up @@ -345,7 +345,7 @@ module "large_gpu_small_clusters_cluster_policy" {
"defaultValue" : "g4dn.xlarge"
},
})
grantees = ["CZI - Large GPU Small Clusters"]
grantees = ["${var.policy_name_prefix}Large GPU Small Clusters"]
}

module "small_clusters" {
Expand Down Expand Up @@ -398,7 +398,7 @@ module "small_clusters" {
"hidden" : false
},
})
grantees = ["CZI - Small Clusters"]
grantees = ["${var.policy_name_prefix}Small Clusters"]
}

module "superset_compute_cluster_policy" {
Expand Down Expand Up @@ -434,5 +434,69 @@ module "superset_compute_cluster_policy" {
"defaultValue" : "superset_pool"
},
})
grantees = ["CZI - Superset Compute"]
grantees = ["${var.policy_name_prefix}Superset Compute"]
}

module "single_node_cluster_policy" {
source = "../databricks-cluster-policy"

databricks_host = var.databricks_host
databricks_workspace_id = var.databricks_workspace_id
policy_name = "${var.policy_name_prefix}Single Node Job Compute"
policy_overrides = merge(local.logging_override, {
"autotermination_minutes" : {
"type" : "fixed",
"value" : 120
},
"driver_node_type_id" : {
"type" : "regex",
"pattern" : "([rcip]+[3-5]+[d]*\\.[0-1]{0,1}xlarge)",
"hidden" : false
},
"aws_attributes.availability": {
"type": "allowlist",
"values": [
"ON_DEMAND",
"SPOT_WITH_FALLBACK"
],
"hidden": false
},
"runtime_engine": {
"type": "unlimited",
"defaultValue": "STANDARD",
"hidden": false
},
"autoscale.max_workers" : {
"type" : "fixed",
"value" : 0,
"hidden" : true
},
"autoscale.min_workers" : {
"type" : "fixed",
"value" : 0,
"hidden" : true
},
"data_security_mode" : {
"type" : "whitelist",
"values" : [
"USER_ISOLATION",
"SINGLE_USER"
]
},
"driver_node_type_id" : {
"type" : "regex",
"pattern" : "([rcip]+[3-5]+[d]*\\.[0-1]{0,1}xlarge)",
"hidden" : false
},
"enable_elastic_disk" : {
"type" : "fixed",
"value" : false,
"hidden" : true
},
"instance_pool_id" : {
"type" : "forbidden",
"hidden" : true
},
})
grantees = ["${var.policy_name_prefix}Single Node Job Compute"]
}
1 change: 0 additions & 1 deletion databricks-default-cluster-policies/variables.tf
Original file line number Diff line number Diff line change
Expand Up @@ -22,7 +22,6 @@ variable "databricks_log_bucket" {
variable "policy_name_prefix" {
description = "Prefix for policy names"
type = string
default = ""
}

variable "personal_compute_pool_ids" {
Expand Down

0 comments on commit 2723df6

Please sign in to comment.