mirror of
https://github.com/apache/cloudstack.git
synced 2025-10-26 08:42:29 +01:00
Allow deletion of external managed cks nodes (#9183)
* Allow deleteion of external managed cks nodes * Fix unit tests * Update plugins/integrations/kubernetes-service/src/main/java/com/cloud/kubernetes/cluster/KubernetesClusterHelperImpl.java Co-authored-by: Abhishek Kumar <abhishek.mrt22@gmail.com>
This commit is contained in:
parent
f4612c51ec
commit
6a518e29b7
@ -84,6 +84,9 @@ public class KubernetesServiceHelperImpl extends AdapterBase implements Kubernet
|
||||
KubernetesCluster kubernetesCluster = kubernetesClusterDao.findById(vmMapVO.getClusterId());
|
||||
String msg = "Instance is a part of a Kubernetes cluster";
|
||||
if (kubernetesCluster != null) {
|
||||
if (KubernetesCluster.ClusterType.ExternalManaged.equals(kubernetesCluster.getClusterType())) {
|
||||
return;
|
||||
}
|
||||
msg += String.format(": %s", kubernetesCluster.getName());
|
||||
}
|
||||
msg += ". Use Instance delete option from Kubernetes cluster details or scale API for " +
|
||||
|
||||
@ -58,14 +58,30 @@ public class KubernetesServiceHelperImplTest {
|
||||
}
|
||||
|
||||
@Test(expected = CloudRuntimeException.class)
|
||||
public void testCheckVmCanBeDestroyedInCluster() {
|
||||
public void testCheckVmCanBeDestroyedInCloudManagedCluster() {
|
||||
UserVm vm = Mockito.mock(UserVm.class);
|
||||
Mockito.when(vm.getId()).thenReturn(1L);
|
||||
Mockito.when(vm.getUserVmType()).thenReturn(UserVmManager.CKS_NODE);
|
||||
KubernetesClusterVmMapVO map = Mockito.mock(KubernetesClusterVmMapVO.class);
|
||||
Mockito.when(map.getClusterId()).thenReturn(1L);
|
||||
Mockito.when(kubernetesClusterVmMapDao.findByVmId(1L)).thenReturn(map);
|
||||
Mockito.when(kubernetesClusterDao.findById(1L)).thenReturn(Mockito.mock(KubernetesClusterVO.class));
|
||||
KubernetesClusterVO kubernetesCluster = Mockito.mock(KubernetesClusterVO.class);
|
||||
Mockito.when(kubernetesClusterDao.findById(1L)).thenReturn(kubernetesCluster);
|
||||
Mockito.when(kubernetesCluster.getClusterType()).thenReturn(KubernetesCluster.ClusterType.CloudManaged);
|
||||
kubernetesServiceHelper.checkVmCanBeDestroyed(vm);
|
||||
}
|
||||
|
||||
@Test
|
||||
public void testCheckVmCanBeDestroyedInExternalManagedCluster() {
|
||||
UserVm vm = Mockito.mock(UserVm.class);
|
||||
Mockito.when(vm.getId()).thenReturn(1L);
|
||||
Mockito.when(vm.getUserVmType()).thenReturn(UserVmManager.CKS_NODE);
|
||||
KubernetesClusterVmMapVO map = Mockito.mock(KubernetesClusterVmMapVO.class);
|
||||
Mockito.when(map.getClusterId()).thenReturn(1L);
|
||||
Mockito.when(kubernetesClusterVmMapDao.findByVmId(1L)).thenReturn(map);
|
||||
KubernetesClusterVO kubernetesCluster = Mockito.mock(KubernetesClusterVO.class);
|
||||
Mockito.when(kubernetesClusterDao.findById(1L)).thenReturn(kubernetesCluster);
|
||||
Mockito.when(kubernetesCluster.getClusterType()).thenReturn(KubernetesCluster.ClusterType.ExternalManaged);
|
||||
kubernetesServiceHelper.checkVmCanBeDestroyed(vm);
|
||||
}
|
||||
}
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user