You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@stratos.apache.org by im...@apache.org on 2014/12/13 04:59:19 UTC
[2/2] stratos git commit: Refining error messages in cloud controller
Refining error messages in cloud controller
Signed-off-by: Imesh Gunaratne <im...@apache.org>
Project: http://git-wip-us.apache.org/repos/asf/stratos/repo
Commit: http://git-wip-us.apache.org/repos/asf/stratos/commit/2f7d4aaf
Tree: http://git-wip-us.apache.org/repos/asf/stratos/tree/2f7d4aaf
Diff: http://git-wip-us.apache.org/repos/asf/stratos/diff/2f7d4aaf
Branch: refs/heads/4.1.0-test
Commit: 2f7d4aaf8439fd542d0bfa1e786851066e9a4357
Parents: a21e9aa
Author: Imesh Gunaratne <im...@apache.org>
Authored: Sat Dec 13 08:28:43 2014 +0530
Committer: Imesh Gunaratne <im...@apache.org>
Committed: Sat Dec 13 09:28:52 2014 +0530
----------------------------------------------------------------------
.../impl/CloudControllerServiceImpl.java | 60 +++++++-------------
.../controller/util/CloudControllerUtil.java | 3 +-
.../cartridge/DefaultCartridgeDeployer.java | 10 +---
.../rest/endpoint/api/StratosApiV41Utils.java | 11 ++--
4 files changed, 31 insertions(+), 53 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/stratos/blob/2f7d4aaf/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 3c71f16..4cb8591 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
@@ -82,7 +82,7 @@ public class CloudControllerServiceImpl implements CloudControllerService {
public void deployCartridgeDefinition(CartridgeConfig cartridgeConfig) throws InvalidCartridgeDefinitionException,
InvalidIaasProviderException {
- handleNullObject(cartridgeConfig, "Invalid Cartridge Definition: Definition is null.");
+ handleNullObject(cartridgeConfig, "Cartridge definition is null");
if (log.isDebugEnabled()) {
log.debug("Cartridge definition: " + cartridgeConfig.toString());
@@ -90,7 +90,6 @@ public class CloudControllerServiceImpl implements CloudControllerService {
Cartridge cartridge = null;
try {
- // cartridge can never be null
cartridge = CloudControllerUtil.toCartridge(cartridgeConfig);
} catch (Exception e) {
String msg = "Invalid cartridge definition: Cartridge type: " + cartridgeConfig.getType() +
@@ -117,20 +116,19 @@ public class CloudControllerServiceImpl implements CloudControllerService {
// TODO transaction begins
String cartridgeType = cartridge.getType();
+ // Undeploy if already deployed
if (cloudControllerContext.getCartridge(cartridgeType) != null) {
Cartridge cartridgeToBeRemoved = cloudControllerContext.getCartridge(cartridgeType);
// undeploy
try {
undeployCartridgeDefinition(cartridgeToBeRemoved.getType());
- } catch (InvalidCartridgeTypeException e) {
- //ignore
+ } catch (InvalidCartridgeTypeException ignore) {
}
- populateNewCartridge(cartridge, cartridgeToBeRemoved);
+ copyIaasProviders(cartridge, cartridgeToBeRemoved);
}
+ // Add cartridge to the cloud controller context and persist
CloudControllerContext.getInstance().addCartridge(cartridge);
-
- // persist
CloudControllerContext.getInstance().persist();
List<Cartridge> cartridgeList = new ArrayList<Cartridge>();
@@ -139,16 +137,18 @@ public class CloudControllerServiceImpl implements CloudControllerService {
TopologyBuilder.handleServiceCreated(cartridgeList);
// transaction ends
- log.info("Successfully deployed the Cartridge definition: " + cartridgeType);
+ if(log.isInfoEnabled()) {
+ log.info("Successfully deployed the cartridge: [type] " + cartridgeType);
+ }
}
- private void populateNewCartridge(Cartridge cartridge,
- Cartridge cartridgeToBeRemoved) {
+ private void copyIaasProviders(Cartridge destCartridge,
+ Cartridge sourceCartridge) {
- List<IaasProvider> newIaasProviders = cartridge.getIaases();
- Map<String, IaasProvider> oldPartitionToIaasMap = cartridgeToBeRemoved.getPartitionToIaasProvider();
+ List<IaasProvider> newIaasProviders = destCartridge.getIaases();
+ Map<String, IaasProvider> iaasProviderMap = sourceCartridge.getPartitionToIaasProvider();
- for (Entry<String, IaasProvider> entry : oldPartitionToIaasMap.entrySet()) {
+ for (Entry<String, IaasProvider> entry : iaasProviderMap.entrySet()) {
if (entry == null) {
continue;
}
@@ -157,12 +157,11 @@ public class CloudControllerServiceImpl implements CloudControllerService {
if (newIaasProviders.contains(oldIaasProvider)) {
if (log.isDebugEnabled()) {
log.debug("Copying a partition from the Cartridge that is undeployed, to the new Cartridge. "
- + "[partition id] : " + partitionId + " [cartridge type] " + cartridge.getType());
+ + "[partition id] : " + partitionId + " [cartridge type] " + destCartridge.getType());
}
- cartridge.addIaasProvider(partitionId, newIaasProviders.get(newIaasProviders.indexOf(oldIaasProvider)));
+ destCartridge.addIaasProvider(partitionId, newIaasProviders.get(newIaasProviders.indexOf(oldIaasProvider)));
}
}
-
}
public void undeployCartridgeDefinition(String cartridgeType) throws InvalidCartridgeTypeException {
@@ -741,19 +740,13 @@ public class CloudControllerServiceImpl implements CloudControllerService {
}
@Override
- public CartridgeInfo getCartridgeInfo(String cartridgeType)
- throws UnregisteredCartridgeException {
- Cartridge cartridge = CloudControllerContext.getInstance()
- .getCartridge(cartridgeType);
-
+ public CartridgeInfo getCartridgeInfo(String cartridgeType) throws UnregisteredCartridgeException {
+ Cartridge cartridge = CloudControllerContext.getInstance().getCartridge(cartridgeType);
if (cartridge != null) {
-
return CloudControllerUtil.toCartridgeInfo(cartridge);
-
}
- String msg = "Cannot find a Cartridge having a type of "
- + cartridgeType + ". Hence unable to find information.";
+ String msg = "Could not find cartridge: [type] " + cartridgeType;
log.error(msg);
throw new UnregisteredCartridgeException(msg);
}
@@ -763,16 +756,14 @@ public class CloudControllerServiceImpl implements CloudControllerService {
final String clusterId_ = clusterId;
ClusterContext ctxt = CloudControllerContext.getInstance().getClusterContext(clusterId_);
-
handleNullObject(ctxt, "Service unregistration failed. Invalid cluster id: " + clusterId);
String cartridgeType = ctxt.getCartridgeType();
-
Cartridge cartridge = CloudControllerContext.getInstance().getCartridge(cartridgeType);
if (cartridge == null) {
String msg =
- "Service unregistration failed. No matching Cartridge found [type] " + cartridgeType + ". ";
+ "Service unregistration failed. No matching cartridge found: [type] " + cartridgeType;
log.error(msg);
throw new UnregisteredClusterException(msg);
}
@@ -780,17 +771,13 @@ public class CloudControllerServiceImpl implements CloudControllerService {
// if it's a kubernetes cluster
if (StratosConstants.KUBERNETES_DEPLOYER_TYPE.equals(cartridge.getDeployerType())) {
unregisterDockerService(clusterId_);
-
} else {
-
-// TopologyBuilder.handleClusterMaintenanceMode(CloudControllerContext.getInstance().getClusterContext(clusterId_));
-
Runnable terminateInTimeout = new Runnable() {
@Override
public void run() {
ClusterContext ctxt = CloudControllerContext.getInstance().getClusterContext(clusterId_);
if (ctxt == null) {
- String msg = "Service unregistration failed. Cluster not found: " + clusterId_;
+ String msg = "Service unregistration failed. Cluster not found: [cluster-id] " + clusterId_;
log.error(msg);
return;
}
@@ -832,14 +819,12 @@ public class CloudControllerServiceImpl implements CloudControllerService {
lock = CloudControllerContext.getInstance().acquireClusterContextWriteLock();
ClusterContext ctxt = CloudControllerContext.getInstance().getClusterContext(clusterId_);
if (ctxt == null) {
- String msg = "Service unregistration failed. Cluster not found: " + clusterId_;
+ String msg = "Service unregistration failed. Cluster not found: [cluster-id] " + clusterId_;
log.error(msg);
return;
}
Collection<Member> members = TopologyManager.getTopology().
getService(ctxt.getCartridgeType()).getCluster(clusterId_).getMembers();
- // TODO why end time is needed?
- // long endTime = System.currentTimeMillis() + ctxt.getTimeoutInMillis() * members.size();
while (members.size() > 0) {
//waiting until all the members got removed from the Topology/ timed out
@@ -867,7 +852,6 @@ public class CloudControllerServiceImpl implements CloudControllerService {
for (Volume volume : ctxt.getVolumes()) {
if (volume.getId() != null) {
String iaasType = volume.getIaasType();
- //Iaas iaas = CloudControllerContext.getInstance().getIaasProvider(iaasType).buildComputeServiceAndTemplate();
Iaas iaas = cartridge.getIaasProvider(iaasType).getIaas();
if (iaas != null) {
try {
@@ -923,7 +907,7 @@ public class CloudControllerServiceImpl implements CloudControllerService {
}
/**
- * FIXME: A validate method shouldn't persist any data
+ * FIXME: A validate method shouldn't persist data
*/
@Override
public boolean validateDeploymentPolicy(String cartridgeType, Partition[] partitions)
http://git-wip-us.apache.org/repos/asf/stratos/blob/2f7d4aaf/components/org.apache.stratos.cloud.controller/src/main/java/org/apache/stratos/cloud/controller/util/CloudControllerUtil.java
----------------------------------------------------------------------
diff --git a/components/org.apache.stratos.cloud.controller/src/main/java/org/apache/stratos/cloud/controller/util/CloudControllerUtil.java b/components/org.apache.stratos.cloud.controller/src/main/java/org/apache/stratos/cloud/controller/util/CloudControllerUtil.java
index c833911..c58eedc 100644
--- a/components/org.apache.stratos.cloud.controller/src/main/java/org/apache/stratos/cloud/controller/util/CloudControllerUtil.java
+++ b/components/org.apache.stratos.cloud.controller/src/main/java/org/apache/stratos/cloud/controller/util/CloudControllerUtil.java
@@ -176,8 +176,7 @@ public class CloudControllerUtil {
iaasProvider.setPayload(payload);
}
- org.apache.stratos.common.Properties props1 =
- iaasConfig.getProperties();
+ org.apache.stratos.common.Properties props1 = iaasConfig.getProperties();
if (props1 != null) {
for (Property prop : props1.getProperties()) {
iaasProvider.addProperty(prop.getName(), prop.getValue());
http://git-wip-us.apache.org/repos/asf/stratos/blob/2f7d4aaf/components/org.apache.stratos.manager/src/main/java/org/apache/stratos/manager/deploy/cartridge/DefaultCartridgeDeployer.java
----------------------------------------------------------------------
diff --git a/components/org.apache.stratos.manager/src/main/java/org/apache/stratos/manager/deploy/cartridge/DefaultCartridgeDeployer.java b/components/org.apache.stratos.manager/src/main/java/org/apache/stratos/manager/deploy/cartridge/DefaultCartridgeDeployer.java
index b080a9f..6d3e8a5 100644
--- a/components/org.apache.stratos.manager/src/main/java/org/apache/stratos/manager/deploy/cartridge/DefaultCartridgeDeployer.java
+++ b/components/org.apache.stratos.manager/src/main/java/org/apache/stratos/manager/deploy/cartridge/DefaultCartridgeDeployer.java
@@ -24,19 +24,16 @@ import org.apache.stratos.cloud.controller.stub.domain.CartridgeConfig;
import org.apache.stratos.manager.client.CloudControllerServiceClient;
import org.apache.stratos.manager.exception.ADCException;
-public class DefaultCartridgeDeployer extends CartridgeDeployer{
+public class DefaultCartridgeDeployer extends CartridgeDeployer {
private static Log log = LogFactory.getLog(DefaultCartridgeDeployer.class);
@Override
protected void preDeployment() {
-
}
@Override
protected void postDeployment() {
- // TODO Auto-generated method stub
-
}
@Override
@@ -45,10 +42,9 @@ public class DefaultCartridgeDeployer extends CartridgeDeployer{
CloudControllerServiceClient cloudControllerServiceClient = CloudControllerServiceClient.getServiceClient();
cloudControllerServiceClient.deployCartridgeDefinition(cartridgeConfig);
} catch (Exception e) {
- String msg = "Exception in deploying the cartridge. ";
- log.error(msg + e.getMessage());
+ String msg = "Could not deploy cartridge";
+ log.error(msg, e);
throw new ADCException(msg);
}
}
-
}
http://git-wip-us.apache.org/repos/asf/stratos/blob/2f7d4aaf/components/org.apache.stratos.rest.endpoint/src/main/java/org/apache/stratos/rest/endpoint/api/StratosApiV41Utils.java
----------------------------------------------------------------------
diff --git a/components/org.apache.stratos.rest.endpoint/src/main/java/org/apache/stratos/rest/endpoint/api/StratosApiV41Utils.java b/components/org.apache.stratos.rest.endpoint/src/main/java/org/apache/stratos/rest/endpoint/api/StratosApiV41Utils.java
index 52a69eb..8e57154 100644
--- a/components/org.apache.stratos.rest.endpoint/src/main/java/org/apache/stratos/rest/endpoint/api/StratosApiV41Utils.java
+++ b/components/org.apache.stratos.rest.endpoint/src/main/java/org/apache/stratos/rest/endpoint/api/StratosApiV41Utils.java
@@ -88,7 +88,7 @@ public class StratosApiV41Utils {
public static void createCartridgeDefinition(CartridgeDefinitionBean cartridgeDefinitionBean, ConfigurationContext ctxt,
String userName, String tenantDomain) throws RestAPIException {
- log.info("Starting to deploy a cartridge [type] " + cartridgeDefinitionBean.type);
+ log.info("Starting to deploy a cartridge: [type] " + cartridgeDefinitionBean.type);
CartridgeConfig cartridgeConfig = PojoConverter.populateCartridgeConfigPojo(cartridgeDefinitionBean);
if (cartridgeConfig == null) {
@@ -102,7 +102,7 @@ public class StratosApiV41Utils {
} catch (ADCException e) {
throw new RestAPIException(e);
}
- log.info("Successfully deployed cartridge [type] " + cartridgeDefinitionBean.type);
+ log.info("Successfully deployed cartridge: [type] " + cartridgeDefinitionBean.type);
}
public static void deleteCartridgeDefinition(String cartridgeType) throws RestAPIException {
@@ -113,18 +113,17 @@ public class StratosApiV41Utils {
CartridgeInfo cartridgeInfo = null;
try {
cartridgeInfo = cloudControllerServiceClient.getCartridgeInfo(cartridgeType);
-
} catch (RemoteException e) {
- log.error("Error in getting Cartridge details for type " + cartridgeType);
+ log.error("Could not find cartridge: [type] " + cartridgeType);
throw new RestAPIException(e);
} catch (CloudControllerServiceUnregisteredCartridgeExceptionException e) {
- log.error("Error in getting Cartridge details for type " + cartridgeType);
+ log.error("Could not find cartridge: [type] " + cartridgeType);
throw new RestAPIException(e);
}
if (cartridgeInfo == null) {
- String errorMsg = "Cartridge information not found for type " + cartridgeType;
+ String errorMsg = "Could not find cartridge: [type] " + cartridgeType;
log.error(errorMsg);
throw new RestAPIException(errorMsg);
}