Skip to content

Commit 156da2d

Browse files
authored
feat: treat no matching instances as error (#2113)
1 parent f0c26d9 commit 156da2d

19 files changed

+20
-9
lines changed

controllers/alertrulegroup_controller.go

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -107,7 +107,7 @@ func (r *GrafanaAlertRuleGroupReconciler) Reconcile(ctx context.Context, req ctr
107107
setNoMatchingInstancesCondition(&group.Status.Conditions, group.Generation, err)
108108
meta.RemoveStatusCondition(&group.Status.Conditions, conditionAlertGroupSynchronized)
109109

110-
return ctrl.Result{RequeueAfter: RequeueDelay}, nil
110+
return ctrl.Result{}, ErrNoMatchingInstances
111111
}
112112

113113
removeNoMatchingInstance(&group.Status.Conditions)

controllers/alertrulegroup_controller_test.go

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -54,6 +54,7 @@ var _ = Describe("AlertRulegroup Reconciler: Provoke Conditions", func() {
5454
},
5555
wantCondition: conditionNoMatchingInstance,
5656
wantReason: conditionReasonEmptyAPIReply,
57+
wantErr: ErrNoMatchingInstances.Error(),
5758
},
5859
{
5960
name: "Failed to apply to instance",

controllers/contactpoint_controller.go

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -104,7 +104,7 @@ func (r *GrafanaContactPointReconciler) Reconcile(ctx context.Context, req ctrl.
104104
setNoMatchingInstancesCondition(&contactPoint.Status.Conditions, contactPoint.Generation, err)
105105
meta.RemoveStatusCondition(&contactPoint.Status.Conditions, conditionContactPointSynchronized)
106106

107-
return ctrl.Result{RequeueAfter: RequeueDelay}, nil
107+
return ctrl.Result{}, ErrNoMatchingInstances
108108
}
109109

110110
removeNoMatchingInstance(&contactPoint.Status.Conditions)

controllers/contactpoint_controller_test.go

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -44,6 +44,7 @@ var _ = Describe("ContactPoint Reconciler: Provoke Conditions", func() {
4444
},
4545
wantCondition: conditionNoMatchingInstance,
4646
wantReason: conditionReasonEmptyAPIReply,
47+
wantErr: ErrNoMatchingInstances.Error(),
4748
},
4849
{
4950
name: "Failed to apply to instance",

controllers/controller_shared.go

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -50,6 +50,8 @@ const (
5050
grafanaFinalizer = "operator.grafana.com/finalizer"
5151
)
5252

53+
var ErrNoMatchingInstances = fmt.Errorf("no matching instances")
54+
5355
//+kubebuilder:rbac:groups=coordination.k8s.io,resources=leases,verbs=get;list;watch;create;update;patch;delete
5456

5557
// Allow slower initial retry on any failure

controllers/dashboard_controller.go

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -132,7 +132,7 @@ func (r *GrafanaDashboardReconciler) Reconcile(ctx context.Context, req ctrl.Req
132132
meta.RemoveStatusCondition(&cr.Status.Conditions, conditionDashboardSynchronized)
133133
cr.Status.NoMatchingInstances = true
134134

135-
return ctrl.Result{RequeueAfter: RequeueDelay}, nil
135+
return ctrl.Result{}, ErrNoMatchingInstances
136136
}
137137

138138
removeNoMatchingInstance(&cr.Status.Conditions)

controllers/dashboard_controller_test.go

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -55,6 +55,7 @@ var _ = Describe("Dashboard Reconciler: Provoke Conditions", func() {
5555
},
5656
wantCondition: conditionNoMatchingInstance,
5757
wantReason: conditionReasonEmptyAPIReply,
58+
wantErr: ErrNoMatchingInstances.Error(),
5859
},
5960
{
6061
name: "Failed to apply to instance",

controllers/datasource_controller.go

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -109,7 +109,7 @@ func (r *GrafanaDatasourceReconciler) Reconcile(ctx context.Context, req ctrl.Re
109109
meta.RemoveStatusCondition(&cr.Status.Conditions, conditionDatasourceSynchronized)
110110
cr.Status.NoMatchingInstances = true
111111

112-
return ctrl.Result{RequeueAfter: RequeueDelay}, nil
112+
return ctrl.Result{}, ErrNoMatchingInstances
113113
}
114114

115115
removeNoMatchingInstance(&cr.Status.Conditions)

controllers/datasource_controller_test.go

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -203,6 +203,7 @@ var _ = Describe("Datasource Reconciler: Provoke Conditions", func() {
203203
},
204204
wantCondition: conditionNoMatchingInstance,
205205
wantReason: conditionReasonEmptyAPIReply,
206+
wantErr: ErrNoMatchingInstances.Error(),
206207
},
207208
{
208209
name: "Failed to apply to instance",

controllers/folder_controller.go

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -116,7 +116,7 @@ func (r *GrafanaFolderReconciler) Reconcile(ctx context.Context, req ctrl.Reques
116116
meta.RemoveStatusCondition(&folder.Status.Conditions, conditionFolderSynchronized)
117117
folder.Status.NoMatchingInstances = true
118118

119-
return ctrl.Result{RequeueAfter: RequeueDelay}, nil
119+
return ctrl.Result{}, ErrNoMatchingInstances
120120
}
121121

122122
removeNoMatchingInstance(&folder.Status.Conditions)

0 commit comments

Comments
 (0)