m/n/core/clusternet: grab external IP address prefix from network service
This moves the logic for merging the node IP and node prefixes from the
submitter of the prefixes into the clusternet logic itself.
This means clusternet now has two independent sources of prefix data:
the network service's external IP address, and the kubelet's node
prefixes.
This simplifies use in a worker/controller split, where a controller
node normally doesn't submit any prefixes as it's not running a kubelet
or kubelet-adjacent prefixes - but we still want it to submit its
external IP address.
Change-Id: I46c9430228ce966426d3a8d33a765ecfdfca0d29
Reviewed-on: https://review.monogon.dev/c/monogon/+/1479
Tested-by: Jenkins CI
Reviewed-by: Lorenz Brun <lorenz@monogon.tech>
diff --git a/metropolis/node/core/clusternet/BUILD.bazel b/metropolis/node/core/clusternet/BUILD.bazel
index c577d96..35e6903 100644
--- a/metropolis/node/core/clusternet/BUILD.bazel
+++ b/metropolis/node/core/clusternet/BUILD.bazel
@@ -14,6 +14,7 @@
"//metropolis/node",
"//metropolis/node/core/curator/proto/api",
"//metropolis/node/core/localstorage",
+ "//metropolis/node/core/network",
"//metropolis/pkg/event",
"//metropolis/pkg/supervisor",
"//metropolis/proto/common",
@@ -36,6 +37,7 @@
"//metropolis/node/core/curator/proto/api",
"//metropolis/node/core/localstorage",
"//metropolis/node/core/localstorage/declarative",
+ "//metropolis/node/core/network",
"//metropolis/pkg/event/memory",
"//metropolis/pkg/supervisor",
"//metropolis/proto/common",