CKS delete fails when external nodes are present

* CKS delete fails when external nodes are present

* address comment
This commit is contained in:
Pearl Dsilva 2024-05-23 11:47:15 -04:00 committed by nvazquez
parent 4be1d33abe
commit 4b4a675788
No known key found for this signature in database
GPG Key ID: 656E1BCC8CB54F84
1 changed files with 6 additions and 0 deletions

View File

@ -246,6 +246,12 @@ public class KubernetesClusterDestroyWorker extends KubernetesClusterResourceMod
}
if (cleanupNetwork) { // if network has additional VM, cannot proceed with cluster destroy
NetworkVO network = networkDao.findById(kubernetesCluster.getNetworkId());
List<KubernetesClusterVmMapVO> externalNodes = clusterVMs.stream().filter(KubernetesClusterVmMapVO::isExternalNode).collect(Collectors.toList());
if (!externalNodes.isEmpty()) {
String errMsg = String.format("Failed to delete kubernetes cluster %s as there are %s external node(s) present. Please remove the external node(s) from the cluster (and network) or delete them before deleting the cluster.", kubernetesCluster.getName(), externalNodes.size());
LOGGER.error(errMsg);
throw new CloudRuntimeException(errMsg);
}
if (network != null) {
List<VMInstanceVO> networkVMs = vmInstanceDao.listNonRemovedVmsByTypeAndNetwork(network.getId(), VirtualMachine.Type.User);
if (networkVMs.size() > clusterVMs.size()) {