Skip to content
This repository was archived by the owner on Jul 13, 2026. It is now read-only.

Introduce basic reconciliation loop for lightspeed-stack based deployment - #94

Merged
openshift-merge-bot[bot] merged 5 commits into
openstack-lightspeed:lcore-migrationfrom
lpiwowar:lpiwowar/lcore
Apr 16, 2026
Merged

Introduce basic reconciliation loop for lightspeed-stack based deployment#94
openshift-merge-bot[bot] merged 5 commits into
openstack-lightspeed:lcore-migrationfrom
lpiwowar:lpiwowar/lcore

Conversation

@lpiwowar

@lpiwowar lpiwowar commented Apr 9, 2026

Copy link
Copy Markdown
Contributor

This PR introduces three changes:

  1. Remove the OLS operator deployment code.
  2. Introduce new code that deploys OpenStack Lightspeed on top of lightspeed-stack.
  3. Update the KUTTL tests so that they check that the new lightspeed-stack based deployment works correctly.

As part of the lightspeed-stack deployment, neither the OpenShift console nor the Dataverse exporter is deployed. Only the core services are started:

  • PostgreSQL
  • lightspeed-stack
  • Llama Stack

How to test?

To validate that lightspeed-stack was deployed successfully, you can run the following command:

curl \
  -X POST \
  -H "Content-Type: application/json" \
  -H "Authorization: Bearer $(cat /var/run/secrets/kubernetes.io/serviceaccount/token)" \
  -k https://lightspeed-app-server:8443/v1/query \
  -d '{"query": "Tell me about Kubernetes"}'

within a toolbox pod deployed with the following manifests:

apiVersion: v1
kind: ServiceAccount
metadata:
  name: lightspeed-client
  namespace: openstack-lightspeed
---
apiVersion: rbac.authorization.k8s.io/v1
kind: ClusterRole
metadata:
  name: lightspeed-access
rules:
- nonResourceURLs: ["/ls-access"]
  verbs: ["get"]
---
apiVersion: rbac.authorization.k8s.io/v1
kind: ClusterRoleBinding
metadata:
  name: lightspeed-client-access
roleRef:
  apiGroup: rbac.authorization.k8s.io
  kind: ClusterRole
  name: lightspeed-access
subjects:
- kind: ServiceAccount
  name: lightspeed-client
  namespace: openstack-lightspeed
---
apiVersion: apps/v1
kind: Deployment
metadata:
  name: toolbox
  namespace: openstack-lightspeed
spec:
  replicas: 1
  selector:
    matchLabels:
      app: toolbox
  template:
    metadata:
      labels:
        app: toolbox
    spec:
      serviceAccountName: lightspeed-client
      containers:
      - name: tools
        image: registry.access.redhat.com/ubi8/ubi:latest
        command: ["/bin/sh", "-c", "sleep infinity"]

Summary by CodeRabbit

  • New Features

    • Operator now manages PostgreSQL and LCore (lightspeed core) workloads, with default container image URLs and built-in DB bootstrap/configuration and TLS support.
  • Changes

    • Default namespace renamed to openstack-lightspeed.
    • Removed dependency on external OpenShift Lightspeed operator; CRD spec fields related to catalog source removed.
    • RBAC and CSV/install metadata updated for the new installation model.
    • Improved readiness/status reporting based on deployment checks.
  • Tests

    • Test suite updated to the new namespace and to assert Postgres/LCore resources.
  • Documentation

    • README test guidance streamlined.

Loading
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants