From 27d08e2f3f9a48095b992824aa5635ef5cb09a81 Mon Sep 17 00:00:00 2001 From: Pearl Dsilva Date: Wed, 17 Jul 2024 12:09:26 -0400 Subject: [PATCH] CKS cluster with guest IP --- .../KubernetesClusterStartWorker.java | 24 +++++++++++-------- ui/src/views/AutogenView.vue | 2 -- 2 files changed, 14 insertions(+), 12 deletions(-) diff --git a/plugins/integrations/kubernetes-service/src/main/java/com/cloud/kubernetes/cluster/actionworkers/KubernetesClusterStartWorker.java b/plugins/integrations/kubernetes-service/src/main/java/com/cloud/kubernetes/cluster/actionworkers/KubernetesClusterStartWorker.java index ec1caa70cca..f973afa1294 100644 --- a/plugins/integrations/kubernetes-service/src/main/java/com/cloud/kubernetes/cluster/actionworkers/KubernetesClusterStartWorker.java +++ b/plugins/integrations/kubernetes-service/src/main/java/com/cloud/kubernetes/cluster/actionworkers/KubernetesClusterStartWorker.java @@ -216,7 +216,7 @@ public class KubernetesClusterStartWorker extends KubernetesClusterResourceModif return new Pair<>(k8sControlNodeConfig, controlNodeIp); } - private UserVm createKubernetesControlNode(final Network network, String serverIp, List etcdIps, Long domainId, Long accountId, Long asNumber) throws ManagementServerException, + private Pair createKubernetesControlNode(final Network network, String serverIp, List etcdIps, Long domainId, Long accountId, Long asNumber) throws ManagementServerException, ResourceUnavailableException, InsufficientCapacityException { UserVm controlVm = null; DataCenter zone = dataCenterDao.findById(kubernetesCluster.getZoneId()); @@ -288,7 +288,7 @@ public class KubernetesClusterStartWorker extends KubernetesClusterResourceModif if (logger.isInfoEnabled()) { logger.info(String.format("Created control VM ID: %s, %s in the Kubernetes cluster : %s", controlVm.getUuid(), hostName, kubernetesCluster.getName())); } - return controlVm; + return new Pair<>(controlVm, k8sControlNodeConfigAndControlIp.second()); } private String substituteASNumber(String cniConfig, Long asNumber) { @@ -504,11 +504,13 @@ public class KubernetesClusterStartWorker extends KubernetesClusterResourceModif return etcdNode; } - private UserVm provisionKubernetesClusterControlVm(final Network network, final String publicIpAddress, final List etcdIps, + private Pair provisionKubernetesClusterControlVm(final Network network, final String publicIpAddress, final List etcdIps, final Long domainId, final Long accountId, Long asNumber) throws ManagementServerException, InsufficientCapacityException, ResourceUnavailableException { UserVm k8sControlVM = null; - k8sControlVM = createKubernetesControlNode(network, publicIpAddress, etcdIps, domainId, accountId, asNumber); + Pair k8sControlVMAndControlIP; + k8sControlVMAndControlIP = createKubernetesControlNode(network, publicIpAddress, etcdIps, domainId, accountId, asNumber); + k8sControlVM = k8sControlVMAndControlIP.first(); addKubernetesClusterVm(kubernetesCluster.getId(), k8sControlVM.getId(), true, false, false, false); if (kubernetesCluster.getNodeRootDiskSize() > 0) { resizeNodeVolume(k8sControlVM); @@ -521,17 +523,17 @@ public class KubernetesClusterStartWorker extends KubernetesClusterResourceModif if (logger.isInfoEnabled()) { logger.info(String.format("Provisioned the control VM : %s in to the Kubernetes cluster : %s", k8sControlVM.getDisplayName(), kubernetesCluster.getName())); } - return k8sControlVM; + return new Pair<>(k8sControlVM, k8sControlVMAndControlIP.second()); } - private List provisionKubernetesClusterAdditionalControlVms(final String publicIpAddress, final Long domainId, + private List provisionKubernetesClusterAdditionalControlVms(final String controlIpAddress, final Long domainId, final Long accountId) throws InsufficientCapacityException, ManagementServerException, ResourceUnavailableException { List additionalControlVms = new ArrayList<>(); if (kubernetesCluster.getControlNodeCount() > 1) { for (int i = 1; i < kubernetesCluster.getControlNodeCount(); i++) { UserVm vm = null; - vm = createKubernetesAdditionalControlNode(publicIpAddress, i, domainId, accountId); + vm = createKubernetesAdditionalControlNode(controlIpAddress, i, domainId, accountId); addKubernetesClusterVm(kubernetesCluster.getId(), vm.getId(), true, false, false, false); if (kubernetesCluster.getNodeRootDiskSize() > 0) { resizeNodeVolume(vm); @@ -767,12 +769,14 @@ public class KubernetesClusterStartWorker extends KubernetesClusterResourceModif } List clusterVMs = new ArrayList<>(); + Pair k8sControlVMAndIp = new Pair<>(null, null); UserVm k8sControlVM = null; try { - k8sControlVM = provisionKubernetesClusterControlVm(network, publicIpAddress, etcdGuestNodeIps, domainId, accountId, asNumber); + k8sControlVMAndIp = provisionKubernetesClusterControlVm(network, publicIpAddress, etcdGuestNodeIps, domainId, accountId, asNumber); } catch (CloudRuntimeException | ManagementServerException | ResourceUnavailableException | InsufficientCapacityException e) { logTransitStateAndThrow(Level.ERROR, String.format("Provisioning the control VM failed in the Kubernetes cluster : %s", kubernetesCluster.getName()), kubernetesCluster.getId(), KubernetesCluster.Event.CreateFailed, e); } + k8sControlVM = k8sControlVMAndIp.first(); clusterVMs.add(k8sControlVM); if (StringUtils.isEmpty(publicIpAddress)) { publicIpSshPort = getKubernetesClusterServerIpSshPort(k8sControlVM); @@ -782,13 +786,13 @@ public class KubernetesClusterStartWorker extends KubernetesClusterResourceModif } } try { - List additionalControlVMs = provisionKubernetesClusterAdditionalControlVms(publicIpAddress, domainId, accountId); + List additionalControlVMs = provisionKubernetesClusterAdditionalControlVms(k8sControlVMAndIp.second(), domainId, accountId); clusterVMs.addAll(additionalControlVMs); } catch (CloudRuntimeException | ManagementServerException | ResourceUnavailableException | InsufficientCapacityException e) { logTransitStateAndThrow(Level.ERROR, String.format("Provisioning additional control VM failed in the Kubernetes cluster : %s", kubernetesCluster.getName()), kubernetesCluster.getId(), KubernetesCluster.Event.CreateFailed, e); } try { - List nodeVMs = provisionKubernetesClusterNodeVms(kubernetesCluster.getNodeCount(), publicIpAddress, domainId, accountId); + List nodeVMs = provisionKubernetesClusterNodeVms(kubernetesCluster.getNodeCount(), k8sControlVMAndIp.second(), domainId, accountId); clusterVMs.addAll(nodeVMs); } catch (CloudRuntimeException | ManagementServerException | ResourceUnavailableException | InsufficientCapacityException e) { logTransitStateAndThrow(Level.ERROR, String.format("Provisioning node VM failed in the Kubernetes cluster : %s", kubernetesCluster.getName()), kubernetesCluster.getId(), KubernetesCluster.Event.CreateFailed, e); diff --git a/ui/src/views/AutogenView.vue b/ui/src/views/AutogenView.vue index 63f51a954be..d46725490e6 100644 --- a/ui/src/views/AutogenView.vue +++ b/ui/src/views/AutogenView.vue @@ -955,8 +955,6 @@ export default { } } - console.log(params) - if (this.$store.getters.listAllProjects && !this.projectView) { params.projectid = '-1' }