Skip to content

Commit 68305b0

Browse files
Merge pull request #331 from ratailor/OSPRH-16954
Do not update status when reconciler exits due to panic
2 parents cfef36e + ede2630 commit 68305b0

8 files changed

+40
-0
lines changed

controllers/designate_controller.go

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -182,6 +182,11 @@ func (r *DesignateReconciler) Reconcile(ctx context.Context, req ctrl.Request) (
182182
// Always patch the instance status when exiting this function so we can
183183
// persist any changes.
184184
defer func() {
185+
// Don't update the status, if Reconciler Panics
186+
if r := recover(); r != nil {
187+
Log.Info(fmt.Sprintf("Panic during reconcile %v\n", r))
188+
panic(r)
189+
}
185190
condition.RestoreLastTransitionTimes(
186191
&instance.Status.Conditions, savedConditions)
187192
if instance.Status.Conditions.IsUnknown(condition.ReadyCondition) {

controllers/designateapi_controller.go

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -162,6 +162,11 @@ func (r *DesignateAPIReconciler) Reconcile(ctx context.Context, req ctrl.Request
162162
// Always patch the instance status when exiting this function so we can
163163
// persist any changes.
164164
defer func() {
165+
// Don't update the status, if Reconciler Panics
166+
if r := recover(); r != nil {
167+
Log.Info(fmt.Sprintf("Panic during reconcile %v\n", r))
168+
panic(r)
169+
}
165170
condition.RestoreLastTransitionTimes(
166171
&instance.Status.Conditions, savedConditions)
167172
if instance.Status.Conditions.IsUnknown(condition.ReadyCondition) {

controllers/designatebackendbind9_controller.go

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -141,6 +141,11 @@ func (r *DesignateBackendbind9Reconciler) Reconcile(ctx context.Context, req ctr
141141
// Always patch the instance status when exiting this function so we can
142142
// persist any changes.
143143
defer func() {
144+
// Don't update the status, if Reconciler Panics
145+
if rc := recover(); rc != nil {
146+
r.Log.Info(fmt.Sprintf("Panic during reconcile %v\n", rc))
147+
panic(rc)
148+
}
144149
condition.RestoreLastTransitionTimes(
145150
&instance.Status.Conditions, savedConditions)
146151
if instance.Status.Conditions.IsUnknown(condition.ReadyCondition) {

controllers/designatecentral_controller.go

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -146,6 +146,11 @@ func (r *DesignateCentralReconciler) Reconcile(ctx context.Context, req ctrl.Req
146146
// Always patch the instance status when exiting this function so we can
147147
// persist any changes.
148148
defer func() {
149+
// Don't update the status, if Reconciler Panics
150+
if r := recover(); r != nil {
151+
Log.Info(fmt.Sprintf("Panic during reconcile %v\n", r))
152+
panic(r)
153+
}
149154
condition.RestoreLastTransitionTimes(
150155
&instance.Status.Conditions, savedConditions)
151156
if instance.Status.Conditions.IsUnknown(condition.ReadyCondition) {

controllers/designatemdns_controller.go

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -145,6 +145,11 @@ func (r *DesignateMdnsReconciler) Reconcile(ctx context.Context, req ctrl.Reques
145145
// Always patch the instance status when exiting this function so we can
146146
// persist any changes.
147147
defer func() {
148+
// Don't update the status, if Reconciler Panics
149+
if rc := recover(); rc != nil {
150+
r.Log.Info(fmt.Sprintf("Panic during reconcile %v\n", rc))
151+
panic(rc)
152+
}
148153
condition.RestoreLastTransitionTimes(
149154
&instance.Status.Conditions, savedConditions)
150155
if instance.Status.Conditions.IsUnknown(condition.ReadyCondition) {

controllers/designateproducer_controller.go

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -145,6 +145,11 @@ func (r *DesignateProducerReconciler) Reconcile(ctx context.Context, req ctrl.Re
145145
// Always patch the instance status when exiting this function so we can
146146
// persist any changes.
147147
defer func() {
148+
// Don't update the status, if Reconciler Panics
149+
if r := recover(); r != nil {
150+
Log.Info(fmt.Sprintf("Panic during reconcile %v\n", r))
151+
panic(r)
152+
}
148153
condition.RestoreLastTransitionTimes(
149154
&instance.Status.Conditions, savedConditions)
150155
if instance.Status.Conditions.IsUnknown(condition.ReadyCondition) {

controllers/designateunbound_controller.go

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -117,6 +117,11 @@ func (r *UnboundReconciler) Reconcile(ctx context.Context, req ctrl.Request) (re
117117
// Always patch the instance status when exiting this function so we can
118118
// persist any changes.
119119
defer func() {
120+
// Don't update the status, if Reconciler Panics
121+
if rc := recover(); rc != nil {
122+
r.Log.Info(fmt.Sprintf("Panic during reconcile %v\n", rc))
123+
panic(rc)
124+
}
120125
condition.RestoreLastTransitionTimes(
121126
&instance.Status.Conditions, savedConditions)
122127
if instance.Status.Conditions.IsUnknown(condition.ReadyCondition) {

controllers/designateworker_controller.go

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -145,6 +145,11 @@ func (r *DesignateWorkerReconciler) Reconcile(ctx context.Context, req ctrl.Requ
145145
// Always patch the instance status when exiting this function so we can
146146
// persist any changes.
147147
defer func() {
148+
// Don't update the status, if Reconciler Panics
149+
if r := recover(); r != nil {
150+
Log.Info(fmt.Sprintf("Panic during reconcile %v\n", r))
151+
panic(r)
152+
}
148153
condition.RestoreLastTransitionTimes(
149154
&instance.Status.Conditions, savedConditions)
150155
if instance.Status.Conditions.IsUnknown(condition.ReadyCondition) {

0 commit comments

Comments
 (0)