*: bump up Go dependencies
This started off as 'let's bump gVisor'. However, pulling that thread
resulted in quite a few things that also required bumping for the build
to actually work. Here I come back from a day in the Bazel mines,
bearing fruits of my labor.
Notable changes:
- bump up gVisor
- bump up containerd
- bump up Bazel
- bump up rules_go, rules_docker, Gazelle
- use google.golang.org/protobuf (the 'new' go proto package)
- bump up gRPC (but not too much, as go-etcd is still straggling)
Notable effects:
- new gVisor supports TTY allocation (kubectl run -it
--image=ubuntu:20.04 ubuntu bash now works!)
Notable notes:
- gVisor shim has new been rolled into the main gVisor package and is
slightly easier to build (we can get rid of a bunch of patches).
- Opencontainers' runtime-specs now follow containerd instead of gVisor
- gVisor had to be taught to use the slightly newer runtime-specs via a
new patch.
- go_rule() in Starlark is now deprecated, and we had to change our
Starlark rule definitions to use rule() instead. We also had to patch
gVisor to do that (as there hasn't yet been a release that rolled
this up).
- Gazelle now supports different naming schemes for generated Go
targets - either the old //foo/bar:go_default_library scheme, or a
new and nicer //foo/bar:bar scheme. We currently force the usage of
the old scheme, as switching over is probably not going to be easy
(we use a lot of external Bazel files, and we have to wait for their
compatibility with the new scheme first).
- New Bazel/rules_go sets a TMPDIR long enough to generate paths (via
ioutil.TempDir) to which sockets cannot be bound (108-byte limit).
- The new protobuf API is incompatible with gogoproto. containerd/ttrpc
uses gogoproto, but we are smart enough to pull in the old protobuf
library as gogoproto's transitive dep. However, ttrpc also wants to
use some proto-generated grpc bits, and that doesn't work. We have to
pull in a ttrpc fork from a PR that hasn't yet been merged that fixes
this issue.
Test Plan: Refactor only, should be covered by tests.
X-Origin-Diff: phab/D689
GitOrigin-RevId: 1188c0605d25e7f40307fab5fd96e7019f3a9171
diff --git a/metropolis/test/e2e/k8s_cts/BUILD.bazel b/metropolis/test/e2e/k8s_cts/BUILD.bazel
index fc2ab84..afad6bc 100644
--- a/metropolis/test/e2e/k8s_cts/BUILD.bazel
+++ b/metropolis/test/e2e/k8s_cts/BUILD.bazel
@@ -45,8 +45,8 @@
data = [
"//metropolis/node:image",
"//metropolis/node:swtpm_data",
- "//metropolis/test/nanoswitch:initramfs",
"//metropolis/test/ktest:linux-testing",
+ "//metropolis/test/nanoswitch:initramfs",
"//third_party/edk2:firmware",
"@com_github_bonzini_qboot//:qboot-bin",
],
diff --git a/metropolis/test/launch/cli/launch-multi2/BUILD.bazel b/metropolis/test/launch/cli/launch-multi2/BUILD.bazel
index 743dff9..91efdd7 100644
--- a/metropolis/test/launch/cli/launch-multi2/BUILD.bazel
+++ b/metropolis/test/launch/cli/launch-multi2/BUILD.bazel
@@ -20,8 +20,8 @@
data = [
"//metropolis/node:image",
"//metropolis/node:swtpm_data",
- "//metropolis/test/nanoswitch:initramfs",
"//metropolis/test/ktest:linux-testing",
+ "//metropolis/test/nanoswitch:initramfs",
"//third_party/edk2:firmware",
"@com_github_bonzini_qboot//:qboot-bin",
],