Skip to content

Commit 7743976

Browse files
committed
add additional details
1 parent 328133d commit 7743976

File tree

7 files changed

+129
-35
lines changed

7 files changed

+129
-35
lines changed

models/tenant.go

Lines changed: 9 additions & 0 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

restapi/admin_info.go

Lines changed: 16 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -42,9 +42,10 @@ func registerAdminInfoHandlers(api *operations.McsAPI) {
4242
}
4343

4444
type usageInfo struct {
45-
Buckets int64
46-
Objects int64
47-
Usage int64
45+
Buckets int64
46+
Objects int64
47+
Usage int64
48+
DisksUsage int64
4849
}
4950

5051
// getAdminInfo invokes admin info and returns a parsed `usageInfo` structure
@@ -55,10 +56,19 @@ func getAdminInfo(ctx context.Context, client MinioAdmin) (*usageInfo, error) {
5556
}
5657
// we are trimming uint64 to int64 this will report an incorrect measurement for numbers greater than
5758
// 9,223,372,036,854,775,807
59+
60+
var usedSpace int64
61+
for _, serv := range serverInfo.Servers {
62+
for _, disk := range serv.Disks {
63+
usedSpace += int64(disk.UsedSpace)
64+
}
65+
}
66+
5867
return &usageInfo{
59-
Buckets: int64(serverInfo.Buckets.Count),
60-
Objects: int64(serverInfo.Objects.Count),
61-
Usage: int64(serverInfo.Usage.Size),
68+
Buckets: int64(serverInfo.Buckets.Count),
69+
Objects: int64(serverInfo.Objects.Count),
70+
Usage: int64(serverInfo.Usage.Size),
71+
DisksUsage: usedSpace,
6272
}, nil
6373
}
6474

restapi/tenants.go renamed to restapi/admin_tenants.go

Lines changed: 44 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -129,13 +129,53 @@ func getDeleteTenantResponse(token string, params admin_api.DeleteTenantParams)
129129
}
130130

131131
func getTenantInfoResponse(token string, params admin_api.TenantInfoParams) (*models.Tenant, error) {
132+
ctx := context.Background()
132133
opClient, err := cluster.OperatorClient(token)
133134
if err != nil {
134135
return nil, err
135136
}
136137

137-
minInst, err := opClient.OperatorV1().MinIOInstances(params.Namespace).Get(context.Background(), params.Tenant, metav1.GetOptions{})
138+
minInst, err := opClient.OperatorV1().MinIOInstances(params.Namespace).Get(ctx, params.Tenant, metav1.GetOptions{})
139+
if err != nil {
140+
return nil, err
141+
}
142+
143+
clientset, err := cluster.K8sClient(token)
144+
if err != nil {
145+
return nil, err
146+
}
147+
148+
creds, err := clientset.CoreV1().Secrets(params.Namespace).Get(ctx, "minio-creds-secret", metav1.GetOptions{})
149+
if err != nil {
150+
return nil, err
151+
}
152+
153+
accessKey, ok := creds.Data["accesskey"]
154+
if !ok {
155+
return nil, errorGeneric
156+
}
157+
secretkey, ok := creds.Data["secretkey"]
158+
if !ok {
159+
return nil, errorGeneric
160+
}
161+
endpoint, err := clientset.CoreV1().Services(params.Namespace).Get(ctx, fmt.Sprintf("%s-internal-service", params.Tenant), metav1.GetOptions{})
162+
if err != nil {
163+
return nil, err
164+
}
165+
mAdmin, pErr := NewAdminClient(fmt.Sprintf("http://%s:9000", endpoint.Spec.ClusterIP), string(accessKey), string(secretkey))
166+
if pErr != nil {
167+
return nil, pErr.Cause
168+
}
169+
// create a minioClient interface implementation
170+
// defining the client to be used
171+
adminClient := adminClient{client: mAdmin}
172+
// 20 seconds timeout
173+
ctx, cancel := context.WithTimeout(ctx, 20*time.Second)
174+
defer cancel()
175+
// serialize output
176+
usage, err := getAdminInfo(ctx, adminClient)
138177
if err != nil {
178+
log.Println("error getting information:", err)
139179
return nil, err
140180
}
141181

@@ -162,10 +202,13 @@ func getTenantInfoResponse(token string, params admin_api.TenantInfoParams) (*mo
162202
VolumesPerServer: int64(minInst.Spec.VolumesPerServer),
163203
VolumeCount: volumeCount,
164204
VolumeSize: minInst.Spec.VolumeClaimTemplate.Spec.Resources.Requests.Storage().Value(),
205+
TotalSize: int64(minInst.Spec.VolumeClaimTemplate.Spec.Resources.Requests.Storage().Value() * volumeCount),
165206
ZoneCount: int64(len(minInst.Spec.Zones)),
166207
CurrentState: minInst.Status.CurrentState,
167208
Zones: zones,
168209
Namespace: minInst.ObjectMeta.Namespace,
210+
Image: minInst.Spec.Image,
211+
UsedSize: usage.DisksUsage,
169212
}, nil
170213
}
171214

File renamed without changes.

restapi/configure_mcs.go

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -28,7 +28,6 @@ import (
2828

2929
"github.com/minio/mcs/models"
3030
"github.com/minio/mcs/pkg"
31-
"github.com/minio/mcs/pkg/auth"
3231

3332
assetFS "github.com/elazarl/go-bindata-assetfs"
3433

restapi/embedded_spec.go

Lines changed: 26 additions & 2 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

0 commit comments

Comments
 (0)