Skip to content

WIP: Allow changing all the container images#126

Open
Akrog wants to merge 8 commits into
openstack-lightspeed:lcore-migrationfrom
Akrog:lcore-mcps-devstuff-images
Open

WIP: Allow changing all the container images#126
Akrog wants to merge 8 commits into
openstack-lightspeed:lcore-migrationfrom
Akrog:lcore-mcps-devstuff-images

Conversation

@Akrog

@Akrog Akrog commented Jun 25, 2026

Copy link
Copy Markdown
Contributor

Support changing all the images

Currently we can only change the image for the RAG using the ragImage
field in our CR, but we have many other images subject to change.

In this patch we add functionality to change the images used by the
operator for the following:

  • lighspeed-core
  • exporter
  • postgres
  • console image
  • OKP image
  • RHOS MCP server

To provide a consistent interface we can now set all the images under
the images field and we remove the top level ragImage field (now
available under images) for consistency.

Removing the field should not be a problem since we don't have a stable
CRD yet.

PS: Do not merge, this PR is to show the last commit only, as the rest of the commits are present in my other PRs (#124 and #125)

Akrog and others added 7 commits June 24, 2026 16:40
Align with the version used by the openstack-k8s-operators.
With this commit we start deploying the MCP server as a sidecar
container of the lightspeed-service container.

The MCP server deployed is the one from our own rhos-mcps repository
[1].

On installation the `openshift-cli` tool is enabled when OpenStack
Lightspeed is configured, and the `openstack-cli` tool is enabled when
the `OpenStackControlPlane` is ready.

From a security perspective since we are deploying the MCP tools in the
pod's network namespace not using TLS is not a real security risk.

[1]: https://github.com/openstack-lightspeed/rhos-mcps

Jira: OSPRH-27075
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
For now we don't want to automatically deploy the MCP tools, because:

- Releasing the rhos-mcps image may be done at a later time.
- This is an experimental feature right now, so we want it disabled by
  default.

The name of the feature flag is `rhos_mcps` as shown in the config
ample.

Jira: OSPRH-27075
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
Initial implementation of the MCP deployment uses the credentials from
the `openstackclient` pod, which means that we are not the owners of
that secret, just the copy we make in the `openstack-lightspeed`
namespace, so those credentials could be removed/deleted and that would
break our `openstack-cli` tool.

In this patch we change the credentials and we leverage the
`KeystoneApplicationCredential` CR to get our own credentials.

Credential Rotation is handled by the code as well.

Jira: OSPRH-27075
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
Right now when we build the container (make docker-build) or the
controller (make build) the go compiler will try to use all the CPUs on
the machine.

This can become problematic in some systems, so we add support for the
`GOMAXPROCS` env var to be passed to those 2 make targets.
@openshift-ci

openshift-ci Bot commented Jun 25, 2026

Copy link
Copy Markdown

[APPROVALNOTIFIER] This PR is APPROVED

This pull-request has been approved by: Akrog

The full list of commands accepted by this bot can be found here.

The pull request process is described here

Details Needs approval from an approver in each of these files:

Approvers can indicate their approval by writing /approve in a comment
Approvers can cancel approval by writing /approve cancel in a comment

@coderabbitai

coderabbitai Bot commented Jun 25, 2026

Copy link
Copy Markdown

Important

Review skipped

Auto reviews are disabled on base/target branches other than the default branch.

Please check the settings in the CodeRabbit UI or the .coderabbit.yaml file in this repository. To trigger a single review, invoke the @coderabbitai review command.

⚙️ Run configuration

Configuration used: defaults

Review profile: CHILL

Plan: Pro

Run ID: fb6a0b01-6fe6-472a-995d-6f1f826ac320

You can disable this status message by setting the reviews.review_status to false in the CodeRabbit configuration file.

Use the checkbox below for a quick retry:

  • 🔍 Trigger review
✨ Finishing Touches
🧪 Generate unit tests (beta)
  • Create PR with unit tests

Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out.

❤️ Share

Comment @coderabbitai help to get the list of available commands.

Currently we can only change the image for the RAG using the `ragImage`
field in our CR, but we have many other images subject to change.

In this patch we add functionality to change the images used by the
operator for the following:

- lighspeed-core
- exporter
- postgres
- console image
- OKP image
- RHOS MCP server

To provide a consistent interface we can now set all the images under
the `images` field and we remove the top level `ragImage` field (now
available under `images`) for consistency.

Removing the field should not be a problem since we don't have a stable
CRD yet.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
@Akrog Akrog force-pushed the lcore-mcps-devstuff-images branch from f58834c to 72ceff8 Compare June 25, 2026 14:59
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant