MShekow / azure-pipelines-k8s-agent-scaler

A Kubernetes operator for Azure DevOps Pipelines agents
Apache License 2.0
5 stars 0 forks source link

Tests: improve E2E test suite stability by replacing fake server tunneling #43

Open MShekow opened 2 weeks ago

MShekow commented 2 weeks ago

At the moment, the fake platform server runs natively on the host (where gingko runs), and ktunnel is used to make it accessible from within the K8s cluster. However, the tunnel connection is flaky (on macOS even more so than on native Linux, on macOS there are "connection refused" problems on almost every 2nd suite execution).

While we could solve this by replacing ktunnel with a different solution (e.g. telepresence), an even better solution would be to package the fake platform server as Docker container, deploy it to the cluster, and then expose it to the host (either via NodePort service or via kubectl port-forward). This would require adding more REST routes to the fake platform server, to control it , and implement a thin client layer that calls that REST interface.