@@ -111,24 +111,25 @@ func (r *Reconciler) createOrApplyClusterRole(esc *operatorv1alpha1.ExternalSecr
111111 return common .FromClientError (err , "failed to check %s clusterrole resource already exists" , clusterRoleName )
112112 }
113113
114- if exist && recon {
114+ if ! exist {
115+ return r .createWithFallback (obj , resourceMetadata , clusterRoleName , esc )
116+ }
117+
118+ if recon {
115119 r .eventRecorder .Eventf (esc , corev1 .EventTypeWarning , "ResourceAlreadyExists" , "%s clusterrole resource already exists, maybe from previous installation" , clusterRoleName )
116120 }
117- if exist && common .HasObjectChanged (obj , fetched , & resourceMetadata ) {
118- r .log .V (1 ).Info ("clusterrole has been modified, updating to desired state" , "name" , clusterRoleName )
119- common .RemoveObsoleteAnnotations (obj , resourceMetadata )
120- if err := r .UpdateWithRetry (r .ctx , obj ); err != nil {
121- return common .FromClientError (err , "failed to update %s clusterrole resource" , clusterRoleName )
122- }
123- r .eventRecorder .Eventf (esc , corev1 .EventTypeNormal , "Reconciled" , "clusterrole resource %s reconciled back to desired state" , clusterRoleName )
124- } else {
121+
122+ if ! common .HasObjectChanged (obj , fetched , & resourceMetadata ) {
125123 r .log .V (4 ).Info ("clusterrole resource already exists and is in expected state" , "name" , clusterRoleName )
124+ return nil
126125 }
127- if ! exist {
128- if err := r .createWithFallback (obj , resourceMetadata , clusterRoleName , esc ); err != nil {
129- return err
130- }
126+
127+ r .log .V (1 ).Info ("clusterrole has been modified, updating to desired state" , "name" , clusterRoleName )
128+ common .RemoveObsoleteAnnotations (obj , resourceMetadata )
129+ if err := r .UpdateWithRetry (r .ctx , obj ); err != nil {
130+ return common .FromClientError (err , "failed to update %s clusterrole resource" , clusterRoleName )
131131 }
132+ r .eventRecorder .Eventf (esc , corev1 .EventTypeNormal , "Reconciled" , "clusterrole resource %s reconciled back to desired state" , clusterRoleName )
132133
133134 return nil
134135}
@@ -156,24 +157,25 @@ func (r *Reconciler) createOrApplyClusterRoleBinding(esc *operatorv1alpha1.Exter
156157 return common .FromClientError (err , "failed to check %s clusterrolebinding resource already exists" , clusterRoleBindingName )
157158 }
158159
159- if exist && recon {
160+ if ! exist {
161+ return r .createWithFallback (obj , resourceMetadata , clusterRoleBindingName , esc )
162+ }
163+
164+ if recon {
160165 r .eventRecorder .Eventf (esc , corev1 .EventTypeWarning , "ResourceAlreadyExists" , "%s clusterrolebinding resource already exists, maybe from previous installation" , clusterRoleBindingName )
161166 }
162- if exist && common .HasObjectChanged (obj , fetched , & resourceMetadata ) {
163- r .log .V (1 ).Info ("clusterrolebinding has been modified, updating to desired state" , "name" , clusterRoleBindingName )
164- common .RemoveObsoleteAnnotations (obj , resourceMetadata )
165- if err := r .UpdateWithRetry (r .ctx , obj ); err != nil {
166- return common .FromClientError (err , "failed to update %s clusterrolebinding resource" , clusterRoleBindingName )
167- }
168- r .eventRecorder .Eventf (esc , corev1 .EventTypeNormal , "Reconciled" , "clusterrolebinding resource %s reconciled back to desired state" , clusterRoleBindingName )
169- } else {
167+
168+ if ! common .HasObjectChanged (obj , fetched , & resourceMetadata ) {
170169 r .log .V (4 ).Info ("clusterrolebinding resource already exists and is in expected state" , "name" , clusterRoleBindingName )
170+ return nil
171171 }
172- if ! exist {
173- if err := r .createWithFallback (obj , resourceMetadata , clusterRoleBindingName , esc ); err != nil {
174- return err
175- }
172+
173+ r .log .V (1 ).Info ("clusterrolebinding has been modified, updating to desired state" , "name" , clusterRoleBindingName )
174+ common .RemoveObsoleteAnnotations (obj , resourceMetadata )
175+ if err := r .UpdateWithRetry (r .ctx , obj ); err != nil {
176+ return common .FromClientError (err , "failed to update %s clusterrolebinding resource" , clusterRoleBindingName )
176177 }
178+ r .eventRecorder .Eventf (esc , corev1 .EventTypeNormal , "Reconciled" , "clusterrolebinding resource %s reconciled back to desired state" , clusterRoleBindingName )
177179
178180 return nil
179181}
@@ -199,24 +201,25 @@ func (r *Reconciler) createOrApplyRole(esc *operatorv1alpha1.ExternalSecretsConf
199201 return common .FromClientError (err , "failed to check %s role resource already exists" , roleName )
200202 }
201203
202- if exist && recon {
204+ if ! exist {
205+ return r .createWithFallback (obj , resourceMetadata , roleName , esc )
206+ }
207+
208+ if recon {
203209 r .eventRecorder .Eventf (esc , corev1 .EventTypeWarning , "ResourceAlreadyExists" , "%s role resource already exists, maybe from previous installation" , roleName )
204210 }
205- if exist && common .HasObjectChanged (obj , fetched , & resourceMetadata ) {
206- r .log .V (1 ).Info ("role has been modified, updating to desired state" , "name" , roleName )
207- common .RemoveObsoleteAnnotations (obj , resourceMetadata )
208- if err := r .UpdateWithRetry (r .ctx , obj ); err != nil {
209- return common .FromClientError (err , "failed to update %s role resource" , roleName )
210- }
211- r .eventRecorder .Eventf (esc , corev1 .EventTypeNormal , "Reconciled" , "role resource %s reconciled back to desired state" , roleName )
212- } else {
211+
212+ if ! common .HasObjectChanged (obj , fetched , & resourceMetadata ) {
213213 r .log .V (4 ).Info ("role resource already exists and is in expected state" , "name" , roleName )
214+ return nil
214215 }
215- if ! exist {
216- if err := r .createWithFallback (obj , resourceMetadata , roleName , esc ); err != nil {
217- return err
218- }
216+
217+ r .log .V (1 ).Info ("role has been modified, updating to desired state" , "name" , roleName )
218+ common .RemoveObsoleteAnnotations (obj , resourceMetadata )
219+ if err := r .UpdateWithRetry (r .ctx , obj ); err != nil {
220+ return common .FromClientError (err , "failed to update %s role resource" , roleName )
219221 }
222+ r .eventRecorder .Eventf (esc , corev1 .EventTypeNormal , "Reconciled" , "role resource %s reconciled back to desired state" , roleName )
220223
221224 return nil
222225}
@@ -241,24 +244,25 @@ func (r *Reconciler) createOrApplyRoleBinding(esc *operatorv1alpha1.ExternalSecr
241244 return common .FromClientError (err , "failed to check %s rolebinding resource already exists" , roleBindingName )
242245 }
243246
244- if exist && recon {
247+ if ! exist {
248+ return r .createWithFallback (obj , resourceMetadata , roleBindingName , esc )
249+ }
250+
251+ if recon {
245252 r .eventRecorder .Eventf (esc , corev1 .EventTypeWarning , "ResourceAlreadyExists" , "%s rolebinding resource already exists, maybe from previous installation" , roleBindingName )
246253 }
247- if exist && common .HasObjectChanged (obj , fetched , & resourceMetadata ) {
248- r .log .V (1 ).Info ("rolebinding has been modified, updating to desired state" , "name" , roleBindingName )
249- common .RemoveObsoleteAnnotations (obj , resourceMetadata )
250- if err := r .UpdateWithRetry (r .ctx , obj ); err != nil {
251- return common .FromClientError (err , "failed to update %s rolebinding resource" , roleBindingName )
252- }
253- r .eventRecorder .Eventf (esc , corev1 .EventTypeNormal , "Reconciled" , "rolebinding resource %s reconciled back to desired state" , roleBindingName )
254- } else {
254+
255+ if ! common .HasObjectChanged (obj , fetched , & resourceMetadata ) {
255256 r .log .V (4 ).Info ("rolebinding resource already exists and is in expected state" , "name" , roleBindingName )
257+ return nil
256258 }
257- if ! exist {
258- if err := r .createWithFallback (obj , resourceMetadata , roleBindingName , esc ); err != nil {
259- return err
260- }
259+
260+ r .log .V (1 ).Info ("rolebinding has been modified, updating to desired state" , "name" , roleBindingName )
261+ common .RemoveObsoleteAnnotations (obj , resourceMetadata )
262+ if err := r .UpdateWithRetry (r .ctx , obj ); err != nil {
263+ return common .FromClientError (err , "failed to update %s rolebinding resource" , roleBindingName )
261264 }
265+ r .eventRecorder .Eventf (esc , corev1 .EventTypeNormal , "Reconciled" , "rolebinding resource %s reconciled back to desired state" , roleBindingName )
262266
263267 return nil
264268}
0 commit comments