Skip to content

Add OpenShift Partner Validation report - #905

Open
tomach wants to merge 5 commits into
masterfrom
ta/openshift-partner-validation
Open

tomach wants to merge 5 commits into
masterfrom
ta/openshift-partner-validation

Conversation

@tomach

@tomach tomach commented Sep 17, 2026

Copy link
Copy Markdown
Contributor

Summary of changes

Adds the public artifacts for the Red Hat OpenShift Partner Validation of the operator, plus a few OpenShift docs fixes found while running it.

  • partner-validation-report.md - test plan + results for the 9 lifecycle scenarios (TC-01–TC-09).
  • RUNBOOK.md - how to execute the validation, and how to submit via Partner Connect.
  • capture.sh - captures read-only verification evidence.
  • manifests/ - namespace + CrateDB test-cluster manifests.

All scenarios passed on OpenShift 4.22.11 (EUS), operator 2.64.1, CrateDB 6.4.4.

Checklist

  • Link to issue this PR refers to: https://github.com/crate/cloud/issues/2981
  • Relevant changes are reflected in CHANGES.rst
  • Added or changed code is covered by tests
  • Documentation has been updated if necessary
  • Changed code does not contain any breaking changes (or this is a major version change)

@tomach
tomach force-pushed the ta/openshift-partner-validation branch from b955cf4 to c868117 Compare September 18, 2026 08:07
@tomach
tomach marked this pull request as ready for review September 18, 2026 08:09
Comment thread openshift-validation/capture.sh Outdated
Comment thread openshift-validation/capture.sh Outdated
Comment thread openshift-validation/RUNBOOK.md Outdated
Comment thread openshift-validation/capture.sh Outdated
Comment thread openshift-validation/partner-validation-report.md
Comment on lines +124 to +126
CREATE TABLE validation.t (id INT, v TEXT)
CLUSTERED INTO 6 SHARDS WITH (number_of_replicas = 1);
INSERT INTO validation.t VALUES (1, 'a'), (2, 'b');

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

On a fresh cluster only doc exists, so CREATE TABLE validation.t fails with SchemaUnknownException[Schema 'validation' unknown]. Creating the schema first makes the snippet copy-pasteable:

Suggested change
CREATE TABLE validation.t (id INT, v TEXT)
CLUSTERED INTO 6 SHARDS WITH (number_of_replicas = 1);
INSERT INTO validation.t VALUES (1, 'a'), (2, 'b');
CREATE SCHEMA IF NOT EXISTS validation;
CREATE TABLE validation.t (id INT, v TEXT)
CLUSTERED INTO 6 SHARDS WITH (number_of_replicas = 1);
INSERT INTO validation.t VALUES (1, 'a'), (2, 'b');

Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I think I'll leave this as-is. CrateDB creates the schema implicitly on CREATE TABLE, so validation.t works on a fresh cluster without a preceding CREATE SCHEMA. https://cratedb.com/docs/crate/reference/en/latest/general/ddl/create-table.html#schemas
adding it here would slightly muddy the TC-09 cleanup.

Comment thread openshift-validation/partner-validation-report.md Outdated
@WalBeh

WalBeh commented Sep 18, 2026

Copy link
Copy Markdown
Contributor

While you're in this file — the last Limitations bullet is stale:

- **``CRATE_CONTROL_IMAGE`` is required**: The operator does not validate
  that this variable is set. If it is missing, StatefulSets will be
  created with an empty image reference and pods will fail to pull.

create.py raises a kopf.PermanentError when CLOUD_PROVIDER=openshift and the sidecar image is unset ("CRATEDB_OPERATOR_CRATE_CONTROL_IMAGE must be set when ..."), and report §4 describes exactly that fail-fast behaviour. Suggested replacement:

- **``CRATEDB_OPERATOR_CRATE_CONTROL_IMAGE`` is required**: The operator fails
  fast when ``CLOUD_PROVIDER=openshift`` and the sidecar image is unset, so a
  missing value is caught at deploy time. StatefulSets cannot be created without
  a sidecar image.

(The old text also used the bare CRATE_CONTROL_IMAGE name, missing the CRATEDB_OPERATOR_ prefix used everywhere else.) Not introduced by this PR, but you're touching the file and the report names the docs as canonical, so it'd be good to fix here.


Three cosmetic RST things in the same file — entirely take-or-leave, docutils doesn't warn on any of them (only mentioning them because concepts.rst/configuration.rst use exact-length underlines):

  • L186–190: crate/crate-control:<version> is an image reference, not a command, so in a .. code-block:: console it looks copy-pasteable. An inline literal reads better: You can use the official image directly without building it yourself, e.g. ``crate/crate-control:<version>``.
  • L414: the only >88-char line in the file — the oc get pod … jsonpath=… command wraps cleanly with a \ like the sibling commands do.
  • L122 / L282 / L308 / L365 / L417: heading underlines 1–2 chars longer than their titles (harmless, purely house style).

Comment thread openshift-validation/partner-validation-report.md Outdated
Comment thread openshift-validation/partner-validation-report.md Outdated
Comment thread openshift-validation/RUNBOOK.md
Comment thread openshift-validation/RUNBOOK.md Outdated

@WalBeh WalBeh left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

LGTM, please have a look at the comments

tomach and others added 4 commits September 18, 2026 13:44
Co-authored-by: Walter Behmann <40459646+WalBeh@users.noreply.github.com>
Co-authored-by: Walter Behmann <40459646+WalBeh@users.noreply.github.com>
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.

2 participants