Add ScyllaDB Operator compatibility scraper - #4164
Conversation
Greptile SummaryThis PR adds ScyllaDB Operator to the compatibility catalog and introduces a scraper that combines stable GitHub releases, versioned support-matrix documentation, and Helm chart metadata.
Confidence Score: 4/5The PR appears safe to merge, with a non-blocking test-coverage gap around per-minor Kubernetes support mapping. Scraper discovery, output paths, chart mapping, and static schema integration follow repository conventions; the only accepted concern is that the new test would not detect accidental reuse of one minor’s documentation for another. Files Needing Attention: utils/compatibility/tests/test_scylladb_operator.py
|
| Filename | Overview |
|---|---|
| utils/compatibility/scrapers/scylladb-operator.py | Adds the release, documentation, and Helm chart scraper; its integration follows existing compatibility utility contracts. |
| utils/compatibility/tests/test_scylladb_operator.py | Covers support-range parsing and documented-release filtering but does not verify the distinct support matrix generated for the second minor. |
| static/compatibilities/scylladb-operator.yaml | Adds schema-compatible static compatibility data for two ScyllaDB Operator releases. |
| static/compatibilities/manifest.yaml | Registers the new scraper and static compatibility entry using established naming conventions. |
Reviews (1): Last reviewed commit: "Add ScyllaDB Operator compatibility scra..." | Re-trigger Greptile
| self.assertEqual([row["version"] for row in rows], ["1.22.0", "1.21.1"]) | ||
| self.assertEqual(rows[0]["kube"], ["1.33", "1.34", "1.35", "1.36"]) | ||
| self.assertEqual(rows[0]["chart_version"], "1.22.0") |
There was a problem hiding this comment.
The fixture gives the 1.21 documentation a different Kubernetes support range, but the test only checks the 1.22 row. It would therefore still pass if the scraper accidentally reused the 1.22 documentation for every minor, leaving the per-minor compatibility mapping unprotected.
| self.assertEqual([row["version"] for row in rows], ["1.22.0", "1.21.1"]) | |
| self.assertEqual(rows[0]["kube"], ["1.33", "1.34", "1.35", "1.36"]) | |
| self.assertEqual(rows[0]["chart_version"], "1.22.0") | |
| self.assertEqual([row["version"] for row in rows], ["1.22.0", "1.21.1"]) | |
| self.assertEqual(rows[0]["kube"], ["1.33", "1.34", "1.35", "1.36"]) | |
| self.assertEqual(rows[1]["kube"], ["1.32", "1.33", "1.34", "1.35"]) | |
| self.assertEqual(rows[0]["chart_version"], "1.22.0") |
e919f9d to
3e408c5
Compare
Soffi AI SummaryThis PR adds ScyllaDB Operator to the Plural Console compatibility catalog — giving the platform visibility into which Kubernetes versions each ScyllaDB Operator release supports. The implementation consists of a Python scraper (
Tests cover the Kubernetes version range parser (pure ranges, mixed list+range) and the row-building logic (ensuring only releases with published docs and chart entries are included). A secondary fix patches the test loader to inject the local The generated ChangesScyllaDB Operator compatibility scraper
Updated: 2026-09-08 13:57 UTC |
|
Rebased this on the current master and re-ran the focused compatibility checks locally. The required-label check is failing because the PR has no label, but GitHub will not let me add the enhancement label from my fork account. Could you add the label when you get a chance? |
|
I checked the failing CI logs as well. The compatibility checks themselves are still green; the red So this looks like the usual missing repo secrets on a forked PR, plus the label check I mentioned above, rather than a scraper/test failure from this patch. |
|
Pushed |
I added ScyllaDB Operator to the compatibility catalog.
The scraper uses the operator's versioned release docs for the Kubernetes support matrix, then matches stable operator releases to chart versions from the official ScyllaDB chart index. I only included releases where both the versioned docs and chart entry are present. Older releases without those sources are skipped rather than guessed.
Sources:
I checked this with
py_compile, the ScyllaDB scraper tests, a direct live scraper run through Helm, a generated YAML sanity check for versions/chart versions/images, andgit diff --check.Related to #4132.