From 1692df421c94eed4a40e5a03a3f7f8794b359464 Mon Sep 17 00:00:00 2001 From: Pearl Dsilva Date: Thu, 19 Nov 2020 04:51:57 +0530 Subject: [PATCH] cks: Fix destroying k8s cluster on shared networks (#4461) * Fix destroying k8s cluster on shared networks * Extracted code Co-authored-by: Pearl Dsilva --- .../actionworkers/KubernetesClusterDestroyWorker.java | 10 +++++++++- 1 file changed, 9 insertions(+), 1 deletion(-) diff --git a/plugins/integrations/kubernetes-service/src/main/java/com/cloud/kubernetes/cluster/actionworkers/KubernetesClusterDestroyWorker.java b/plugins/integrations/kubernetes-service/src/main/java/com/cloud/kubernetes/cluster/actionworkers/KubernetesClusterDestroyWorker.java index 41de39fddc2..c9f42d87134 100644 --- a/plugins/integrations/kubernetes-service/src/main/java/com/cloud/kubernetes/cluster/actionworkers/KubernetesClusterDestroyWorker.java +++ b/plugins/integrations/kubernetes-service/src/main/java/com/cloud/kubernetes/cluster/actionworkers/KubernetesClusterDestroyWorker.java @@ -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);