@@ -21,6 +21,7 @@ import (
21
21
22
22
const (
23
23
oadpFinalizerBucket = "oadp.openshift.io/bucket-protection"
24
+ oadpCloudStorageDeleteAnnotation = "oadp.openshift.io/cloudstorage-delete"
24
25
)
25
26
26
27
// VeleroReconciler reconciles a Velero object
@@ -60,8 +61,8 @@ func (b BucketReconciler) Reconcile(ctx context.Context, req ctrl.Request) (ctrl
60
61
return result , nil
61
62
}
62
63
63
- // Add finalizer if none exists.
64
- if ! containFinalizer (bucket .Finalizers , oadpFinalizerBucket ) {
64
+ // Add finalizer if none exists and object is not being deleted .
65
+ if bucket . DeletionTimestamp == nil && ! containFinalizer (bucket .Finalizers , oadpFinalizerBucket ) {
65
66
bucket .Finalizers = append (bucket .Finalizers , oadpFinalizerBucket )
66
67
err := b .Client .Update (ctx , & bucket , & client.UpdateOptions {})
67
68
if err != nil {
@@ -75,8 +76,7 @@ func (b BucketReconciler) Reconcile(ctx context.Context, req ctrl.Request) (ctrl
75
76
if err != nil {
76
77
return result , err
77
78
}
78
-
79
- if bucket .DeletionTimestamp != nil {
79
+ if bucket .Annotations [oadpCloudStorageDeleteAnnotation ] == "true" && bucket .DeletionTimestamp != nil {
80
80
deleted , err := clnt .Delete ()
81
81
if err != nil {
82
82
log .Error (err , "unable to delete bucket" )
@@ -107,8 +107,8 @@ func (b BucketReconciler) Reconcile(ctx context.Context, req ctrl.Request) (ctrl
107
107
return ctrl.Result {Requeue : true }, nil
108
108
}
109
109
var ok bool
110
- if ok , err = clnt .Exists (); ! ok {
111
- // Handle Deletion .
110
+ if ok , err = clnt .Exists (); ! ok && err == nil {
111
+ // Handle Creation if not exist .
112
112
created , err := clnt .Create ()
113
113
if ! created {
114
114
log .Info ("unable to create object bucket" )
0 commit comments