diff --git a/cluster/charts/rook-ceph/templates/resources.yaml b/cluster/charts/rook-ceph/templates/resources.yaml index c37bd4094..ca9123cdb 100644 --- a/cluster/charts/rook-ceph/templates/resources.yaml +++ b/cluster/charts/rook-ceph/templates/resources.yaml @@ -1288,9 +1288,6 @@ spec: type: object nullable: true x-kubernetes-preserve-unknown-fields: true - items: - type: object - x-kubernetes-preserve-unknown-fields: true status: type: object x-kubernetes-preserve-unknown-fields: true diff --git a/cluster/examples/kubernetes/ceph/crds.yaml b/cluster/examples/kubernetes/ceph/crds.yaml index 67a92465c..2eb77a535 100644 --- a/cluster/examples/kubernetes/ceph/crds.yaml +++ b/cluster/examples/kubernetes/ceph/crds.yaml @@ -1316,9 +1316,7 @@ spec: claimRef: type: object nullable: true - items: - type: object - x-kubernetes-preserve-unknown-fields: true + x-kubernetes-preserve-unknown-fields: true status: type: object x-kubernetes-preserve-unknown-fields: true diff --git a/go.mod b/go.mod index 0fc37b058..bd001b670 100644 --- a/go.mod +++ b/go.mod @@ -17,7 +17,7 @@ require ( github.com/hashicorp/vault/api v1.0.5-0.20200902155336-f9d5ce5a171a github.com/icrowley/fake v0.0.0-20180203215853-4178557ae428 github.com/k8snetworkplumbingwg/network-attachment-definition-client v1.1.0 - github.com/kube-object-storage/lib-bucket-provisioner v0.0.0-20201113145926-53eac50605b4 + github.com/kube-object-storage/lib-bucket-provisioner v0.0.0-20201218194517-2e9d6aa76d58 github.com/libopenstorage/secrets v0.0.0-20201006135900-af310b01fe47 github.com/miekg/dns v1.1.34 // indirect github.com/openshift/cluster-api v0.0.0-20191129101638-b09907ac6668 diff --git a/go.sum b/go.sum index 9f9f46437..6d998ad83 100644 --- a/go.sum +++ b/go.sum @@ -1089,8 +1089,8 @@ github.com/kr/pty v1.1.5/go.mod h1:9r2w37qlBe7rQ6e1fg1S/9xpWHSnaqNdHD3WcMdbPDA= github.com/kr/text v0.1.0 h1:45sCR5RtlFHMR4UwH9sdQ5TC8v0qDQCHnXt+kaKSTVE= github.com/kr/text v0.1.0/go.mod h1:4Jbv+DJW3UT/LiOwJeYQe1efqtUx/iVham/4vfdArNI= github.com/kshvakov/clickhouse v1.3.5/go.mod h1:DMzX7FxRymoNkVgizH0DWAL8Cur7wHLgx3MUnGwJqpE= -github.com/kube-object-storage/lib-bucket-provisioner v0.0.0-20201113145926-53eac50605b4 h1:67yagwv5kBOnQ+Bmu7o4qMy03VZK6a0xQ8rQQhtj8e4= -github.com/kube-object-storage/lib-bucket-provisioner v0.0.0-20201113145926-53eac50605b4/go.mod h1:rmRxr5+DBteSjSjhTCrYUNL/RgnnAftPCuR+WXDTjQQ= +github.com/kube-object-storage/lib-bucket-provisioner v0.0.0-20201218194517-2e9d6aa76d58 h1:oWkAP3zmqwL9ULYPGMAbhBstzyzSwgi5gK66SvSaoyk= +github.com/kube-object-storage/lib-bucket-provisioner v0.0.0-20201218194517-2e9d6aa76d58/go.mod h1:i+faT/nMoHqzCx95vZsh/82TDNO7CtWWLOIT4iECXI4= github.com/kylelemons/godebug v0.0.0-20160406211939-eadb3ce320cb/go.mod h1:B69LEHPfb2qLo0BaaOLcbitczOKLWTsrBG9LczfCD4k= github.com/kylelemons/godebug v0.0.0-20170820004349-d65d576e9348/go.mod h1:B69LEHPfb2qLo0BaaOLcbitczOKLWTsrBG9LczfCD4k= github.com/kylelemons/godebug v1.1.0/go.mod h1:9/0rRGxNHcop5bhtWyNeEfOS8JIWk580+fNqagV/RAw= diff --git a/pkg/operator/ceph/object/bucket/rgw-handlers.go b/pkg/operator/ceph/object/bucket/rgw-handlers.go index 6934785a5..bee618fb0 100644 --- a/pkg/operator/ceph/object/bucket/rgw-handlers.go +++ b/pkg/operator/ceph/object/bucket/rgw-handlers.go @@ -78,15 +78,7 @@ func (p *Provisioner) genUserName() (genName string, err error) { // Empty string is passed for bucketName only if user needs to be removed, ex Revoke() func (p *Provisioner) deleteOBCResource(bucketName string) error { - logger.Infof("deleting Ceph user %s and bucket %q", p.cephUserName, bucketName) - if len(p.cephUserName) > 0 { - output, err := cephObject.DeleteUser(p.objectContext, p.cephUserName) - if err != nil { - logger.Warningf("failed to delete user %q. %s. %v", p.cephUserName, output, err) - } else { - logger.Infof("user %q successfully deleted", p.cephUserName) - } - } + logger.Infof("deleting Ceph user %q and bucket %q", p.cephUserName, bucketName) if len(bucketName) > 0 { // delete bucket with purge option to remove all objects errCode, err := cephObject.DeleteObjectBucket(p.objectContext, bucketName, true) @@ -100,5 +92,13 @@ func (p *Provisioner) deleteOBCResource(bucketName string) error { return errors.Wrapf(err, "failed to delete bucket %q: errCode: %d", bucketName, errCode) } } + if len(p.cephUserName) > 0 { + output, err := cephObject.DeleteUser(p.objectContext, p.cephUserName) + if err != nil { + logger.Warningf("failed to delete user %q. %s. %v", p.cephUserName, output, err) + } else { + logger.Infof("user %q successfully deleted", p.cephUserName) + } + } return nil } diff --git a/pkg/operator/ceph/object/controller.go b/pkg/operator/ceph/object/controller.go index 7c52b0df4..ee5136b25 100644 --- a/pkg/operator/ceph/object/controller.go +++ b/pkg/operator/ceph/object/controller.go @@ -448,7 +448,7 @@ func (r *ReconcileCephObjectStore) verifyObjectBucketCleanup(objectstore *cephv1 bktProvisioner := GetObjectBucketProvisioner(r.context, objectstore.Namespace) bktProvisioner = strings.Replace(bktProvisioner, "/", "-", -1) selector := fmt.Sprintf("bucket-provisioner=%s", bktProvisioner) - objectBuckets, err := r.bktclient.ObjectbucketV1alpha1().ObjectBuckets().List(metav1.ListOptions{LabelSelector: selector}) + objectBuckets, err := r.bktclient.ObjectbucketV1alpha1().ObjectBuckets().List(context.TODO(), metav1.ListOptions{LabelSelector: selector}) if err != nil { logger.Errorf("failed to delete object store. failed to list buckets for objectstore %q in namespace %q", objectstore.Name, objectstore.Namespace) return opcontroller.WaitForRequeueIfFinalizerBlocked, false diff --git a/tests/framework/installer/ceph_manifests.go b/tests/framework/installer/ceph_manifests.go index 26267699a..acbc19010 100644 --- a/tests/framework/installer/ceph_manifests.go +++ b/tests/framework/installer/ceph_manifests.go @@ -1371,9 +1371,6 @@ spec: type: object nullable: true x-kubernetes-preserve-unknown-fields: true - items: - type: object - x-kubernetes-preserve-unknown-fields: true status: type: object x-kubernetes-preserve-unknown-fields: true