Skip to content

Add IBM Bob on-premises support - #1197

Merged
fketelaars merged 9 commits into
mainfrom
feature/ibm-bob-support
Nov 11, 2026
Merged

fketelaars merged 9 commits into
mainfrom
feature/ibm-bob-support

Conversation

@thomas-mattsson

@thomas-mattsson thomas-mattsson commented Oct 14, 2026 •

Copy link
Copy Markdown
Member

Adds IBM Bob on-premises support: Ansible roles for install/uninstall/air-gap, cert-manager integration, Openshift AI installation and supported model inferencing configuratoin, smoke tests, sample configs, docs, and a CI workflow.

Comment thread .github/workflows/test-ibm-bob.yml Fixed
Comment thread .github/workflows/test-ibm-bob.yml Fixed
@thomas-mattsson
thomas-mattsson marked this pull request as draft October 14, 2026 20:45
@thomas-mattsson thomas-mattsson linked an issue Oct 14, 2026 that may be closed by this pull request
3 tasks done
@thomas-mattsson
thomas-mattsson force-pushed the feature/ibm-bob-support branch from 22a9ce2 to 6eaaa58 Compare October 14, 2026 20:50
@thomas-mattsson thomas-mattsson self-assigned this Oct 14, 2026
@thomas-mattsson
thomas-mattsson marked this pull request as ready for review October 15, 2026 10:33
@fketelaars

fketelaars commented Oct 30, 2026 •

Copy link
Copy Markdown
Collaborator

Findings:

  • When deploying on a TZ cluster, which has a ca-signed certificate, the Bob endpoints have self-signed certificates
  • If bob[].state is set to removed and deployer is run, no check for confirm_destroy is performed
  • Bob is removed correctly, but the ibm-bob-models namespace remains after destroy
  • Ideally the sample configurations should be less verbose and the different settings should go into the documentation. Consider creating multiple configs, one for in-cluster models, one for gateways, or simplify the config file.
  • I got a IO Error: No space left on device (os error 28) as part of hf download. Can we avoid using local disk if --skip-portable-registry is used?

Signed-off-by: Thomas Mattsson <thomas.mattsson@se.ibm.com>
Signed-off-by: Thomas Mattsson <thomas.mattsson@se.ibm.com>
Signed-off-by: Thomas Mattsson <thomas.mattsson@se.ibm.com>
Signed-off-by: Thomas Mattsson <thomas.mattsson@se.ibm.com>
…mage mirroring; restructure integration tests and slim sample configs

Signed-off-by: Thomas Mattsson <thomas.mattsson@se.ibm.com>
@thomas-mattsson
thomas-mattsson force-pushed the feature/ibm-bob-support branch from 0dc45b1 to 7580b71 Compare November 5, 2026 07:08
@thomas-mattsson

thomas-mattsson commented Nov 5, 2026 •

Copy link
Copy Markdown
Member Author

@fketelaars, last commit has the latest changes, re your comments:

When deploying on a TZ cluster, which has a ca-signed certificate, the Bob endpoints have self-signed certificates

Bob has the project name as a sub-domain (like bob.<project>.<apps-domain>) so the default ingress certificate can't be reused (plus there's the rotation issue). I've added support for referring to a ClusterIssuer by name or creating let's encrypt certs with http-01 challenges.

If bob[].state is set to removed and deployer is run, no check for confirm_destroy is performed

Fixed

Bob is removed correctly, but the ibm-bob-models namespace remains after destroy

This was by design to not delete the large model weights PVCs, but I changed this so that the PVCs and the namespace is deleted by default now, but the previous behavior can be kept by adding remove_model_weights: false.

Ideally the sample configurations should be less verbose and the different settings should go into the documentation. Consider creating multiple configs, one for in-cluster models, one for gateways, or simplify the config file.

Cleaned them up and added a reference to the documentation instead

I got a IO Error: No space left on device (os error 28) as part of hf download. Can we avoid using local disk if --skip-portable-registry is used?

This would only happen with env download for air-gapped mode so no way to avoid it. When on a connected cluster a job will download directly into the PVC. I've added support for the nvidia nemotron super now as well which is smaller to test with. And this only happens when using openshift_ai mode, a custom model gateway config would jump over this step.

Besides the review comments, I've also changed the integration tests and added a test harness with cp-deploy.sh test. For Bob it runs a full test against a cluster with connected and both air-gapped modes. I have a cp4d version on a separate branch that I will test later once this one is done.

Also made some smaller updates and added support to the nvidia nemotron super model that now is supported.

Signed-off-by: Thomas Mattsson <thomas.mattsson@se.ibm.com>
Signed-off-by: Thomas Mattsson <thomas.mattsson@se.ibm.com>
Signed-off-by: Thomas Mattsson <thomas.mattsson@se.ibm.com>
@fketelaars
fketelaars merged commit 20c8ff1 into main Nov 11, 2026
9 checks passed
@fketelaars
fketelaars deleted the feature/ibm-bob-support branch November 11, 2026 17:54
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Deploy IBM bob using deployer

3 participants