Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 1 addition & 1 deletion go.mod
Original file line number Diff line number Diff line change
Expand Up @@ -18,7 +18,7 @@ require (
github.com/minio/cli v1.22.0
github.com/minio/direct-csi v1.3.5-0.20210601185811-f7776f7961bf
github.com/minio/kes v0.11.0
github.com/minio/madmin-go v1.0.12
github.com/minio/madmin-go v1.0.17
github.com/minio/mc v0.0.0-20210626002108-cebf3318546f
github.com/minio/minio-go/v7 v7.0.13-0.20210715203016-9e713532886e
github.com/minio/operator v0.0.0-20210616045941-65f31f5f78ae
Expand Down
9 changes: 6 additions & 3 deletions go.sum
Original file line number Diff line number Diff line change
Expand Up @@ -877,8 +877,9 @@ github.com/minio/filepath v1.0.0/go.mod h1:/nRZA2ldl5z6jT9/KQuvZcQlxZIMQoFFQPvEX
github.com/minio/kes v0.11.0 h1:8ma6OCVSxKT50b1uYXLJro3m7PmZtCLxBaTddQexI5k=
github.com/minio/kes v0.11.0/go.mod h1:mTF1Bv8YVEtQqF/B7Felp4tLee44Pp+dgI0rhCvgNg8=
github.com/minio/madmin-go v1.0.6/go.mod h1:BK+z4XRx7Y1v8SFWXsuLNqQqnq5BO/axJ8IDJfgyvfs=
github.com/minio/madmin-go v1.0.12 h1:5FjqXgPR6rK6QX+HS88u+FCAiFLKleAiMuRvdDhWNPc=
github.com/minio/madmin-go v1.0.12/go.mod h1:BK+z4XRx7Y1v8SFWXsuLNqQqnq5BO/axJ8IDJfgyvfs=
github.com/minio/madmin-go v1.0.17 h1:VMEn4nMKf0X3uNH0u+fZcn17KSwVkQGwyER/igG556E=
github.com/minio/madmin-go v1.0.17/go.mod h1:4nl9hvLWFnwCjkLfZSsZXEHgDODa2XSG6xGlIZyQ2oA=
github.com/minio/mc v0.0.0-20210626002108-cebf3318546f h1:hyFvo5hSFw2K417YvDr/vAKlgCG69uTuhZW/5LNdL0U=
github.com/minio/mc v0.0.0-20210626002108-cebf3318546f/go.mod h1:tuaonkPjVApCXkbtKENHBtsqUf7YTV33qmFrC+Pgp5g=
github.com/minio/md5-simd v1.1.0/go.mod h1:XpBqgZULrMYD3R+M28PcmP0CkI7PEMzB3U77ZrKZ0Gw=
Expand Down Expand Up @@ -1103,8 +1104,9 @@ github.com/securego/gosec/v2 v2.3.0/go.mod h1:UzeVyUXbxukhLeHKV3VVqo7HdoQR9MrRfF
github.com/sergi/go-diff v1.0.0/go.mod h1:0CfEIISq7TuYL3j771MWULgwwjU+GofnZX9QAmXWZgo=
github.com/shirou/gopsutil v0.0.0-20190901111213-e4ec7b275ada h1:WokF3GuxBeL+n4Lk4Fa8v9mbdjlrl7bHuneF4N1bk2I=
github.com/shirou/gopsutil v0.0.0-20190901111213-e4ec7b275ada/go.mod h1:WWnYX4lzhCH5h/3YBfyVA3VbLYjlMZZAQcW9ojMexNc=
github.com/shirou/gopsutil/v3 v3.21.4 h1:XB/+p+kVnyYLuPHCfa99lxz2aJyvVhnyd+FxZqH/k7M=
github.com/shirou/gopsutil/v3 v3.21.4/go.mod h1:ghfMypLDrFSWN2c9cDYFLHyynQ+QUht0cv/18ZqVczw=
github.com/shirou/gopsutil/v3 v3.21.6 h1:vU7jrp1Ic/2sHB7w6UNs7MIkn7ebVtTb5D9j45o9VYE=
github.com/shirou/gopsutil/v3 v3.21.6/go.mod h1:JfVbDpIBLVzT8oKbvMg9P3wEIMDDpVn+LwHTKj0ST88=
github.com/shirou/w32 v0.0.0-20160930032740-bb4de0191aa4/go.mod h1:qsXQc7+bwAM3Q1u/4XEfrquwF8Lw7D7y5cD8CuHnfIc=
github.com/shopspring/decimal v0.0.0-20180709203117-cd690d0c9e24/go.mod h1:M+9NzErvs504Cn4c5DxATwIqPbtswREoFCre64PpcG4=
github.com/shopspring/decimal v0.0.0-20200227202807-02e2044944cc/go.mod h1:DKyhrW/HYNuLGql+MJL6WCR6knT2jwCFRcu2hWCYk4o=
Expand Down Expand Up @@ -1190,8 +1192,9 @@ github.com/tj/go-elastic v0.0.0-20171221160941-36157cbbebc2/go.mod h1:WjeM0Oo1eN
github.com/tj/go-kinesis v0.0.0-20171128231115-08b17f58cb1b/go.mod h1:/yhzCV0xPfx6jb1bBgRFjl5lytqVqZXEaeqWP8lTEao=
github.com/tj/go-spin v1.1.0/go.mod h1:Mg1mzmePZm4dva8Qz60H2lHwmJ2loum4VIrLgVnKwh4=
github.com/tklauser/go-sysconf v0.3.4/go.mod h1:Cl2c8ZRWfHD5IrfHo9VN+FX9kCFjIOyVklgXycLB6ek=
github.com/tklauser/go-sysconf v0.3.5 h1:uu3Xl4nkLzQfXNsWn15rPc/HQCJKObbt1dKJeWp3vU4=
github.com/tklauser/go-sysconf v0.3.5/go.mod h1:MkWzOF4RMCshBAMXuhXJs64Rte09mITnppBXY/rYEFI=
github.com/tklauser/go-sysconf v0.3.6 h1:oc1sJWvKkmvIxhDHeKWvZS4f6AW+YcoguSfRF2/Hmo4=
github.com/tklauser/go-sysconf v0.3.6/go.mod h1:MkWzOF4RMCshBAMXuhXJs64Rte09mITnppBXY/rYEFI=
github.com/tklauser/numcpus v0.2.1/go.mod h1:9aU+wOc6WjUIZEwWMP62PL/41d65P+iks1gBkr4QyP8=
github.com/tklauser/numcpus v0.2.2 h1:oyhllyrScuYI6g+h/zUvNXNp1wy7x8qQy3t/piefldA=
github.com/tklauser/numcpus v0.2.2/go.mod h1:x3qojaO3uyYt0i56EW/VUYs7uBvdl2fkfZFu0T9wgjM=
Expand Down
16 changes: 4 additions & 12 deletions restapi/admin_health_info_test.go
Original file line number Diff line number Diff line change
Expand Up @@ -60,16 +60,12 @@ func Test_serverHealthInfo(t *testing.T) {
mockMessages: []madmin.HealthInfo{
{
Perf: madmin.PerfInfo{
NetParallel: madmin.NetPerfInfo{
Addr: "someaddress",
},
NetParallel: madmin.NetPerfInfo{},
},
},
{
Perf: madmin.PerfInfo{
NetParallel: madmin.NetPerfInfo{
Addr: "otheraddress",
},
NetParallel: madmin.NetPerfInfo{},
},
},
},
Expand All @@ -92,9 +88,7 @@ func Test_serverHealthInfo(t *testing.T) {
mockMessages: []madmin.HealthInfo{
{
Perf: madmin.PerfInfo{
NetParallel: madmin.NetPerfInfo{
Addr: "address",
},
NetParallel: madmin.NetPerfInfo{},
},
},
},
Expand All @@ -117,9 +111,7 @@ func Test_serverHealthInfo(t *testing.T) {
mockMessages: []madmin.HealthInfo{
{
Perf: madmin.PerfInfo{
NetParallel: madmin.NetPerfInfo{
Addr: "address",
},
NetParallel: madmin.NetPerfInfo{},
},
},
},
Expand Down
5 changes: 5 additions & 0 deletions restapi/user_bucket_quota.go
Original file line number Diff line number Diff line change
Expand Up @@ -96,10 +96,15 @@ func setBucketQuota(ctx context.Context, ac *AdminClient, bucket *string, bucket
}

func getBucketQuotaResponse(session *models.Principal, params user_api.GetBucketQuotaParams) (*models.BucketQuota, *models.Error) {
if !isErasureBackend() {
return &models.BucketQuota{}, nil
}

mAdmin, err := NewMinioAdminClient(session)
if err != nil {
return nil, PrepareError(err)
}

// create a minioClient interface implementation
// defining the client to be used
adminClient := AdminClient{Client: mAdmin}
Expand Down
42 changes: 35 additions & 7 deletions restapi/user_buckets.go
Original file line number Diff line number Diff line change
Expand Up @@ -21,8 +21,10 @@ import (
"encoding/json"
"fmt"
"strings"
"sync"
"time"

"github.com/minio/madmin-go"
"github.com/minio/mc/cmd"
"github.com/minio/mc/pkg/probe"
"github.com/minio/minio-go/v7"
Expand Down Expand Up @@ -98,7 +100,7 @@ func registerBucketsHandlers(api *operations.ConsoleAPI) {
})
// get bucket replication
api.UserAPIGetBucketReplicationHandler = user_api.GetBucketReplicationHandlerFunc(func(params user_api.GetBucketReplicationParams, session *models.Principal) middleware.Responder {
getBucketReplication, err := getBucketReplicationdResponse(session, params.BucketName)
getBucketReplication, err := getBucketReplicationResponse(session, params.BucketName)
if err != nil {
return user_api.NewGetBucketReplicationDefault(500).WithPayload(&models.Error{Code: 500, Message: swag.String(err.Error())})
}
Expand Down Expand Up @@ -198,7 +200,11 @@ func setBucketVersioningResponse(session *models.Principal, bucketName string, p
return nil
}

func getBucketReplicationdResponse(session *models.Principal, bucketName string) (*models.BucketReplicationResponse, error) {
func getBucketReplicationResponse(session *models.Principal, bucketName string) (*models.BucketReplicationResponse, error) {
if !isErasureBackend() {
return &models.BucketReplicationResponse{}, nil
}

ctx, cancel := context.WithTimeout(context.Background(), time.Second*20)
defer cancel()

Expand Down Expand Up @@ -242,13 +248,19 @@ func getBucketReplicationdResponse(session *models.Principal, bucketName string)
}

// serialize output
listBucketsResponse := &models.BucketReplicationResponse{
bucketRResponse := &models.BucketReplicationResponse{
Rules: rules,
}
return listBucketsResponse, nil
return bucketRResponse, nil
}

func getBucketVersionedResponse(session *models.Principal, bucketName string) (*models.BucketVersioningResponse, error) {
if !isErasureBackend() {
return &models.BucketVersioningResponse{
IsVersioned: false,
}, nil
}

ctx, cancel := context.WithTimeout(context.Background(), time.Second*20)
defer cancel()

Expand All @@ -257,6 +269,7 @@ func getBucketVersionedResponse(session *models.Principal, bucketName string) (*
LogError("error creating MinIO Client: %v", err)
return nil, err
}

// create a minioClient interface implementation
// defining the client to be used
minioClient := minioClient{client: mClient}
Expand All @@ -268,10 +281,17 @@ func getBucketVersionedResponse(session *models.Principal, bucketName string) (*
}

// serialize output
listBucketsResponse := &models.BucketVersioningResponse{
bucketVResponse := &models.BucketVersioningResponse{
IsVersioned: res.Status == "Enabled",
}
return listBucketsResponse, nil
return bucketVResponse, nil
}

var serverBackend madmin.BackendInfo
var serverBackendOnce sync.Once

func isErasureBackend() bool {
return serverBackend.Type == madmin.Erasure
}

// getAccountInfo fetches a list of all buckets allowed to that particular client from MinIO Servers
Expand All @@ -281,9 +301,17 @@ func getAccountInfo(ctx context.Context, client MinioAdmin) ([]*models.Bucket, e
return []*models.Bucket{}, err
}

serverBackendOnce.Do(func() {
serverBackend = info.Server
})

var bucketInfos []*models.Bucket
for _, bucket := range info.Buckets {
bucketElem := &models.Bucket{Name: swag.String(bucket.Name), CreationDate: bucket.Created.Format(time.RFC3339), Size: int64(bucket.Size)}
bucketElem := &models.Bucket{
Name: swag.String(bucket.Name),
Size: int64(bucket.Size),
CreationDate: bucket.Created.Format(time.RFC3339),
}
bucketInfos = append(bucketInfos, bucketElem)
}
return bucketInfos, nil
Expand Down