@@ -110,7 +110,7 @@ func (r *NamespaceScopeReconciler) UpdateConfigMap(instance *operatorv1.Namespac
110
110
cmKey := types.NamespacedName {Name : NamespaceScopeConfigmapName , Namespace : instance .Namespace }
111
111
if err := r .Get (ctx , cmKey , cm ); err != nil {
112
112
if errors .IsNotFound (err ) {
113
- klog .Infof ("Not found ConfigMap %s in namespace %s " , NamespaceScopeConfigmapName , instance . Namespace )
113
+ klog .Infof ("Not found ConfigMap %s" , cmKey . String () )
114
114
return nil
115
115
}
116
116
return err
@@ -120,7 +120,7 @@ func (r *NamespaceScopeReconciler) UpdateConfigMap(instance *operatorv1.Namespac
120
120
if strings .Join (instance .Spec .NamespaceMembers , "," ) != cm .Data ["namespaces" ] {
121
121
cm .Data ["namespaces" ] = strings .Join (instance .Spec .NamespaceMembers , "," )
122
122
if err := r .Update (ctx , cm ); err != nil {
123
- klog .Errorf ("Failed to update ConfigMap %s in namespace %s : %v" , "namespace-scope" , instance . Namespace , err )
123
+ klog .Errorf ("Failed to update ConfigMap %s : %v" , cmKey . String () , err )
124
124
return err
125
125
}
126
126
@@ -153,6 +153,7 @@ func (r *NamespaceScopeReconciler) DeleteRbacFromUnmanagedNamespace(instance *op
153
153
cm := & corev1.ConfigMap {}
154
154
cmKey := types.NamespacedName {Name : NamespaceScopeConfigmapName , Namespace : instance .Namespace }
155
155
if err := r .Get (ctx , cmKey , cm ); err != nil {
156
+ klog .Errorf ("Not found ConfigMap %s" , cmKey .String ())
156
157
return err
157
158
}
158
159
@@ -218,13 +219,13 @@ func (r *NamespaceScopeReconciler) CreateRole(fromNs, toNs string) error {
218
219
},
219
220
}
220
221
if err := r .Create (ctx , role ); err != nil {
221
- if ! errors .IsAlreadyExists (err ) {
222
- klog .Errorf ("Failed to create role %s in namespace %s: %v" , name , namespace , err )
223
- return err
222
+ if errors .IsAlreadyExists (err ) {
223
+ return nil
224
224
}
225
- return nil
225
+ klog .Errorf ("Failed to create role %s/%s: %v" , namespace , name , err )
226
+ return err
226
227
}
227
- klog .Infof ("Created role %s in namespace %s" , name , namespace )
228
+ klog .Infof ("Created role %s/ %s" , namespace , name )
228
229
return nil
229
230
}
230
231
@@ -271,17 +272,32 @@ func (r *NamespaceScopeReconciler) CreateUpdateRoleBinding(saNames []string, fro
271
272
272
273
if err := r .Create (ctx , roleBinding ); err != nil {
273
274
if errors .IsAlreadyExists (err ) {
274
- if err := r .Update (ctx , roleBinding ); err != nil {
275
- klog .Errorf ("Failed to update rolebinding %s in namespace %s: %v" , name , namespace , err )
275
+ if err := r .UpdateRoleBinding (roleBinding ); err != nil {
276
276
return err
277
277
}
278
- klog .Infof ("Updated rolebinding %s in namespace %s" , name , namespace )
279
278
return nil
280
279
}
281
- klog .Errorf ("Failed to create rolebinding %s in namespace %s: %v" , name , namespace , err )
280
+ klog .Errorf ("Failed to create rolebinding %s/ %s: %v" , namespace , name , err )
282
281
return err
283
282
}
284
- klog .Infof ("Created rolebinding %s in namespace %s" , name , namespace )
283
+ klog .Infof ("Created rolebinding %s/%s" , namespace , name )
284
+ return nil
285
+ }
286
+
287
+ func (r * NamespaceScopeReconciler ) UpdateRoleBinding (newRoleBinding * rbacv1.RoleBinding ) error {
288
+ currentRoleBinding := & rbacv1.RoleBinding {}
289
+ currentRoleBindingKey := types.NamespacedName {Name : newRoleBinding .Name , Namespace : newRoleBinding .Namespace }
290
+ if err := r .Get (ctx , currentRoleBindingKey , currentRoleBinding ); err != nil {
291
+ klog .Errorf ("Cannot get rolebinding %s: %v" , currentRoleBindingKey .String (), err )
292
+ }
293
+ if len (newRoleBinding .Subjects ) != len (currentRoleBinding .Subjects ) {
294
+ if err := r .Update (ctx , newRoleBinding ); err != nil {
295
+ klog .Errorf ("Failed to update rolebinding %s: %v" , currentRoleBindingKey .String (), err )
296
+ return err
297
+ }
298
+ klog .Infof ("Updated rolebinding %s" , currentRoleBindingKey .String ())
299
+ return nil
300
+ }
285
301
return nil
286
302
}
287
303
0 commit comments