Skip to content

Commit 1426fdd

Browse files
authored
Fix/contributing crd setup notes (#861)
* docs: recommend one-shot setup and document InferencePool CRD race condition In docs/developer-guide/development.md: - Recommend 'CREATE_CLUSTER=true make deploy-wva-emulated-on-kind' as the preferred one-shot setup to avoid a CRD timing race - Preserve the two-step alternative with a note pointing to Known Setup Issues - Add 'Known Setup Issues' section with symptom, cause, and two remediation options for the InferencePool CRD-not-found error Signed-off-by: Srujan Reddy <srjnreddy33@gmail.com> * dummy commit --------- Signed-off-by: Srujan Reddy <srjnreddy33@gmail.com>
1 parent b1b8707 commit 1426fdd

1 file changed

Lines changed: 49 additions & 5 deletions

File tree

docs/developer-guide/development.md

Lines changed: 49 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -93,17 +93,27 @@ make run
9393

9494
#### Option 2: In a Kind cluster
9595

96+
The recommended approach is the one-shot command that creates the cluster and deploys everything
97+
in a single step, avoiding a CRD timing race (see [Known Setup Issues](#known-setup-issues)):
98+
9699
```bash
97-
# Create a Kind cluster with emulated GPUs
98-
make create-kind-cluster
100+
# Recommended: create cluster + deploy WVA + llm-d infrastructure in one step
101+
CREATE_CLUSTER=true make deploy-wva-emulated-on-kind
102+
```
99103

100-
# Deploy the controller
101-
make deploy IMG=<your-image>
104+
Alternatively, as two separate steps:
105+
106+
```bash
107+
# Step 1: Create a Kind cluster with emulated GPUs
108+
make create-kind-cluster
102109

103-
# Or deploy with llm-d infrastructure
110+
# Or deploy with the full llm-d infrastructure
104111
make deploy-wva-emulated-on-kind
105112
```
106113

114+
> **Note:** If the two-step approach fails with `no matches for kind "InferencePool"`,
115+
> see [Known Setup Issues](#known-setup-issues).
116+
107117
### Making Changes
108118

109119
1. **Create a feature branch:**
@@ -380,3 +390,37 @@ make create-kind-cluster
380390

381391
- Review [Code Style Guidelines](../../CONTRIBUTING.md#coding-guidelines)
382392
- Check out [Good First Issues](https://github.com/llm-d/llm-d-workload-variant-autoscaler/labels/good%20first%20issue)
393+
394+
---
395+
396+
## Known Setup Issues
397+
398+
### InferencePool CRD not found during `make deploy-wva-emulated-on-kind`
399+
400+
**Symptom:**
401+
```
402+
Error: no matches for kind "InferencePool" in version "inference.networking.x-k8s.io/v1alpha2"
403+
ensure CRDs are installed first
404+
```
405+
406+
**Cause:** When running `make create-kind-cluster` and `make deploy-wva-emulated-on-kind` as two
407+
separate commands, there can be a timing race: the Gateway API Inference Extension CRDs are
408+
applied by the deploy script but the Kubernetes API server hasn't finished registering them
409+
before the helmfile tries to deploy the `InferencePool` resource.
410+
411+
**Fix (Option 1 — preferred):** Use the one-shot command, which gives the API server enough
412+
time to register the CRDs during cluster startup:
413+
414+
```bash
415+
CREATE_CLUSTER=true make deploy-wva-emulated-on-kind
416+
```
417+
418+
**Fix (Option 2):** If you already have a running cluster and hit this error, install the CRDs
419+
manually and re-run the deploy (it is idempotent):
420+
421+
```bash
422+
kubectl apply -f https://github.com/kubernetes-sigs/gateway-api-inference-extension/releases/download/v1.0.1/manifests.yaml
423+
kubectl wait --for=condition=Established crd/inferencepools.inference.networking.x-k8s.io --timeout=30s
424+
kubectl wait --for=condition=Established crd/inferencepools.inference.networking.k8s.io --timeout=30s
425+
make deploy-wva-emulated-on-kind
426+
```

0 commit comments

Comments
 (0)