Skip to content

Commit 63b5269

Browse files
committed
Extend ability to set topologySpreadhConstraints to all component workloads
Signed-off-by: Aurel Canciu <[email protected]>
1 parent a5f4c7c commit 63b5269

20 files changed

+333
-189
lines changed

deploy/crds/planetscale.com_etcdlockservers.yaml

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -308,6 +308,8 @@ spec:
308308
x-kubernetes-preserve-unknown-fields: true
309309
tolerations:
310310
x-kubernetes-preserve-unknown-fields: true
311+
topologySpreadConstraints:
312+
x-kubernetes-preserve-unknown-fields: true
311313
zone:
312314
type: string
313315
type: object

deploy/crds/planetscale.com_vitesscells.yaml

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -686,6 +686,8 @@ spec:
686686
x-kubernetes-preserve-unknown-fields: true
687687
tolerations:
688688
x-kubernetes-preserve-unknown-fields: true
689+
topologySpreadConstraints:
690+
x-kubernetes-preserve-unknown-fields: true
689691
type: object
690692
external:
691693
properties:

deploy/crds/planetscale.com_vitessclusters.yaml

Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -875,6 +875,8 @@ spec:
875875
x-kubernetes-preserve-unknown-fields: true
876876
tolerations:
877877
x-kubernetes-preserve-unknown-fields: true
878+
topologySpreadConstraints:
879+
x-kubernetes-preserve-unknown-fields: true
878880
type: object
879881
external:
880882
properties:
@@ -1199,6 +1201,8 @@ spec:
11991201
x-kubernetes-preserve-unknown-fields: true
12001202
tolerations:
12011203
x-kubernetes-preserve-unknown-fields: true
1204+
topologySpreadConstraints:
1205+
x-kubernetes-preserve-unknown-fields: true
12021206
type: object
12031207
external:
12041208
properties:
@@ -2334,6 +2338,8 @@ spec:
23342338
x-kubernetes-preserve-unknown-fields: true
23352339
tolerations:
23362340
x-kubernetes-preserve-unknown-fields: true
2341+
topologySpreadConstraints:
2342+
x-kubernetes-preserve-unknown-fields: true
23372343
type: object
23382344
required:
23392345
- name
@@ -2538,6 +2544,8 @@ spec:
25382544
x-kubernetes-preserve-unknown-fields: true
25392545
tolerations:
25402546
x-kubernetes-preserve-unknown-fields: true
2547+
topologySpreadConstraints:
2548+
x-kubernetes-preserve-unknown-fields: true
25412549
type: object
25422550
vtadmin:
25432551
properties:
@@ -2711,6 +2719,8 @@ spec:
27112719
x-kubernetes-preserve-unknown-fields: true
27122720
tolerations:
27132721
x-kubernetes-preserve-unknown-fields: true
2722+
topologySpreadConstraints:
2723+
x-kubernetes-preserve-unknown-fields: true
27142724
webResources:
27152725
properties:
27162726
claims:

deploy/crds/planetscale.com_vitesskeyspaces.yaml

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1298,6 +1298,8 @@ spec:
12981298
x-kubernetes-preserve-unknown-fields: true
12991299
tolerations:
13001300
x-kubernetes-preserve-unknown-fields: true
1301+
topologySpreadConstraints:
1302+
x-kubernetes-preserve-unknown-fields: true
13011303
type: object
13021304
zoneMap:
13031305
additionalProperties:

deploy/crds/planetscale.com_vitessshards.yaml

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -828,6 +828,8 @@ spec:
828828
x-kubernetes-preserve-unknown-fields: true
829829
tolerations:
830830
x-kubernetes-preserve-unknown-fields: true
831+
topologySpreadConstraints:
832+
x-kubernetes-preserve-unknown-fields: true
831833
type: object
832834
zoneMap:
833835
additionalProperties:

docs/api/index.html

Lines changed: 56 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1155,6 +1155,20 @@ <h3 id="planetscale.com/v2.EtcdLockserverTemplate">EtcdLockserverTemplate
11551155
<p>Tolerations allow you to schedule pods onto nodes with matching taints.</p>
11561156
</td>
11571157
</tr>
1158+
<tr>
1159+
<td>
1160+
<code>topologySpreadConstraints</code></br>
1161+
<em>
1162+
<a href="https://v1-18.docs.kubernetes.io/docs/reference/generated/kubernetes-api/v1.18/#topologyspreadconstraint-v1-core">
1163+
[]Kubernetes core/v1.TopologySpreadConstraint
1164+
</a>
1165+
</em>
1166+
</td>
1167+
<td>
1168+
<p>TopologySpreadConstraint can optionally be used to
1169+
specify how to spread etcd pods among the given topology</p>
1170+
</td>
1171+
</tr>
11581172
</tbody>
11591173
</table>
11601174
<h3 id="planetscale.com/v2.ExternalDatastore">ExternalDatastore
@@ -4772,6 +4786,20 @@ <h3 id="planetscale.com/v2.VitessDashboardSpec">VitessDashboardSpec
47724786
<p>Tolerations allow you to schedule pods onto nodes with matching taints.</p>
47734787
</td>
47744788
</tr>
4789+
<tr>
4790+
<td>
4791+
<code>topologySpreadConstraints</code></br>
4792+
<em>
4793+
<a href="https://v1-18.docs.kubernetes.io/docs/reference/generated/kubernetes-api/v1.18/#topologyspreadconstraint-v1-core">
4794+
[]Kubernetes core/v1.TopologySpreadConstraint
4795+
</a>
4796+
</em>
4797+
</td>
4798+
<td>
4799+
<p>TopologySpreadConstraint can optionally be used to
4800+
specify how to spread vtctld pods among the given topology</p>
4801+
</td>
4802+
</tr>
47754803
</tbody>
47764804
</table>
47774805
<h3 id="planetscale.com/v2.VitessDashboardStatus">VitessDashboardStatus
@@ -6833,6 +6861,20 @@ <h3 id="planetscale.com/v2.VitessOrchestratorSpec">VitessOrchestratorSpec
68336861
<p>Tolerations allow you to schedule pods onto nodes with matching taints.</p>
68346862
</td>
68356863
</tr>
6864+
<tr>
6865+
<td>
6866+
<code>topologySpreadConstraints</code></br>
6867+
<em>
6868+
<a href="https://v1-18.docs.kubernetes.io/docs/reference/generated/kubernetes-api/v1.18/#topologyspreadconstraint-v1-core">
6869+
[]Kubernetes core/v1.TopologySpreadConstraint
6870+
</a>
6871+
</em>
6872+
</td>
6873+
<td>
6874+
<p>TopologySpreadConstraint can optionally be used to
6875+
specify how to spread vtorc pods among the given topology</p>
6876+
</td>
6877+
</tr>
68366878
</tbody>
68376879
</table>
68386880
<h3 id="planetscale.com/v2.VitessOrchestratorStatus">VitessOrchestratorStatus
@@ -8472,6 +8514,20 @@ <h3 id="planetscale.com/v2.VtAdminSpec">VtAdminSpec
84728514
<p>Tolerations allow you to schedule pods onto nodes with matching taints.</p>
84738515
</td>
84748516
</tr>
8517+
<tr>
8518+
<td>
8519+
<code>topologySpreadConstraints</code></br>
8520+
<em>
8521+
<a href="https://v1-18.docs.kubernetes.io/docs/reference/generated/kubernetes-api/v1.18/#topologyspreadconstraint-v1-core">
8522+
[]Kubernetes core/v1.TopologySpreadConstraint
8523+
</a>
8524+
</em>
8525+
</td>
8526+
<td>
8527+
<p>TopologySpreadConstraint can optionally be used to
8528+
specify how to spread vtadmin pods among the given topology</p>
8529+
</td>
8530+
</tr>
84758531
</tbody>
84768532
</table>
84778533
<h3 id="planetscale.com/v2.VtadminStatus">VtadminStatus

pkg/apis/planetscale/v2/etcdlockserver_types.go

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -197,6 +197,12 @@ type EtcdLockserverTemplate struct {
197197
// +kubebuilder:validation:Schemaless
198198
// +kubebuilder:pruning:PreserveUnknownFields
199199
Tolerations []corev1.Toleration `json:"tolerations,omitempty"`
200+
201+
// TopologySpreadConstraint can optionally be used to
202+
// specify how to spread etcd pods among the given topology
203+
// +kubebuilder:validation:Schemaless
204+
// +kubebuilder:pruning:PreserveUnknownFields
205+
TopologySpreadConstraints []corev1.TopologySpreadConstraint `json:"topologySpreadConstraints,omitempty"`
200206
}
201207

202208
// EtcdLockserverStatus defines the observed state of an EtcdLockserver.

pkg/apis/planetscale/v2/vitesscluster_types.go

Lines changed: 12 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -448,6 +448,12 @@ type VitessDashboardSpec struct {
448448
// +kubebuilder:validation:Schemaless
449449
// +kubebuilder:pruning:PreserveUnknownFields
450450
Tolerations []corev1.Toleration `json:"tolerations,omitempty"`
451+
452+
// TopologySpreadConstraint can optionally be used to
453+
// specify how to spread vtctld pods among the given topology
454+
// +kubebuilder:validation:Schemaless
455+
// +kubebuilder:pruning:PreserveUnknownFields
456+
TopologySpreadConstraints []corev1.TopologySpreadConstraint `json:"topologySpreadConstraints,omitempty"`
451457
}
452458

453459
// VtAdminSpec specifies deployment parameters for vtadmin.
@@ -545,6 +551,12 @@ type VtAdminSpec struct {
545551
// +kubebuilder:validation:Schemaless
546552
// +kubebuilder:pruning:PreserveUnknownFields
547553
Tolerations []corev1.Toleration `json:"tolerations,omitempty"`
554+
555+
// TopologySpreadConstraint can optionally be used to
556+
// specify how to spread vtadmin pods among the given topology
557+
// +kubebuilder:validation:Schemaless
558+
// +kubebuilder:pruning:PreserveUnknownFields
559+
TopologySpreadConstraints []corev1.TopologySpreadConstraint `json:"topologySpreadConstraints,omitempty"`
548560
}
549561

550562
// ServiceOverrides allows customization of an arbitrary Service object.

pkg/apis/planetscale/v2/vitesskeyspace_types.go

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -264,6 +264,12 @@ type VitessOrchestratorSpec struct {
264264
// +kubebuilder:validation:Schemaless
265265
// +kubebuilder:pruning:PreserveUnknownFields
266266
Tolerations []corev1.Toleration `json:"tolerations,omitempty"`
267+
268+
// TopologySpreadConstraint can optionally be used to
269+
// specify how to spread vtorc pods among the given topology
270+
// +kubebuilder:validation:Schemaless
271+
// +kubebuilder:pruning:PreserveUnknownFields
272+
TopologySpreadConstraints []corev1.TopologySpreadConstraint `json:"topologySpreadConstraints,omitempty"`
267273
}
268274

269275
// VitessKeyspaceTurndownPolicy is the policy for turning down a keyspace.

pkg/apis/planetscale/v2/zz_generated.deepcopy.go

Lines changed: 28 additions & 0 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

0 commit comments

Comments
 (0)