You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Integrate CVO with the Lightspeed agent framework by creating Proposal
CRs when available updates are discovered. This includes OLM operator
lifecycle readiness checks, product lifecycle (PLCC) data via a shared
agentic-skills image, and proposal creation gated behind the
LightspeedProposals feature gate.
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
- Never test against production clusters - always use disposable test environments
191
-
- CVO has significant control over cluster state and can disrupt operations during development
191
+
- CVO has significant control over cluster state and can disrupt operations during development
192
+
193
+
## Lightspeed Proposal Integration
194
+
195
+
The CVO creates `Proposal` CRs (API group `agentic.openshift.io/v1alpha1`) when available updates are discovered, gated behind the `LightspeedProposals` feature gate.
196
+
197
+
### Key files
198
+
-`pkg/proposal/proposal.go` — Creates Proposal CRs with pre-collected readiness data
199
+
-`pkg/proposal/proposal_test.go` — Unit tests for proposal creation and dedup
# 5. Watch for proposal creation (happens after first Cincinnati update check, ~2-5 min)
262
+
oc get proposals -n openshift-lightspeed -w
263
+
```
264
+
265
+
### Gotchas
266
+
-**PAYLOAD_OVERRIDE is critical** — without it, the CVO reads `/release-manifests/release-metadata` (which doesn't exist in the dev image) and falls back to version `0.0.1-snapshot`, disabling all feature gates including `LightspeedProposals`.
267
+
-**Remove the CVO deployment manifest** from `_output/payload-override/manifests/` — otherwise the CVO reconciles its own deployment and reverts the image/env changes.
268
+
-**KUBERNETES_SERVICE_HOST must be the API hostname** (e.g., `api-int.cluster.example.com`), not a node IP. Using `fieldRef: status.hostIP` causes TLS errors.
269
+
-**All deployment changes must be in a single `oc patch`** — sequential patches trigger rollouts that can lose env vars.
270
+
-**Leader lease timeout** — after patching, the new pod must wait up to ~2 min for the old pod's lease to expire before it can start reconciling.
271
+
-**Skills image** comes from the shared `agentic-skills` repo (`registry.ci.openshift.org/ocp/4.22:agentic-skills`). The Agent CR selects specific skills via `paths`.
0 commit comments