Skip to content

Commit 442d146

Browse files
committed
add support for transparent huge pages configs
Signed-off-by: drfaust92 <[email protected]>
1 parent b589f64 commit 442d146

Some content is hidden

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

45 files changed

+532
-8
lines changed

README.md

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -250,6 +250,8 @@ Then perform the following commands on the root folder:
250250
| node\_pools\_resource\_manager\_tags | Map of maps containing resource manager tags by node-pool name | `map(map(string))` | <pre>{<br> "all": {},<br> "default-node-pool": {}<br>}</pre> | no |
251251
| node\_pools\_tags | Map of lists containing node network tags by node-pool name | `map(list(string))` | <pre>{<br> "all": [],<br> "default-node-pool": []<br>}</pre> | no |
252252
| node\_pools\_taints | Map of lists containing node taints by node-pool name | `map(list(object({ key = string, value = string, effect = string })))` | <pre>{<br> "all": [],<br> "default-node-pool": []<br>}</pre> | no |
253+
| node\_pools\_transparent\_hugepage\_defrag | Map of strings containing transparent hugepage defrag node config by node-pool name | `map(string)` | <pre>{<br> "all": "",<br> "default-node-pool": ""<br>}</pre> | no |
254+
| node\_pools\_transparent\_hugepage\_enabled | Map of strings containing transparent hugepage enabled node config by node-pool name | `map(string)` | <pre>{<br> "all": "",<br> "default-node-pool": ""<br>}</pre> | no |
253255
| non\_masquerade\_cidrs | List of strings in CIDR notation that specify the IP address ranges that do not use IP masquerading. | `list(string)` | <pre>[<br> "10.0.0.0/8",<br> "172.16.0.0/12",<br> "192.168.0.0/16"<br>]</pre> | no |
254256
| notification\_config\_topic | The desired Pub/Sub topic to which notifications will be sent by GKE. Format is projects/{project}/topics/{topic}. | `string` | `""` | no |
255257
| notification\_filter\_event\_type | Choose what type of notifications you want to receive. If no filters are applied, you'll receive all notification types. Can be used to filter what notifications are sent. Accepted values are UPGRADE\_AVAILABLE\_EVENT, UPGRADE\_EVENT, and SECURITY\_BULLETIN\_EVENT. | `list(string)` | `[]` | no |

autogen/main/cluster.tf.tmpl

Lines changed: 7 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1315,6 +1315,10 @@ resource "google_container_node_pool" "windows_pools" {
13151315
local.node_pools_linux_node_configs_sysctls[each.value["name"]],
13161316
local.node_pools_cgroup_mode["all"] == "" ? {} : { cgroup = local.node_pools_cgroup_mode["all"] },
13171317
local.node_pools_cgroup_mode[each.value["name"]] == "" ? {} : {cgroup = local.node_pools_cgroup_mode[each.value["name"]]},
1318+
local.node_pools_transparent_hugepage_enabled["all"] == "" ? {} : { transparent_hugepage = local.node_pools_transparent_hugepage_enabled["all"] },
1319+
local.node_pools_transparent_hugepage_enabled[each.value["name"]] == "" ? {} : { transparent_hugepage = local.node_pools_transparent_hugepage_enabled[each.value["name"]] },
1320+
local.node_pools_transparent_hugepage_defrag["all"] == "" ? {} : { transparent_hugepage_defrag = local.node_pools_transparent_hugepage_defrag["all"] },
1321+
local.node_pools_transparent_hugepage_defrag[each.value["name"]] == "" ? {} : { transparent_hugepage_defrag = local.node_pools_transparent_hugepage_defrag[each.value["name"]] },
13181322
local.node_pools_hugepage_size_2m["all"] == "" ? {} : { cgroup = local.node_pools_hugepage_size_2m["all"] },
13191323
local.node_pools_hugepage_size_2m[each.value["name"]] == "" ? {} : { cgroup = local.node_pools_hugepage_size_2m[each.value["name"]] },
13201324
local.node_pools_hugepage_size_1g["all"] == "" ? {} : { cgroup = local.node_pools_hugepage_size_1g["all"] },
@@ -1326,7 +1330,9 @@ resource "google_container_node_pool" "windows_pools" {
13261330
local.node_pools_linux_node_configs_sysctls["all"],
13271331
local.node_pools_linux_node_configs_sysctls[each.value["name"]]
13281332
)
1329-
cgroup_mode = try(coalesce(local.node_pools_cgroup_mode[each.value["name"]], local.node_pools_cgroup_mode["all"]), null)
1333+
cgroup_mode = try(coalesce(local.node_pools_cgroup_mode[each.value["name"]], local.node_pools_cgroup_mode["all"]), null)
1334+
transparent_hugepage_enabled = try(coalesce(local.node_pools_transparent_hugepage_enabled[each.value["name"]], local.node_pools_transparent_hugepage_enabled["all"]), null)
1335+
transparent_hugepage_defrag = try(coalesce(local.node_pools_transparent_hugepage_defrag[each.value["name"]], local.node_pools_transparent_hugepage_defrag["all"]), null)
13301336
dynamic "hugepages_config" {
13311337
for_each = length(merge(
13321338
local.node_pools_hugepage_size_2m["all"] == "" ? {} : { cgroup = local.node_pools_hugepage_size_2m["all"] },

autogen/main/variables.tf.tmpl

Lines changed: 22 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -274,6 +274,28 @@ variable "node_pools_cgroup_mode" {
274274
}
275275
}
276276

277+
variable "node_pools_transparent_hugepage_enabled" {
278+
type = map(string)
279+
description = "Map of strings containing transparent hugepage enabled node config by node-pool name"
280+
281+
# Default is being set in variables_defaults.tf
282+
default = {
283+
all = ""
284+
default-node-pool = ""
285+
}
286+
}
287+
288+
variable "node_pools_transparent_hugepage_defrag" {
289+
type = map(string)
290+
description = "Map of strings containing transparent hugepage defrag node config by node-pool name"
291+
292+
# Default is being set in variables_defaults.tf
293+
default = {
294+
all = ""
295+
default-node-pool = ""
296+
}
297+
}
298+
277299
variable "node_pools_hugepage_size_2m" {
278300
type = map(string)
279301
description = "Map of strings containing hugepage size 2m node config by node-pool name"

autogen/main/variables_defaults.tf.tmpl

Lines changed: 20 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -139,6 +139,26 @@ locals {
139139
var.node_pools_cgroup_mode
140140
)
141141

142+
node_pools_transparent_hugepage_enabled = merge(
143+
{ all = "" },
144+
{ default-node-pool = "" },
145+
zipmap(
146+
[for node_pool in var.node_pools : node_pool["name"]],
147+
[for node_pool in var.node_pools : ""]
148+
),
149+
var.node_pools_transparent_hugepage_enabled
150+
)
151+
152+
node_pools_transparent_hugepage_defrag = merge(
153+
{ all = "" },
154+
{ default-node-pool = "" },
155+
zipmap(
156+
[for node_pool in var.node_pools : node_pool["name"]],
157+
[for node_pool in var.node_pools : ""]
158+
),
159+
var.node_pools_transparent_hugepage_defrag
160+
)
161+
142162
node_pools_hugepage_size_2m = merge(
143163
{ all = "" },
144164
{ default-node-pool = "" },

cluster.tf

Lines changed: 7 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -997,6 +997,10 @@ resource "google_container_node_pool" "pools" {
997997
local.node_pools_linux_node_configs_sysctls[each.value["name"]],
998998
local.node_pools_cgroup_mode["all"] == "" ? {} : { cgroup = local.node_pools_cgroup_mode["all"] },
999999
local.node_pools_cgroup_mode[each.value["name"]] == "" ? {} : { cgroup = local.node_pools_cgroup_mode[each.value["name"]] },
1000+
local.node_pools_transparent_hugepage_enabled["all"] == "" ? {} : { transparent_hugepage = local.node_pools_transparent_hugepage_enabled["all"] },
1001+
local.node_pools_transparent_hugepage_enabled[each.value["name"]] == "" ? {} : { transparent_hugepage = local.node_pools_transparent_hugepage_enabled[each.value["name"]] },
1002+
local.node_pools_transparent_hugepage_defrag["all"] == "" ? {} : { transparent_hugepage_defrag = local.node_pools_transparent_hugepage_defrag["all"] },
1003+
local.node_pools_transparent_hugepage_defrag[each.value["name"]] == "" ? {} : { transparent_hugepage_defrag = local.node_pools_transparent_hugepage_defrag[each.value["name"]] },
10001004
local.node_pools_hugepage_size_2m["all"] == "" ? {} : { cgroup = local.node_pools_hugepage_size_2m["all"] },
10011005
local.node_pools_hugepage_size_2m[each.value["name"]] == "" ? {} : { cgroup = local.node_pools_hugepage_size_2m[each.value["name"]] },
10021006
local.node_pools_hugepage_size_1g["all"] == "" ? {} : { cgroup = local.node_pools_hugepage_size_1g["all"] },
@@ -1008,7 +1012,9 @@ resource "google_container_node_pool" "pools" {
10081012
local.node_pools_linux_node_configs_sysctls["all"],
10091013
local.node_pools_linux_node_configs_sysctls[each.value["name"]]
10101014
)
1011-
cgroup_mode = try(coalesce(local.node_pools_cgroup_mode[each.value["name"]], local.node_pools_cgroup_mode["all"]), null)
1015+
cgroup_mode = try(coalesce(local.node_pools_cgroup_mode[each.value["name"]], local.node_pools_cgroup_mode["all"]), null)
1016+
transparent_hugepage_enabled = try(coalesce(local.node_pools_transparent_hugepage_enabled[each.value["name"]], local.node_pools_transparent_hugepage_enabled["all"]), null)
1017+
transparent_hugepage_defrag = try(coalesce(local.node_pools_transparent_hugepage_defrag[each.value["name"]], local.node_pools_transparent_hugepage_defrag["all"]), null)
10121018
dynamic "hugepages_config" {
10131019
for_each = length(merge(
10141020
local.node_pools_hugepage_size_2m["all"] == "" ? {} : { cgroup = local.node_pools_hugepage_size_2m["all"] },

metadata.display.yaml

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -360,6 +360,12 @@ spec:
360360
node_pools_taints:
361361
name: node_pools_taints
362362
title: Node Pools Taints
363+
node_pools_transparent_hugepage_defrag:
364+
name: node_pools_transparent_hugepage_defrag
365+
title: Node Pools Transparent Hugepage Defrag
366+
node_pools_transparent_hugepage_enabled:
367+
name: node_pools_transparent_hugepage_enabled
368+
title: Node Pools Transparent Hugepage Enabled
363369
non_masquerade_cidrs:
364370
name: non_masquerade_cidrs
365371
title: Non Masquerade Cidrs

metadata.yaml

Lines changed: 12 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -315,6 +315,18 @@ spec:
315315
defaultValue:
316316
all: ""
317317
default-node-pool: ""
318+
- name: node_pools_transparent_hugepage_enabled
319+
description: Map of strings containing transparent hugepage enabled node config by node-pool name
320+
varType: map(string)
321+
defaultValue:
322+
all: ""
323+
default-node-pool: ""
324+
- name: node_pools_transparent_hugepage_defrag
325+
description: Map of strings containing transparent hugepage defrag node config by node-pool name
326+
varType: map(string)
327+
defaultValue:
328+
all: ""
329+
default-node-pool: ""
318330
- name: node_pools_hugepage_size_2m
319331
description: Map of strings containing hugepage size 2m node config by node-pool name
320332
varType: map(string)

modules/beta-private-cluster-update-variant/README.md

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -294,6 +294,8 @@ Then perform the following commands on the root folder:
294294
| node\_pools\_resource\_manager\_tags | Map of maps containing resource manager tags by node-pool name | `map(map(string))` | <pre>{<br> "all": {},<br> "default-node-pool": {}<br>}</pre> | no |
295295
| node\_pools\_tags | Map of lists containing node network tags by node-pool name | `map(list(string))` | <pre>{<br> "all": [],<br> "default-node-pool": []<br>}</pre> | no |
296296
| node\_pools\_taints | Map of lists containing node taints by node-pool name | `map(list(object({ key = string, value = string, effect = string })))` | <pre>{<br> "all": [],<br> "default-node-pool": []<br>}</pre> | no |
297+
| node\_pools\_transparent\_hugepage\_defrag | Map of strings containing transparent hugepage defrag node config by node-pool name | `map(string)` | <pre>{<br> "all": "",<br> "default-node-pool": ""<br>}</pre> | no |
298+
| node\_pools\_transparent\_hugepage\_enabled | Map of strings containing transparent hugepage enabled node config by node-pool name | `map(string)` | <pre>{<br> "all": "",<br> "default-node-pool": ""<br>}</pre> | no |
297299
| non\_masquerade\_cidrs | List of strings in CIDR notation that specify the IP address ranges that do not use IP masquerading. | `list(string)` | <pre>[<br> "10.0.0.0/8",<br> "172.16.0.0/12",<br> "192.168.0.0/16"<br>]</pre> | no |
298300
| notification\_config\_topic | The desired Pub/Sub topic to which notifications will be sent by GKE. Format is projects/{project}/topics/{topic}. | `string` | `""` | no |
299301
| notification\_filter\_event\_type | Choose what type of notifications you want to receive. If no filters are applied, you'll receive all notification types. Can be used to filter what notifications are sent. Accepted values are UPGRADE\_AVAILABLE\_EVENT, UPGRADE\_EVENT, and SECURITY\_BULLETIN\_EVENT. | `list(string)` | `[]` | no |

modules/beta-private-cluster-update-variant/cluster.tf

Lines changed: 7 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1163,6 +1163,10 @@ resource "google_container_node_pool" "pools" {
11631163
local.node_pools_linux_node_configs_sysctls[each.value["name"]],
11641164
local.node_pools_cgroup_mode["all"] == "" ? {} : { cgroup = local.node_pools_cgroup_mode["all"] },
11651165
local.node_pools_cgroup_mode[each.value["name"]] == "" ? {} : { cgroup = local.node_pools_cgroup_mode[each.value["name"]] },
1166+
local.node_pools_transparent_hugepage_enabled["all"] == "" ? {} : { transparent_hugepage = local.node_pools_transparent_hugepage_enabled["all"] },
1167+
local.node_pools_transparent_hugepage_enabled[each.value["name"]] == "" ? {} : { transparent_hugepage = local.node_pools_transparent_hugepage_enabled[each.value["name"]] },
1168+
local.node_pools_transparent_hugepage_defrag["all"] == "" ? {} : { transparent_hugepage_defrag = local.node_pools_transparent_hugepage_defrag["all"] },
1169+
local.node_pools_transparent_hugepage_defrag[each.value["name"]] == "" ? {} : { transparent_hugepage_defrag = local.node_pools_transparent_hugepage_defrag[each.value["name"]] },
11661170
local.node_pools_hugepage_size_2m["all"] == "" ? {} : { cgroup = local.node_pools_hugepage_size_2m["all"] },
11671171
local.node_pools_hugepage_size_2m[each.value["name"]] == "" ? {} : { cgroup = local.node_pools_hugepage_size_2m[each.value["name"]] },
11681172
local.node_pools_hugepage_size_1g["all"] == "" ? {} : { cgroup = local.node_pools_hugepage_size_1g["all"] },
@@ -1174,7 +1178,9 @@ resource "google_container_node_pool" "pools" {
11741178
local.node_pools_linux_node_configs_sysctls["all"],
11751179
local.node_pools_linux_node_configs_sysctls[each.value["name"]]
11761180
)
1177-
cgroup_mode = try(coalesce(local.node_pools_cgroup_mode[each.value["name"]], local.node_pools_cgroup_mode["all"]), null)
1181+
cgroup_mode = try(coalesce(local.node_pools_cgroup_mode[each.value["name"]], local.node_pools_cgroup_mode["all"]), null)
1182+
transparent_hugepage_enabled = try(coalesce(local.node_pools_transparent_hugepage_enabled[each.value["name"]], local.node_pools_transparent_hugepage_enabled["all"]), null)
1183+
transparent_hugepage_defrag = try(coalesce(local.node_pools_transparent_hugepage_defrag[each.value["name"]], local.node_pools_transparent_hugepage_defrag["all"]), null)
11781184
dynamic "hugepages_config" {
11791185
for_each = length(merge(
11801186
local.node_pools_hugepage_size_2m["all"] == "" ? {} : { cgroup = local.node_pools_hugepage_size_2m["all"] },

modules/beta-private-cluster-update-variant/metadata.display.yaml

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -400,6 +400,12 @@ spec:
400400
node_pools_taints:
401401
name: node_pools_taints
402402
title: Node Pools Taints
403+
node_pools_transparent_hugepage_defrag:
404+
name: node_pools_transparent_hugepage_defrag
405+
title: Node Pools Transparent Hugepage Defrag
406+
node_pools_transparent_hugepage_enabled:
407+
name: node_pools_transparent_hugepage_enabled
408+
title: Node Pools Transparent Hugepage Enabled
403409
non_masquerade_cidrs:
404410
name: non_masquerade_cidrs
405411
title: Non Masquerade Cidrs

0 commit comments

Comments
 (0)