Reuse GetClusterRegInfo from mc (#3270)
This commit is contained in:
6
go.mod
6
go.mod
@@ -21,8 +21,8 @@ require (
|
||||
github.com/minio/cli v1.24.2
|
||||
github.com/minio/highwayhash v1.0.2
|
||||
github.com/minio/kes v0.23.0
|
||||
github.com/minio/madmin-go/v3 v3.0.49
|
||||
github.com/minio/mc v0.0.0-20240309064306-1ec55a5178d7
|
||||
github.com/minio/madmin-go/v3 v3.0.50-0.20240307075442-63b4fc3ac1fd
|
||||
github.com/minio/mc v0.0.0-20240320210729-9043bbf545d2
|
||||
github.com/minio/minio-go/v7 v7.0.69
|
||||
github.com/minio/selfupdate v0.6.0
|
||||
github.com/minio/websocket v1.6.0
|
||||
@@ -43,7 +43,7 @@ require (
|
||||
|
||||
require (
|
||||
github.com/mattn/go-ieproxy v0.0.11
|
||||
github.com/minio/pkg/v2 v2.0.11
|
||||
github.com/minio/pkg/v2 v2.0.13
|
||||
)
|
||||
|
||||
require (
|
||||
|
||||
12
go.sum
12
go.sum
@@ -184,18 +184,18 @@ github.com/minio/kes v0.23.0 h1:T0zHtyDoI3JdKrVvzdM4xwVryYYyh5pKwNUVBoqxsNs=
|
||||
github.com/minio/kes v0.23.0/go.mod h1:vvXVGcgu9mYLkbVWlEvFFl6bYR196RQlOU2Q+rHApl8=
|
||||
github.com/minio/kes-go v0.2.1 h1:KnqS+p6xoSFJZbQhmJaz/PbxeA6nQyRqT/ywrn5lU2o=
|
||||
github.com/minio/kes-go v0.2.1/go.mod h1:76xf7l41Wrh+IifisABXK2S8uZWYgWV1IGBKC3GdOJk=
|
||||
github.com/minio/madmin-go/v3 v3.0.49 h1:Ag5eyYUf9K1MvW9hiErEJhGfqlf//pOtlhdoepb9AwY=
|
||||
github.com/minio/madmin-go/v3 v3.0.49/go.mod h1:ZDF7kf5fhmxLhbGTqyq5efs4ao0v4eWf7nOuef/ljJs=
|
||||
github.com/minio/mc v0.0.0-20240309064306-1ec55a5178d7 h1:3Lk0uBbXaJBtEzDi0quc2x3FdChHOiOQNdM0+L6OhJ8=
|
||||
github.com/minio/mc v0.0.0-20240309064306-1ec55a5178d7/go.mod h1:p7FcVMk9MTua2cxr1vkajPj46M1PQ5u4FQQ2UI5ZtwU=
|
||||
github.com/minio/madmin-go/v3 v3.0.50-0.20240307075442-63b4fc3ac1fd h1:oZycRrLgzEg4+lGZ5Tkua3BKvK7rOtDlmoOR3gq58l4=
|
||||
github.com/minio/madmin-go/v3 v3.0.50-0.20240307075442-63b4fc3ac1fd/go.mod h1:ZDF7kf5fhmxLhbGTqyq5efs4ao0v4eWf7nOuef/ljJs=
|
||||
github.com/minio/mc v0.0.0-20240320210729-9043bbf545d2 h1:zF4kiN6HJp4B5IFp+riDA8roY0r+UJV0RvaaVitchH4=
|
||||
github.com/minio/mc v0.0.0-20240320210729-9043bbf545d2/go.mod h1:YgeY0RTYvbm/H6Gzwb+rpRsQ/XREi3NwITZUcTNATOQ=
|
||||
github.com/minio/md5-simd v1.1.2 h1:Gdi1DZK69+ZVMoNHRXJyNcxrMA4dSxoYHZSQbirFg34=
|
||||
github.com/minio/md5-simd v1.1.2/go.mod h1:MzdKDxYpY2BT9XQFocsiZf/NKVtR7nkE4RoEpN+20RM=
|
||||
github.com/minio/minio-go/v7 v7.0.69 h1:l8AnsQFyY1xiwa/DaQskY4NXSLA2yrGsW5iD9nRPVS0=
|
||||
github.com/minio/minio-go/v7 v7.0.69/go.mod h1:XAvOPJQ5Xlzk5o3o/ArO2NMbhSGkimC+bpW/ngRKDmQ=
|
||||
github.com/minio/mux v1.9.0 h1:dWafQFyEfGhJvK6AwLOt83bIG5bxKxKJnKMCi0XAaoA=
|
||||
github.com/minio/mux v1.9.0/go.mod h1:1pAare17ZRL5GpmNL+9YmqHoWnLmMZF9C/ioUCfy0BQ=
|
||||
github.com/minio/pkg/v2 v2.0.11 h1:nlFoFrnwBaNNtVmJJBJ+t1Nzp4jbPzyqdVuc7t9clcQ=
|
||||
github.com/minio/pkg/v2 v2.0.11/go.mod h1:zbVATXCinLCo+L/4vsPyqgiA4OYPXCJb+/E4KfE396A=
|
||||
github.com/minio/pkg/v2 v2.0.13 h1:Tm4koPzm+gVVCU5YLPtzXzfwkCR5sd/asXCu/RABSeA=
|
||||
github.com/minio/pkg/v2 v2.0.13/go.mod h1:zbVATXCinLCo+L/4vsPyqgiA4OYPXCJb+/E4KfE396A=
|
||||
github.com/minio/selfupdate v0.6.0 h1:i76PgT0K5xO9+hjzKcacQtO7+MjJ4JKA8Ak8XQ9DDwU=
|
||||
github.com/minio/selfupdate v0.6.0/go.mod h1:bO02GTIPCMQFTEvE5h4DjYB58bCoZ35XLeBf0buTDdM=
|
||||
github.com/minio/sha256-simd v1.0.1 h1:6kaan5IFmwTNynnKKpDHe6FWHohJOHhCPchzK49dzMM=
|
||||
|
||||
@@ -204,44 +204,7 @@ func subnetPostReq(client xhttp.ClientI, reqURL string, payload interface{}, hea
|
||||
}
|
||||
|
||||
func GetClusterRegInfo(admInfo madmin.InfoMessage) mc.ClusterRegistrationInfo {
|
||||
noOfPools := 1
|
||||
noOfDrives := 0
|
||||
for _, srvr := range admInfo.Servers {
|
||||
if srvr.PoolNumber > noOfPools {
|
||||
noOfPools = srvr.PoolNumber
|
||||
}
|
||||
noOfDrives += len(srvr.Disks)
|
||||
}
|
||||
|
||||
totalSpace, usedSpace := getDriveSpaceInfo(admInfo)
|
||||
|
||||
return mc.ClusterRegistrationInfo{
|
||||
DeploymentID: admInfo.DeploymentID,
|
||||
ClusterName: admInfo.DeploymentID,
|
||||
UsedCapacity: admInfo.Usage.Size,
|
||||
Info: mc.ClusterInfo{
|
||||
MinioVersion: admInfo.Servers[0].Version,
|
||||
NoOfServerPools: noOfPools,
|
||||
NoOfServers: len(admInfo.Servers),
|
||||
NoOfDrives: noOfDrives,
|
||||
TotalDriveSpace: totalSpace,
|
||||
UsedDriveSpace: usedSpace,
|
||||
NoOfBuckets: admInfo.Buckets.Count,
|
||||
NoOfObjects: admInfo.Objects.Count,
|
||||
},
|
||||
}
|
||||
}
|
||||
|
||||
func getDriveSpaceInfo(admInfo madmin.InfoMessage) (uint64, uint64) {
|
||||
total := uint64(0)
|
||||
used := uint64(0)
|
||||
for _, srvr := range admInfo.Servers {
|
||||
for _, d := range srvr.Disks {
|
||||
total += d.TotalSpace
|
||||
used += d.UsedSpace
|
||||
}
|
||||
}
|
||||
return total, used
|
||||
return mc.GetClusterRegInfo(admInfo, admInfo.DeploymentID)
|
||||
}
|
||||
|
||||
func GetSubnetAPIKeyUsingLicense(lic string) (string, error) {
|
||||
|
||||
@@ -21,7 +21,6 @@ import (
|
||||
"reflect"
|
||||
"testing"
|
||||
|
||||
"github.com/minio/madmin-go/v3"
|
||||
"github.com/minio/mc/cmd"
|
||||
)
|
||||
|
||||
@@ -480,128 +479,3 @@ func Test_subnetAuthHeaders(t *testing.T) {
|
||||
})
|
||||
}
|
||||
}
|
||||
|
||||
func Test_getDriveSpaceInfo(t *testing.T) {
|
||||
type args struct {
|
||||
admInfo madmin.InfoMessage
|
||||
}
|
||||
tests := []struct {
|
||||
name string
|
||||
args args
|
||||
want uint64
|
||||
want1 uint64
|
||||
}{
|
||||
{
|
||||
name: "basic",
|
||||
args: args{
|
||||
admInfo: madmin.InfoMessage{
|
||||
Servers: []madmin.ServerProperties{
|
||||
{
|
||||
Disks: []madmin.Disk{
|
||||
{
|
||||
TotalSpace: 1,
|
||||
UsedSpace: 1,
|
||||
},
|
||||
},
|
||||
},
|
||||
},
|
||||
},
|
||||
},
|
||||
want: 1,
|
||||
want1: 1,
|
||||
},
|
||||
{
|
||||
name: "basic two disks",
|
||||
args: args{
|
||||
admInfo: madmin.InfoMessage{
|
||||
Servers: []madmin.ServerProperties{
|
||||
{
|
||||
Disks: []madmin.Disk{
|
||||
{
|
||||
TotalSpace: 1,
|
||||
UsedSpace: 1,
|
||||
},
|
||||
{
|
||||
TotalSpace: 1,
|
||||
UsedSpace: 1,
|
||||
},
|
||||
},
|
||||
},
|
||||
},
|
||||
},
|
||||
},
|
||||
want: 2,
|
||||
want1: 2,
|
||||
},
|
||||
{
|
||||
name: "basic two servers two disks",
|
||||
args: args{
|
||||
admInfo: madmin.InfoMessage{
|
||||
Servers: []madmin.ServerProperties{
|
||||
{
|
||||
Disks: []madmin.Disk{
|
||||
{
|
||||
TotalSpace: 1,
|
||||
UsedSpace: 1,
|
||||
},
|
||||
{
|
||||
TotalSpace: 1,
|
||||
UsedSpace: 1,
|
||||
},
|
||||
},
|
||||
},
|
||||
{
|
||||
Disks: []madmin.Disk{
|
||||
{
|
||||
TotalSpace: 1,
|
||||
UsedSpace: 1,
|
||||
},
|
||||
{
|
||||
TotalSpace: 1,
|
||||
UsedSpace: 1,
|
||||
},
|
||||
},
|
||||
},
|
||||
},
|
||||
},
|
||||
},
|
||||
want: 4,
|
||||
want1: 4,
|
||||
},
|
||||
{
|
||||
name: "no servers",
|
||||
args: args{
|
||||
admInfo: madmin.InfoMessage{
|
||||
Servers: nil,
|
||||
},
|
||||
},
|
||||
want: 0,
|
||||
want1: 0,
|
||||
},
|
||||
{
|
||||
name: "no disks",
|
||||
args: args{
|
||||
admInfo: madmin.InfoMessage{
|
||||
Servers: []madmin.ServerProperties{
|
||||
{
|
||||
Disks: nil,
|
||||
},
|
||||
},
|
||||
},
|
||||
},
|
||||
want: 0,
|
||||
want1: 0,
|
||||
},
|
||||
}
|
||||
for _, tt := range tests {
|
||||
t.Run(tt.name, func(_ *testing.T) {
|
||||
got, got1 := getDriveSpaceInfo(tt.args.admInfo)
|
||||
if got != tt.want {
|
||||
t.Errorf("getDriveSpaceInfo() got = %v, want %v", got, tt.want)
|
||||
}
|
||||
if got1 != tt.want1 {
|
||||
t.Errorf("getDriveSpaceInfo() got1 = %v, want %v", got1, tt.want1)
|
||||
}
|
||||
})
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user