[QA][CI] wait-cluster step times out waiting for KUBECONFIG file in multiple K8s API test suites
- Dominant language
- Go
- Stars
- 2.1k
- Forks
- 274
- Avg merge
- 2d 2h
- Merged PRs (30d)
- 106
Description
**Branches:** master, nightly-8.0
---
### Summary
Multiple K8s-based API test suites are consistently failing at the `wait-cluster` CI step. The step times out (300s) while waiting for the `KUBECONFIG` file to be created, meaning the cluster never becomes ready (or the file is never written to the expected path).
---
### Affected Test Suites
| Test Suite | Drone Build | Step | Link |
|---|---|---|---|
| `API-contractAndLock-k8s` | #52157 | `wait-cluster` (step 3) | https://drone.owncloud.com/owncloud/ocis/52157/14/3 |
| `API-spaces-withRemotePhp-k8s` | #52157 | `wait-cluster` (step 3) | https://drone.owncloud.com/owncloud/ocis/52157/19/3 |
| `API-search2-k8s` | #52138 | `wait-cluster` (step 4) | https://drone.owncloud.com/owncloud/ocis/52138/26/4 |
| `API-spacesShares-withRemotePhp-k8s` | #52136 | `wait-cluster-ocis-server` (step 4) | https://drone.owncloud.com/owncloud/ocis/52136/21/4 |
---
### Failing Step
**Step name:** `wait-cluster`
**Actual failure log:**
```bash
export KUBECONFIG=kubeconfig-${DRONE_BUILD_NUMBER}.yaml
timeout 300 bash -c 'until test -f ${KUBECONFIG}; do sleep 1; done'
Terminated.
```
The `timeout 300` guard expires, meaning `kubeconfig-.yaml` was never written within the 300-second window.
---
### Expected Behavior
- The cluster setup step writes the kubeconfig file to `kubeconfig-${DRONE_BUILD_NUMBER}.yaml`.
- The `wait-cluster` step detects the file within the timeout window and proceeds.
- Test suite execution continues normally.
---
### Actual Behavior
- The `wait-cluster` step polls for the kubeconfig file every second for 300 seconds.
- The file is never created.
- The step is terminated with `Terminated.` after the 300s timeout.
- All downstream test steps are skipped as a result.
---
### Suggested Investigation Steps
1. Check the step that **precedes** `wait-cluster` — does the cluster creation step exit 0?
2. Verify the kubeconfig file write path matches `kubeconfig-${DRONE_BUILD_NUMBER}.yaml` exactly.
Contributor guide
Assessment
This issue has not been assessed yet.