@@ -28,6 +28,7 @@ import (
28
28
"net"
29
29
"net/http"
30
30
"os"
31
+ "reflect"
31
32
"sort"
32
33
"strconv"
33
34
"strings"
@@ -237,6 +238,7 @@ func registerTenantHandlers(api *operations.OperatorAPI) {
237
238
238
239
//Get tenant monitoring info
239
240
api .OperatorAPIGetTenantMonitoringHandler = operator_api .GetTenantMonitoringHandlerFunc (func (params operator_api.GetTenantMonitoringParams , session * models.Principal ) middleware.Responder {
241
+
240
242
payload , err := getTenantMonitoringResponse (session , params )
241
243
if err != nil {
242
244
return operator_api .NewGetTenantMonitoringDefault (int (err .Code )).WithPayload (err )
@@ -1789,14 +1791,6 @@ func getTenantLogsResponse(session *models.Principal, params operator_api.GetTen
1789
1791
minTenant .Spec .Log .Audit = & miniov2.AuditConfig {DiskCapacityGB : swag .Int (0 )}
1790
1792
}
1791
1793
1792
- /*if minTenant.Spec.Log.Image == "" {
1793
- minTenant.Spec.Log.Image = miniov2.DefaultLogSearchAPIImage
1794
- }
1795
-
1796
- if minTenant.Spec.Log.Db.Image == "" {
1797
- minTenant.Spec.Log.Db.Image = miniov2.LogPgImage
1798
- }*/
1799
-
1800
1794
retval := & models.TenantLogs {
1801
1795
Image : minTenant .Spec .Log .Image ,
1802
1796
DiskCapacityGB : fmt .Sprintf ("%d" , * minTenant .Spec .Log .Audit .DiskCapacityGB ),
@@ -1811,11 +1805,33 @@ func getTenantLogsResponse(session *models.Principal, params operator_api.GetTen
1811
1805
DbServiceAccountName : minTenant .Spec .Log .Db .ServiceAccountName ,
1812
1806
Disabled : false ,
1813
1807
}
1808
+
1809
+ var requestedCPU string
1810
+ var requestedMem string
1811
+ var requestedDBCPU string
1812
+ var requestedDBMem string
1813
+ if minTenant .Spec .Log .Resources .Requests != nil {
1814
+ requestedCPUQ := minTenant .Spec .Log .Resources .Requests ["cpu" ]
1815
+ requestedCPU = strconv .FormatInt (requestedCPUQ .Value (), 10 )
1816
+ requestedMemQ := minTenant .Spec .Log .Resources .Requests ["memory" ]
1817
+ requestedMem = strconv .FormatInt (requestedMemQ .Value (), 10 )
1818
+
1819
+ requestedDBCPUQ := minTenant .Spec .Log .Db .Resources .Requests ["cpu" ]
1820
+ requestedDBCPU = strconv .FormatInt (requestedDBCPUQ .Value (), 10 )
1821
+ requestedDBMemQ := minTenant .Spec .Log .Db .Resources .Requests ["memory" ]
1822
+ requestedDBMem = strconv .FormatInt (requestedDBMemQ .Value (), 10 )
1823
+
1824
+ retval .LogCPURequest = requestedCPU
1825
+ retval .LogMemRequest = requestedMem
1826
+ retval .LogDBCPURequest = requestedDBCPU
1827
+ retval .LogDBMemRequest = requestedDBMem
1828
+ }
1814
1829
return retval , nil
1815
1830
}
1816
1831
1817
1832
// setTenantLogsResponse returns the logs of a tenant
1818
1833
func setTenantLogsResponse (session * models.Principal , params operator_api.SetTenantLogsParams ) (bool , * models.Error ) {
1834
+
1819
1835
// 30 seconds timeout
1820
1836
ctx , cancel := context .WithTimeout (context .Background (), 30 * time .Second )
1821
1837
defer cancel ()
@@ -1833,6 +1849,7 @@ func setTenantLogsResponse(session *models.Principal, params operator_api.SetTen
1833
1849
if err != nil {
1834
1850
return false , prepareError (err , errorUnableToGetTenantUsage )
1835
1851
}
1852
+
1836
1853
var labels = make (map [string ]string )
1837
1854
for i := 0 ; i < len (params .Data .Labels ); i ++ {
1838
1855
if params .Data .Labels [i ] != nil {
@@ -1854,6 +1871,26 @@ func setTenantLogsResponse(session *models.Principal, params operator_api.SetTen
1854
1871
}
1855
1872
}
1856
1873
minTenant .Spec .Log .NodeSelector = nodeSelector
1874
+ logResourceRequest := make (corev1.ResourceList )
1875
+
1876
+ if reflect .TypeOf (params .Data .LogCPURequest ).Kind () == reflect .String && params .Data .LogCPURequest != "0Gi" && params .Data .LogCPURequest != "" {
1877
+ cpuQuantity , err := resource .ParseQuantity (params .Data .LogCPURequest )
1878
+ if err != nil {
1879
+ return false , prepareError (err )
1880
+ }
1881
+ logResourceRequest ["cpu" ] = cpuQuantity
1882
+ minTenant .Spec .Log .Resources .Requests = logResourceRequest
1883
+ }
1884
+ if reflect .TypeOf (params .Data .LogMemRequest ).Kind () == reflect .String {
1885
+ memQuantity , err := resource .ParseQuantity (params .Data .LogMemRequest )
1886
+ if err != nil {
1887
+ return false , prepareError (err )
1888
+ }
1889
+
1890
+ logResourceRequest ["memory" ] = memQuantity
1891
+ minTenant .Spec .Log .Resources .Requests = logResourceRequest
1892
+ }
1893
+
1857
1894
modified := false
1858
1895
if minTenant .Spec .Log .Db != nil {
1859
1896
modified = true
@@ -1879,6 +1916,24 @@ func setTenantLogsResponse(session *models.Principal, params operator_api.SetTen
1879
1916
}
1880
1917
modified = true
1881
1918
}
1919
+
1920
+ logDBResourceRequest := make (corev1.ResourceList )
1921
+ if reflect .TypeOf (params .Data .LogDBCPURequest ).Kind () == reflect .String && params .Data .LogDBCPURequest != "0Gi" && params .Data .LogDBCPURequest != "" {
1922
+ dbCPUQuantity , err := resource .ParseQuantity (params .Data .LogDBCPURequest )
1923
+ if err != nil {
1924
+ return false , prepareError (err )
1925
+ }
1926
+ logDBResourceRequest ["cpu" ] = dbCPUQuantity
1927
+ minTenant .Spec .Log .Db .Resources .Requests = logDBResourceRequest
1928
+ }
1929
+ if reflect .TypeOf (params .Data .LogDBMemRequest ).Kind () == reflect .String {
1930
+ dbMemQuantity , err := resource .ParseQuantity (params .Data .LogDBMemRequest )
1931
+ if err != nil {
1932
+ return false , prepareError (err )
1933
+ }
1934
+ logDBResourceRequest ["memory" ] = dbMemQuantity
1935
+ minTenant .Spec .Log .Db .Resources .Requests = logDBResourceRequest
1936
+ }
1882
1937
minTenant .Spec .Log .Image = params .Data .Image
1883
1938
diskCapacityGB , err := strconv .Atoi (params .Data .DiskCapacityGB )
1884
1939
if err == nil {
@@ -1922,6 +1977,9 @@ func setTenantLogsResponse(session *models.Principal, params operator_api.SetTen
1922
1977
NodeSelector : dbNodeSelector ,
1923
1978
Image : params .Data .DbImage ,
1924
1979
ServiceAccountName : params .Data .DbServiceAccountName ,
1980
+ Resources : corev1.ResourceRequirements {
1981
+ Requests : minTenant .Spec .Log .Db .Resources .Requests ,
1982
+ },
1925
1983
}
1926
1984
} else {
1927
1985
minTenant .Spec .Log .Db .Labels = dbLabels
@@ -1931,6 +1989,7 @@ func setTenantLogsResponse(session *models.Principal, params operator_api.SetTen
1931
1989
minTenant .Spec .Log .Db .ServiceAccountName = params .Data .DbServiceAccountName
1932
1990
}
1933
1991
}
1992
+
1934
1993
_ , err = opClient .TenantUpdate (ctx , minTenant , metav1.UpdateOptions {})
1935
1994
if err != nil {
1936
1995
return false , prepareError (err )
0 commit comments