planetscale / planetscale/vitess-operator

Feature Request: pass `--cell` flag to VTOrc deployments (required in Vitess v25+)

Open
#786 0 comments 0 reactions 1 assignee View on GitHub

@timvaillancourt is already working on this.

Since May 12, 2026.

Breaking Vitess Changes Fix feature
Dominant language
Go
Stars
372
Forks
102
Avg merge
3d 5h
Merged PRs (30d)
15

Description

Feature Description

Vitess v25 makes VTOrc's --cell flag a hard requirement. The change is in https://github.com/vitessio/vitess/pull/20048validateCell() previously logged a warning and continued; in v25 it returns a FAILED_PRECONDITION error if --cell is empty. The flag itself was introduced in v24 (https://github.com/vitessio/vitess/pull/19047) to give VTOrc cell/location context for analysis and recovery decisions

The operator's VTOrc deployment does not currently pass --cell. In pkg/operator/vtorc/deployment.go, the flags() function (lines 212-223) sets only:

"topo_implementation":        spec.GlobalLockserver.Implementation,
"topo_global_server_address": spec.GlobalLockserver.Address,
"topo_global_root":           spec.GlobalLockserver.RootPath,
"port":                       planetscalev2.DefaultWebPort,
"clusters_to_watch":          spec.Keyspace + "/" + spec.Shard,
"logtostderr":                true,

Once a cluster upgrades to Vitess v25, every VTOrc managed by this operator will fail to start with a FAILED_PRECONDITION error from validateCell() 😱

What needs to happen

Spec.Cell is already on the vtorc spec (deployment.go:57), and 2 x other components in the operator already pass it to their binaries:

  • pkg/operator/vtgate/deployment.go:269"cell": spec.Cell.Name
  • pkg/operator/vtctld/deployment.go:236"cell": spec.Cell.Name

Adding "cell": spec.Cell to vtorc's flags() map matches the existing pattern

Version-skew consideration

--cell was only added to VTOrc in v24, so passing it unconditionally affects users on v23 or older. Worth confirming whether VTOrc on ≤v23 rejects unknown flags or tolerates them before deciding if the flag needs version gating

Impact summary
  1. v25+ — VTOrc will not start without this fix
  2. v24--cell is accepted, missing flag emits a warning
  3. ≤v23--cell does not exist; behaviour with the flag passed needs verification
Use Case(s)

Every cluster managed by vitess-operator that upgrades to Vitess v25 (GA per the v25.0.0 milestone). Without this change, the operator's VTOrc deployments break on upgrade

Contributor guide

Open the contributing guide

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

Assessment

This issue has not been assessed yet.

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.