Skip to content

Commit 6cc6dd2

Browse files
committed
don't override matchlabels
1 parent 0a34837 commit 6cc6dd2

File tree

3 files changed

+51
-3
lines changed

3 files changed

+51
-3
lines changed

controllers/restic.go

Lines changed: 16 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -101,7 +101,22 @@ func (r *DPAReconciler) ReconcileResticDaemonset(log logr.Logger) (bool, error)
101101
// Deployment selector is immutable so we set this value only if
102102
// a new object is going to be created
103103
if ds.ObjectMeta.CreationTimestamp.IsZero() {
104-
ds.Spec.Selector = resticLabelSelector
104+
if ds.Spec.Selector == nil {
105+
ds.Spec.Selector = &metav1.LabelSelector{}
106+
}
107+
var err error
108+
if ds.Spec.Selector == nil {
109+
ds.Spec.Selector = &metav1.LabelSelector{
110+
MatchLabels: make(map[string]string),
111+
}
112+
}
113+
if ds.Spec.Selector.MatchLabels == nil {
114+
ds.Spec.Selector.MatchLabels = make(map[string]string)
115+
}
116+
ds.Spec.Selector.MatchLabels, err = common.AppendUniqueLabels(ds.Spec.Selector.MatchLabels, resticLabelSelector.MatchLabels)
117+
if err != nil {
118+
return fmt.Errorf("failed to append labels to selector: %s", err)
119+
}
105120
}
106121

107122
if err := controllerutil.SetControllerReference(&dpa, ds, r.Scheme); err != nil {

controllers/velero.go

Lines changed: 11 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -436,8 +436,17 @@ func (r *DPAReconciler) customizeVeleroDeployment(dpa *oadpv1alpha1.DataProtecti
436436
if err != nil {
437437
return fmt.Errorf("velero deployment label: %v", err)
438438
}
439-
veleroDeployment.Spec.Selector = &metav1.LabelSelector{
440-
MatchLabels: veleroDeployment.Labels,
439+
if veleroDeployment.Spec.Selector == nil {
440+
veleroDeployment.Spec.Selector = &metav1.LabelSelector{
441+
MatchLabels: make(map[string]string),
442+
}
443+
}
444+
if veleroDeployment.Spec.Selector.MatchLabels == nil {
445+
veleroDeployment.Spec.Selector.MatchLabels = make(map[string]string)
446+
}
447+
veleroDeployment.Spec.Selector.MatchLabels, err = common.AppendUniqueLabels(veleroDeployment.Spec.Selector.MatchLabels, veleroDeployment.Labels, r.getDpaAppLabels(dpa))
448+
if err != nil {
449+
return fmt.Errorf("velero deployment selector label: %v", err)
441450
}
442451
veleroDeployment.Spec.Template.Labels, err = common.AppendUniqueLabels(veleroDeployment.Spec.Template.Labels, veleroDeployment.Labels)
443452
if err != nil {

controllers/velero_test.go

Lines changed: 24 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -87,6 +87,7 @@ func TestDPAReconciler_buildVeleroDeployment(t *testing.T) {
8787
"app.kubernetes.io/managed-by": common.OADPOperator,
8888
"app.kubernetes.io/component": Server,
8989
"component": "velero",
90+
"deploy": "velero",
9091
oadpv1alpha1.OadpOperatorLabel: "True",
9192
},
9293
},
@@ -129,6 +130,7 @@ func TestDPAReconciler_buildVeleroDeployment(t *testing.T) {
129130
"app.kubernetes.io/managed-by": common.OADPOperator,
130131
"app.kubernetes.io/component": Server,
131132
"component": "velero",
133+
"deploy": "velero",
132134
oadpv1alpha1.OadpOperatorLabel: "True",
133135
},
134136
},
@@ -254,6 +256,7 @@ func TestDPAReconciler_buildVeleroDeployment(t *testing.T) {
254256
"app.kubernetes.io/managed-by": common.OADPOperator,
255257
"app.kubernetes.io/component": Server,
256258
"component": "velero",
259+
"deploy": "velero",
257260
oadpv1alpha1.OadpOperatorLabel: "True",
258261
},
259262
},
@@ -302,6 +305,7 @@ func TestDPAReconciler_buildVeleroDeployment(t *testing.T) {
302305
"app.kubernetes.io/managed-by": common.OADPOperator,
303306
"app.kubernetes.io/component": Server,
304307
"component": "velero",
308+
"deploy": "velero",
305309
oadpv1alpha1.OadpOperatorLabel: "True",
306310
},
307311
},
@@ -428,6 +432,7 @@ func TestDPAReconciler_buildVeleroDeployment(t *testing.T) {
428432
"app.kubernetes.io/managed-by": common.OADPOperator,
429433
"app.kubernetes.io/component": Server,
430434
"component": "velero",
435+
"deploy": "velero",
431436
oadpv1alpha1.OadpOperatorLabel: "True",
432437
},
433438
},
@@ -468,6 +473,7 @@ func TestDPAReconciler_buildVeleroDeployment(t *testing.T) {
468473
"app.kubernetes.io/managed-by": common.OADPOperator,
469474
"app.kubernetes.io/component": Server,
470475
"component": "velero",
476+
"deploy": "velero",
471477
oadpv1alpha1.OadpOperatorLabel: "True",
472478
},
473479
},
@@ -512,6 +518,7 @@ func TestDPAReconciler_buildVeleroDeployment(t *testing.T) {
512518
"app.kubernetes.io/managed-by": common.OADPOperator,
513519
"app.kubernetes.io/component": Server,
514520
"component": "velero",
521+
"deploy": "velero",
515522
oadpv1alpha1.OadpOperatorLabel: "True",
516523
},
517524
},
@@ -639,6 +646,7 @@ func TestDPAReconciler_buildVeleroDeployment(t *testing.T) {
639646
"app.kubernetes.io/managed-by": common.OADPOperator,
640647
"app.kubernetes.io/component": Server,
641648
"component": "velero",
649+
"deploy": "velero",
642650
oadpv1alpha1.OadpOperatorLabel: "True",
643651
},
644652
},
@@ -679,6 +687,7 @@ func TestDPAReconciler_buildVeleroDeployment(t *testing.T) {
679687
"app.kubernetes.io/managed-by": common.OADPOperator,
680688
"app.kubernetes.io/component": Server,
681689
"component": "velero",
690+
"deploy": "velero",
682691
oadpv1alpha1.OadpOperatorLabel: "True",
683692
},
684693
},
@@ -734,6 +743,7 @@ func TestDPAReconciler_buildVeleroDeployment(t *testing.T) {
734743
"app.kubernetes.io/managed-by": common.OADPOperator,
735744
"app.kubernetes.io/component": Server,
736745
"component": "velero",
746+
"deploy": "velero",
737747
oadpv1alpha1.OadpOperatorLabel: "True",
738748
},
739749
},
@@ -864,6 +874,7 @@ func TestDPAReconciler_buildVeleroDeployment(t *testing.T) {
864874
"app.kubernetes.io/component": Server,
865875
oadpv1alpha1.OadpOperatorLabel: "True",
866876
"component": "velero",
877+
"deploy": "velero",
867878
},
868879
},
869880
},
@@ -927,6 +938,7 @@ func TestDPAReconciler_buildVeleroDeployment(t *testing.T) {
927938
"app.kubernetes.io/component": Server,
928939
oadpv1alpha1.OadpOperatorLabel: "True",
929940
"component": "velero",
941+
"deploy": "velero",
930942
},
931943
},
932944
Replicas: pointer.Int32(1),
@@ -1064,6 +1076,7 @@ func TestDPAReconciler_buildVeleroDeployment(t *testing.T) {
10641076
"app.kubernetes.io/component": Server,
10651077
oadpv1alpha1.OadpOperatorLabel: "True",
10661078
"component": "velero",
1079+
"deploy": "velero",
10671080
},
10681081
},
10691082
},
@@ -1122,6 +1135,7 @@ func TestDPAReconciler_buildVeleroDeployment(t *testing.T) {
11221135
"app.kubernetes.io/component": Server,
11231136
oadpv1alpha1.OadpOperatorLabel: "True",
11241137
"component": "velero",
1138+
"deploy": "velero",
11251139
},
11261140
},
11271141
Replicas: pointer.Int32(1),
@@ -1249,6 +1263,7 @@ func TestDPAReconciler_buildVeleroDeployment(t *testing.T) {
12491263
"app.kubernetes.io/managed-by": common.OADPOperator,
12501264
"app.kubernetes.io/component": Server,
12511265
"component": "velero",
1266+
"deploy": "velero",
12521267
oadpv1alpha1.OadpOperatorLabel: "True",
12531268
},
12541269
},
@@ -1295,6 +1310,7 @@ func TestDPAReconciler_buildVeleroDeployment(t *testing.T) {
12951310
"app.kubernetes.io/managed-by": common.OADPOperator,
12961311
"app.kubernetes.io/component": Server,
12971312
"component": "velero",
1313+
"deploy": "velero",
12981314
oadpv1alpha1.OadpOperatorLabel: "True",
12991315
},
13001316
},
@@ -1451,6 +1467,7 @@ func TestDPAReconciler_buildVeleroDeployment(t *testing.T) {
14511467
"app.kubernetes.io/managed-by": common.OADPOperator,
14521468
"app.kubernetes.io/component": Server,
14531469
"component": "velero",
1470+
"deploy": "velero",
14541471
oadpv1alpha1.OadpOperatorLabel: "True",
14551472
},
14561473
},
@@ -1498,6 +1515,7 @@ func TestDPAReconciler_buildVeleroDeployment(t *testing.T) {
14981515
"app.kubernetes.io/managed-by": common.OADPOperator,
14991516
"app.kubernetes.io/component": Server,
15001517
"component": "velero",
1518+
"deploy": "velero",
15011519
oadpv1alpha1.OadpOperatorLabel: "True",
15021520
},
15031521
},
@@ -1668,6 +1686,7 @@ func TestDPAReconciler_buildVeleroDeployment(t *testing.T) {
16681686
"app.kubernetes.io/managed-by": common.OADPOperator,
16691687
"app.kubernetes.io/component": Server,
16701688
"component": "velero",
1689+
"deploy": "velero",
16711690
oadpv1alpha1.OadpOperatorLabel: "True",
16721691
},
16731692
},
@@ -1717,6 +1736,7 @@ func TestDPAReconciler_buildVeleroDeployment(t *testing.T) {
17171736
"app.kubernetes.io/managed-by": common.OADPOperator,
17181737
"app.kubernetes.io/component": Server,
17191738
"component": "velero",
1739+
"deploy": "velero",
17201740
oadpv1alpha1.OadpOperatorLabel: "True",
17211741
},
17221742
},
@@ -1874,6 +1894,7 @@ func TestDPAReconciler_buildVeleroDeployment(t *testing.T) {
18741894
"app.kubernetes.io/managed-by": common.OADPOperator,
18751895
"app.kubernetes.io/component": Server,
18761896
"component": "velero",
1897+
"deploy": "velero",
18771898
oadpv1alpha1.OadpOperatorLabel: "True",
18781899
},
18791900
},
@@ -1939,6 +1960,7 @@ func TestDPAReconciler_buildVeleroDeployment(t *testing.T) {
19391960
"app.kubernetes.io/managed-by": common.OADPOperator,
19401961
"app.kubernetes.io/component": Server,
19411962
"component": "velero",
1963+
"deploy": "velero",
19421964
oadpv1alpha1.OadpOperatorLabel: "True",
19431965
},
19441966
},
@@ -2112,6 +2134,7 @@ func TestDPAReconciler_buildVeleroDeployment(t *testing.T) {
21122134
"app.kubernetes.io/managed-by": common.OADPOperator,
21132135
"app.kubernetes.io/component": Server,
21142136
"component": "velero",
2137+
"deploy": "velero",
21152138
oadpv1alpha1.OadpOperatorLabel: "True",
21162139
},
21172140
},
@@ -2176,6 +2199,7 @@ func TestDPAReconciler_buildVeleroDeployment(t *testing.T) {
21762199
"app.kubernetes.io/managed-by": common.OADPOperator,
21772200
"app.kubernetes.io/component": Server,
21782201
"component": "velero",
2202+
"deploy": "velero",
21792203
oadpv1alpha1.OadpOperatorLabel: "True",
21802204
},
21812205
},

0 commit comments

Comments
 (0)