Skip to content

Commit bee039c

Browse files
authored
fix permission for cleanupSubscription on OLM installation (#704)
* fix permission for cleanup on OLM installation * address child pods are preserved by default when jobs are deleted warning * address getBackgroundDeletionPolicy() to all controllers
1 parent 2fd6a01 commit bee039c

File tree

8 files changed

+49
-10
lines changed

8 files changed

+49
-10
lines changed

config/rbac/role.yaml

+24
Original file line numberDiff line numberDiff line change
@@ -163,6 +163,30 @@ rules:
163163
- get
164164
- list
165165
- update
166+
- apiGroups:
167+
- ""
168+
resources:
169+
- pods
170+
verbs:
171+
- create
172+
- delete
173+
- get
174+
- list
175+
- patch
176+
- update
177+
- watch
178+
- apiGroups:
179+
- ""
180+
resources:
181+
- pods/exec
182+
verbs:
183+
- create
184+
- delete
185+
- get
186+
- list
187+
- patch
188+
- update
189+
- watch
166190
- apiGroups:
167191
- ""
168192
resources:

controllers/common.go

+8
Original file line numberDiff line numberDiff line change
@@ -336,3 +336,11 @@ func ConvertHPAV2ToV2beta2(hpa *autov2.HorizontalPodAutoscaler) *autoscalingv2be
336336

337337
return result
338338
}
339+
340+
func getBackgroundDeletionPolicy() client.DeleteOption {
341+
backgroundDeletion := metav1.DeletePropagationBackground
342+
var deleteOptions client.DeleteOption = &client.DeleteOptions{
343+
PropagationPolicy: &backgroundDeletion,
344+
}
345+
return deleteOptions
346+
}

controllers/function.go

+3-4
Original file line numberDiff line numberDiff line change
@@ -336,7 +336,7 @@ func (r *FunctionReconciler) ApplyFunctionVPA(ctx context.Context, function *v1a
336336
func (r *FunctionReconciler) ApplyFunctionCleanUpJob(ctx context.Context, function *v1alpha1.Function) error {
337337
if !spec.NeedCleanup(function) {
338338
desiredJob := spec.MakeFunctionCleanUpJob(function)
339-
if err := r.Delete(ctx, desiredJob); err != nil {
339+
if err := r.Delete(ctx, desiredJob, getBackgroundDeletionPolicy()); err != nil {
340340
if errors.IsNotFound(err) {
341341
return nil
342342
}
@@ -380,7 +380,7 @@ func (r *FunctionReconciler) ApplyFunctionCleanUpJob(ctx context.Context, functi
380380
}
381381
} else {
382382
// delete the cleanup job
383-
if err := r.Delete(ctx, desiredJob); err != nil {
383+
if err := r.Delete(ctx, desiredJob, getBackgroundDeletionPolicy()); err != nil {
384384
return err
385385
}
386386
}
@@ -395,10 +395,9 @@ func (r *FunctionReconciler) ApplyFunctionCleanUpJob(ctx context.Context, functi
395395

396396
desiredJob := spec.MakeFunctionCleanUpJob(function)
397397
// delete the cleanup job
398-
if err := r.Delete(ctx, desiredJob); err != nil {
398+
if err := r.Delete(ctx, desiredJob, getBackgroundDeletionPolicy()); err != nil {
399399
return err
400400
}
401-
402401
}
403402
}
404403
return nil

controllers/function_controller.go

+2
Original file line numberDiff line numberDiff line change
@@ -59,6 +59,8 @@ type FunctionReconciler struct {
5959
// +kubebuilder:rbac:groups=batch,resources=jobs,verbs=get;list;watch;create;update;delete
6060
// +kubebuilder:rbac:groups=core,resources=services,verbs=get;list;watch;create;update;patch;delete
6161
// +kubebuilder:rbac:groups=core,resources=secrets,verbs=get;list;watch;create;update;patch;delete
62+
// +kubebuilder:rbac:groups=core,resources=pods,verbs=get;list;watch;create;update;patch;delete
63+
// +kubebuilder:rbac:groups=core,resources=pods/exec,verbs=get;list;watch;create;update;patch;delete
6264
// +kubebuilder:rbac:groups=autoscaling,resources=horizontalpodautoscalers,verbs=get;list;watch;create;update;patch;delete
6365
// +kubebuilder:rbac:groups=autoscaling.k8s.io,resources=verticalpodautoscalers,verbs=get;list;watch;create;update;patch;delete
6466
// +kubebuilder:rbac:groups=coordination.k8s.io,resources=leases,verbs=get;list;create;update;delete

controllers/sink.go

+3-3
Original file line numberDiff line numberDiff line change
@@ -332,7 +332,7 @@ func (r *SinkReconciler) ApplySinkVPA(ctx context.Context, sink *v1alpha1.Sink)
332332
func (r *SinkReconciler) ApplySinkCleanUpJob(ctx context.Context, sink *v1alpha1.Sink) error {
333333
if !spec.NeedCleanup(sink) {
334334
desiredJob := spec.MakeSinkCleanUpJob(sink)
335-
if err := r.Delete(ctx, desiredJob); err != nil {
335+
if err := r.Delete(ctx, desiredJob, getBackgroundDeletionPolicy()); err != nil {
336336
if errors.IsNotFound(err) {
337337
return nil
338338
}
@@ -376,7 +376,7 @@ func (r *SinkReconciler) ApplySinkCleanUpJob(ctx context.Context, sink *v1alpha1
376376
}
377377
} else {
378378
// delete the cleanup job
379-
if err := r.Delete(ctx, desiredJob); err != nil {
379+
if err := r.Delete(ctx, desiredJob, getBackgroundDeletionPolicy()); err != nil {
380380
return err
381381
}
382382
}
@@ -391,7 +391,7 @@ func (r *SinkReconciler) ApplySinkCleanUpJob(ctx context.Context, sink *v1alpha1
391391

392392
desiredJob := spec.MakeSinkCleanUpJob(sink)
393393
// delete the cleanup job
394-
if err := r.Delete(ctx, desiredJob); err != nil {
394+
if err := r.Delete(ctx, desiredJob, getBackgroundDeletionPolicy()); err != nil {
395395
return err
396396
}
397397

controllers/sink_controller.go

+3
Original file line numberDiff line numberDiff line change
@@ -58,6 +58,9 @@ type SinkReconciler struct {
5858
// +kubebuilder:rbac:groups=apps,resources=statefulsets,verbs=get;list;watch;create;update;patch;delete
5959
// +kubebuilder:rbac:groups=batch,resources=jobs,verbs=get;list;watch;create;update;delete
6060
// +kubebuilder:rbac:groups=core,resources=services,verbs=get;list;watch;create;update;patch;delete
61+
// +kubebuilder:rbac:groups=core,resources=secrets,verbs=get;list;watch;create;update;patch;delete
62+
// +kubebuilder:rbac:groups=core,resources=pods,verbs=get;list;watch;create;update;patch;delete
63+
// +kubebuilder:rbac:groups=core,resources=pods/exec,verbs=get;list;watch;create;update;patch;delete
6164
// +kubebuilder:rbac:groups=autoscaling,resources=horizontalpodautoscalers,verbs=get;list;watch;create;update;patch;delete
6265
// +kubebuilder:rbac:groups=autoscaling.k8s.io,resources=verticalpodautoscalers,verbs=get;list;watch;create;update;patch;delete
6366
// +kubebuilder:rbac:groups=coordination.k8s.io,resources=leases,verbs=get;list;create;update;delete

controllers/source.go

+3-3
Original file line numberDiff line numberDiff line change
@@ -334,7 +334,7 @@ func (r *SourceReconciler) ApplySourceVPA(ctx context.Context, source *v1alpha1.
334334
func (r *SourceReconciler) ApplySourceCleanUpJob(ctx context.Context, source *v1alpha1.Source) error {
335335
if !spec.NeedCleanup(source) {
336336
desiredJob := spec.MakeSourceCleanUpJob(source)
337-
if err := r.Delete(ctx, desiredJob); err != nil {
337+
if err := r.Delete(ctx, desiredJob, getBackgroundDeletionPolicy()); err != nil {
338338
if errors.IsNotFound(err) {
339339
return nil
340340
}
@@ -378,7 +378,7 @@ func (r *SourceReconciler) ApplySourceCleanUpJob(ctx context.Context, source *v1
378378
}
379379
} else {
380380
// delete the cleanup job
381-
if err := r.Delete(ctx, desiredJob); err != nil {
381+
if err := r.Delete(ctx, desiredJob, getBackgroundDeletionPolicy()); err != nil {
382382
return err
383383
}
384384
}
@@ -393,7 +393,7 @@ func (r *SourceReconciler) ApplySourceCleanUpJob(ctx context.Context, source *v1
393393

394394
desiredJob := spec.MakeSourceCleanUpJob(source)
395395
// delete the cleanup job
396-
if err := r.Delete(ctx, desiredJob); err != nil {
396+
if err := r.Delete(ctx, desiredJob, getBackgroundDeletionPolicy()); err != nil {
397397
return err
398398
}
399399

controllers/source_controller.go

+3
Original file line numberDiff line numberDiff line change
@@ -57,6 +57,9 @@ type SourceReconciler struct {
5757
// +kubebuilder:rbac:groups=apps,resources=statefulsets,verbs=get;list;watch;create;update;patch;delete
5858
// +kubebuilder:rbac:groups=batch,resources=jobs,verbs=get;list;watch;create;update;delete
5959
// +kubebuilder:rbac:groups=core,resources=services,verbs=get;list;watch;create;update;patch;delete
60+
// +kubebuilder:rbac:groups=core,resources=secrets,verbs=get;list;watch;create;update;patch;delete
61+
// +kubebuilder:rbac:groups=core,resources=pods,verbs=get;list;watch;create;update;patch;delete
62+
// +kubebuilder:rbac:groups=core,resources=pods/exec,verbs=get;list;watch;create;update;patch;delete
6063
// +kubebuilder:rbac:groups=autoscaling,resources=horizontalpodautoscalers,verbs=get;list;watch;create;update;patch;delete
6164
// +kubebuilder:rbac:groups=autoscaling.k8s.io,resources=verticalpodautoscalers,verbs=get;list;watch;create;update;patch;delete
6265
// +kubebuilder:rbac:groups=coordination.k8s.io,resources=leases,verbs=get;list;create;update;delete

0 commit comments

Comments
 (0)