@@ -87,21 +87,31 @@ func (r *PieProbeReconciler) Reconcile(ctx context.Context, req ctrl.Request) (c
87
87
return ctrl.Result {}, nil
88
88
}
89
89
90
- // Create a provision-probe CronJob for each sc
91
- err = r .createOrUpdateJob (
92
- ctx ,
93
- ProvisionProbe ,
94
- & pieProbe ,
95
- nil ,
96
- )
97
- if err != nil {
98
- return ctrl.Result {}, err
90
+ if ! pieProbe .Spec .DisableProvisionProbes {
91
+ if err := r .reconcileProvisionProbe (ctx , & pieProbe ); err != nil {
92
+ return ctrl.Result {}, err
93
+ }
94
+ }
95
+
96
+ if ! pieProbe .Spec .DisableMountProbes {
97
+ if err := r .reconcileMountProbes (ctx , & pieProbe ); err != nil {
98
+ return ctrl.Result {}, err
99
+ }
99
100
}
100
101
102
+ return ctrl.Result {}, nil
103
+ }
104
+
105
+ func (r * PieProbeReconciler ) reconcileProvisionProbe (ctx context.Context , pieProbe * piev1alpha1.PieProbe ) error {
106
+ // Create a provision-probe CronJob for each sc
107
+ return r .createOrUpdateJob (ctx , ProvisionProbe , pieProbe , nil )
108
+ }
109
+
110
+ func (r * PieProbeReconciler ) reconcileMountProbes (ctx context.Context , pieProbe * piev1alpha1.PieProbe ) error {
101
111
// Get a node list and create a PVC and a mount-probe CronJob for each node and sc.
102
112
nodeSelector , err := nodeaffinity .NewNodeSelector (& pieProbe .Spec .NodeSelector )
103
113
if err != nil {
104
- return ctrl. Result {}, err
114
+ return err
105
115
}
106
116
allNodeList := corev1.NodeList {}
107
117
r .client .List (ctx , & allNodeList )
@@ -112,22 +122,13 @@ func (r *PieProbeReconciler) Reconcile(ctx context.Context, req ctrl.Request) (c
112
122
}
113
123
availableNodeList = append (availableNodeList , node )
114
124
115
- err = r .createOrUpdatePVC (
116
- ctx ,
117
- node .Name ,
118
- & pieProbe ,
119
- )
125
+ err = r .createOrUpdatePVC (ctx , node .Name , pieProbe )
120
126
if err != nil {
121
- return ctrl. Result {}, err
127
+ return err
122
128
}
123
- err = r .createOrUpdateJob (
124
- ctx ,
125
- MountProbe ,
126
- & pieProbe ,
127
- & node .Name ,
128
- )
129
+ err = r .createOrUpdateJob (ctx , MountProbe , pieProbe , & node .Name )
129
130
if err != nil {
130
- return ctrl. Result {}, err
131
+ return err
131
132
}
132
133
}
133
134
@@ -144,7 +145,7 @@ func (r *PieProbeReconciler) Reconcile(ctx context.Context, req ctrl.Request) (c
144
145
}),
145
146
})
146
147
if err != nil {
147
- return ctrl. Result {}, err
148
+ return err
148
149
}
149
150
for _ , cronJob := range cronJobList .Items {
150
151
nodeName := cronJob .GetLabels ()[constants .ProbeNodeLabelKey ]
@@ -156,7 +157,7 @@ func (r *PieProbeReconciler) Reconcile(ctx context.Context, req ctrl.Request) (c
156
157
}
157
158
err := r .deleteCronJob (ctx , & cronJob )
158
159
if client .IgnoreNotFound (err ) != nil {
159
- return ctrl. Result {}, err
160
+ return err
160
161
}
161
162
}
162
163
@@ -168,7 +169,7 @@ func (r *PieProbeReconciler) Reconcile(ctx context.Context, req ctrl.Request) (c
168
169
}),
169
170
})
170
171
if err != nil {
171
- return ctrl. Result {}, err
172
+ return err
172
173
}
173
174
for _ , pvc := range pvcList .Items {
174
175
nodeName := pvc .GetLabels ()[constants .ProbeNodeLabelKey ]
@@ -177,11 +178,11 @@ func (r *PieProbeReconciler) Reconcile(ctx context.Context, req ctrl.Request) (c
177
178
}
178
179
err = r .deletePVC (ctx , & pvc )
179
180
if client .IgnoreNotFound (err ) != nil {
180
- return ctrl. Result {}, err
181
+ return err
181
182
}
182
183
}
183
184
184
- return ctrl. Result {}, nil
185
+ return nil
185
186
}
186
187
187
188
func (r * PieProbeReconciler ) deletePVC (ctx context.Context , pvc * corev1.PersistentVolumeClaim ) error {
0 commit comments