@@ -76,6 +76,36 @@ func (b BucketReconciler) Reconcile(ctx context.Context, req ctrl.Request) (ctrl
76
76
return result , err
77
77
}
78
78
79
+ if bucket .DeletionTimestamp != nil {
80
+ deleted , err := clnt .Delete ()
81
+ if err != nil {
82
+ log .Error (err , "unable to delete bucket" )
83
+ b .EventRecorder .Event (& bucket , corev1 .EventTypeWarning , "unable to delete bucket" , fmt .Sprintf ("unable to delete bucket: %v" , bucket .Spec .Name ))
84
+ return ctrl.Result {RequeueAfter : 30 * time .Second }, nil
85
+ }
86
+ if ! deleted {
87
+ log .Info ("unable to delete bucket for unknown reason" )
88
+ b .EventRecorder .Event (& bucket , corev1 .EventTypeWarning , "unable to delete bucket" , fmt .Sprintf ("unable to delete bucket: %v" , bucket .Spec .Name ))
89
+ return ctrl.Result {RequeueAfter : 30 * time .Second }, nil
90
+ }
91
+ log .Info ("bucket deleted" )
92
+ b .EventRecorder .Event (& bucket , corev1 .EventTypeNormal , "BucketDeleted" , fmt .Sprintf ("bucket %v deleted" , bucket .Spec .Name ))
93
+
94
+ //Removing oadpFinalizerBucket from bucket.Finalizers
95
+ var newFinalizers []string
96
+ for _ , finalizer := range bucket .Finalizers {
97
+ if finalizer == oadpFinalizerBucket {
98
+ continue
99
+ }
100
+ newFinalizers = append (newFinalizers , finalizer )
101
+ }
102
+ bucket .Finalizers = newFinalizers
103
+ err = b .Client .Update (ctx , & bucket , & client.UpdateOptions {})
104
+ if err != nil {
105
+ b .EventRecorder .Event (& bucket , corev1 .EventTypeWarning , "UnableToRemoveFinalizer" , fmt .Sprintf ("unable to remove finalizer: %v" , err ))
106
+ }
107
+ return ctrl.Result {Requeue : true }, nil
108
+ }
79
109
var ok bool
80
110
if ok , err = clnt .Exists (); ! ok {
81
111
// Handle Deletion.
@@ -98,20 +128,6 @@ func (b BucketReconciler) Reconcile(ctx context.Context, req ctrl.Request) (ctrl
98
128
b .EventRecorder .Event (& bucket , corev1 .EventTypeWarning , "BucketNotFound" , fmt .Sprintf ("unable to find bucket: %v" , err ))
99
129
return ctrl.Result {RequeueAfter : 1 * time .Minute }, nil
100
130
}
101
- if bucket .DeletionTimestamp != nil {
102
- deleted , err := clnt .Delete ()
103
- if err != nil {
104
- log .Error (err , "unable to delete bucket" )
105
- b .EventRecorder .Event (& bucket , corev1 .EventTypeWarning , "unable to delete bucket" , fmt .Sprintf ("unable to delete bucket: %v" , bucket .Spec .Name ))
106
- return ctrl.Result {RequeueAfter : 30 * time .Second }, nil
107
- }
108
- if ! deleted {
109
- log .Info ("unable to delete bucket for unknown reason" )
110
- b .EventRecorder .Event (& bucket , corev1 .EventTypeWarning , "unable to delete bucket" , fmt .Sprintf ("unable to delete bucket: %v" , bucket .Spec .Name ))
111
- return ctrl.Result {RequeueAfter : 30 * time .Second }, nil
112
- }
113
- return ctrl.Result {Requeue : true }, nil
114
- }
115
131
116
132
// Update status with updated value
117
133
bucket .Status .LastSynced = & v1.Time {Time : time .Now ()}
0 commit comments