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))
 	}