Skip to content

Commit c58dee0

Browse files
author
Daman Arora
committed
remove affinity group mappings when a cluster is deleted
1 parent af97ea3 commit c58dee0

File tree

3 files changed

+15
-0
lines changed

3 files changed

+15
-0
lines changed

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

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -2068,6 +2068,7 @@ public boolean deleteKubernetesCluster(DeleteKubernetesClusterCmd cmd) throws Cl
20682068
return Transaction.execute((TransactionCallback<Boolean>) status -> {
20692069
kubernetesClusterDetailsDao.removeDetails(kubernetesClusterId);
20702070
kubernetesClusterVmMapDao.removeByClusterId(kubernetesClusterId);
2071+
kubernetesClusterAffinityGroupMapDao.removeByClusterId(kubernetesClusterId);
20712072
if (kubernetesClusterDao.remove(kubernetesClusterId)) {
20722073
deleteProjectKubernetesAccountIfNeeded(cluster);
20732074
return true;

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

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -26,4 +26,6 @@ public interface KubernetesClusterAffinityGroupMapDao extends GenericDao<Kuberne
2626
List<KubernetesClusterAffinityGroupMapVO> listByClusterIdAndNodeType(long clusterId, String nodeType);
2727

2828
List<Long> listAffinityGroupIdsByClusterIdAndNodeType(long clusterId, String nodeType);
29+
30+
int removeByClusterId(long clusterId);
2931
}

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

Lines changed: 12 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -28,12 +28,17 @@ public class KubernetesClusterAffinityGroupMapDaoImpl extends GenericDaoBase<Kub
2828
implements KubernetesClusterAffinityGroupMapDao {
2929

3030
private final SearchBuilder<KubernetesClusterAffinityGroupMapVO> clusterIdAndNodeTypeSearch;
31+
private final SearchBuilder<KubernetesClusterAffinityGroupMapVO> clusterIdSearch;
3132

3233
public KubernetesClusterAffinityGroupMapDaoImpl() {
3334
clusterIdAndNodeTypeSearch = createSearchBuilder();
3435
clusterIdAndNodeTypeSearch.and("clusterId", clusterIdAndNodeTypeSearch.entity().getClusterId(), SearchCriteria.Op.EQ);
3536
clusterIdAndNodeTypeSearch.and("nodeType", clusterIdAndNodeTypeSearch.entity().getNodeType(), SearchCriteria.Op.EQ);
3637
clusterIdAndNodeTypeSearch.done();
38+
39+
clusterIdSearch = createSearchBuilder();
40+
clusterIdSearch.and("clusterId", clusterIdSearch.entity().getClusterId(), SearchCriteria.Op.EQ);
41+
clusterIdSearch.done();
3742
}
3843

3944
@Override
@@ -49,4 +54,11 @@ public List<Long> listAffinityGroupIdsByClusterIdAndNodeType(long clusterId, Str
4954
List<KubernetesClusterAffinityGroupMapVO> maps = listByClusterIdAndNodeType(clusterId, nodeType);
5055
return maps.stream().map(KubernetesClusterAffinityGroupMapVO::getAffinityGroupId).collect(Collectors.toList());
5156
}
57+
58+
@Override
59+
public int removeByClusterId(long clusterId) {
60+
SearchCriteria<KubernetesClusterAffinityGroupMapVO> sc = clusterIdSearch.create();
61+
sc.setParameters("clusterId", clusterId);
62+
return remove(sc);
63+
}
5264
}

0 commit comments

Comments
 (0)