@@ -159,6 +159,19 @@ func (r *Consist) Reconcile(ctx context.Context, request reconcile.Request) (rec
159159 return reconcile.Result {}, err
160160 }
161161
162+ defer func () {
163+ if err != nil {
164+ if recordOptions , ok := r .adapter .(StatusRecordOptions ); ok {
165+ err = recordOptions .RecordErrorConditions (ctx , employer , err )
166+ if err != nil {
167+ logger .Error (err , "record error conditions failed" )
168+ r .recorder .Eventf (employer , corev1 .EventTypeWarning , RecordErrorConditionsFailed ,
169+ "record error conditions failed: %s" , err .Error ())
170+ }
171+ }
172+ }
173+ }()
174+
162175 // Ensure employer-clean finalizer firstly, employer-clean finalizer should be cleaned at the end
163176 updated , err := r .ensureEmployerCleanFlz (ctx , employer )
164177 if err != nil {
@@ -186,11 +199,15 @@ func (r *Consist) Reconcile(ctx context.Context, request reconcile.Request) (rec
186199 expectedEmployer , err := r .adapter .GetExpectedEmployer (ctx , employer )
187200 if err != nil {
188201 logger .Error (err , "get expect employer failed" )
202+ r .recorder .Eventf (employer , corev1 .EventTypeWarning , GetExpectedEmployerFailed ,
203+ "get expect employer failed: %s" , err .Error ())
189204 return reconcile.Result {}, err
190205 }
191206 currentEmployer , err := r .adapter .GetCurrentEmployer (ctx , employer )
192207 if err != nil {
193208 logger .Error (err , "get current employer failed" )
209+ r .recorder .Eventf (employer , corev1 .EventTypeWarning , GetCurrentEmployerFailed ,
210+ "get current employer failed: %s" , err .Error ())
194211 return reconcile.Result {}, err
195212 }
196213 isCleanEmployer , syncEmployerFailedExist , cudEmployerResults , err := r .syncEmployer (ctx , employer , expectedEmployer , currentEmployer )
@@ -205,11 +222,15 @@ func (r *Consist) Reconcile(ctx context.Context, request reconcile.Request) (rec
205222 expectedEmployees , err := r .adapter .GetExpectedEmployee (ctx , employer )
206223 if err != nil {
207224 logger .Error (err , "get expect employees failed" )
225+ r .recorder .Eventf (employer , corev1 .EventTypeWarning , GetExpectedEmployeesFailed ,
226+ "get expect employees failed: %s" , err .Error ())
208227 return reconcile.Result {}, err
209228 }
210229 currentEmployees , err := r .adapter .GetCurrentEmployee (ctx , employer )
211230 if err != nil {
212231 logger .Error (err , "get current employees failed" )
232+ r .recorder .Eventf (employer , corev1 .EventTypeWarning , GetCurrentEmployeesFailed ,
233+ "get current employees failed: %s" , err .Error ())
213234 return reconcile.Result {}, err
214235 }
215236 isCleanEmployee , syncEmployeeFailedExist , cudEmployeeResults , err := r .syncEmployees (ctx , employer , expectedEmployees , currentEmployees )
@@ -245,6 +266,8 @@ func (r *Consist) Reconcile(ctx context.Context, request reconcile.Request) (rec
245266 err = recordOptions .RecordStatuses (ctx , employer , cudEmployerResults , cudEmployeeResults )
246267 if err != nil {
247268 logger .Error (err , "record status failed" )
269+ r .recorder .Eventf (employer , corev1 .EventTypeWarning , RecordStatusesFailed ,
270+ "record status failed: %s" , err .Error ())
248271 return reconcile.Result {}, err
249272 }
250273 }
0 commit comments