Skip to content

Commit ee0db29

Browse files
author
李浩
committed
[FIX] 修复node信息解析错误
1 parent 9829f3e commit ee0db29

File tree

2 files changed

+20
-11
lines changed

2 files changed

+20
-11
lines changed

src/main/java/io/choerodon/devops/app/service/impl/ClusterNodeInfoServiceImpl.java

Lines changed: 12 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -1,11 +1,5 @@
11
package io.choerodon.devops.app.service.impl;
22

3-
import java.text.SimpleDateFormat;
4-
import java.util.List;
5-
import java.util.Map;
6-
import java.util.Objects;
7-
import java.util.stream.Collectors;
8-
93
import com.alibaba.fastjson.JSONObject;
104
import org.slf4j.Logger;
115
import org.slf4j.LoggerFactory;
@@ -15,8 +9,15 @@
159
import org.springframework.stereotype.Service;
1610
import org.springframework.util.Assert;
1711
import org.springframework.util.CollectionUtils;
12+
import org.springframework.util.ObjectUtils;
1813
import org.springframework.util.StringUtils;
1914

15+
import java.text.SimpleDateFormat;
16+
import java.util.List;
17+
import java.util.Map;
18+
import java.util.Objects;
19+
import java.util.stream.Collectors;
20+
2021
import io.choerodon.core.domain.Page;
2122
import io.choerodon.core.exception.CommonException;
2223
import io.choerodon.devops.api.vo.AgentNodeInfoVO;
@@ -106,9 +107,9 @@ private String node2JsonString(AgentNodeInfoVO raw) {
106107
BeanUtils.copyProperties(raw, node);
107108
node.setCpuLimit(String.format(CPU_MEASURE_FORMAT, K8sUtil.getNormalValueFromCpuString(node.getCpuLimit())));
108109
node.setCpuRequest(String.format(CPU_MEASURE_FORMAT, K8sUtil.getNormalValueFromCpuString(node.getCpuRequest())));
109-
node.setCpuTotal(String.format(CPU_MEASURE_FORMAT, K8sUtil.getNormalValueFromCpuString(StringUtils.isEmpty(raw.getCpuAllocatable()) ? raw.getCpuCapacity() : raw.getCpuAllocatable())));
110-
node.setPodTotal(Long.parseLong(StringUtils.isEmpty(raw.getPodAllocatable()) ? raw.getPodCapacity() : raw.getPodAllocatable()));
111-
node.setMemoryTotal(StringUtils.isEmpty(raw.getMemoryAllocatable()) ? raw.getMemoryCapacity() : raw.getMemoryAllocatable());
110+
node.setCpuTotal(String.format(CPU_MEASURE_FORMAT, K8sUtil.getNormalValueFromCpuString(ObjectUtils.isEmpty(raw.getCpuAllocatable()) ? raw.getCpuCapacity() : raw.getCpuAllocatable())));
111+
node.setPodTotal(ObjectUtils.isEmpty(raw.getPodAllocatable()) ? K8sUtil.getNormalValueFromPodString(raw.getPodCapacity()) : K8sUtil.getNormalValueFromPodString(raw.getPodAllocatable()));
112+
node.setMemoryTotal(ObjectUtils.isEmpty(raw.getMemoryAllocatable()) ? raw.getMemoryCapacity() : raw.getMemoryAllocatable());
112113

113114
setMemoryInfo(node);
114115

@@ -307,8 +308,8 @@ public List<String> queryNodeName(Long projectId, Long clusterId) {
307308
long total = stringRedisTemplate.opsForList().size(rediskey);
308309

309310
return Objects.requireNonNull(stringRedisTemplate
310-
.opsForList()
311-
.range(rediskey, 0, total - 1))
311+
.opsForList()
312+
.range(rediskey, 0, total - 1))
312313
.stream()
313314
.map(node -> JSONObject.parseObject(node, ClusterNodeInfoVO.class))
314315
.map(ClusterNodeInfoVO::getNodeName)

src/main/java/io/choerodon/devops/infra/util/K8sUtil.java

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -97,6 +97,14 @@ public static double getNormalValueFromCpuString(String cpuAmount) {
9797
return 0.0;
9898
}
9999

100+
public static Long getNormalValueFromPodString(String podAmount) {
101+
if (podAmount.endsWith("k")) {
102+
return Long.parseLong(podAmount.substring(0, podAmount.length() - 1)) * 1000;
103+
} else {
104+
return Long.parseLong(podAmount);
105+
}
106+
}
107+
100108

101109
private static String getPodStatus(V1ContainerStateTerminated containerStateTerminated) {
102110
LOGGER.debug("Get pod status: {}", containerStateTerminated);

0 commit comments

Comments
 (0)