Repository: stratos Updated Branches: refs/heads/docker-integration 87a6a0321 -> a3c4a5e85
Fixing NPE bug in KubernetesManager, adding info logs Project: http://git-wip-us.apache.org/repos/asf/stratos/repo Commit: http://git-wip-us.apache.org/repos/asf/stratos/commit/a3c4a5e8 Tree: http://git-wip-us.apache.org/repos/asf/stratos/tree/a3c4a5e8 Diff: http://git-wip-us.apache.org/repos/asf/stratos/diff/a3c4a5e8 Branch: refs/heads/docker-integration Commit: a3c4a5e851bf360e27a2b7b776a5a0e052262801 Parents: 87a6a03 Author: Akila Perera <[email protected]> Authored: Tue Sep 16 00:06:00 2014 +0530 Committer: Akila Perera <[email protected]> Committed: Tue Sep 16 00:06:00 2014 +0530 ---------------------------------------------------------------------- .../kubernetes/KubernetesManager.java | 61 ++++++++++++++------ .../common/kubernetes/KubernetesGroup.java | 10 ++-- .../stratos/common/kubernetes/PortRange.java | 4 ++ 3 files changed, 53 insertions(+), 22 deletions(-) ---------------------------------------------------------------------- http://git-wip-us.apache.org/repos/asf/stratos/blob/a3c4a5e8/components/org.apache.stratos.autoscaler/src/main/java/org/apache/stratos/autoscaler/kubernetes/KubernetesManager.java ---------------------------------------------------------------------- diff --git a/components/org.apache.stratos.autoscaler/src/main/java/org/apache/stratos/autoscaler/kubernetes/KubernetesManager.java b/components/org.apache.stratos.autoscaler/src/main/java/org/apache/stratos/autoscaler/kubernetes/KubernetesManager.java index a6bc9b5..4d5b7a6 100644 --- a/components/org.apache.stratos.autoscaler/src/main/java/org/apache/stratos/autoscaler/kubernetes/KubernetesManager.java +++ b/components/org.apache.stratos.autoscaler/src/main/java/org/apache/stratos/autoscaler/kubernetes/KubernetesManager.java @@ -96,22 +96,26 @@ public class KubernetesManager { } // Check for duplicate hostIds - List<String> hostIds = new ArrayList<String>(); - hostIds.add(kubernetesGroup.getKubernetesMaster().getHostId()); - for (KubernetesHost kubernetesHost : kubernetesGroup.getKubernetesHosts()) { - if (hostIds.contains(kubernetesHost.getHostId())) { - throw new InvalidKubernetesGroupException( - String.format("Kubernetes host [id] %s already defined in the request", kubernetesHost.getHostId())); - } + if (kubernetesGroup.getKubernetesHosts() != null) { + List<String> hostIds = new ArrayList<String>(); + hostIds.add(kubernetesGroup.getKubernetesMaster().getHostId()); + + for (KubernetesHost kubernetesHost : kubernetesGroup.getKubernetesHosts()) { + if (hostIds.contains(kubernetesHost.getHostId())) { + throw new InvalidKubernetesGroupException( + String.format("Kubernetes host [id] %s already defined in the request", kubernetesHost.getHostId())); + } - // check whether host already exists - if (kubernetesHostExists(kubernetesHost.getHostId())) { - throw new InvalidKubernetesGroupException("Kubernetes host already exists [id] " + - kubernetesHost.getHostId()); - } + // check whether host already exists + if (kubernetesHostExists(kubernetesHost.getHostId())) { + throw new InvalidKubernetesGroupException("Kubernetes host already exists [id] " + + kubernetesHost.getHostId()); + } - hostIds.add(kubernetesHost.getHostId()); + hostIds.add(kubernetesHost.getHostId()); + } } + } catch (InvalidKubernetesHostException e) { throw new InvalidKubernetesGroupException(e.getMessage()); } catch (InvalidKubernetesMasterException e) { @@ -156,15 +160,22 @@ public class KubernetesManager { public synchronized boolean addNewKubernetesGroup(KubernetesGroup kubernetesGroup) throws InvalidKubernetesGroupException { + if (kubernetesGroup == null){ + throw new InvalidKubernetesGroupException("Kubernetes Group can not be null"); + } + if (log.isInfoEnabled()){ + log.info("Deploying new Kubernetes group: " + kubernetesGroup); + } validateKubernetesGroup(kubernetesGroup); try { validateKubernetesEndPointViaCloudController(kubernetesGroup.getKubernetesMaster()); + // Add to information model + addKubernetesGroupToInformationModel(kubernetesGroup); + // Persist the KubernetesGroup object in registry space RegistryManager.getInstance().persistKubernetesGroup(kubernetesGroup); - // Add to information model - addKubernetesGroupToInformationModel(kubernetesGroup); if (log.isInfoEnabled()) { log.info(String.format("Kubernetes group deployed successfully: [id] %s, [description] %s", kubernetesGroup.getGroupId(), kubernetesGroup.getDescription())); @@ -182,9 +193,11 @@ public class KubernetesManager { throws InvalidKubernetesHostException, NonExistingKubernetesGroupException { if (StringUtils.isEmpty(kubernetesGroupId) || kubernetesHost == null) { - return false; + throw new InvalidKubernetesHostException("Kubernetes host can not be null"); + } + if (log.isInfoEnabled()){ + log.info("Deploying new Kubernetes Host: " + kubernetesHost + " for Kubernetes group id: " + kubernetesGroupId); } - validateKubernetesHost(kubernetesHost); try { KubernetesGroup kubernetesGroupStored = getKubernetesGroup(kubernetesGroupId); @@ -223,6 +236,9 @@ public class KubernetesManager { throws InvalidKubernetesMasterException, NonExistingKubernetesMasterException { validateKubernetesMaster(kubernetesMaster); + if (log.isInfoEnabled()){ + log.info("Updating Kubernetes master: " + kubernetesMaster); + } try { KubernetesGroup kubernetesGroupStored = getKubernetesGroupContainingHost(kubernetesMaster.getHostId()); @@ -249,7 +265,12 @@ public class KubernetesManager { */ public synchronized boolean updateKubernetesHost(KubernetesHost kubernetesHost) throws InvalidKubernetesHostException, NonExistingKubernetesHostException { + validateKubernetesHost(kubernetesHost); + if (log.isInfoEnabled()){ + log.info("Updating Kubernetes Host: " + kubernetesHost); + } + try { KubernetesGroup kubernetesGroupStored = getKubernetesGroupContainingHost(kubernetesHost.getHostId()); @@ -283,6 +304,9 @@ public class KubernetesManager { * Remove a registered Kubernetes group from registry */ public synchronized boolean removeKubernetesGroup(String kubernetesGroupId) throws NonExistingKubernetesGroupException { + if (log.isInfoEnabled()){ + log.info("Removing Kubernetes group: " + kubernetesGroupId); + } try { KubernetesGroup kubernetesGroupStored = getKubernetesGroup(kubernetesGroupId); @@ -305,6 +329,9 @@ public class KubernetesManager { * Remove a registered Kubernetes host from registry */ public synchronized boolean removeKubernetesHost(String kubernetesHostId) throws NonExistingKubernetesHostException { + if (log.isInfoEnabled()){ + log.info("Removing Kubernetes Host: " + kubernetesHostId); + } try { KubernetesGroup kubernetesGroupStored = getKubernetesGroupContainingHost(kubernetesHostId); http://git-wip-us.apache.org/repos/asf/stratos/blob/a3c4a5e8/components/org.apache.stratos.common/src/main/java/org/apache/stratos/common/kubernetes/KubernetesGroup.java ---------------------------------------------------------------------- diff --git a/components/org.apache.stratos.common/src/main/java/org/apache/stratos/common/kubernetes/KubernetesGroup.java b/components/org.apache.stratos.common/src/main/java/org/apache/stratos/common/kubernetes/KubernetesGroup.java index bf2673d..d3cbcb1 100644 --- a/components/org.apache.stratos.common/src/main/java/org/apache/stratos/common/kubernetes/KubernetesGroup.java +++ b/components/org.apache.stratos.common/src/main/java/org/apache/stratos/common/kubernetes/KubernetesGroup.java @@ -84,11 +84,11 @@ public class KubernetesGroup implements Serializable { public String toString() { return "KubernetesGroup [groupId=" + groupId + - " kubernetesHosts=" + Arrays.toString(kubernetesHosts) + - "kubernetesMaster=" + kubernetesMaster + - "portRange=" + portRange + - "description=" + description + - "properties=" + properties + "]"; + " , kubernetesHosts=" + Arrays.toString(kubernetesHosts) + + " , kubernetesMaster=" + kubernetesMaster + + " , portRange=" + portRange + + " , description=" + description + + " , properties=" + properties + "]"; } @Override http://git-wip-us.apache.org/repos/asf/stratos/blob/a3c4a5e8/components/org.apache.stratos.common/src/main/java/org/apache/stratos/common/kubernetes/PortRange.java ---------------------------------------------------------------------- diff --git a/components/org.apache.stratos.common/src/main/java/org/apache/stratos/common/kubernetes/PortRange.java b/components/org.apache.stratos.common/src/main/java/org/apache/stratos/common/kubernetes/PortRange.java index 6252643..dee5203 100644 --- a/components/org.apache.stratos.common/src/main/java/org/apache/stratos/common/kubernetes/PortRange.java +++ b/components/org.apache.stratos.common/src/main/java/org/apache/stratos/common/kubernetes/PortRange.java @@ -41,4 +41,8 @@ public class PortRange { public void setLower(int lower) { this.lower = lower; } + + public String toString() { + return "[ upper=" + upper + " , lower=" + lower + " ]"; + } }
