You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@stratos.apache.org by is...@apache.org on 2015/11/10 10:07:00 UTC

[09/12] stratos git commit: removing PartitionValidatorCallable and its usages

removing PartitionValidatorCallable and its usages


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

Branch: refs/heads/stratos-4.1.x
Commit: 519d439f9fc16e05e29f95a2666256956112496e
Parents: a437ce9
Author: Isuru Haththotuwa <is...@apache.org>
Authored: Tue Nov 10 07:16:12 2015 +0530
Committer: Isuru Haththotuwa <is...@apache.org>
Committed: Tue Nov 10 13:35:36 2015 +0530

----------------------------------------------------------------------
 .../concurrent/PartitionValidatorCallable.java  | 61 --------------------
 .../cloud/controller/iaases/ec2/EC2Iaas.java    |  4 ++
 .../impl/CloudControllerServiceImpl.java        | 35 +++++------
 .../impl/CloudControllerServiceUtil.java        |  2 +-
 4 files changed, 20 insertions(+), 82 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/stratos/blob/519d439f/components/org.apache.stratos.cloud.controller/src/main/java/org/apache/stratos/cloud/controller/concurrent/PartitionValidatorCallable.java
----------------------------------------------------------------------
diff --git a/components/org.apache.stratos.cloud.controller/src/main/java/org/apache/stratos/cloud/controller/concurrent/PartitionValidatorCallable.java b/components/org.apache.stratos.cloud.controller/src/main/java/org/apache/stratos/cloud/controller/concurrent/PartitionValidatorCallable.java
deleted file mode 100644
index e1800ff..0000000
--- a/components/org.apache.stratos.cloud.controller/src/main/java/org/apache/stratos/cloud/controller/concurrent/PartitionValidatorCallable.java
+++ /dev/null
@@ -1,61 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements.  See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership.  The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License.  You may obtain a copy of the License at
- *
- *     http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied.  See the License for the
- * specific language governing permissions and limitations
- * under the License.
- */
-package org.apache.stratos.cloud.controller.concurrent;
-
-import org.apache.commons.logging.Log;
-import org.apache.commons.logging.LogFactory;
-import org.apache.stratos.cloud.controller.context.CloudControllerContext;
-import org.apache.stratos.cloud.controller.domain.Cartridge;
-import org.apache.stratos.cloud.controller.domain.IaasProvider;
-import org.apache.stratos.cloud.controller.domain.Partition;
-import org.apache.stratos.cloud.controller.services.impl.CloudControllerServiceUtil;
-
-import java.util.concurrent.Callable;
-
-public class PartitionValidatorCallable implements Callable<IaasProvider> {
-
-    private static final Log log = LogFactory.getLog(PartitionValidatorCallable.class);
-    private Partition partition;
-    private Cartridge cartridge;
-
-    public PartitionValidatorCallable(Partition partition, Cartridge cartridge) {
-        this.partition = partition;
-        this.cartridge = cartridge;
-    }
-
-    @Override
-    public IaasProvider call() throws Exception {
-
-        if (log.isDebugEnabled()) {
-            log.debug("Partition validation started for " + partition + " of " + cartridge);
-        }
-        String provider = partition.getProvider();
-        IaasProvider iaasProvider = CloudControllerContext.getInstance().getIaasProvider(cartridge.getType(), provider);
-
-        IaasProvider updatedIaasProvider =
-                CloudControllerServiceUtil.validatePartitionAndGetIaasProvider(partition, iaasProvider);
-
-        if (log.isDebugEnabled()) {
-            log.debug("Partition " + partition.toString() + " is validated successfully " + "against the Cartridge: "
-                    + cartridge.getType());
-        }
-
-        return updatedIaasProvider;
-    }
-}

http://git-wip-us.apache.org/repos/asf/stratos/blob/519d439f/components/org.apache.stratos.cloud.controller/src/main/java/org/apache/stratos/cloud/controller/iaases/ec2/EC2Iaas.java
----------------------------------------------------------------------
diff --git a/components/org.apache.stratos.cloud.controller/src/main/java/org/apache/stratos/cloud/controller/iaases/ec2/EC2Iaas.java b/components/org.apache.stratos.cloud.controller/src/main/java/org/apache/stratos/cloud/controller/iaases/ec2/EC2Iaas.java
index ab1a31e..17e59a2 100644
--- a/components/org.apache.stratos.cloud.controller/src/main/java/org/apache/stratos/cloud/controller/iaases/ec2/EC2Iaas.java
+++ b/components/org.apache.stratos.cloud.controller/src/main/java/org/apache/stratos/cloud/controller/iaases/ec2/EC2Iaas.java
@@ -117,6 +117,10 @@ public class EC2Iaas extends JcloudsIaas {
             }
         }
 
+        log.info("$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$44 " + iaasInfo.getProperty(CloudControllerConstants.AVAILABILITY_ZONE));
+        log.info("$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$44 " + template.getLocation().getScope()
+                .toString() + " & " + template.getLocation().getId());
+
         // if you wish to auto assign IPs, instance spawning call should be
         // blocking, but if you
         // wish to assign IPs manually, it can be non-blocking.

http://git-wip-us.apache.org/repos/asf/stratos/blob/519d439f/components/org.apache.stratos.cloud.controller/src/main/java/org/apache/stratos/cloud/controller/services/impl/CloudControllerServiceImpl.java
----------------------------------------------------------------------
diff --git a/components/org.apache.stratos.cloud.controller/src/main/java/org/apache/stratos/cloud/controller/services/impl/CloudControllerServiceImpl.java b/components/org.apache.stratos.cloud.controller/src/main/java/org/apache/stratos/cloud/controller/services/impl/CloudControllerServiceImpl.java
index fa2590c..66af90b 100644
--- a/components/org.apache.stratos.cloud.controller/src/main/java/org/apache/stratos/cloud/controller/services/impl/CloudControllerServiceImpl.java
+++ b/components/org.apache.stratos.cloud.controller/src/main/java/org/apache/stratos/cloud/controller/services/impl/CloudControllerServiceImpl.java
@@ -21,7 +21,6 @@ package org.apache.stratos.cloud.controller.services.impl;
 import org.apache.commons.lang.StringUtils;
 import org.apache.commons.logging.Log;
 import org.apache.commons.logging.LogFactory;
-import org.apache.stratos.cloud.controller.concurrent.PartitionValidatorCallable;
 import org.apache.stratos.cloud.controller.config.CloudControllerConfig;
 import org.apache.stratos.cloud.controller.context.CloudControllerContext;
 import org.apache.stratos.cloud.controller.domain.*;
@@ -979,7 +978,6 @@ public class CloudControllerServiceImpl implements CloudControllerService {
                 throw new InvalidCartridgeTypeException(msg);
             }
 
-            Map<String, Future<IaasProvider>> jobList = new HashMap<>();
             for (Partition partition : networkPartition.getPartitions()) {
                 if (validatedPartitions != null && validatedPartitions.contains(partition.getId())) {
                     // partition cache hit
@@ -990,38 +988,35 @@ public class CloudControllerServiceImpl implements CloudControllerService {
                     continue;
                 }
 
-                Callable<IaasProvider> worker = new PartitionValidatorCallable(partition, cartridge);
-                Future<IaasProvider> job = CloudControllerContext.getInstance().getExecutorService().submit(worker);
-                jobList.put(partition.getId(), job);
-            }
-
-            // Retrieve the results of the concurrently performed sanity checks.
-            for (Entry<String, Future<IaasProvider>> entry : jobList.entrySet()) {
-                if (entry == null) {
-                    continue;
+                if (log.isDebugEnabled()) {
+                    log.debug("Partition validation started for " + partition + " of " + cartridge);
                 }
-                String partitionId = entry.getKey();
-                Future<IaasProvider> job = entry.getValue();
+
+                // cache miss
+                IaasProvider iaasProvider = CloudControllerContext.getInstance().getIaasProvider
+                        (cartridge.getType(), partition.getProvider());
+                IaasProvider updatedIaasProvider = CloudControllerServiceUtil.validatePartitionAndGetIaasProvider(partition,
+                        iaasProvider);
+
                 try {
-                    // add to a temporary Map
-                    IaasProvider iaasProvider = job.get();
-                    if (iaasProvider != null) {
-                        partitionToIaasProviders.put(partitionId, iaasProvider);
+                    if (updatedIaasProvider != null) {
+                        partitionToIaasProviders.put(partition.getId(), updatedIaasProvider);
                     }
 
                     // add to cache
-                    CloudControllerContext.getInstance().addToCartridgeTypeToPartitionIdMap(cartridgeType, partitionId);
-
+                    CloudControllerContext.getInstance().addToCartridgeTypeToPartitionIdMap(cartridgeType, partition.getId());
                     if (log.isDebugEnabled()) {
-                        log.debug("Partition " + partitionId + " added to the cache against cartridge: " +
+                        log.debug("Partition " + partition.getId() + " added to the cache against " + "cartridge: " +
                                 "[cartridge-type] " + cartridgeType);
                     }
+
                 } catch (Exception e) {
                     String message = "Could not cache partitions against the cartridge: [cartridge-type] "
                             + cartridgeType;
                     log.error(message, e);
                     throw new InvalidPartitionException(message, e);
                 }
+
             }
 
             // if and only if the deployment policy valid

http://git-wip-us.apache.org/repos/asf/stratos/blob/519d439f/components/org.apache.stratos.cloud.controller/src/main/java/org/apache/stratos/cloud/controller/services/impl/CloudControllerServiceUtil.java
----------------------------------------------------------------------
diff --git a/components/org.apache.stratos.cloud.controller/src/main/java/org/apache/stratos/cloud/controller/services/impl/CloudControllerServiceUtil.java b/components/org.apache.stratos.cloud.controller/src/main/java/org/apache/stratos/cloud/controller/services/impl/CloudControllerServiceUtil.java
index 4edc701..8a415c4 100644
--- a/components/org.apache.stratos.cloud.controller/src/main/java/org/apache/stratos/cloud/controller/services/impl/CloudControllerServiceUtil.java
+++ b/components/org.apache.stratos.cloud.controller/src/main/java/org/apache/stratos/cloud/controller/services/impl/CloudControllerServiceUtil.java
@@ -75,7 +75,7 @@ public class CloudControllerServiceUtil {
             throws InvalidPartitionException {
         if (iaasProvider != null) {
             // if this is a IaaS based partition
-            Iaas iaas = iaasProvider.buildIaas();
+            Iaas iaas = iaasProvider.getIaas();
             PartitionValidator validator = iaas.getPartitionValidator();
             validator.setIaasProvider(iaasProvider);
             Properties partitionProperties = CloudControllerUtil.toJavaUtilProperties(partition.getProperties());