You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@stratos.apache.org by ra...@apache.org on 2015/03/03 12:29:08 UTC
[1/2] stratos git commit: more validation on application policy
against application
Repository: stratos
Updated Branches:
refs/heads/master 38486fca9 -> 57b1dcf8c
more validation on application policy against application
Project: http://git-wip-us.apache.org/repos/asf/stratos/repo
Commit: http://git-wip-us.apache.org/repos/asf/stratos/commit/9281aaaf
Tree: http://git-wip-us.apache.org/repos/asf/stratos/tree/9281aaaf
Diff: http://git-wip-us.apache.org/repos/asf/stratos/diff/9281aaaf
Branch: refs/heads/master
Commit: 9281aaaf1fa43c22db2cb466dd8764fc8ff75e70
Parents: 38486fc
Author: R-Rajkumar <rr...@gmail.com>
Authored: Tue Mar 3 16:55:12 2015 +0530
Committer: R-Rajkumar <rr...@gmail.com>
Committed: Tue Mar 3 16:55:12 2015 +0530
----------------------------------------------------------------------
.../parser/DefaultApplicationParser.java | 16 ++++++++++---
.../stratos/autoscaler/util/AutoscalerUtil.java | 25 +++++++++++++++++++-
2 files changed, 37 insertions(+), 4 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/stratos/blob/9281aaaf/components/org.apache.stratos.autoscaler/src/main/java/org/apache/stratos/autoscaler/applications/parser/DefaultApplicationParser.java
----------------------------------------------------------------------
diff --git a/components/org.apache.stratos.autoscaler/src/main/java/org/apache/stratos/autoscaler/applications/parser/DefaultApplicationParser.java b/components/org.apache.stratos.autoscaler/src/main/java/org/apache/stratos/autoscaler/applications/parser/DefaultApplicationParser.java
index 62cd69d..e2c9f8a 100644
--- a/components/org.apache.stratos.autoscaler/src/main/java/org/apache/stratos/autoscaler/applications/parser/DefaultApplicationParser.java
+++ b/components/org.apache.stratos.autoscaler/src/main/java/org/apache/stratos/autoscaler/applications/parser/DefaultApplicationParser.java
@@ -291,7 +291,7 @@ public class DefaultApplicationParser implements ApplicationParser {
}
}
- // Set termination behaviour
+ // Set termination behavior
String terminationBehaviour = dependencyContext.getTerminationBehaviour();
validateTerminationBehavior(terminationBehaviour);
dependencyOrder.setTerminationBehaviour(terminationBehaviour);
@@ -700,14 +700,24 @@ public class DefaultApplicationParser implements ApplicationParser {
if (startupOrders != null) {
setStartUpOrder = ParserUtils.convertStartupOrder(startupOrders, groupCtxt);
dependencyOrder.setStartupOrders(setStartUpOrder);
+ } else {
+ if (log.isDebugEnabled()) {
+ String msg = String.format("No start up order defined [group-alias] %s", groupCtxt.getAlias());
+ log.debug(msg);
+ }
}
String[] scaleDependents = getScaleDependentForGroup(groupCtxt.getName(), serviceGroup);
if (scaleDependents != null) {
dependencyOrder.setScalingDependents(ParserUtils.convertScalingDependentList(scaleDependents, groupCtxt));
+ } else {
+ if (log.isDebugEnabled()) {
+ String msg = String.format("No scaling dependent defined [group-alias] %s", groupCtxt.getAlias());
+ log.debug(msg);
+ }
}
- dependencyOrder.setTerminationBehaviour(getKillbehaviour(groupCtxt.getName(), serviceGroup));
+ dependencyOrder.setTerminationBehaviour(getTerminationBehaviour(groupCtxt.getName(), serviceGroup));
group.setDependencyOrder(dependencyOrder);
Map<String, Map<String, ClusterDataHolder>> clusterDataMap;
@@ -828,7 +838,7 @@ public class DefaultApplicationParser implements ApplicationParser {
* @return String indicating the kill behavior
* @throws ApplicationDefinitionException if an error occurs
*/
- private String getKillbehaviour(String serviceGroupName, ServiceGroup serviceGroup) throws ApplicationDefinitionException {
+ private String getTerminationBehaviour(String serviceGroupName, ServiceGroup serviceGroup) throws ApplicationDefinitionException {
ServiceGroup nestedServiceGroup = getNestedServiceGroup(serviceGroupName, serviceGroup);
http://git-wip-us.apache.org/repos/asf/stratos/blob/9281aaaf/components/org.apache.stratos.autoscaler/src/main/java/org/apache/stratos/autoscaler/util/AutoscalerUtil.java
----------------------------------------------------------------------
diff --git a/components/org.apache.stratos.autoscaler/src/main/java/org/apache/stratos/autoscaler/util/AutoscalerUtil.java b/components/org.apache.stratos.autoscaler/src/main/java/org/apache/stratos/autoscaler/util/AutoscalerUtil.java
index 97b8cb8..9e4cdec 100644
--- a/components/org.apache.stratos.autoscaler/src/main/java/org/apache/stratos/autoscaler/util/AutoscalerUtil.java
+++ b/components/org.apache.stratos.autoscaler/src/main/java/org/apache/stratos/autoscaler/util/AutoscalerUtil.java
@@ -607,7 +607,16 @@ public class AutoscalerUtil {
throw new InvalidApplicationPolicyException(msg);
}
- //TODO validate application policy against the given application
+ // validate application policy against the given application
+ if (!isAppUsingNetworkPartitionId(applicationId, networkPartitionId)) {
+ String msg = String.format("Invalid Application Policy. "
+ + "Cause -> Network partition [network-partition-id] %s is not used in application [application-id] %s. "
+ + "Hence application bursting will fail. Either remove %s from application policy or make all the cartridges available in %s",
+ networkPartitionId, applicationId, networkPartitionId, networkPartitionId);
+ log.error(msg);
+ throw new InvalidApplicationPolicyException(msg);
+ }
+
// counting number of network partitions which are active by default
if (true == applicationPolicyNetworkPartitionReference.isActiveByDefault()) {
@@ -622,4 +631,18 @@ public class AutoscalerUtil {
throw new InvalidApplicationPolicyException(msg);
}
}
+
+ private static boolean isAppUsingNetworkPartitionId(String applicationId, String networkPartitionId) {
+ if (applicationId == null || StringUtils.isBlank(applicationId)
+ || networkPartitionId == null || StringUtils.isBlank(networkPartitionId)) {
+ return false;
+ }
+ List<String> networkPartitionsReferredInApplication = AutoscalerUtil.getNetworkPartitionIdsReferedInApplication(applicationId);
+ for (String appNetworkPartitionId : networkPartitionsReferredInApplication) {
+ if (appNetworkPartitionId != null && appNetworkPartitionId.equals(networkPartitionId)) {
+ return true;
+ }
+ }
+ return false;
+ }
}
[2/2] stratos git commit: updating
esb-php-nested-with-esb-php-nested-with-mysql-php-app sample
Posted by ra...@apache.org.
updating esb-php-nested-with-esb-php-nested-with-mysql-php-app sample
Project: http://git-wip-us.apache.org/repos/asf/stratos/repo
Commit: http://git-wip-us.apache.org/repos/asf/stratos/commit/57b1dcf8
Tree: http://git-wip-us.apache.org/repos/asf/stratos/tree/57b1dcf8
Diff: http://git-wip-us.apache.org/repos/asf/stratos/diff/57b1dcf8
Branch: refs/heads/master
Commit: 57b1dcf8c474564380ac9d471a1bb5c1ca62f12a
Parents: 9281aaa
Author: R-Rajkumar <rr...@gmail.com>
Authored: Tue Mar 3 16:55:19 2015 +0530
Committer: R-Rajkumar <rr...@gmail.com>
Committed: Tue Mar 3 16:58:17 2015 +0530
----------------------------------------------------------------------
.../artifacts/application-policy.json | 4 ----
1 file changed, 4 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/stratos/blob/57b1dcf8/samples/applications/esb-php-nested-with-esb-php-nested-with-mysql-php-app/artifacts/application-policy.json
----------------------------------------------------------------------
diff --git a/samples/applications/esb-php-nested-with-esb-php-nested-with-mysql-php-app/artifacts/application-policy.json b/samples/applications/esb-php-nested-with-esb-php-nested-with-mysql-php-app/artifacts/application-policy.json
index 5aa91dd..9d2c6a1 100644
--- a/samples/applications/esb-php-nested-with-esb-php-nested-with-mysql-php-app/artifacts/application-policy.json
+++ b/samples/applications/esb-php-nested-with-esb-php-nested-with-mysql-php-app/artifacts/application-policy.json
@@ -3,10 +3,6 @@
{
"id":"network-partition-1",
"activeByDefault":"true"
- },
- {
- "id":"network-partition-2",
- "activeByDefault":"false"
}
]
}