Skip to content
This repository was archived by the owner on Dec 6, 2024. It is now read-only.

Commit 1bc0194

Browse files
committed
fix: added events to each error
Signed-off-by: Mateusz Urbanek <[email protected]>
1 parent de39e54 commit 1bc0194

File tree

2 files changed

+26
-18
lines changed

2 files changed

+26
-18
lines changed

Diff for: container-object-storage-interface-controller/pkg/bucketclaim/bucketclaim.go

+20-12
Original file line numberDiff line numberDiff line change
@@ -84,7 +84,7 @@ func (b *BucketClaimListener) Update(ctx context.Context, old, new *v1alpha1.Buc
8484
klog.V(3).ErrorS(err, "Error deleting bucket",
8585
"bucket", bucketName,
8686
"bucketClaim", bucketClaim.ObjectMeta.Name)
87-
return err
87+
return b.recordError(bucketClaim, v1.EventTypeWarning, events.FailedDeleteBucket, err)
8888
}
8989

9090
klog.V(5).Infof("Successfully deleted bucket: %s from bucketClaim: %s", bucketName, bucketClaim.ObjectMeta.Name)
@@ -126,11 +126,10 @@ func (b *BucketClaimListener) provisionBucketClaimOperation(ctx context.Context,
126126
bucketName = bucketClaim.Spec.ExistingBucketName
127127
bucket, err := b.buckets().Get(ctx, bucketName, metav1.GetOptions{})
128128
if kubeerrors.IsNotFound(err) {
129-
b.recordEvent(inputBucketClaim, v1.EventTypeWarning, events.FailedCreateBucket, err.Error())
130-
return err
129+
return b.recordError(inputBucketClaim, v1.EventTypeWarning, events.FailedCreateBucket, err)
131130
} else if err != nil {
132131
klog.V(3).ErrorS(err, "Get Bucket with ExistingBucketName error", "name", bucketClaim.Spec.ExistingBucketName)
133-
return err
132+
return b.recordError(inputBucketClaim, v1.EventTypeWarning, events.FailedCreateBucket, err)
134133
}
135134

136135
bucket.Spec.BucketClaim = &v1.ObjectReference{
@@ -148,24 +147,23 @@ func (b *BucketClaimListener) provisionBucketClaimOperation(ctx context.Context,
148147
klog.V(3).ErrorS(err, "Error updating existing bucket",
149148
"bucket", bucket.ObjectMeta.Name,
150149
"bucketClaim", bucketClaim.ObjectMeta.Name)
151-
return err
150+
return b.recordError(inputBucketClaim, v1.EventTypeWarning, events.FailedCreateBucket, err)
152151
}
153152

154153
bucketClaim.Status.BucketName = bucketName
155154
bucketClaim.Status.BucketReady = true
156155
} else {
157156
bucketClassName := bucketClaim.Spec.BucketClassName
158157
if bucketClassName == "" {
159-
return util.ErrInvalidBucketClass
158+
return b.recordError(inputBucketClaim, v1.EventTypeWarning, events.FailedCreateBucket, util.ErrInvalidBucketClass)
160159
}
161160

162161
bucketClass, err := b.bucketClasses().Get(ctx, bucketClassName, metav1.GetOptions{})
163162
if kubeerrors.IsNotFound(err) {
164-
b.recordEvent(inputBucketClaim, v1.EventTypeWarning, events.FailedCreateBucket, err.Error())
165-
return err
163+
return b.recordError(inputBucketClaim, v1.EventTypeWarning, events.FailedCreateBucket, err)
166164
} else if err != nil {
167165
klog.V(3).ErrorS(err, "Get Bucketclass Error", "name", bucketClassName)
168-
return err
166+
return b.recordError(inputBucketClaim, v1.EventTypeWarning, events.FailedCreateBucket, err)
169167
}
170168

171169
bucketName = bucketClassName + string(bucketClaim.ObjectMeta.UID)
@@ -194,7 +192,7 @@ func (b *BucketClaimListener) provisionBucketClaimOperation(ctx context.Context,
194192
klog.V(3).ErrorS(err, "Error creationg bucket",
195193
"bucket", bucketName,
196194
"bucketClaim", bucketClaim.ObjectMeta.Name)
197-
return err
195+
return b.recordError(inputBucketClaim, v1.EventTypeWarning, events.FailedCreateBucket, err)
198196
}
199197

200198
bucketClaim.Status.BucketName = bucketName
@@ -206,7 +204,7 @@ func (b *BucketClaimListener) provisionBucketClaimOperation(ctx context.Context,
206204
bucketClaim, err = b.bucketClaims(bucketClaim.ObjectMeta.Namespace).UpdateStatus(ctx, bucketClaim, metav1.UpdateOptions{})
207205
if err != nil {
208206
klog.V(3).ErrorS(err, "Failed to update status of BucketClaim", "name", bucketClaim.ObjectMeta.Name)
209-
return err
207+
return b.recordError(inputBucketClaim, v1.EventTypeWarning, events.FailedCreateBucket, err)
210208
}
211209

212210
// Add the finalizers so that bucketClaim is deleted
@@ -215,7 +213,7 @@ func (b *BucketClaimListener) provisionBucketClaimOperation(ctx context.Context,
215213
_, err = b.bucketClaims(bucketClaim.ObjectMeta.Namespace).Update(ctx, bucketClaim, metav1.UpdateOptions{})
216214
if err != nil {
217215
klog.V(3).ErrorS(err, "Failed to add finalizer BucketClaim", "name", bucketClaim.ObjectMeta.Name)
218-
return err
216+
return b.recordError(inputBucketClaim, v1.EventTypeWarning, events.FailedCreateBucket, err)
219217
}
220218

221219
klog.V(3).Infof("Finished creating Bucket %v", bucketName)
@@ -258,6 +256,16 @@ func (b *BucketClaimListener) bucketClaims(namespace string) objectstoragev1alph
258256
panic("uninitialized listener")
259257
}
260258

259+
// recordError during the processing of the objects
260+
func (b *BucketClaimListener) recordError(subject runtime.Object, eventtype, reason string, err error) error {
261+
if b.eventRecorder == nil {
262+
return err
263+
}
264+
b.eventRecorder.Event(subject, eventtype, reason, err.Error())
265+
266+
return err
267+
}
268+
261269
// recordEvent during the processing of the objects
262270
func (b *BucketClaimListener) recordEvent(subject runtime.Object, eventtype, reason, message string, args ...any) {
263271
if b.eventRecorder == nil {

Diff for: container-object-storage-interface-controller/pkg/bucketclaim/bucketclaim_test.go

+6-6
Original file line numberDiff line numberDiff line change
@@ -69,20 +69,20 @@ var bucketClaim2 = types.BucketClaim{
6969

7070
// Test basic add functionality
7171
func TestAddBR(t *testing.T) {
72-
runCreateBucket(t, "add")
72+
runCreateBucket(t)
7373
}
7474

7575
// Test add with multipleBRs
7676
func TestAddWithMultipleBR(t *testing.T) {
77-
runCreateBucketWithMultipleBR(t, "addWithMultipleBR")
77+
runCreateBucketWithMultipleBR(t)
7878
}
7979

8080
// Test add idempotency
8181
func TestAddBRIdempotency(t *testing.T) {
82-
runCreateBucketIdempotency(t, "addWithMultipleBR")
82+
runCreateBucketIdempotency(t)
8383
}
8484

85-
func runCreateBucket(t *testing.T, name string) {
85+
func runCreateBucket(t *testing.T) {
8686
ctx, cancel := context.WithCancel(context.Background())
8787
defer cancel()
8888

@@ -127,7 +127,7 @@ func runCreateBucket(t *testing.T, name string) {
127127
}
128128
}
129129

130-
func runCreateBucketWithMultipleBR(t *testing.T, name string) {
130+
func runCreateBucketWithMultipleBR(t *testing.T) {
131131
ctx, cancel := context.WithCancel(context.Background())
132132
defer cancel()
133133

@@ -183,7 +183,7 @@ func runCreateBucketWithMultipleBR(t *testing.T, name string) {
183183
}
184184
}
185185

186-
func runCreateBucketIdempotency(t *testing.T, name string) {
186+
func runCreateBucketIdempotency(t *testing.T) {
187187
ctx, cancel := context.WithCancel(context.Background())
188188
defer cancel()
189189

0 commit comments

Comments
 (0)