Repository: stratos
Updated Branches:
  refs/heads/stratos-4.1.x 353554754 -> 8c784dff9


Fixes the kubernetes undeploy issue in multiple regions


Project: http://git-wip-us.apache.org/repos/asf/stratos/repo
Commit: http://git-wip-us.apache.org/repos/asf/stratos/commit/8c784dff
Tree: http://git-wip-us.apache.org/repos/asf/stratos/tree/8c784dff
Diff: http://git-wip-us.apache.org/repos/asf/stratos/diff/8c784dff

Branch: refs/heads/stratos-4.1.x
Commit: 8c784dff960ca1a6ee79b551eae8e3a88bb34ba3
Parents: 3535547
Author: gayangunarathne <[email protected]>
Authored: Sat Sep 19 21:29:07 2015 +0530
Committer: gayangunarathne <[email protected]>
Committed: Sat Sep 19 21:29:07 2015 +0530

----------------------------------------------------------------------
 .../iaases/kubernetes/KubernetesIaas.java       | 30 +++++++++-----------
 1 file changed, 14 insertions(+), 16 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/stratos/blob/8c784dff/components/org.apache.stratos.cloud.controller/src/main/java/org/apache/stratos/cloud/controller/iaases/kubernetes/KubernetesIaas.java
----------------------------------------------------------------------
diff --git 
a/components/org.apache.stratos.cloud.controller/src/main/java/org/apache/stratos/cloud/controller/iaases/kubernetes/KubernetesIaas.java
 
b/components/org.apache.stratos.cloud.controller/src/main/java/org/apache/stratos/cloud/controller/iaases/kubernetes/KubernetesIaas.java
index cf913b0..e92f68b 100644
--- 
a/components/org.apache.stratos.cloud.controller/src/main/java/org/apache/stratos/cloud/controller/iaases/kubernetes/KubernetesIaas.java
+++ 
b/components/org.apache.stratos.cloud.controller/src/main/java/org/apache/stratos/cloud/controller/iaases/kubernetes/KubernetesIaas.java
@@ -133,7 +133,7 @@ public class KubernetesIaas extends Iaas {
     @Override
     public void terminateInstance(MemberContext memberContext) throws 
InvalidCartridgeTypeException,
             InvalidMemberException, MemberTerminationFailedException {
-        terminateContainer(memberContext.getMemberId());
+        terminateContainer(memberContext);
     }
 
     /**
@@ -788,7 +788,7 @@ public class KubernetesIaas extends Iaas {
             if (memberContexts != null) {
                 for (MemberContext memberContext : memberContexts) {
                     try {
-                        MemberContext memberContextRemoved = 
terminateContainer(memberContext.getMemberId());
+                        MemberContext memberContextRemoved = 
terminateContainer(memberContext);
                         memberContextsRemoved.add(memberContextRemoved);
                     } catch (MemberTerminationFailedException e) {
                         String message = "Could not terminate container: 
[member-id] " + memberContext.getMemberId();
@@ -810,33 +810,31 @@ public class KubernetesIaas extends Iaas {
     /**
      * Terminate a container by member id
      *
-     * @param memberId
+     * @param memberContext
      * @return
      * @throws MemberTerminationFailedException
      */
-    public MemberContext terminateContainer(String memberId) throws 
MemberTerminationFailedException {
+    public MemberContext terminateContainer(MemberContext memberContext) 
throws MemberTerminationFailedException {
         Lock lock = null;
         try {
             lock = 
CloudControllerContext.getInstance().acquireMemberContextWriteLock();
-            handleNullObject(memberId, "Could not terminate container, member 
id is null");
-
-            MemberContext memberContext = 
CloudControllerContext.getInstance().getMemberContextOfMemberId(memberId);
-            handleNullObject(memberContext, "Could not terminate container, 
member context not found: [member-id] " + memberId);
+            handleNullObject(memberContext, "Could not terminate container, 
member context not found");
 
-            String clusterId = memberContext.getClusterId();
-            handleNullObject(clusterId, "Could not terminate container, 
cluster id is null: [member-id] " + memberId);
+            Partition partition = memberContext.getPartition();
+            if (partition == null) {
+                String message = String.format("Partition not found in member 
context: [member] %s " , memberContext.getMemberId());
 
-            ClusterContext clusterContext = 
CloudControllerContext.getInstance().getClusterContext(clusterId);
-            handleNullObject(clusterContext, String.format("Could not 
terminate container, cluster context not found: " +
-                    "[cluster-id] %s [member-id] %s", clusterId, memberId));
+                log.error(message);
+                throw new RuntimeException(message);
+            }
 
-            String kubernetesClusterId = 
clusterContext.getKubernetesClusterId();
+            String kubernetesClusterId = 
memberContext.getPartition().getKubernetesClusterId();
             handleNullObject(kubernetesClusterId, String.format("Could not 
terminate container, kubernetes cluster " +
-                    "context id is null: [cluster-id] %s [member-id] %s", 
clusterId, memberId));
+                    "context id is null: [partition-id] %s [member-id] %s", 
partition.getId(), memberContext.getMemberId()));
 
             KubernetesClusterContext kubernetesClusterContext = 
CloudControllerContext.getInstance().getKubernetesClusterContext(kubernetesClusterId);
             handleNullObject(kubernetesClusterContext, String.format("Could 
not terminate container, kubernetes cluster " +
-                    "context not found: [cluster-id] %s [member-id] %s", 
clusterId, memberId));
+                    "context not found: [partition-id] %s [member-id] %s", 
partition.getId(), memberContext.getMemberId()));
             KubernetesApiClient kubApi = kubernetesClusterContext.getKubApi();
 
             try {

Reply via email to