Skip to content

Commit b3ca3ac

Browse files
authored
Avoid early return (#28)
1 parent f8e7260 commit b3ca3ac

File tree

2 files changed

+26
-18
lines changed

2 files changed

+26
-18
lines changed

controllers/gitopscluster_controller.go

Lines changed: 5 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -225,7 +225,6 @@ func (r *GitopsClusterReconciler) Reconcile(ctx context.Context, req ctrl.Reques
225225
log.Error(err, "failed to update Cluster status")
226226
return ctrl.Result{}, err
227227
}
228-
return ctrl.Result{}, nil
229228
}
230229

231230
if err := r.verifyConnectivity(ctx, cluster); err != nil {
@@ -378,6 +377,11 @@ func (r *GitopsClusterReconciler) requestsForCAPIClusterChange(o client.Object)
378377
func (r *GitopsClusterReconciler) verifyConnectivity(ctx context.Context, cluster *gitopsv1alpha1.GitopsCluster) error {
379378
log := log.FromContext(ctx)
380379

380+
// avoid checking the cluster if it's under deletion.
381+
if !cluster.ObjectMeta.DeletionTimestamp.IsZero() {
382+
return nil
383+
}
384+
381385
log.Info("checking connectivity", "cluster", cluster.Name)
382386

383387
nsName := types.NamespacedName{Namespace: cluster.Namespace, Name: cluster.Name}

controllers/gitopscluster_controller_test.go

Lines changed: 21 additions & 17 deletions
Original file line numberDiff line numberDiff line change
@@ -27,8 +27,9 @@ import (
2727
)
2828

2929
const (
30-
testName = "test-cluster"
31-
testNamespace = "testing"
30+
testName = "test-cluster"
31+
testNamespace = "testing"
32+
defaultRequeueTime = 1 * time.Minute
3233
)
3334

3435
func TestReconcile(t *testing.T) {
@@ -55,7 +56,7 @@ func TestReconcile(t *testing.T) {
5556
obj: types.NamespacedName{Namespace: testNamespace, Name: testName},
5657
opts: controllers.Options{
5758
CAPIEnabled: true,
58-
DefaultRequeueTime: 1 * time.Minute,
59+
DefaultRequeueTime: defaultRequeueTime,
5960
},
6061
requeueAfter: controllers.MissingSecretRequeueTime,
6162
wantCondition: meta.ReadyCondition,
@@ -78,9 +79,9 @@ func TestReconcile(t *testing.T) {
7879
obj: types.NamespacedName{Namespace: testNamespace, Name: testName},
7980
opts: controllers.Options{
8081
CAPIEnabled: true,
81-
DefaultRequeueTime: 1 * time.Minute,
82+
DefaultRequeueTime: defaultRequeueTime,
8283
},
83-
requeueAfter: 1 * time.Minute,
84+
requeueAfter: defaultRequeueTime,
8485
wantCondition: meta.ReadyCondition,
8586
wantStatus: "True",
8687
},
@@ -116,7 +117,7 @@ func TestReconcile(t *testing.T) {
116117
obj: types.NamespacedName{Namespace: testNamespace, Name: testName},
117118
opts: controllers.Options{
118119
CAPIEnabled: true,
119-
DefaultRequeueTime: 1 * time.Minute,
120+
DefaultRequeueTime: defaultRequeueTime,
120121
},
121122
errString: "failed to get CAPI cluster.*missing.*not found",
122123
wantCondition: meta.ReadyCondition,
@@ -139,8 +140,9 @@ func TestReconcile(t *testing.T) {
139140
obj: types.NamespacedName{Namespace: testNamespace, Name: testName},
140141
opts: controllers.Options{
141142
CAPIEnabled: true,
142-
DefaultRequeueTime: 1 * time.Minute,
143+
DefaultRequeueTime: defaultRequeueTime,
143144
},
145+
requeueAfter: defaultRequeueTime,
144146
wantCondition: meta.ReadyCondition,
145147
wantStatus: "False",
146148
wantStatusMessage: "Waiting for ControlPlaneReady status",
@@ -163,8 +165,9 @@ func TestReconcile(t *testing.T) {
163165
obj: types.NamespacedName{Namespace: testNamespace, Name: testName},
164166
opts: controllers.Options{
165167
CAPIEnabled: true,
166-
DefaultRequeueTime: 1 * time.Minute,
168+
DefaultRequeueTime: defaultRequeueTime,
167169
},
170+
requeueAfter: defaultRequeueTime,
168171
wantCondition: gitopsv1alpha1.ClusterProvisionedCondition,
169172
wantStatus: "True",
170173
wantStatusMessage: "CAPI Cluster has been provisioned",
@@ -188,8 +191,9 @@ func TestReconcile(t *testing.T) {
188191
obj: types.NamespacedName{Namespace: testNamespace, Name: testName},
189192
opts: controllers.Options{
190193
CAPIEnabled: true,
191-
DefaultRequeueTime: 1 * time.Minute,
194+
DefaultRequeueTime: defaultRequeueTime,
192195
},
196+
requeueAfter: defaultRequeueTime,
193197
wantCondition: meta.ReadyCondition,
194198
wantStatus: "True",
195199
},
@@ -226,9 +230,9 @@ func TestReconcile(t *testing.T) {
226230
obj: types.NamespacedName{Namespace: testNamespace, Name: testName},
227231
opts: controllers.Options{
228232
CAPIEnabled: true,
229-
DefaultRequeueTime: 1 * time.Minute,
233+
DefaultRequeueTime: defaultRequeueTime,
230234
},
231-
requeueAfter: 1 * time.Minute,
235+
requeueAfter: defaultRequeueTime,
232236
wantCondition: gitopsv1alpha1.ClusterConnectivity,
233237
wantStatus: "True",
234238
wantStatusMessage: "cluster connectivity is ok",
@@ -249,9 +253,9 @@ func TestReconcile(t *testing.T) {
249253
obj: types.NamespacedName{Namespace: testNamespace, Name: testName},
250254
opts: controllers.Options{
251255
CAPIEnabled: true,
252-
DefaultRequeueTime: 1 * time.Minute,
256+
DefaultRequeueTime: defaultRequeueTime,
253257
},
254-
requeueAfter: 1 * time.Minute,
258+
requeueAfter: defaultRequeueTime,
255259
wantCondition: gitopsv1alpha1.ClusterConnectivity,
256260
wantStatus: "False",
257261
wantStatusMessage: "failed creating rest config from secret: couldn't get version/kind; json parse error: json: cannot unmarshal string into Go value of type struct { APIVersion string \"json:\\\"apiVersion,omitempty\\\"\"; Kind string \"json:\\\"kind,omitempty\\\"\" }",
@@ -272,9 +276,9 @@ func TestReconcile(t *testing.T) {
272276
obj: types.NamespacedName{Namespace: testNamespace, Name: testName},
273277
opts: controllers.Options{
274278
CAPIEnabled: true,
275-
DefaultRequeueTime: 1 * time.Minute,
279+
DefaultRequeueTime: defaultRequeueTime,
276280
},
277-
requeueAfter: 1 * time.Minute,
281+
requeueAfter: defaultRequeueTime,
278282
wantCondition: gitopsv1alpha1.ClusterConnectivity,
279283
wantStatus: "False",
280284
wantStatusMessage: "failed connecting to the cluster: the server rejected our request for an unknown reason",
@@ -374,7 +378,7 @@ func TestFinalizedDeletion(t *testing.T) {
374378
controllerutil.AddFinalizer(tt.gitopsCluster, controllers.GitOpsClusterFinalizer)
375379
opts := controllers.Options{
376380
CAPIEnabled: true,
377-
DefaultRequeueTime: 1 * time.Minute,
381+
DefaultRequeueTime: defaultRequeueTime,
378382
}
379383
r := makeTestReconciler(t, opts, append(tt.additionalObjs, tt.gitopsCluster)...)
380384

@@ -473,7 +477,7 @@ func TestFinalizers(t *testing.T) {
473477
t.Run(tt.name, func(t *testing.T) {
474478
opts := controllers.Options{
475479
CAPIEnabled: true,
476-
DefaultRequeueTime: 1 * time.Minute,
480+
DefaultRequeueTime: defaultRequeueTime,
477481
}
478482
r := makeTestReconciler(t, opts, append(tt.additionalObjs, tt.gitopsCluster)...)
479483

0 commit comments

Comments
 (0)