@@ -129,13 +129,53 @@ func getDeleteTenantResponse(token string, params admin_api.DeleteTenantParams)
129129}
130130
131131func 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
0 commit comments