|
7 | 7 | "k8s.io/apimachinery/pkg/api/errors" |
8 | 8 | metav1 "k8s.io/apimachinery/pkg/apis/meta/v1" |
9 | 9 | kubeclientset "k8s.io/client-go/kubernetes" |
10 | | - "k8s.io/client-go/util/retry" |
11 | 10 |
|
12 | 11 | "github.com/kubernetes-sigs/container-object-storage-interface-controller/pkg/util" |
13 | 12 | "sigs.k8s.io/container-object-storage-interface-api/apis/objectstorage.k8s.io/v1alpha1" |
@@ -78,15 +77,9 @@ func (b *bucketAccessRequestListener) provisionBucketAccess(ctx context.Context, |
78 | 77 | coreClient := b.kubeClient.CoreV1() |
79 | 78 |
|
80 | 79 | name := string(bucketAccessRequest.GetUID()) |
81 | | - _, err := baClient.Get(ctx, name, metav1.GetOptions{}) |
82 | | - if err != nil { |
83 | | - // anything other than 404 |
84 | | - if !errors.IsNotFound(err) { |
85 | | - klog.Errorf("error fetching bucketaccess: %v", err) |
86 | | - return err |
87 | | - } |
88 | | - } else { // if bucket found |
89 | | - return nil |
| 80 | + |
| 81 | + if bucketAccessRequest.Spec.BucketAccessName != "" { |
| 82 | + return util.ErrBucketAccessAlreadyExists |
90 | 83 | } |
91 | 84 |
|
92 | 85 | bucketAccessClassName := bucketAccessRequest.Spec.BucketAccessClassName |
@@ -145,39 +138,15 @@ func (b *bucketAccessRequestListener) provisionBucketAccess(ctx context.Context, |
145 | 138 | bucketaccess.Spec.Parameters = util.CopySS(bucketAccessClass.Parameters) |
146 | 139 |
|
147 | 140 | bucketaccess, err = baClient.Create(context.Background(), bucketaccess, metav1.CreateOptions{}) |
148 | | - if err != nil { |
149 | | - if errors.IsAlreadyExists(err) { |
150 | | - return nil |
151 | | - } |
| 141 | + if err != nil && !errors.IsAlreadyExists(err) { |
152 | 142 | return err |
153 | 143 | } |
154 | 144 |
|
155 | | - err = retry.RetryOnConflict(retry.DefaultRetry, func() error { |
156 | | - bucketAccessRequest.Spec.BucketAccessName = bucketaccess.Name |
157 | | - _, err := barClient(bucketAccessRequest.Namespace).Update(ctx, bucketAccessRequest, metav1.UpdateOptions{}) |
158 | | - if err != nil { |
159 | | - return err |
160 | | - } |
161 | | - return nil |
162 | | - }) |
| 145 | + bucketAccessRequest.Spec.BucketAccessName = bucketaccess.Name |
| 146 | + _, err = barClient(bucketAccessRequest.Namespace).Update(ctx, bucketAccessRequest, metav1.UpdateOptions{}) |
163 | 147 | if err != nil { |
164 | 148 | return err |
165 | 149 | } |
166 | 150 | klog.Infof("Finished creating BucketAccess %v", bucketaccess.Name) |
167 | 151 | return nil |
168 | 152 | } |
169 | | - |
170 | | -func (b *bucketAccessRequestListener) FindBucketAccess(ctx context.Context, bar *v1alpha1.BucketAccessRequest) *v1alpha1.BucketAccess { |
171 | | - bucketAccessList, err := b.bucketClient.ObjectstorageV1alpha1().BucketAccesses().List(ctx, metav1.ListOptions{}) |
172 | | - if err != nil || len(bucketAccessList.Items) <= 0 { |
173 | | - return nil |
174 | | - } |
175 | | - for _, bucketaccess := range bucketAccessList.Items { |
176 | | - if bucketaccess.Spec.BucketAccessRequest.Name == bar.Name && |
177 | | - bucketaccess.Spec.BucketAccessRequest.Namespace == bar.Namespace && |
178 | | - bucketaccess.Spec.BucketAccessRequest.UID == bar.UID { |
179 | | - return &bucketaccess |
180 | | - } |
181 | | - } |
182 | | - return nil |
183 | | -} |
0 commit comments