@@ -22,7 +22,6 @@ import (
22
22
"strings"
23
23
"time"
24
24
25
- "github.com/pkg/errors"
26
25
"google.golang.org/grpc/codes"
27
26
"google.golang.org/grpc/status"
28
27
v1 "k8s.io/api/core/v1"
@@ -94,11 +93,11 @@ func (bal *BucketAccessListener) Add(ctx context.Context, inputBucketAccess *v1a
94
93
95
94
bucketAccessClass , err := bal .bucketAccessClasses ().Get (ctx , bucketAccessClassName , metav1.GetOptions {})
96
95
if kubeerrors .IsNotFound (err ) {
97
- bal .recordEvent (inputBucketAccess , v1 .EventTypeWarning , events .FailedGrantAccess , "BucketAccessClass %v provided in the BucketAccess does not exist: %v" , bucketAccessClass . Name , err )
96
+ bal .recordEvent (inputBucketAccess , v1 .EventTypeWarning , events .FailedGrantAccess , err . Error () )
98
97
return err
99
98
} else if err != nil {
100
99
klog .ErrorS (err , "Failed to fetch bucketAccessClass" , "bucketAccessClass" , bucketAccessClassName )
101
- return errors . Wrap ( err , "Failed to fetch BucketAccessClass" )
100
+ return fmt . Errorf ( "failed to fetch BucketAccessClass: %w" , err )
102
101
}
103
102
104
103
if ! strings .EqualFold (bucketAccessClass .DriverName , bal .driverName ) {
@@ -113,7 +112,7 @@ func (bal *BucketAccessListener) Add(ctx context.Context, inputBucketAccess *v1a
113
112
bucketClaim , err := bal .bucketClaims (namespace ).Get (ctx , bucketClaimName , metav1.GetOptions {})
114
113
if err != nil {
115
114
klog .V (3 ).ErrorS (err , "Failed to fetch bucketClaim" , "bucketClaim" , bucketClaimName )
116
- return errors . Wrap ( err , "Failed to fetch bucketClaim" )
115
+ return fmt . Errorf ( "failed to fetch bucketClaim: %w" , err )
117
116
}
118
117
119
118
if bucketClaim .Status .BucketName == "" || bucketClaim .Status .BucketReady != true {
@@ -123,7 +122,7 @@ func (bal *BucketAccessListener) Add(ctx context.Context, inputBucketAccess *v1a
123
122
"bucketClaim" , bucketClaim .Name ,
124
123
"bucketAccess" , bucketAccess .ObjectMeta .Name ,
125
124
)
126
- return errors . Wrap ( err , "Invalid arguments" )
125
+ return fmt . Errorf ( "invalid bucket state: %w" , err )
127
126
}
128
127
129
128
authType := cosi .AuthenticationType_UnknownAuthenticationType
@@ -134,8 +133,9 @@ func (bal *BucketAccessListener) Add(ctx context.Context, inputBucketAccess *v1a
134
133
}
135
134
136
135
if authType == cosi .AuthenticationType_IAM && bucketAccess .Spec .ServiceAccountName == "" {
137
- bal .recordEvent (inputBucketAccess , v1 .EventTypeWarning , events .FailedGrantAccess , "Must define ServiceAccountName when AuthenticationType is IAM." )
138
- return errors .New ("Must define ServiceAccountName when AuthenticationType is IAM" )
136
+ err = consts .ErrUndefinedServiceAccountName
137
+ bal .recordEvent (inputBucketAccess , v1 .EventTypeWarning , events .FailedGrantAccess , err .Error ())
138
+ return err
139
139
}
140
140
141
141
if bucketAccess .Status .AccessGranted == true {
@@ -149,12 +149,16 @@ func (bal *BucketAccessListener) Add(ctx context.Context, inputBucketAccess *v1a
149
149
bucket , err := bal .buckets ().Get (ctx , bucketClaim .Status .BucketName , metav1.GetOptions {})
150
150
if err != nil {
151
151
klog .V (3 ).ErrorS (err , "Failed to fetch bucket" , "bucket" , bucketClaim .Status .BucketName )
152
- return errors . Wrap ( err , "Failed to fetch bucket" )
152
+ return fmt . Errorf ( "failed to fetch bucket: %w" , err )
153
153
}
154
154
155
155
if bucket .Status .BucketReady != true || bucket .Status .BucketID == "" {
156
- bal .recordEvent (inputBucketAccess , v1 .EventTypeWarning , events .WaitingForBucket , "BucketAccess can't be granted to Bucket %v not in Ready state (isReady? %t) or without a bucketID (ID empty? %t)." , bucket .Name , bucket .Status .BucketReady , bucket .Status .BucketID == "" )
157
- return consts .ErrInvalidBucketState
156
+ err = fmt .Errorf ("%w: (isReady? %t), (ID empty? %t)" ,
157
+ consts .ErrInvalidBucketState ,
158
+ bucket .Status .BucketReady ,
159
+ bucket .Status .BucketID == "" )
160
+ bal .recordEvent (inputBucketAccess , v1 .EventTypeWarning , events .WaitingForBucket , err .Error ())
161
+ return err
158
162
}
159
163
160
164
accountName := consts .AccountNamePrefix + string (bucketAccess .UID )
@@ -170,23 +174,23 @@ func (bal *BucketAccessListener) Add(ctx context.Context, inputBucketAccess *v1a
170
174
rsp , err := bal .provisionerClient .DriverGrantBucketAccess (ctx , req )
171
175
if err != nil {
172
176
if status .Code (err ) != codes .AlreadyExists {
173
- bal .recordEvent (inputBucketAccess , v1 .EventTypeWarning , events .FailedGrantAccess , "Failed to grant access." )
174
- return errors . Wrap ( err , "failed to grant access" )
177
+ bal .recordEvent (inputBucketAccess , v1 .EventTypeWarning , events .FailedGrantAccess , err . Error () )
178
+ return fmt . Errorf ( "failed to grant access: %w" , err )
175
179
}
176
180
177
181
}
178
182
179
183
if rsp .AccountId == "" {
180
184
err = consts .ErrUndefinedAccountID
181
185
klog .V (3 ).ErrorS (err , "BucketAccess" , bucketAccess .ObjectMeta .Name )
182
- return errors . Wrap ( err , fmt .Sprintf ("BucketAccess %s" , bucketAccess .ObjectMeta .Name ) )
186
+ return fmt .Errorf ("BucketAccess %s: %w " , bucketAccess .ObjectMeta .Name , err )
183
187
}
184
188
185
189
credentials := rsp .Credentials
186
190
if len (credentials ) != 1 {
187
191
err = consts .ErrInvalidCredentials
188
192
klog .V (3 ).ErrorS (err , "BucketAccess" , bucketAccess .ObjectMeta .Name )
189
- return errors . Wrap ( err , fmt .Sprintf ("BucketAccess %s" , bucketAccess .ObjectMeta .Name ) )
193
+ return fmt .Errorf ("BucketAccess %s: %w " , bucketAccess .ObjectMeta .Name , err )
190
194
}
191
195
192
196
bucketInfoName := consts .BucketInfoPrefix + string (bucketAccess .ObjectMeta .UID )
@@ -237,7 +241,7 @@ func (bal *BucketAccessListener) Add(ctx context.Context, inputBucketAccess *v1a
237
241
"Failed to create secrets" ,
238
242
"bucketAccess" , bucketAccess .ObjectMeta .Name ,
239
243
"bucket" , bucket .ObjectMeta .Name )
240
- return errors . Wrap ( err , "failed to fetch secrets" )
244
+ return fmt . Errorf ( "failed to fetch secrets: %w" , err )
241
245
}
242
246
243
247
if _ , err := bal .secrets (namespace ).Create (ctx , & v1.Secret {
@@ -256,7 +260,7 @@ func (bal *BucketAccessListener) Add(ctx context.Context, inputBucketAccess *v1a
256
260
"Failed to create minted secret" ,
257
261
"bucketAccess" , bucketAccess .ObjectMeta .Name ,
258
262
"bucket" , bucket .ObjectMeta .Name )
259
- return errors . Wrap ( err , "Failed to create minted secret" )
263
+ return fmt . Errorf ( "failed to create minted secret: %w" , err )
260
264
}
261
265
}
262
266
}
@@ -274,7 +278,7 @@ func (bal *BucketAccessListener) Add(ctx context.Context, inputBucketAccess *v1a
274
278
klog .V (3 ).ErrorS (err , "Failed to update BucketAccess finalizer" ,
275
279
"bucketAccess" , bucketAccess .ObjectMeta .Name ,
276
280
"bucket" , bucket .ObjectMeta .Name )
277
- return errors . Wrap ( err , fmt .Sprintf ( "Failed to update BucketAccess finalizer. BucketAccess: %s" , bucketAccess .ObjectMeta .Name ) )
281
+ return fmt .Errorf ( "failed to update finalizer on BucketAccess %s: %w " , bucketAccess .ObjectMeta .Name , err )
278
282
}
279
283
}
280
284
@@ -286,7 +290,7 @@ func (bal *BucketAccessListener) Add(ctx context.Context, inputBucketAccess *v1a
286
290
klog .V (3 ).ErrorS (err , "Failed to update BucketAccess Status" ,
287
291
"bucketAccess" , bucketAccess .ObjectMeta .Name ,
288
292
"bucket" , bucket .ObjectMeta .Name )
289
- return errors . Wrap ( err , fmt .Sprintf ( "Failed to update BucketAccess Status. BucketAccess: %s" , bucketAccess .ObjectMeta .Name ) )
293
+ return fmt .Errorf ( "failed to update Status on BucketAccess %s: %w " , bucketAccess .ObjectMeta .Name , err )
290
294
}
291
295
292
296
return nil
@@ -333,13 +337,13 @@ func (bal *BucketAccessListener) deleteBucketAccessOp(ctx context.Context, bucke
333
337
bucketClaim , err := bal .bucketClaims (bucketAccess .ObjectMeta .Namespace ).Get (ctx , bucketClaimName , metav1.GetOptions {})
334
338
if err != nil {
335
339
klog .V (3 ).ErrorS (err , "Failed to fetch bucketClaim" , "bucketClaim" , bucketClaimName )
336
- return errors . Wrap ( err , "Failed to fetch bucketClaim" )
340
+ return fmt . Errorf ( "failed to fetch bucketClaim: %w" , err )
337
341
}
338
342
339
343
bucket , err := bal .buckets ().Get (ctx , bucketClaim .Status .BucketName , metav1.GetOptions {})
340
344
if err != nil {
341
345
klog .V (3 ).ErrorS (err , "Failed to fetch bucket" , "bucket" , bucketClaim .Status .BucketName )
342
- return errors . Wrap ( err , "Failed to fetch bucket" )
346
+ return fmt . Errorf ( "failed to fetch bucket: %w" , err )
343
347
}
344
348
345
349
req := & cosi.DriverRevokeBucketAccessRequest {
@@ -350,7 +354,7 @@ func (bal *BucketAccessListener) deleteBucketAccessOp(ctx context.Context, bucke
350
354
// First we revoke the bucketAccess from the driver
351
355
if _ , err := bal .provisionerClient .DriverRevokeBucketAccess (ctx , req ); err != nil {
352
356
bal .recordEvent (bucketAccess , v1 .EventTypeWarning , events .FailedRevokeAccess , "Failed to revoke bucket access." )
353
- return errors . Wrap ( err , "failed to revoke access" )
357
+ return fmt . Errorf ( "failed to revoke access: %w" , err )
354
358
}
355
359
356
360
credSecretName := bucketAccess .Spec .CredentialsSecretName
0 commit comments