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

Commit a5547f3

Browse files
author
Krish Chowdhary
committed
update api version
1 parent 3d61b36 commit a5547f3

File tree

10 files changed

+66
-33
lines changed

10 files changed

+66
-33
lines changed

Diff for: container-object-storage-interface-controller/.gitignore

+2
Original file line numberDiff line numberDiff line change
@@ -5,3 +5,5 @@
55
travis.yml
66
release-tools
77
bin
8+
vendor/
9+
.idea/

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

+1-1
Original file line numberDiff line numberDiff line change
@@ -28,6 +28,6 @@ require (
2828
k8s.io/client-go v0.19.4
2929
k8s.io/klog/v2 v2.4.0
3030
k8s.io/kube-openapi v0.0.0-20201113171705-d219536bb9fd // indirect
31-
sigs.k8s.io/container-object-storage-interface-api v0.0.0-20210315005104-5e1814a6aedd
31+
sigs.k8s.io/container-object-storage-interface-api v0.0.0-20210330175159-2cdabb1a5dc7
3232
sigs.k8s.io/controller-tools v0.4.1
3333
)

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

+9-4
Original file line numberDiff line numberDiff line change
@@ -200,6 +200,7 @@ github.com/golang/protobuf v1.4.0-rc.2/go.mod h1:LlEzMj4AhA7rCAGe4KMBDvJI+AwstrU
200200
github.com/golang/protobuf v1.4.0-rc.4.0.20200313231945-b860323f09d0/go.mod h1:WU3c8KckQ9AFe+yFwt9sWVRKCVIyN9cPHBJSNnbL67w=
201201
github.com/golang/protobuf v1.4.0/go.mod h1:jodUvKwWbYaEsadDk5Fwe5c77LiNKVO9IDvqG2KuDX0=
202202
github.com/golang/protobuf v1.4.1/go.mod h1:U8fpvMrcmy5pZrNK1lt4xCsGvpyWQ/VVv6QDs8UjoX8=
203+
github.com/golang/protobuf v1.4.2 h1:+Z5KGCizgyZCbGh1KZqA0fcLLkwbsjIzS4aV2v7wJX0=
203204
github.com/golang/protobuf v1.4.2/go.mod h1:oDoupMAO8OvCJWAcko0GGGIgR6R6ocIYbsSw735rRwI=
204205
github.com/golang/protobuf v1.4.3 h1:JjCZWpVbqXDqFVmTfYWEVTMIYrL/NPdPSCHPJ0T/raM=
205206
github.com/golang/protobuf v1.4.3/go.mod h1:oDoupMAO8OvCJWAcko0GGGIgR6R6ocIYbsSw735rRwI=
@@ -221,6 +222,7 @@ github.com/google/pprof v0.0.0-20190515194954-54271f7e092f/go.mod h1:zfwlbNMJ+OI
221222
github.com/google/pprof v0.0.0-20191218002539-d4f498aebedc/go.mod h1:ZgVRPoUq/hfqzAqh7sHMqb3I9Rq5C59dIz2SbBwJ4eM=
222223
github.com/google/renameio v0.1.0/go.mod h1:KWCgfxg9yswjAJkECMjeO8J8rahYeXnNhOm40UhjYkI=
223224
github.com/google/uuid v1.0.0/go.mod h1:TIyPZe4MgqvfeYDBFedMoGGpEw/LqOeaOT+nhxU+yHo=
225+
github.com/google/uuid v1.1.1 h1:Gkbcsh/GbpXz7lPftLA3P6TYMwjCLYm83jiFQZF/3gY=
224226
github.com/google/uuid v1.1.1/go.mod h1:TIyPZe4MgqvfeYDBFedMoGGpEw/LqOeaOT+nhxU+yHo=
225227
github.com/google/uuid v1.1.2 h1:EVhdT+1Kseyi1/pUmXKaFxYsDNy9RQYkMWRH68J/W7Y=
226228
github.com/google/uuid v1.1.2/go.mod h1:TIyPZe4MgqvfeYDBFedMoGGpEw/LqOeaOT+nhxU+yHo=
@@ -269,6 +271,7 @@ github.com/hashicorp/memberlist v0.1.3/go.mod h1:ajVTdAv/9Im8oMAAj5G31PhhMCZJV2p
269271
github.com/hashicorp/serf v0.8.2/go.mod h1:6hOLApaqBFA1NXqRQAsxw9QxuDEvNxSQRwA/JwenrHc=
270272
github.com/hpcloud/tail v1.0.0/go.mod h1:ab1qPbhIpdTxEkNHXyeSf5vhxWSCs/tWer42PpOxQnU=
271273
github.com/ianlancetaylor/demangle v0.0.0-20181102032728-5e5cf60278f6/go.mod h1:aSSvb/t6k1mPoxDqO4vJh6VOCGPwU4O0C2/Eqndh1Sc=
274+
github.com/imdario/mergo v0.3.5 h1:JboBksRwiiAJWvIYJVo46AfV+IAIKZpfrSzVKj42R4Q=
272275
github.com/imdario/mergo v0.3.5/go.mod h1:2EnlNZ0deacrJVfApfmtdGgDfMuh/nq6Ok1EcJh5FfA=
273276
github.com/imdario/mergo v0.3.9 h1:UauaLniWCFHWd+Jp9oCEkTBj8VO/9DKg3PV3VCNMDIg=
274277
github.com/imdario/mergo v0.3.9/go.mod h1:2EnlNZ0deacrJVfApfmtdGgDfMuh/nq6Ok1EcJh5FfA=
@@ -687,6 +690,7 @@ google.golang.org/protobuf v1.21.0/go.mod h1:47Nbq4nVaFHyn7ilMalzfO3qCViNmqZ2kzi
687690
google.golang.org/protobuf v1.22.0/go.mod h1:EGpADcykh3NcUnDUJcl1+ZksZNG86OlYog2l/sGQquU=
688691
google.golang.org/protobuf v1.23.0/go.mod h1:EGpADcykh3NcUnDUJcl1+ZksZNG86OlYog2l/sGQquU=
689692
google.golang.org/protobuf v1.23.1-0.20200526195155-81db48ad09cc/go.mod h1:EGpADcykh3NcUnDUJcl1+ZksZNG86OlYog2l/sGQquU=
693+
google.golang.org/protobuf v1.24.0 h1:UhZDfRO8JRQru4/+LlLE0BRKGF8L+PICnvYZmx/fEGA=
690694
google.golang.org/protobuf v1.24.0/go.mod h1:r/3tXBNzIEhYS9I1OUVjXDlt8tc493IdKGjtUeSXeh4=
691695
google.golang.org/protobuf v1.25.0 h1:Ejskq+SyPohKW+1uil0JJMtmHCgJPJ/qWTxr8qp+R4c=
692696
google.golang.org/protobuf v1.25.0/go.mod h1:9JNX74DMeImyA3h4bdi1ymwjUzf21/xIlbajtzgsN7c=
@@ -714,6 +718,7 @@ gopkg.in/yaml.v2 v2.2.1/go.mod h1:hI93XBmqTisBFMUTm0b8Fm+jr3Dg1NNxqwp+5A1VGuI=
714718
gopkg.in/yaml.v2 v2.2.2/go.mod h1:hI93XBmqTisBFMUTm0b8Fm+jr3Dg1NNxqwp+5A1VGuI=
715719
gopkg.in/yaml.v2 v2.2.4/go.mod h1:hI93XBmqTisBFMUTm0b8Fm+jr3Dg1NNxqwp+5A1VGuI=
716720
gopkg.in/yaml.v2 v2.2.5/go.mod h1:hI93XBmqTisBFMUTm0b8Fm+jr3Dg1NNxqwp+5A1VGuI=
721+
gopkg.in/yaml.v2 v2.2.8 h1:obN1ZagJSUGI0Ek/LBmuj4SNLPfIny3KsKFopxRdj10=
717722
gopkg.in/yaml.v2 v2.2.8/go.mod h1:hI93XBmqTisBFMUTm0b8Fm+jr3Dg1NNxqwp+5A1VGuI=
718723
gopkg.in/yaml.v2 v2.3.0 h1:clyUAQHOM3G0M3f5vQj7LuJrETvjVot3Z5el9nffUtU=
719724
gopkg.in/yaml.v2 v2.3.0/go.mod h1:hI93XBmqTisBFMUTm0b8Fm+jr3Dg1NNxqwp+5A1VGuI=
@@ -778,10 +783,10 @@ k8s.io/utils v0.0.0-20200729134348-d5654de09c73/go.mod h1:jPW/WVKK9YHAvNhRxK0md/
778783
rsc.io/binaryregexp v0.2.0/go.mod h1:qTv7/COck+e2FymRvadv62gMdZztPaShugOCi3I+8D8=
779784
sigs.k8s.io/apiserver-network-proxy/konnectivity-client v0.0.7/go.mod h1:PHgbrJT7lCHcxMU+mDHEm+nx46H4zuuHZkDP6icnhu0=
780785
sigs.k8s.io/apiserver-network-proxy/konnectivity-client v0.0.9/go.mod h1:dzAXnQbTRyDlZPJX2SUPEqvnB+j7AJjtlox7PEwigU0=
781-
sigs.k8s.io/container-object-storage-interface-api v0.0.0-20210315005104-5e1814a6aedd h1:29yp8kNmIAvmVrk49H+CWBa7Yf4fipVLcTyong15tbs=
782-
sigs.k8s.io/container-object-storage-interface-api v0.0.0-20210315005104-5e1814a6aedd/go.mod h1:yMgeGQDROJIdY1jymECN2ptefmQ4+e3EQB/S8gyIE0o=
783-
sigs.k8s.io/container-object-storage-interface-spec v0.0.0-20210224211525-dfa3af562c18 h1:TIx7kV6/3ZSQ5BETBx1QG1Va28zv1LZAvqRjs28n8ss=
784-
sigs.k8s.io/container-object-storage-interface-spec v0.0.0-20210224211525-dfa3af562c18/go.mod h1:kafkL5l/lTUrZXhVi/9p1GzpEE/ts29BkWkL3Ao33WU=
786+
sigs.k8s.io/container-object-storage-interface-api v0.0.0-20210330175159-2cdabb1a5dc7 h1:M2ZMhWdq9Az8TFj8G6ZffFUpR4XG7Qy8h8ZGsZhi9Xg=
787+
sigs.k8s.io/container-object-storage-interface-api v0.0.0-20210330175159-2cdabb1a5dc7/go.mod h1:5n4lNKN4uOMW2NTqJ9r8qRAiqh5dZRZB7CNOkFihLfM=
788+
sigs.k8s.io/container-object-storage-interface-spec v0.0.0-20210329232956-3bbacbbc9c19 h1:LrLrBCBqO7O/VjJtTrDSj3/f7hLSQaCIouLZFnHGxFg=
789+
sigs.k8s.io/container-object-storage-interface-spec v0.0.0-20210329232956-3bbacbbc9c19/go.mod h1:kafkL5l/lTUrZXhVi/9p1GzpEE/ts29BkWkL3Ao33WU=
785790
sigs.k8s.io/controller-runtime v0.6.3 h1:SBbr+inLPEKhvlJtrvDcwIpm+uhDvp63Bl72xYJtoOE=
786791
sigs.k8s.io/controller-runtime v0.6.3/go.mod h1:WlZNXcM0++oyaQt4B7C2lEE5JYRs8vJUzRP4N4JpdAY=
787792
sigs.k8s.io/controller-tools v0.4.1 h1:VkuV0MxlRPmRu5iTgBZU4UxUX2LiR99n3sdQGRxZF4w=

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

+15-6
Original file line numberDiff line numberDiff line change
@@ -7,6 +7,7 @@ import (
77
"k8s.io/apimachinery/pkg/api/errors"
88
metav1 "k8s.io/apimachinery/pkg/apis/meta/v1"
99
kubeclientset "k8s.io/client-go/kubernetes"
10+
"k8s.io/client-go/util/retry"
1011

1112
"github.com/kubernetes-sigs/container-object-storage-interface-controller/pkg/util"
1213
"sigs.k8s.io/container-object-storage-interface-api/apis/objectstorage.k8s.io/v1alpha1"
@@ -78,7 +79,7 @@ func (b *bucketAccessRequestListener) provisionBucketAccess(ctx context.Context,
7879

7980
name := string(bucketAccessRequest.GetUID())
8081

81-
if bucketAccessRequest.Spec.BucketAccessName != "" {
82+
if bucketAccessRequest.Status.BucketAccessName != "" {
8283
return util.ErrBucketAccessAlreadyExists
8384
}
8485

@@ -101,7 +102,7 @@ func (b *bucketAccessRequestListener) provisionBucketAccess(ctx context.Context,
101102
return err
102103
}
103104

104-
if bucketRequest.Spec.BucketInstanceName == "" {
105+
if bucketRequest.Status.BucketName == "" || !bucketRequest.Status.BucketAvailable {
105106
return util.ErrWaitForBucketProvisioning
106107
}
107108

@@ -117,7 +118,8 @@ func (b *bucketAccessRequestListener) provisionBucketAccess(ctx context.Context,
117118
bucketaccess := &v1alpha1.BucketAccess{}
118119
bucketaccess.Name = name
119120

120-
bucketaccess.Spec.BucketInstanceName = bucketRequest.Spec.BucketInstanceName
121+
bucketaccess.Spec.BucketName = bucketRequest.Status.BucketName
122+
121123
bucketaccess.Spec.BucketAccessRequest = &v1.ObjectReference{
122124
Name: bucketAccessRequest.Name,
123125
Namespace: bucketAccessRequest.Namespace,
@@ -134,16 +136,23 @@ func (b *bucketAccessRequestListener) provisionBucketAccess(ctx context.Context,
134136
return err
135137
}
136138
// bucketaccess.Spec.Principal - set by the driver
137-
bucketaccess.Spec.Provisioner = bucketAccessClass.Provisioner
139+
138140
bucketaccess.Spec.Parameters = util.CopySS(bucketAccessClass.Parameters)
139141

140142
bucketaccess, err = baClient.Create(context.Background(), bucketaccess, metav1.CreateOptions{})
141143
if err != nil && !errors.IsAlreadyExists(err) {
142144
return err
143145
}
144146

145-
bucketAccessRequest.Spec.BucketAccessName = bucketaccess.Name
146-
_, err = barClient(bucketAccessRequest.Namespace).Update(ctx, bucketAccessRequest, metav1.UpdateOptions{})
147+
err = retry.RetryOnConflict(retry.DefaultRetry, func() error {
148+
bucketAccessRequest.Status.BucketAccessName = bucketaccess.Name
149+
bucketAccessRequest.Status.AccessGranted = true
150+
_, err := barClient(bucketAccessRequest.Namespace).UpdateStatus(ctx, bucketAccessRequest, metav1.UpdateOptions{})
151+
if err != nil {
152+
return err
153+
}
154+
return nil
155+
})
147156
if err != nil {
148157
return err
149158
}

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

+6-4
Original file line numberDiff line numberDiff line change
@@ -55,7 +55,6 @@ var goldAccessClass = types.BucketAccessClass{
5555
ObjectMeta: metav1.ObjectMeta{
5656
Name: "classaccessgold",
5757
},
58-
Provisioner: "provisioner1",
5958
PolicyActionsConfigMap: &v1.ObjectReference{Name: "testconfigmap", Namespace: "default"},
6059
Parameters: classGoldAccessParameters,
6160
}
@@ -71,9 +70,12 @@ var bucketRequest1 = types.BucketRequest{
7170
UID: "br-12345",
7271
},
7372
Spec: types.BucketRequestSpec{
74-
BucketPrefix: "cosi",
75-
BucketClassName: "classgold",
76-
BucketInstanceName: "cosi1234567890",
73+
BucketPrefix: "cosi",
74+
BucketClassName: "classgold",
75+
},
76+
Status: types.BucketRequestStatus{
77+
BucketName: "cosi1234567890",
78+
BucketAvailable: true,
7779
},
7880
}
7981

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

+15-6
Original file line numberDiff line numberDiff line change
@@ -6,6 +6,7 @@ import (
66
v1 "k8s.io/api/core/v1"
77
"k8s.io/apimachinery/pkg/api/errors"
88
metav1 "k8s.io/apimachinery/pkg/apis/meta/v1"
9+
"k8s.io/client-go/util/retry"
910

1011
"github.com/kubernetes-sigs/container-object-storage-interface-controller/pkg/util"
1112
kubeclientset "k8s.io/client-go/kubernetes"
@@ -100,18 +101,18 @@ func (b *bucketRequestListener) provisionBucketRequestOperation(ctx context.Cont
100101
}
101102
name = name + string(bucketRequest.GetUID())
102103

103-
if bucketRequest.Spec.BucketInstanceName != "" {
104+
if bucketRequest.Status.BucketName != "" {
104105
return util.ErrBucketAlreadyExists
105106
}
106107

107108
// create bucket
108109
bucket := &v1alpha1.Bucket{}
109110

110111
bucket.Name = name
112+
bucket.Spec.BucketID = name
111113
bucket.Spec.Provisioner = bucketClass.Provisioner
112-
bucket.Spec.RetentionPolicy = bucketClass.RetentionPolicy
113-
bucket.Spec.AnonymousAccessMode = bucketClass.AnonymousAccessMode
114114
bucket.Spec.BucketClassName = bucketClass.Name
115+
bucket.Spec.DeletionPolicy = bucketClass.DeletionPolicy
115116
bucket.Spec.BucketRequest = &v1.ObjectReference{
116117
Name: bucketRequest.Name,
117118
Namespace: bucketRequest.Namespace,
@@ -127,11 +128,19 @@ func (b *bucketRequestListener) provisionBucketRequestOperation(ctx context.Cont
127128
return err
128129
}
129130

130-
bucketRequest.Spec.BucketInstanceName = bucket.Name
131-
_, err = b.BucketRequests(bucketRequest.Namespace).Update(ctx, bucketRequest, metav1.UpdateOptions{})
131+
err = retry.RetryOnConflict(retry.DefaultRetry, func() error {
132+
bucketRequest.Status.BucketName = bucket.Name
133+
bucketRequest.Status.BucketAvailable = true
134+
_, err := b.BucketRequests(bucketRequest.Namespace).UpdateStatus(ctx, bucketRequest, metav1.UpdateOptions{})
135+
if err != nil {
136+
return err
137+
}
138+
return nil
139+
})
132140
if err != nil {
133141
return err
134142
}
143+
klog.Infof("Finished creating Bucket %v", bucket.Name)
135144
return nil
136145
}
137146

@@ -147,7 +156,7 @@ func (b *bucketRequestListener) getBucketClass(bucketRequest *v1alpha1.BucketReq
147156

148157
// cloneTheBucket clones a bucket to a different namespace when a BR is for brownfield.
149158
func (b *bucketRequestListener) cloneTheBucket(bucketRequest *v1alpha1.BucketRequest) error {
150-
klog.InfoS("Cloning Bucket", "name", bucketRequest.Spec.BucketInstanceName)
159+
klog.InfoS("Cloning Bucket", "name", bucketRequest.Status.BucketName)
151160
return util.ErrNotImplemented
152161
}
153162

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

+10-3
Original file line numberDiff line numberDiff line change
@@ -26,9 +26,16 @@ var goldClass = types.BucketClass{
2626
ObjectMeta: metav1.ObjectMeta{
2727
Name: "classgold",
2828
},
29-
AllowedNamespaces: []string{"default", "cosins"},
30-
Parameters: classGoldParameters,
31-
Protocol: types.Protocol{Name: "s3"},
29+
AllowedNamespaces: []string{"default", "cosins"},
30+
Parameters: classGoldParameters,
31+
Protocol: types.Protocol{
32+
S3: &types.S3Protocol{
33+
Endpoint: "endpoint",
34+
BucketName: "cosibucket",
35+
Region: "us-east-1",
36+
SignatureVersion: "S3V4",
37+
},
38+
},
3239
IsDefaultBucketClass: false,
3340
}
3441

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

+5-7
Original file line numberDiff line numberDiff line change
@@ -165,16 +165,15 @@ func GetBuckets(ctx context.Context, client bucketclientset.Interface, numExpect
165165
// This is used by bucket request unit tests
166166
func ValidateBucket(bucket types.Bucket, bucketrequest types.BucketRequest, bucketclass types.BucketClass) bool {
167167
if strings.HasPrefix(bucket.Name, bucketrequest.Spec.BucketPrefix) &&
168-
bucketrequest.Spec.BucketInstanceName == bucket.Name &&
168+
bucketrequest.Status.BucketName == bucket.Name &&
169169
bucket.Spec.BucketClassName == bucketrequest.Spec.BucketClassName &&
170170
bucket.Spec.BucketRequest.Name == bucketrequest.Name &&
171171
bucket.Spec.BucketRequest.Namespace == bucketrequest.Namespace &&
172172
bucket.Spec.BucketRequest.UID == bucketrequest.ObjectMeta.UID &&
173173
bucket.Spec.BucketClassName == bucketclass.Name &&
174174
reflect.DeepEqual(bucket.Spec.Parameters, bucketclass.Parameters) &&
175175
bucket.Spec.Provisioner == bucketclass.Provisioner &&
176-
bucket.Spec.RetentionPolicy == bucketclass.RetentionPolicy &&
177-
bucket.Spec.AnonymousAccessMode == bucketclass.AnonymousAccessMode {
176+
bucket.Spec.DeletionPolicy == bucketclass.DeletionPolicy {
178177
return true
179178
}
180179
return false
@@ -202,12 +201,11 @@ func GetBucketAccesses(ctx context.Context, client bucketclientset.Interface, nu
202201
// Validates the content of the bucket access against bucket access request and backet access class
203202
// This is used by bucket access request unit tests
204203
func ValidateBucketAccess(bucketaccess types.BucketAccess, bucketaccessrequest types.BucketAccessRequest, bucketaccessclass types.BucketAccessClass) bool {
205-
if bucketaccess.Spec.BucketInstanceName != "" &&
206-
bucketaccessrequest.Spec.BucketAccessName == bucketaccess.Name &&
204+
if bucketaccess.Spec.BucketName != "" &&
205+
bucketaccessrequest.Status.BucketAccessName == bucketaccess.Name &&
207206
bucketaccess.Spec.BucketAccessRequest.UID == bucketaccessrequest.UID &&
208207
bucketaccess.Spec.ServiceAccount.Name == bucketaccessrequest.Spec.ServiceAccountName &&
209-
bucketaccess.Spec.PolicyActionsConfigMapData != "" &&
210-
bucketaccess.Spec.Provisioner == bucketaccessclass.Provisioner {
208+
bucketaccess.Spec.PolicyActionsConfigMapData != "" {
211209
return true
212210
}
213211
return false

Diff for: container-object-storage-interface-controller/resources/deployment.yaml

+2-1
Original file line numberDiff line numberDiff line change
@@ -31,6 +31,7 @@ spec:
3131
serviceAccountName: objectstorage-controller-sa
3232
containers:
3333
- name: objectstorage-controller
34-
image: quay.io/containerobjectstorage/objectstorage-controller:latest
34+
image: quay.io/containerobjectstorage/objectstorage-controller:canary
35+
imagePullPolicy: Always
3536
args:
3637
- "--v=5"

Diff for: container-object-storage-interface-controller/resources/rbac.yaml

+1-1
Original file line numberDiff line numberDiff line change
@@ -11,7 +11,7 @@ metadata:
1111
app.kubernetes.io/name: container-object-storage-interface-controller
1212
rules:
1313
- apiGroups: ["objectstorage.k8s.io"]
14-
resources: ["bucketrequests", "bucketaccessrequests"]
14+
resources: ["bucketrequests", "bucketaccessrequests", "bucketrequests/status", "bucketaccessrequests/status"]
1515
verbs: ["get", "list", "watch", "update"]
1616
- apiGroups: ["objectstorage.k8s.io"]
1717
resources: ["buckets", "bucketaccesses"]

0 commit comments

Comments
 (0)