Skip to content

Commit f06461c

Browse files
committed
Refactor host retrieval logic in KubernetesClusterManager and KubernetesClusterResourceModifierActionWorker
1 parent 777897a commit f06461c

File tree

2 files changed

+28
-4
lines changed

2 files changed

+28
-4
lines changed

plugins/integrations/kubernetes-service/src/main/java/com/cloud/kubernetes/cluster/KubernetesClusterManagerImpl.java

Lines changed: 14 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -701,8 +701,20 @@ private DeployDestination plan(final long nodesCount, final DataCenter zone, fin
701701
} else if (Objects.nonNull(domainId)) {
702702
dedicatedHosts = dedicatedResourceDao.listByDomainId(domainId);
703703
}
704-
for (DedicatedResourceVO dedicatedHost : dedicatedHosts) {
705-
hosts.add(hostDao.findById(dedicatedHost.getHostId()));
704+
for (DedicatedResourceVO dedicatedResource : dedicatedHosts) {
705+
if (dedicatedResource.getHostId() != null) {
706+
HostVO host = hostDao.findById(dedicatedResource.getHostId());
707+
if (host != null) {
708+
hosts.add(host);
709+
}
710+
} else if (dedicatedResource.getClusterId() != null) {
711+
hosts.addAll(hostDao.findByClusterId(dedicatedResource.getClusterId()));
712+
} else if (dedicatedResource.getPodId() != null) {
713+
hosts.addAll(resourceManager.listAllHostsInOneZoneByType(Host.Type.Routing, zone.getId())
714+
.stream().filter(h -> dedicatedResource.getPodId().equals(h.getPodId())).collect(Collectors.toList()));
715+
} else if (dedicatedResource.getDataCenterId() != null) {
716+
hosts.addAll(resourceManager.listAllHostsInOneZoneByType(Host.Type.Routing, dedicatedResource.getDataCenterId()));
717+
}
706718
useDedicatedHosts = true;
707719
}
708720
}

plugins/integrations/kubernetes-service/src/main/java/com/cloud/kubernetes/cluster/actionworkers/KubernetesClusterResourceModifierActionWorker.java

Lines changed: 14 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -190,8 +190,20 @@ protected DeployDestination plan(final long nodesCount, final DataCenter zone, f
190190
} else if (Objects.nonNull(domainId)) {
191191
dedicatedHosts = dedicatedResourceDao.listByDomainId(domainId);
192192
}
193-
for (DedicatedResourceVO dedicatedHost : dedicatedHosts) {
194-
hosts.add(hostDao.findById(dedicatedHost.getHostId()));
193+
for (DedicatedResourceVO dedicatedResource : dedicatedHosts) {
194+
if (dedicatedResource.getHostId() != null) {
195+
HostVO host = hostDao.findById(dedicatedResource.getHostId());
196+
if (host != null) {
197+
hosts.add(host);
198+
}
199+
} else if (dedicatedResource.getClusterId() != null) {
200+
hosts.addAll(hostDao.findByClusterId(dedicatedResource.getClusterId()));
201+
} else if (dedicatedResource.getPodId() != null) {
202+
hosts.addAll(resourceManager.listAllHostsInOneZoneByType(Host.Type.Routing, zone.getId())
203+
.stream().filter(h -> dedicatedResource.getPodId().equals(h.getPodId())).collect(Collectors.toList()));
204+
} else if (dedicatedResource.getDataCenterId() != null) {
205+
hosts.addAll(resourceManager.listAllHostsInOneZoneByType(Host.Type.Routing, dedicatedResource.getDataCenterId()));
206+
}
195207
useDedicatedHosts = true;
196208
}
197209
}

0 commit comments

Comments
 (0)