buildlet: enable core dump creation on container VMs
Container-optimized OS sets kernel.core_pattern = "|/bin/false",
effectively disabling core dump creation regardless of RLIMIT_CORE.
We have tests that want to analyze core dumps, so reset core_pattern
back to the default value on boot.
For golang/go#25218.
Change-Id: I7e3cc7496a5428326855cc687b87cb4da76fdd66
Reviewed-on: https://go-review.googlesource.com/c/build/+/479557
Run-TryBot: Michael Pratt <mpratt@google.com>
Reviewed-by: Heschi Kreinick <heschi@google.com>
TryBot-Result: Gopher Robot <gobot@golang.org>
diff --git a/buildlet/gce.go b/buildlet/gce.go
index 41b39f1..222b425 100644
--- a/buildlet/gce.go
+++ b/buildlet/gce.go
@@ -214,8 +214,12 @@
emptyDir:
medium: Memory
`, opts.ProjectID, hconf.ContainerImage))
- } else if hconf.IsContainer() && hconf.CosArchitecture() == dashboard.CosArchARM64 {
+ addMeta("user-data", `#cloud-config
+runcmd:
+- sysctl -w kernel.core_pattern=core
+`)
+ } else if hconf.IsContainer() && hconf.CosArchitecture() == dashboard.CosArchARM64 {
addMeta("user-data", fmt.Sprintf(`#cloud-config
write_files:
@@ -239,6 +243,7 @@
runcmd:
- systemctl daemon-reload
- systemctl start buildlet.service
+- sysctl -w kernel.core_pattern=core
`, opts.ProjectID, hconf.ContainerImage))
}