|
|
|
@@ -45,18 +45,9 @@ func (l *QueryResourcesLogic) QueryResources(req *types.QueryResourcesReq) (resp |
|
|
|
if ok { |
|
|
|
specs, ok := resources.([]*collector.ResourceSpec) |
|
|
|
if ok { |
|
|
|
var count int |
|
|
|
for _, spec := range specs { |
|
|
|
if spec.Resources != nil { |
|
|
|
count++ |
|
|
|
} |
|
|
|
} |
|
|
|
|
|
|
|
if len(specs) == count { |
|
|
|
results := handleEmptyResourceUsage(cs.List, specs) |
|
|
|
resp.Data = results |
|
|
|
return resp, nil |
|
|
|
} |
|
|
|
results := handleEmptyResourceUsage(cs.List, specs) |
|
|
|
resp.Data = results |
|
|
|
return resp, nil |
|
|
|
} |
|
|
|
} |
|
|
|
|
|
|
|
@@ -65,7 +56,10 @@ func (l *QueryResourcesLogic) QueryResources(req *types.QueryResourcesReq) (resp |
|
|
|
return nil, err |
|
|
|
} |
|
|
|
|
|
|
|
l.svcCtx.Scheduler.AiService.LocalCache[QUERY_RESOURCES] = rus |
|
|
|
if checkCachingCondition(cs.List, rus) { |
|
|
|
l.svcCtx.Scheduler.AiService.LocalCache[QUERY_RESOURCES] = rus |
|
|
|
} |
|
|
|
|
|
|
|
results := handleEmptyResourceUsage(cs.List, rus) |
|
|
|
resp.Data = results |
|
|
|
|
|
|
|
@@ -187,7 +181,7 @@ func handleEmptyResourceUsage(list []types.ClusterInfo, ulist []*collector.Resou |
|
|
|
} else { |
|
|
|
r, ok := s.(*collector.ResourceSpec) |
|
|
|
if ok { |
|
|
|
if r.Resources == nil { |
|
|
|
if r.Resources == nil || len(r.Resources) == 0 { |
|
|
|
ru := &collector.ResourceSpec{ |
|
|
|
ClusterId: r.ClusterId, |
|
|
|
Resources: nil, |
|
|
|
@@ -209,3 +203,18 @@ func handleEmptyResourceUsage(list []types.ClusterInfo, ulist []*collector.Resou |
|
|
|
|
|
|
|
return rus |
|
|
|
} |
|
|
|
|
|
|
|
func checkCachingCondition(clusters []types.ClusterInfo, specs []*collector.ResourceSpec) bool { |
|
|
|
var count int |
|
|
|
for _, spec := range specs { |
|
|
|
if spec.Resources != nil { |
|
|
|
count++ |
|
|
|
} |
|
|
|
} |
|
|
|
|
|
|
|
if count == len(clusters) { |
|
|
|
return true |
|
|
|
} |
|
|
|
|
|
|
|
return false |
|
|
|
} |