Repository navigation
Conversation
…cope cycles WalkPodTemplates walked PodTemplatesIndex, which is built in normalizeTemplates(), after Fill() calculates scope cycles, so maxNumberOfPodsPerNode was always 0 and every host got clusterScopeCycleIndex=0. Walk the pod templates list instead. Fixes #1252 Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
…y topologyKey Expanded shortcut entries were appended to the slice being ranged, so they were never normalized and got empty topologyKey, pods were rejected by API server. Normalize appended entries, inherit topologyKey from CircularReplication and count CircularReplication as MaxNumberPerNode of replicas count when host scope cycles are calculated. Fixes #1352 Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Check that with operator config label.appendScope pods carry scope labels, MaxNumberPerNode anti-affinity selects hosts of the same cycle only and CircularReplication affinity terms are valid and satisfiable, and that without appendScope scope labels are absent. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
This was
linked to
issues
Nov 3, 2026
testflows 2.0.231215 references lzma._MODE_CLOSED, removed in python 3.13, so live test output and tfs transform/report steps fail and only raw.log is uploaded. See https://github.com/Altinity/clickhouse-operator/actions/runs/42177835548/job/127760322225 Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
This branch has not been deployed
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Fixes #1252
Fixes #1352
podDistribution: [{type: MaxNumberPerNode}]never worked, even withlabel.appendScope: "yes"getMaxNumberOfPodsPerNode()walks pod templates viaPodTemplatesIndex, but index is built innormalizeTemplates(), which runs afterFill()innormalizeConfiguration()so
maxNumberOfPodsPerNodewas always0,clusterScopeCycleSizewas0and all hosts gotclusterScopeCycleIndex=0as result
label.appendScope: "no"(default) anti-affinity matched nothinglabel.appendScope: "yes"all pods have the sameclusterScopeCycleIndexlabel, so anti-affinity allowed only 1 pod per node and other pods stuck inPendingfix:
WalkPodTemplates()for CHI and CHK walksspec.templates.podTemplateslist instead of the indexadded
TestMaxNumberPerNodeScopeCycles, 3 shards x 2 replicas withnumber: 2, pod template from CHI and from CHITalso fixed
type: CircularReplication(#1352)PodDistributionduringrangeand never normalized, so they got emptytopologyKeyand pod was rejectedtopologyKey: Required value: can not be empty, now appended entries normalized tootopologyKeyfromCircularReplication, sotopologyKey: topology.kubernetes.io/zoneis not lostgetMaxNumberOfPodsPerNode()countsCircularReplicationasMaxNumberPerNodewith replicas count, cause shortcut expanded afterFill()added
TestCircularReplication, 3 shards x 3 replicas, default and explicittopologyKey, lower case typekeep in mind,
MaxNumberPerNode,PreviousTailAffinityandCircularReplicationselect pods by scope labels (clusterScopeIndex,clusterScopeCycleIndex), which added to pods only with operator configlabel.appendScope: "yes", default is"no"without it
MaxNumberPerNodeanti-affinity matches nothing andPreviousTailAffinityrequired affinity can't be satisfied, pods stuck inPendingadded
TestPodDistributionScopeLabelsinpkg/model/chi/creator, 3 shards x 3 replicas, createsStatefulSetfor each host like controller doesappendScope, scope labels absent andMaxNumberPerNodeselector matches nothingappendScope,MaxNumberPerNodeanti-affinity selects only pods from the same cycleCircularReplicationall affinity terms ha 8000 vetopologyKeyandPreviousTailAffinityrequired affinity matches exactly one existing pod (previous cycle tail or itself)🤖 Generated with Claude Code