Removes the Lightspeed Core (lcore) code#1566
Removes the Lightspeed Core (lcore) code#1566blublinsky wants to merge 1 commit intoopenshift:mainfrom
Conversation
|
[APPROVALNOTIFIER] This PR is NOT APPROVED This pull-request has been approved by: The full list of commands accepted by this bot can be found here. DetailsNeeds approval from an approver in each of these files:Approvers can indicate their approval by writing |
|
/retest |
Co-authored-by: Cursor <cursoragent@cursor.com>
|
@blublinsky: all tests passed! Full PR test history. Your PR dashboard. DetailsInstructions for interacting with me using PR comments are available here. If you have questions or suggestions related to my behavior, please file an issue against the kubernetes-sigs/prow repository. I understand the commands that are listed here. |
Description
Summary
Removes the Lightspeed Core (lcore) code path and makes the operator appserver-only again. Drops unused Llama Stack / generic provider API surface and CRD rules, trims dead helpers and tests, refreshes bundle/CRD/CSV and docs to match, and adds or extends unit tests (watchers, related images, TLS, controller helpers).
Motivation
The lcore stack and related API knobs were no longer the supported deployment model; keeping them duplicated logic, tests, and CRD surface without a clear product path. This PR consolidates on the legacy app server reconciliation flow and aligns the API, admission rules, and OLM bundle with what the controller actually implements.
What changed
Controller & entrypoint
internal/controller/lcore/ removed; reconciliation goes console → postgres → appserver only.
cmd/main.go: drop lcore-specific flags and wiring.
internal/controller/olsconfig_controller.go / olsconfig_helpers.go: reconcile path and comments updated for the single backend.
API & CRD
api/v1alpha1/olsconfig_types.go: remove DeploymentConfig.llamaStack (and related tuning), remove generic ProviderSpec fields (providerType, config, llamaStackGeneric enum / validations).
config/crd/bases/ and bundle/manifests/ols.openshift.io_olsconfigs.yaml: regenerated to match.
config/manifests/bases/ / bundle/manifests/ CSV: specDescriptors and bundle metadata updated (e.g. removed paths for dropped fields).
Validation & utils
internal/controller/utils/utils.go: simplify ValidateLLMCredentials (no generic JSON path); keep a defensive error for stale llamaStackGeneric in cluster data; refresh godoc to match behavior.
Remove internal/controller/utils/credentials.go, utils_generic_provider_test.go, and large chunks of obsolete test_fixtures.go / misc tests tied to removed flows.
Supporting packages
internal/relatedimages: lazy load related_images.json with a mutex, plus loader_test.go.
internal/controller/watchers: behavior tweaks and expanded tests.
internal/tls: additional tls_security_profile tests.
New / expanded tests: olsconfig_reconciler_test.go, resource_defaults_test.go, and targeted updates in appserver/postgres tests.
Docs & tooling
AGENTS.md, ARCHITECTURE.md, CONTRIBUTING.md, and related assistant/docs copy: remove lcore / --enable-lcore references; describe the current reconciliation model.
Makefile: BUNDLE_TAG set to 1.0.11 so local make bundle matches shipped CSV/version.
bundle.Dockerfile / hack/bundle.Dockerfile: bundle image release/version labels aligned with 1.0.11.
Breaking / operational notes
Existing OLSConfig manifests that still set removed fields (e.g. ols.deployment.llamaStack, llm.providers[].providerType / generic config, type: llamaStackGeneric) will fail CRD validation or operator validation until edited. Call this out in release notes if customers may have old YAML checked into Git or left on-cluster.
Type of change
Related Tickets & Documents
Checklist before requesting a review
Testing