Skip to content

Commit 95dab22

Browse files
committed
Allow empty nodeselector
1 parent 74f95be commit 95dab22

File tree

11 files changed

+65
-49
lines changed

11 files changed

+65
-49
lines changed

api/v1beta1/common_types.go

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -86,7 +86,7 @@ type DesignateServiceTemplateCore struct {
8686
// +kubebuilder:validation:Optional
8787
// NodeSelector to target subset of worker nodes running this service. Setting here overrides
8888
// any global NodeSelector settings within the Designate CR.
89-
NodeSelector map[string]string `json:"nodeSelector,omitempty"`
89+
NodeSelector *map[string]string `json:"nodeSelector,omitempty"`
9090

9191
// +kubebuilder:validation:Optional
9292
// CustomServiceConfig - customize the service config using this parameter to change service defaults,

api/v1beta1/designate_types.go

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -152,7 +152,7 @@ type DesignateSpecBase struct {
152152

153153
// +kubebuilder:validation:Optional
154154
// NodeSelector to target subset of worker nodes running this service
155-
NodeSelector map[string]string `json:"nodeSelector,omitempty"`
155+
NodeSelector *map[string]string `json:"nodeSelector,omitempty"`
156156

157157
// +kubebuilder:validation:Optional
158158
// +kubebuilder:default=false

api/v1beta1/zz_generated.deepcopy.go

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

controllers/designate_controller.go

Lines changed: 35 additions & 21 deletions
Original file line numberDiff line numberDiff line change
@@ -1465,6 +1465,10 @@ func (r *DesignateReconciler) apiDeploymentCreateOrUpdate(ctx context.Context, i
14651465
},
14661466
}
14671467

1468+
if instance.Spec.DesignateAPI.NodeSelector == nil {
1469+
instance.Spec.DesignateAPI.NodeSelector = instance.Spec.NodeSelector
1470+
}
1471+
14681472
op, err := controllerutil.CreateOrUpdate(ctx, r.Client, deployment, func() error {
14691473
deployment.Spec = instance.Spec.DesignateAPI
14701474
// Add in transfers from umbrella Designate (this instance) spec
@@ -1476,9 +1480,7 @@ func (r *DesignateReconciler) apiDeploymentCreateOrUpdate(ctx context.Context, i
14761480
deployment.Spec.ServiceAccount = instance.RbacResourceName()
14771481
deployment.Spec.TLS = instance.Spec.DesignateAPI.TLS
14781482
deployment.Spec.TransportURLSecret = instance.Status.TransportURLSecret
1479-
if len(deployment.Spec.NodeSelector) == 0 {
1480-
deployment.Spec.NodeSelector = instance.Spec.NodeSelector
1481-
}
1483+
deployment.Spec.NodeSelector = instance.Spec.DesignateAPI.NodeSelector
14821484

14831485
err := controllerutil.SetControllerReference(instance, deployment, r.Scheme)
14841486
if err != nil {
@@ -1499,6 +1501,10 @@ func (r *DesignateReconciler) centralDeploymentCreateOrUpdate(ctx context.Contex
14991501
},
15001502
}
15011503

1504+
if instance.Spec.DesignateCentral.NodeSelector == nil {
1505+
instance.Spec.DesignateCentral.NodeSelector = instance.Spec.NodeSelector
1506+
}
1507+
15021508
op, err := controllerutil.CreateOrUpdate(ctx, r.Client, deployment, func() error {
15031509
deployment.Spec = instance.Spec.DesignateCentral
15041510
// Add in transfers from umbrella Designate CR (this instance) spec
@@ -1510,9 +1516,7 @@ func (r *DesignateReconciler) centralDeploymentCreateOrUpdate(ctx context.Contex
15101516
deployment.Spec.TransportURLSecret = instance.Status.TransportURLSecret
15111517
deployment.Spec.ServiceAccount = instance.RbacResourceName()
15121518
deployment.Spec.TLS = instance.Spec.DesignateAPI.TLS.Ca
1513-
if len(deployment.Spec.NodeSelector) == 0 {
1514-
deployment.Spec.NodeSelector = instance.Spec.NodeSelector
1515-
}
1519+
deployment.Spec.NodeSelector = instance.Spec.DesignateCentral.NodeSelector
15161520

15171521
err := controllerutil.SetControllerReference(instance, deployment, r.Scheme)
15181522
if err != nil {
@@ -1533,6 +1537,10 @@ func (r *DesignateReconciler) workerDeploymentCreateOrUpdate(ctx context.Context
15331537
},
15341538
}
15351539

1540+
if instance.Spec.DesignateWorker.NodeSelector == nil {
1541+
instance.Spec.DesignateWorker.NodeSelector = instance.Spec.NodeSelector
1542+
}
1543+
15361544
op, err := controllerutil.CreateOrUpdate(ctx, r.Client, deployment, func() error {
15371545
deployment.Spec = instance.Spec.DesignateWorker
15381546
// Add in transfers from umbrella Designate CR (this instance) spec
@@ -1544,9 +1552,7 @@ func (r *DesignateReconciler) workerDeploymentCreateOrUpdate(ctx context.Context
15441552
deployment.Spec.TransportURLSecret = instance.Status.TransportURLSecret
15451553
deployment.Spec.ServiceAccount = instance.RbacResourceName()
15461554
deployment.Spec.TLS = instance.Spec.DesignateAPI.TLS.Ca
1547-
if len(deployment.Spec.NodeSelector) == 0 {
1548-
deployment.Spec.NodeSelector = instance.Spec.NodeSelector
1549-
}
1555+
deployment.Spec.NodeSelector = instance.Spec.DesignateWorker.NodeSelector
15501556

15511557
err := controllerutil.SetControllerReference(instance, deployment, r.Scheme)
15521558
if err != nil {
@@ -1567,6 +1573,10 @@ func (r *DesignateReconciler) mdnsDaemonSetCreateOrUpdate(ctx context.Context, i
15671573
},
15681574
}
15691575

1576+
if instance.Spec.DesignateMdns.NodeSelector == nil {
1577+
instance.Spec.DesignateMdns.NodeSelector = instance.Spec.NodeSelector
1578+
}
1579+
15701580
op, err := controllerutil.CreateOrUpdate(ctx, r.Client, daemonset, func() error {
15711581
daemonset.Spec = instance.Spec.DesignateMdns
15721582
// Add in transfers from umbrella Designate CR (this instance) spec
@@ -1578,9 +1588,7 @@ func (r *DesignateReconciler) mdnsDaemonSetCreateOrUpdate(ctx context.Context, i
15781588
daemonset.Spec.TransportURLSecret = instance.Status.TransportURLSecret
15791589
daemonset.Spec.ServiceAccount = instance.RbacResourceName()
15801590
daemonset.Spec.TLS = instance.Spec.DesignateAPI.TLS.Ca
1581-
if len(daemonset.Spec.NodeSelector) == 0 {
1582-
daemonset.Spec.NodeSelector = instance.Spec.NodeSelector
1583-
}
1591+
daemonset.Spec.NodeSelector = instance.Spec.DesignateMdns.NodeSelector
15841592

15851593
err := controllerutil.SetControllerReference(instance, daemonset, r.Scheme)
15861594
if err != nil {
@@ -1601,6 +1609,10 @@ func (r *DesignateReconciler) producerDeploymentCreateOrUpdate(ctx context.Conte
16011609
},
16021610
}
16031611

1612+
if instance.Spec.DesignateProducer.NodeSelector == nil {
1613+
instance.Spec.DesignateProducer.NodeSelector = instance.Spec.NodeSelector
1614+
}
1615+
16041616
op, err := controllerutil.CreateOrUpdate(ctx, r.Client, deployment, func() error {
16051617
deployment.Spec = instance.Spec.DesignateProducer
16061618
// Add in transfers from umbrella Designate CR (this instance) spec
@@ -1612,9 +1624,7 @@ func (r *DesignateReconciler) producerDeploymentCreateOrUpdate(ctx context.Conte
16121624
deployment.Spec.TransportURLSecret = instance.Status.TransportURLSecret
16131625
deployment.Spec.ServiceAccount = instance.RbacResourceName()
16141626
deployment.Spec.TLS = instance.Spec.DesignateAPI.TLS.Ca
1615-
if len(deployment.Spec.NodeSelector) == 0 {
1616-
deployment.Spec.NodeSelector = instance.Spec.NodeSelector
1617-
}
1627+
deployment.Spec.NodeSelector = instance.Spec.DesignateProducer.NodeSelector
16181628

16191629
err := controllerutil.SetControllerReference(instance, deployment, r.Scheme)
16201630
if err != nil {
@@ -1635,6 +1645,10 @@ func (r *DesignateReconciler) backendbind9StatefulSetCreateOrUpdate(ctx context.
16351645
},
16361646
}
16371647

1648+
if instance.Spec.DesignateBackendbind9.NodeSelector == nil {
1649+
instance.Spec.DesignateBackendbind9.NodeSelector = instance.Spec.NodeSelector
1650+
}
1651+
16381652
op, err := controllerutil.CreateOrUpdate(ctx, r.Client, statefulSet, func() error {
16391653
statefulSet.Spec = instance.Spec.DesignateBackendbind9
16401654
// Add in transfers from umbrella Designate CR (this instance) spec
@@ -1643,9 +1657,7 @@ func (r *DesignateReconciler) backendbind9StatefulSetCreateOrUpdate(ctx context.
16431657
statefulSet.Spec.Secret = instance.Spec.Secret
16441658
statefulSet.Spec.PasswordSelectors = instance.Spec.PasswordSelectors
16451659
statefulSet.Spec.ServiceAccount = instance.RbacResourceName()
1646-
if len(statefulSet.Spec.NodeSelector) == 0 {
1647-
statefulSet.Spec.NodeSelector = instance.Spec.NodeSelector
1648-
}
1660+
statefulSet.Spec.NodeSelector = instance.Spec.DesignateBackendbind9.NodeSelector
16491661

16501662
err := controllerutil.SetControllerReference(instance, statefulSet, r.Scheme)
16511663
if err != nil {
@@ -1669,14 +1681,16 @@ func (r *DesignateReconciler) unboundDeploymentCreateOrUpdate(
16691681
},
16701682
}
16711683

1684+
if instance.Spec.DesignateUnbound.NodeSelector == nil {
1685+
instance.Spec.DesignateUnbound.NodeSelector = instance.Spec.NodeSelector
1686+
}
1687+
16721688
op, err := controllerutil.CreateOrUpdate(ctx, r.Client, deployment, func() error {
16731689
deployment.Spec = instance.Spec.DesignateUnbound
16741690
// Add in transfers from umbrella Designate CR (this instance) spec
16751691
// TODO: Add logic to determine when to set/overwrite, etc
16761692
deployment.Spec.ServiceAccount = instance.RbacResourceName()
1677-
if len(deployment.Spec.NodeSelector) == 0 {
1678-
deployment.Spec.NodeSelector = instance.Spec.NodeSelector
1679-
}
1693+
deployment.Spec.NodeSelector = instance.Spec.DesignateUnbound.NodeSelector
16801694

16811695
err := controllerutil.SetControllerReference(instance, deployment, r.Scheme)
16821696
if err != nil {

pkg/designateapi/deployment.go

Lines changed: 2 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -145,7 +145,6 @@ func Deployment(
145145
LivenessProbe: livenessProbe,
146146
},
147147
},
148-
NodeSelector: instance.Spec.NodeSelector,
149148
},
150149
},
151150
},
@@ -161,8 +160,8 @@ func Deployment(
161160
},
162161
corev1.LabelHostname,
163162
)
164-
if instance.Spec.NodeSelector != nil && len(instance.Spec.NodeSelector) > 0 {
165-
deployment.Spec.Template.Spec.NodeSelector = instance.Spec.NodeSelector
163+
if instance.Spec.NodeSelector != nil {
164+
deployment.Spec.Template.Spec.NodeSelector = *instance.Spec.NodeSelector
166165
}
167166

168167
initContainerDetails := designate.APIDetails{

pkg/designatebackendbind9/deployment.go

Lines changed: 2 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -111,7 +111,6 @@ func StatefulSet(
111111
ReadinessProbe: readinessProbe,
112112
},
113113
},
114-
NodeSelector: instance.Spec.NodeSelector,
115114
},
116115
},
117116
},
@@ -157,8 +156,8 @@ func StatefulSet(
157156
},
158157
corev1.LabelHostname,
159158
)
160-
if instance.Spec.NodeSelector != nil && len(instance.Spec.NodeSelector) > 0 {
161-
statefulSet.Spec.Template.Spec.NodeSelector = instance.Spec.NodeSelector
159+
if instance.Spec.NodeSelector != nil {
160+
statefulSet.Spec.Template.Spec.NodeSelector = *instance.Spec.NodeSelector
162161
}
163162

164163
// TODO: bind's init container doesn't need most of this stuff. It doesn't use rabbitmq, redis or access the

pkg/designatecentral/deployment.go

Lines changed: 2 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -122,7 +122,6 @@ func Deployment(
122122
LivenessProbe: livenessProbe,
123123
},
124124
},
125-
NodeSelector: instance.Spec.NodeSelector,
126125
},
127126
},
128127
},
@@ -138,8 +137,8 @@ func Deployment(
138137
},
139138
corev1.LabelHostname,
140139
)
141-
if instance.Spec.NodeSelector != nil && len(instance.Spec.NodeSelector) > 0 {
142-
deployment.Spec.Template.Spec.NodeSelector = instance.Spec.NodeSelector
140+
if instance.Spec.NodeSelector != nil {
141+
deployment.Spec.Template.Spec.NodeSelector = *instance.Spec.NodeSelector
143142
}
144143

145144
initContainerDetails := designate.APIDetails{

pkg/designatemdns/daemonset.go

Lines changed: 2 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -114,7 +114,6 @@ func DaemonSet(
114114
LivenessProbe: livenessProbe,
115115
},
116116
},
117-
NodeSelector: instance.Spec.NodeSelector,
118117
},
119118
},
120119
},
@@ -130,8 +129,8 @@ func DaemonSet(
130129
},
131130
corev1.LabelHostname,
132131
)
133-
if instance.Spec.NodeSelector != nil && len(instance.Spec.NodeSelector) > 0 {
134-
daemonset.Spec.Template.Spec.NodeSelector = instance.Spec.NodeSelector
132+
if instance.Spec.NodeSelector != nil {
133+
daemonset.Spec.Template.Spec.NodeSelector = *instance.Spec.NodeSelector
135134
}
136135

137136
initContainerDetails := designate.APIDetails{

pkg/designateproducer/deployment.go

Lines changed: 2 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -118,7 +118,6 @@ func Deployment(
118118
LivenessProbe: livenessProbe,
119119
},
120120
},
121-
NodeSelector: instance.Spec.NodeSelector,
122121
},
123122
},
124123
},
@@ -134,8 +133,8 @@ func Deployment(
134133
},
135134
corev1.LabelHostname,
136135
)
137-
if instance.Spec.NodeSelector != nil && len(instance.Spec.NodeSelector) > 0 {
138-
deployment.Spec.Template.Spec.NodeSelector = instance.Spec.NodeSelector
136+
if instance.Spec.NodeSelector != nil {
137+
deployment.Spec.Template.Spec.NodeSelector = *instance.Spec.NodeSelector
139138
}
140139

141140
initContainerDetails := designate.APIDetails{

pkg/designateunbound/deployment.go

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -146,8 +146,8 @@ func Deployment(instance *designatev1beta1.DesignateUnbound,
146146
},
147147
corev1.LabelHostname,
148148
)
149-
if instance.Spec.NodeSelector != nil && len(instance.Spec.NodeSelector) > 0 {
150-
deployment.Spec.Template.Spec.NodeSelector = instance.Spec.NodeSelector
149+
if instance.Spec.NodeSelector != nil {
150+
deployment.Spec.Template.Spec.NodeSelector = *instance.Spec.NodeSelector
151151
}
152152

153153
return deployment

0 commit comments

Comments
 (0)