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

Commit c3f21e9

Browse files
committed
Fixing some logs and adding bucket paramaters
1 parent 8b8d222 commit c3f21e9

File tree

1 file changed

+38
-9
lines changed

1 file changed

+38
-9
lines changed

Diff for: pkg/bucket/bucket_controller.go

+38-9
Original file line numberDiff line numberDiff line change
@@ -17,6 +17,7 @@ package bucket
1717

1818
import (
1919
"context"
20+
"fmt"
2021
"strings"
2122

2223
metav1 "k8s.io/apimachinery/pkg/apis/meta/v1"
@@ -66,9 +67,13 @@ func (b *BucketListener) Add(ctx context.Context, inputBucket *v1alpha1.Bucket)
6667
var err error
6768

6869
klog.V(3).InfoS("Add Bucket",
69-
"name", bucket.ObjectMeta.Name,
70-
"bucketclass", bucket.Spec.BucketClassName,
71-
)
70+
"name", bucket.ObjectMeta.Name)
71+
72+
if bucket.Spec.BucketClassName == "" {
73+
err = errors.New(fmt.Sprintf("BucketClassName not defined for bucket %s", bucket.ObjectMeta.Name))
74+
klog.V(3).ErrorS(err, "BucketClassName not defined")
75+
return err
76+
}
7277

7378
if !strings.EqualFold(bucket.Spec.DriverName, b.driverName) {
7479
klog.V(5).InfoS("Skipping bucket for driver",
@@ -93,6 +98,24 @@ func (b *BucketListener) Add(ctx context.Context, inputBucket *v1alpha1.Bucket)
9398
if bucket.Spec.ExistingBucketID != "" {
9499
bucketReady = true
95100
bucketID = bucket.Spec.ExistingBucketID
101+
if bucket.Spec.Parameters == nil {
102+
bucketClass, err := b.bucketClasses().Get(ctx, bucket.Spec.BucketClassName, metav1.GetOptions{})
103+
if err != nil {
104+
klog.V(3).ErrorS(err, "Error fetching bucketClass",
105+
"bucketClass", bucket.Spec.BucketClassName,
106+
"bucket", bucket.ObjectMeta.Name)
107+
return err
108+
}
109+
110+
if bucketClass.Parameters != nil {
111+
var param map[string]string
112+
for k, v := range bucketClass.Parameters {
113+
param[k] = v
114+
}
115+
116+
bucket.Spec.Parameters = param
117+
}
118+
}
96119
} else {
97120
req := &cosi.DriverCreateBucketRequest{
98121
Parameters: bucket.Spec.Parameters,
@@ -110,7 +133,7 @@ func (b *BucketListener) Add(ctx context.Context, inputBucket *v1alpha1.Bucket)
110133
}
111134

112135
if rsp == nil {
113-
err = errors.New("DriverCreateBucket returned a nil response")
136+
err = errors.New(fmt.Sprintf("DriverCreateBucket returned a nil response for bucket: %s", bucket.ObjectMeta.Name))
114137
klog.V(3).ErrorS(err, "Internal Error from driver",
115138
"bucket", bucket.ObjectMeta.Name)
116139
return err
@@ -122,7 +145,7 @@ func (b *BucketListener) Add(ctx context.Context, inputBucket *v1alpha1.Bucket)
122145
} else {
123146
klog.V(3).ErrorS(err, "DriverCreateBucket returned an empty bucketID",
124147
"bucket", bucket.ObjectMeta.Name)
125-
err = errors.New("DriverCreateBucket returned an empty bucketID")
148+
err = errors.New(fmt.Sprintf("DriverCreateBucket returned an empty bucketID for bucket: %s",bucket.ObjectMeta.Name))
126149
return err
127150
}
128151

@@ -245,12 +268,11 @@ func (b *BucketListener) Update(ctx context.Context, old, new *v1alpha1.Bucket)
245268
func (b *BucketListener) Delete(ctx context.Context, inputBucket *v1alpha1.Bucket) error {
246269
klog.V(3).InfoS("Delete Bucket",
247270
"name", inputBucket.ObjectMeta.Name,
248-
"bucketclass", inputBucket.Spec.BucketClassName,
249-
)
271+
"bucketclass", inputBucket.Spec.BucketClassName)
250272

251273
if inputBucket.Spec.BucketClaim != nil {
252-
klog.V(3).Infof("Removing dependent BucketClaim finalizer")
253274
ref := inputBucket.Spec.BucketClaim
275+
klog.V(3).Infof("Removing finalizer of bucketClaim: %s before deleting bucket: %s", ref.Name, inputBucket.ObjectMeta.Name)
254276

255277
bucketClaim, err := b.bucketClaims(ref.Namespace).Get(ctx, ref.Name, metav1.GetOptions{})
256278
if err != nil {
@@ -261,7 +283,7 @@ func (b *BucketListener) Delete(ctx context.Context, inputBucket *v1alpha1.Bucke
261283
}
262284

263285
if controllerutil.RemoveFinalizer(bucketClaim, consts.BCFinalizer) {
264-
_, err := b.bucketClaims(bucketClaim.ObjectMeta.Namespace).UpdateStatus(ctx, bucketClaim, metav1.UpdateOptions{})
286+
_, err := b.bucketClaims(bucketClaim.ObjectMeta.Namespace).Update(ctx, bucketClaim, metav1.UpdateOptions{})
265287
if err != nil {
266288
klog.V(3).ErrorS(err, "Error removing bucketClaim finalizer",
267289
"bucket", inputBucket.ObjectMeta.Name,
@@ -352,6 +374,13 @@ func (b *BucketListener) buckets() bucketapi.BucketInterface {
352374
panic("uninitialized listener")
353375
}
354376

377+
func (b *BucketListener) bucketClasses() bucketapi.BucketClassInterface {
378+
if b.bucketClient != nil {
379+
return b.bucketClient.ObjectstorageV1alpha1().BucketClasses()
380+
}
381+
panic("uninitialized listener")
382+
}
383+
355384
func (b *BucketListener) bucketClaims(namespace string) bucketapi.BucketClaimInterface {
356385
if b.bucketClient != nil {
357386
return b.bucketClient.ObjectstorageV1alpha1().BucketClaims(namespace)

0 commit comments

Comments
 (0)