| commit | a0bc6d3f0ce4f3a73eb0019e4f18f508ee36ce21 | [log] [tgz] |
|---|---|---|
| author | Serge Bazanski <serge@monogon.tech> | Wed Jun 28 18:57:40 2023 +0200 |
| committer | Serge Bazanski <serge@monogon.tech> | Mon Jul 03 08:03:11 2023 +0000 |
| tree | 6f77b3184d1cd558dfd8f29437fb61c2e74df431 | |
| parent | 3722025f8ed0b46eb7f48c7c0fbfc53de9e84340 [diff] |
m/test/e2e: split core/kubernetes tests, clean up
This splits the large TestE2E function into two separate functions and
tests: one which exercises the core functionality of Kubernetes, the
other which exercises just the Kubernetes bits.
This allows for easier testing during development, and generally trades
off higher resources usage for faster execution time in CI.
At the same time we do some small cleanups of the E2E functionality:
1. Node startup is now parallelized.
2. Non-bootstrap nodes can now be left in NEW (this was used in
diagnosing issue #234, but it currently unused in the main code).
3. Kubernetes access now goes over SOCKS.
4. Some Cluster helper functions have been added.
All in all this should allow us writing more E2E tests in the future,
and at some point also maybe turn Cluster into an interface that is
implemented both by the current framework but also some persistent tests
running against long-term VMs/physical machines.
Change-Id: Ia4586b2aaa5fc8c979d35f4b49513638481e4c10
Reviewed-on: https://review.monogon.dev/c/monogon/+/1870
Tested-by: Jenkins CI
Reviewed-by: Lorenz Brun <lorenz@monogon.tech>
This is the main repository containing the source code for the Monogon Platform.
This is pre-release software - take a look, and check back later!
Our build environment is self-contained and requires only minimal host dependencies:
/dev/kvm (if you want to run tests).Our docs assume that Bazelisk is available as bazel on your PATH.
Refer to SETUP.md for detailed instructions.
Build CLI and node image:
bazel build //metropolis/cli/dbg //:launch -c dbg
Launch an ephemeral test node:
bazel test //:launch -c dbg --test_output=streamed
Run a kubectl command while the test is running:
bazel-bin/metropolis/cli/dbg/dbg_/dbg kubectl describe node
Run full test suite:
bazel test -c dbg //...