Skip to content

Commit 25e7b90

Browse files
authored
restart pods after updating configmap (#11)
1 parent def028b commit 25e7b90

File tree

1 file changed

+13
-20
lines changed

1 file changed

+13
-20
lines changed

controllers/namespacescope_controller.go

Lines changed: 13 additions & 20 deletions
Original file line numberDiff line numberDiff line change
@@ -113,13 +113,16 @@ func (r *NamespaceScopeReconciler) UpdateConfigMap(instance *operatorv1.Namespac
113113
return err
114114
}
115115

116-
// If NamespaceMembers changed, update ConfigMap
116+
// If NamespaceMembers changed, update ConfigMap and restart Pods
117117
if strings.Join(instance.Spec.NamespaceMembers, ",") != cm.Data["namespaces"] {
118118
cm.Data["namespaces"] = strings.Join(instance.Spec.NamespaceMembers, ",")
119119
if err := r.Update(ctx, cm); err != nil {
120120
klog.Errorf("Failed to update ConfigMap %s in namespace %s: %v", "namespace-scope", instance.Namespace, err)
121121
return err
122122
}
123+
if err := r.RestartPods(instance.Spec.RestartLabels, instance.Namespace); err != nil {
124+
return err
125+
}
123126
}
124127
return nil
125128
}
@@ -145,10 +148,6 @@ func (r *NamespaceScopeReconciler) DeleteRbacFromUnmanagedNamespace(instance *op
145148
return err
146149
}
147150
}
148-
// When role and rolebinding are deleted, restart all the pods
149-
if err := r.RestartPods(instance.Spec.RestartLabels, instance.Namespace); err != nil {
150-
return err
151-
}
152151

153152
return nil
154153
}
@@ -159,25 +158,19 @@ func (r *NamespaceScopeReconciler) PushRbacToNamespace(instance *operatorv1.Name
159158
if err != nil {
160159
return err
161160
}
162-
restart := false
163161
for _, toNs := range instance.Spec.NamespaceMembers {
164-
if err := r.CreateRole(fromNs, toNs); err == nil {
165-
restart = true
166-
} else if !errors.IsAlreadyExists(err) {
167-
return err
168-
}
169-
if err := r.CreateUpdateRoleBinding(saNames, fromNs, toNs); err == nil {
170-
restart = true
171-
} else if !errors.IsAlreadyExists(err) {
172-
return err
162+
if err := r.CreateRole(fromNs, toNs); err != nil {
163+
if !errors.IsAlreadyExists(err) {
164+
return err
165+
}
173166
}
174-
}
175-
// When have new role and rolebinding create or update, restart all the pods
176-
if restart {
177-
if err := r.RestartPods(instance.Spec.RestartLabels, fromNs); err != nil {
178-
return err
167+
if err := r.CreateUpdateRoleBinding(saNames, fromNs, toNs); err != nil {
168+
if !errors.IsAlreadyExists(err) {
169+
return err
170+
}
179171
}
180172
}
173+
181174
return nil
182175
}
183176

0 commit comments

Comments
 (0)