Skip to content

feat: support oxia metadata store#1276

Merged
mattisonchao merged 13 commits into
masterfrom
feat/oxia-metadata
Jun 8, 2026
Merged

feat: support oxia metadata store#1276
mattisonchao merged 13 commits into
masterfrom
feat/oxia-metadata

Conversation

@mattisonchao

@mattisonchao mattisonchao commented May 25, 2026

Copy link
Copy Markdown
Member

Motivation

  • Support Oxia as an in-cluster metadata provider for sn-platform and sn-platform-slim without requiring users to configure service addresses manually.
  • Keep ZooKeeper as the default metadata provider and preserve existing ZooKeeper compatibility.
  • Ensure bundled Prometheus can scrape both Oxia dataserver and coordinator metrics without requiring Prometheus Operator.

Modifications

  • Added pulsar_metadata.provider support for zookeeper and oxia, with validation for ZooKeeper-only fields.
  • Added OxiaCluster and OxiaNamespace templates using Oxia 0.16.6 and split namespaces for broker, bookkeeper, pulsar-schema, and function.
  • Added optional oxia chart values for custom labels, annotations, server replica count, dataserver resources, and coordinator resources.
  • Wired broker, BookKeeper, schema storage, and function-worker config to use Oxia metadata URLs when provider is Oxia.
  • Gated ZooKeeper resources so they are not rendered for Oxia metadata deployments.
  • Added bundled Prometheus scrape config job_name: oxia that scrapes both metrics and coord-metrics ports.
  • Gated Oxia monitoringEnabled on the availability of the PodMonitor API so sn-operator only creates PodMonitor when Prometheus Operator CRDs exist.

Documentation

  • No standalone docs page is required for this PR. The user-facing chart knobs are documented in the chart values.yaml, and examples/sn-platform/values-oxia.yaml shows the minimal Oxia enablement path.

Testing

  • helm lint charts/sn-platform-slim -f examples/sn-platform/values-oxia.yaml --set istio.enabled=true --set monitoring.prometheus=true --set monitoring.grafana=false
  • helm lint charts/sn-platform -f examples/sn-platform/values-oxia.yaml --set istio.enabled=true --set monitoring.prometheus=true --set monitoring.grafana=false
  • helm lint for the sn-platform and sn-platform-slim CI values.
  • helm template for both chart variants with Oxia values.
  • Rendered OxiaCluster overrides for labels, annotations, replicas, dataserver resources, and coordinator resources.
  • Verified oxia.replicaCount < 3 fails template validation for Oxia metadata deployments.
  • Local kind deployment with sn-operator v0.18.10, Istio ambient, no proxy, Oxia 0.16.4, and bundled Prometheus.
  • Verified Pulsar producer/consumer smoke test through a perf pod.
  • Verified bundled Prometheus ingests oxia_dataserver_* and oxia_coordinator_* series under job=oxia.
  • Final chart review after the Oxia 0.16.6 default image bump: helm lint and helm template passed for both chart variants, including minimal Oxia values and explicit dataserver/coordinator resource overrides.

@mattisonchao mattisonchao requested review from a team as code owners May 25, 2026 16:57
@mattisonchao mattisonchao requested a review from tuteng May 25, 2026 16:57
@github-actions

Copy link
Copy Markdown

@mattisonchao:Thanks for your contribution. For this PR, do we need to update docs?
(The PR template contains info about doc, which helps others know more about the changes. Can you provide doc-related info in this and future PR descriptions? Thanks)

@github-actions github-actions Bot added the doc-info-missing This pr needs to mark a document option in description label May 25, 2026
@tuteng tuteng requested a review from Copilot May 26, 2026 00:11

Copilot AI left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

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

Copilot encountered an error and was unable to review this pull request. You can try again by re-requesting a review.

Comment thread charts/sn-platform-slim/templates/oxia/oxia-cluster.yaml Outdated
Comment thread charts/sn-platform/values.yaml
Comment thread charts/sn-platform/templates/broker/broker-cluster.yaml
@mattisonchao mattisonchao requested a review from tuteng June 7, 2026 16:13
@mattisonchao

Copy link
Copy Markdown
Member Author

Documentation info has been added to the PR description. The chart knobs are documented in values.yaml, and examples/sn-platform/values-oxia.yaml shows the minimal Oxia enablement path.

tuteng
tuteng previously approved these changes Jun 8, 2026
@mattisonchao mattisonchao merged commit 3511e25 into master Jun 8, 2026
2 checks passed
@mattisonchao mattisonchao deleted the feat/oxia-metadata branch June 8, 2026 08:05
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

doc-info-missing This pr needs to mark a document option in description

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants