Skip to content

Commit 35a7bab

Browse files
author
Daman Arora
committed
use updated getAffinityGroupNodeTypeMap
1 parent f625d6e commit 35a7bab

File tree

1 file changed

+19
-10
lines changed

1 file changed

+19
-10
lines changed

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

Lines changed: 19 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -169,6 +169,7 @@
169169
import com.cloud.kubernetes.cluster.actionworkers.KubernetesClusterStartWorker;
170170
import com.cloud.kubernetes.cluster.actionworkers.KubernetesClusterStopWorker;
171171
import com.cloud.kubernetes.cluster.actionworkers.KubernetesClusterUpgradeWorker;
172+
import com.cloud.kubernetes.cluster.dao.KubernetesClusterAffinityGroupMapDao;
172173
import com.cloud.kubernetes.cluster.dao.KubernetesClusterDao;
173174
import com.cloud.kubernetes.cluster.dao.KubernetesClusterDetailsDao;
174175
import com.cloud.kubernetes.cluster.dao.KubernetesClusterVmMapDao;
@@ -315,6 +316,8 @@ public class KubernetesClusterManagerImpl extends ManagerBase implements Kuberne
315316
@Inject
316317
public KubernetesClusterDetailsDao kubernetesClusterDetailsDao;
317318
@Inject
319+
public KubernetesClusterAffinityGroupMapDao kubernetesClusterAffinityGroupMapDao;
320+
@Inject
318321
public KubernetesSupportedVersionDao kubernetesSupportedVersionDao;
319322
@Inject
320323
protected SSHKeyPairDao sshKeyPairDao;
@@ -1187,6 +1190,20 @@ private Network getKubernetesClusterNetworkIfMissing(final String clusterName, f
11871190
return network;
11881191
}
11891192

1193+
private void persistAffinityGroupMappings(long clusterId, Map<String, List<Long>> affinityGroupNodeTypeMap) {
1194+
if (MapUtils.isEmpty(affinityGroupNodeTypeMap)) {
1195+
return;
1196+
}
1197+
for (Map.Entry<String, List<Long>> nodeTypeAffinityGroupEntry : affinityGroupNodeTypeMap.entrySet()) {
1198+
String nodeType = nodeTypeAffinityGroupEntry.getKey();
1199+
List<Long> affinityGroupIds = nodeTypeAffinityGroupEntry.getValue();
1200+
for (Long affinityGroupId : affinityGroupIds) {
1201+
kubernetesClusterAffinityGroupMapDao.persist(
1202+
new KubernetesClusterAffinityGroupMapVO(clusterId, nodeType, affinityGroupId));
1203+
}
1204+
}
1205+
}
1206+
11901207
private void addKubernetesClusterDetails(final KubernetesCluster kubernetesCluster, final Network network, final CreateKubernetesClusterCmd cmd) {
11911208
final String externalLoadBalancerIpAddress = cmd.getExternalLoadBalancerIpAddress();
11921209
final String dockerRegistryUserName = cmd.getDockerRegistryUserName();
@@ -1627,7 +1644,7 @@ public KubernetesCluster createManagedKubernetesCluster(CreateKubernetesClusterC
16271644
}
16281645

16291646
Map<String, Long> templateNodeTypeMap = cmd.getTemplateNodeTypeMap();
1630-
Map<String, String> affinityGroupNodeTypeMap = cmd.getAffinityGroupNodeTypeMap();
1647+
Map<String, List<Long>> affinityGroupNodeTypeMap = cmd.getAffinityGroupNodeTypeMap();
16311648
final VMTemplateVO finalTemplate = getKubernetesServiceTemplate(zone, hypervisorType, templateNodeTypeMap, DEFAULT, clusterKubernetesVersion);
16321649
final VMTemplateVO controlNodeTemplate = getKubernetesServiceTemplate(zone, hypervisorType, templateNodeTypeMap, CONTROL, clusterKubernetesVersion);
16331650
final VMTemplateVO workerNodeTemplate = getKubernetesServiceTemplate(zone, hypervisorType, templateNodeTypeMap, WORKER, clusterKubernetesVersion);
@@ -1668,20 +1685,12 @@ public KubernetesClusterVO doInTransaction(TransactionStatus status) {
16681685
}
16691686
newCluster.setWorkerNodeTemplateId(workerNodeTemplate.getId());
16701687
newCluster.setControlNodeTemplateId(controlNodeTemplate.getId());
1671-
if (affinityGroupNodeTypeMap.containsKey(WORKER.name())) {
1672-
newCluster.setWorkerNodeAffinityGroupIds(affinityGroupNodeTypeMap.get(WORKER.name()));
1673-
}
1674-
if (affinityGroupNodeTypeMap.containsKey(CONTROL.name())) {
1675-
newCluster.setControlNodeAffinityGroupIds(affinityGroupNodeTypeMap.get(CONTROL.name()));
1676-
}
1677-
if (etcdNodes > 0 && affinityGroupNodeTypeMap.containsKey(ETCD.name())) {
1678-
newCluster.setEtcdNodeAffinityGroupIds(affinityGroupNodeTypeMap.get(ETCD.name()));
1679-
}
16801688
if (zone.isSecurityGroupEnabled()) {
16811689
newCluster.setSecurityGroupId(finalSecurityGroup.getId());
16821690
}
16831691
newCluster.setCsiEnabled(cmd.getEnableCsi());
16841692
kubernetesClusterDao.persist(newCluster);
1693+
persistAffinityGroupMappings(newCluster.getId(), affinityGroupNodeTypeMap);
16851694
addKubernetesClusterDetails(newCluster, defaultNetwork, cmd);
16861695
return newCluster;
16871696
}

0 commit comments

Comments
 (0)