cks: Fix destroying k8s cluster on shared networks (#4461)

* Fix destroying k8s cluster on shared networks

* Extracted code

Co-authored-by: Pearl Dsilva <pearl.dsilva@shapeblue.com>
This commit is contained in:
Pearl Dsilva 2020-11-19 04:51:57 +05:30 committed by GitHub
parent db3c12d6cf
commit 1692df421c
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23

View File

@ -37,6 +37,7 @@ import com.cloud.kubernetes.cluster.KubernetesClusterVO;
import com.cloud.kubernetes.cluster.KubernetesClusterVmMap;
import com.cloud.kubernetes.cluster.KubernetesClusterVmMapVO;
import com.cloud.network.IpAddress;
import com.cloud.network.Network;
import com.cloud.network.dao.NetworkVO;
import com.cloud.network.rules.FirewallRule;
import com.cloud.user.Account;
@ -187,6 +188,13 @@ public class KubernetesClusterDestroyWorker extends KubernetesClusterResourceMod
}
}
private void checkForRulesToDelete() throws ManagementServerException {
NetworkVO kubernetesClusterNetwork = networkDao.findById(kubernetesCluster.getNetworkId());
if (kubernetesClusterNetwork != null && kubernetesClusterNetwork.getGuestType() != Network.GuestType.Shared) {
deleteKubernetesClusterNetworkRules();
}
}
public boolean destroy() throws CloudRuntimeException {
init();
validateClusterSate();
@ -238,7 +246,7 @@ public class KubernetesClusterDestroyWorker extends KubernetesClusterResourceMod
}
} else {
try {
deleteKubernetesClusterNetworkRules();
checkForRulesToDelete();
} catch (ManagementServerException e) {
String msg = String.format("Failed to remove network rules of Kubernetes cluster ID: %s", kubernetesCluster.getUuid());
LOGGER.warn(msg, e);