Skip to content

Commit 64db486

Browse files
committed
NAS B&R Plugin enhancements
1 parent 0655075 commit 64db486

File tree

1 file changed

+13
-0
lines changed

1 file changed

+13
-0
lines changed

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

Lines changed: 13 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1469,6 +1469,9 @@ public boolean deleteKubernetesCluster(DeleteKubernetesClusterCmd cmd) throws Cl
14691469
}
14701470

14711471
List<KubernetesClusterVmMapVO> vmMapList = kubernetesClusterVmMapDao.listByClusterId(kubernetesClusterId);
1472+
if (checkIfVmsAssociatedWithBackupOffering(vmMapList)) {
1473+
throw new CloudRuntimeException("Unable to delete Kubernetes cluster, as node(s) are associated to a backup offering");
1474+
}
14721475
for (KubernetesClusterVmMapVO vmMap : vmMapList) {
14731476
try {
14741477
userVmService.destroyVm(vmMap.getVmId(), expunge);
@@ -1491,6 +1494,16 @@ public Boolean doInTransaction(TransactionStatus status) {
14911494
}
14921495
}
14931496

1497+
private boolean checkIfVmsAssociatedWithBackupOffering(List<KubernetesClusterVmMapVO> vmMapList) {
1498+
for(KubernetesClusterVmMapVO vmMap : vmMapList) {
1499+
VMInstanceVO vm = vmInstanceDao.findById(vmMap.getVmId());
1500+
if (Objects.nonNull(vm.getBackupOfferingId())) {
1501+
return true;
1502+
}
1503+
}
1504+
return false;
1505+
}
1506+
14941507
@Override
14951508
public ListResponse<KubernetesClusterResponse> listKubernetesClusters(ListKubernetesClustersCmd cmd) {
14961509
if (!KubernetesServiceEnabled.value()) {

0 commit comments

Comments
 (0)