This repository was archived by the owner on Mar 3, 2023. It is now read-only.
WIP: Add k8s integration tests to CI #3561
Draft
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
I'm aiming to get the integration tests to also run for a kuberentes cluster, currently rough progress for this is in
./scripts/travis/k8s.sh
. I'm sharing this as a draft to ask for pointers.So far the script ensures there is a test image (debian10 isn't working due to the TLS issue), then creates a kind cluster using the
./deploy/kubernetes/minikube/*.yaml
which it waits for before starting the integration tests. The cluster looks ok on the surface as the services appear healthy, and topologies can be created and their pods run (ignoring when resource requests are too high at the moment).The problems I'm seeing at the moment are that
topology-test-runner
instance state results are not written back to the HTTP collector on the host, which is accessible from the executors from the host URL passed to the test script, andhttp://127.0.0.1:8080
on the host.The topology structure is also not updated for
topology-test-runner
andtest-runner
. Zookeeper within the cluster is accessible onzookeeper:2181
, and127.0.0.1:2181
from the host.I suspect this is down to misconfiguration, maybe something like needing separate
~/.heron/conf/kubernetes/*.yaml
copies, one for within the cluster, one for the host.Once that's worked out, I'll clean up and refactor the
./scripts/travis/*.sh
test scripts and make a proper PR