Skip to content
This repository was archived by the owner on May 12, 2021. It is now read-only.

CurveFitting GSoC - 2015 #451

Open
wants to merge 190 commits into
base: gsoc-projects-2015
Choose a base branch
from
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
190 commits
Select commit Hold shift + click to select a range
38e3e44
First Commit
Pranavan135 Jun 8, 2015
4bd3e3f
Methods added inside RuleTasksDelegator
Pranavan135 Jun 8, 2015
ed69ca0
Merge remote-tracking branch 'upstream/master' into CurveFittingGSoC
Pranavan135 Jun 10, 2015
37ce622
Dependency added for Apache common math lib
Pranavan135 Jun 10, 2015
d138c29
Revert "Dependency added for Apache common math lib"
Pranavan135 Jun 10, 2015
eaefa66
Dependency for Math libs and CurveFittingWindowProcessor added
Pranavan135 Jun 10, 2015
e6b6d49
Unwanted Log files deleted
Pranavan135 Jun 10, 2015
67ab5fb
Merge remote-tracking branch 'upstream/master' into CurveFittingGSoC
Pranavan135 Jun 11, 2015
d0c93d0
Window processor added
Pranavan135 Jun 11, 2015
0b4bc27
Prediction value calculation method added
Pranavan135 Jun 11, 2015
5be5828
Merge remote-tracking branch 'upstream/master' into CurveFittingGSoC
Pranavan135 Jun 11, 2015
16bb7a8
Overrided methods implemented inside CurveFinderWindowProcessor
Pranavan135 Jun 11, 2015
9633f82
RulesTaskDelegator
Pranavan135 Jun 12, 2015
5fa2e65
Merge remote-tracking branch 'upstream/master' into CurveFittingGSoC
Pranavan135 Jun 12, 2015
3a1f134
Merge remote-tracking branch 'upstream/master' into CurveFittingGSoC
Pranavan135 Jun 13, 2015
aec73d3
Changes
Pranavan135 Jun 13, 2015
c0426f7
CurveFitting n pairs =====> second order polynomial
Pranavan135 Jun 14, 2015
5a5811f
Unwanted Log files deleted
Pranavan135 Jun 14, 2015
736ac3d
EMA started
Pranavan135 Jun 14, 2015
6989b69
Merge remote-tracking branch 'upstream/master' into CurveFittingGSoC
Pranavan135 Jun 14, 2015
e7dd0be
Merge remote-tracking branch 'upstream/master' into CurveFittingGSoC
Pranavan135 Jun 16, 2015
2be488e
Merge remote-tracking branch 'upstream/master' into CurveFittingGSoC
Pranavan135 Jun 18, 2015
242e4a3
Curvefinder siddhi extension added for in flight events
Pranavan135 Jun 18, 2015
db0ee5d
Formatted
Pranavan135 Jun 18, 2015
fda60c2
Artifacts for CEP extension added
Pranavan135 Jun 21, 2015
2cbb276
Merge remote-tracking branch 'upstream/master' into CurveFittingGSoC
Pranavan135 Jun 21, 2015
57b19b4
Stream Manager Updated
Pranavan135 Jun 21, 2015
62657f8
Merge remote-tracking branch 'upstream/master' into CurveFittingGSoC
Pranavan135 Jun 22, 2015
5d7a2d3
entry added to siddhi.extension
Pranavan135 Jun 22, 2015
8d7a744
Unwanted Log files deleted
Pranavan135 Jun 23, 2015
3c5c73a
Merge remote-tracking branch 'upstream/master' into CurveFittingGSoC
Pranavan135 Jun 23, 2015
870c5fa
Query error fixed
Pranavan135 Jun 23, 2015
84158af
Streams added to stream manager
Pranavan135 Jun 23, 2015
528fb74
Merge remote-tracking branch 'upstream/master' into CurveFittingGSoC
Pranavan135 Jun 26, 2015
54e899d
Merge remote-tracking branch 'upstream/master' into CurveFittingGSoC
Pranavan135 Jul 2, 2015
86b5afd
Merge remote-tracking branch 'upstream/master' into CurveFittingGSoC
Pranavan135 Jul 5, 2015
b6cbb04
Merge remote-tracking branch 'upstream/master' into CurveFittingGSoC
Pranavan135 Jul 9, 2015
a1c0982
Merge remote-tracking branch 'upstream/master' into CurveFittingGSoC
Pranavan135 Jul 10, 2015
6799096
Queries added
Pranavan135 Jul 10, 2015
1289e1e
Merge remote-tracking branch 'upstream/master' into CurveFittingGSoC
Pranavan135 Jul 12, 2015
783b15d
Merge remote-tracking branch 'upstream/master' into CurveFittingGSoC
Pranavan135 Jul 18, 2015
c3b36bf
EMA in-cooperated
Pranavan135 Jul 18, 2015
5dcba57
Issues Fixed
Pranavan135 Jul 23, 2015
1a9fa15
Merge remote-tracking branch 'upstream/master' into CurveFittingGSoC
Pranavan135 Jul 25, 2015
a6db4e0
Event changed
Pranavan135 Jul 25, 2015
8b8d560
Merge remote-tracking branch 'upstream/master' into CurveFittingGSoC
Pranavan135 Aug 3, 2015
277d53d
Errors in Window Processor Fixed
Pranavan135 Aug 3, 2015
f105f33
Cleaning and Formatting Code
Aug 7, 2015
b6f5b74
Listeners Added for Curve Finder
Pranavan135 Aug 7, 2015
aa36c21
Listeners and Monitor Updated
Pranavan135 Aug 7, 2015
22bd108
Merge remote-tracking branch 'upstream/master' into CurveFittingGSoC
Pranavan135 Aug 7, 2015
e0f9657
LoadAverageEvent end to end flow achieved
Pranavan135 Aug 8, 2015
8c599c2
MessageProcessors Added
Pranavan135 Aug 9, 2015
7aff698
Server start up error fixed
Pranavan135 Aug 9, 2015
abee453
Merge remote-tracking branch 'upstream/master' into CurveFittingGSoC
Pranavan135 Aug 9, 2015
0f24238
Merge branch 'master' of https://github.com/Thanu/stratos
swgkg Aug 10, 2015
63060cf
Removing deployment policy from group
Aug 10, 2015
676cfef
Info comments for checking the events flow added. Later to be removed
Megala21 Aug 10, 2015
ee1ca9a
Fix to accept payload parameter values with equal sign
lasinducharith Aug 10, 2015
ba06d09
Updating os/php sample
lasinducharith Aug 11, 2015
1e0d3bd
Preparing for next development iteration: updating pom version to 4.1…
ravihansa3000 Aug 11, 2015
e5dbd77
Fixing registry browsing issue; uplifting registry.core feature to 4.2.2
ravihansa3000 Aug 11, 2015
d616372
Updating Stratos dependencies versions to project version
ravihansa3000 Aug 11, 2015
ab954dd
Merge remote-tracking branch 'upstream/master' into CurveFittingGSoC
Pranavan135 Aug 11, 2015
ec67c9d
Merge branch 'CurveFittingGSoC' of https://github.com/Pranavan135/str…
Pranavan135 Aug 11, 2015
8454011
Logs added for CurveFitter
Pranavan135 Aug 11, 2015
8d321a2
Removing unnecessary features, artifacts and restructuring distributi…
ravihansa3000 Aug 11, 2015
560e65e
Casting error fixed
Pranavan135 Aug 11, 2015
dc9f2c5
Events are changed to get ======> a, b, c
Pranavan135 Aug 12, 2015
f78ab82
Restructuring the integration test and adding more test cases
rekathiru Aug 11, 2015
55015ca
fixing test failures with wrong application name
rekathiru Aug 11, 2015
15653d7
Increasing the timeout
rekathiru Aug 11, 2015
838b0bb
adding warning when partition is not available in order create a member
rekathiru Aug 11, 2015
ced8fad
adding write logs and changes in the variables
rekathiru Aug 11, 2015
0eacfad
adding samples for termination behavior test
rekathiru Aug 12, 2015
ab9fed7
STRATOS-1495 - create kubernetes services and port mappings once
lasinducharith Aug 12, 2015
bb80148
Removing license headers from INSTALL.md files
imesh Aug 12, 2015
4b5a381
Removing license headers from README.md files
imesh Aug 12, 2015
a2749a9
Fixing formatting issues
lahirugmg Aug 7, 2015
103058c
StreamDefinitions Changed
Pranavan135 Aug 12, 2015
0b3b13a
Except Window Processor others are changed
Pranavan135 Aug 12, 2015
6a736f3
Merge remote-tracking branch 'upstream/master' into CurveFittingGSoC
Pranavan135 Aug 12, 2015
8391711
Fixed Removing single quote character being added to ports in PCA
swgkg Aug 13, 2015
0e53a08
Fixed Removing single quote character being added to ports in PCA
swgkg Aug 13, 2015
41b2b9c
Fixed Removing single quote character being added to ports in PCA
swgkg Aug 13, 2015
470e770
Input Stream Changes Reverted
Pranavan135 Aug 13, 2015
9fb0b52
Output Stream Added
Pranavan135 Aug 13, 2015
0b803a4
Adding kubernetes services to member initialized event
pubudu538 Aug 12, 2015
bf7136a
Adding portName property to kubernetes service
pubudu538 Aug 13, 2015
6ff03c4
This closes #431 on GitHub
imesh Aug 13, 2015
27190b7
Adding PORT_MAPPINGS to payload parameters in jcloud IaaS
anuruddhal Aug 12, 2015
cc8f9de
Adding method comments and constants
anuruddhal Aug 13, 2015
bc43528
Fixing comment
anuruddhal Aug 13, 2015
c539fd7
Changing comment
anuruddhal Aug 13, 2015
0b749e6
Changing comment
anuruddhal Aug 13, 2015
0f2b953
This closes #432 on GitHub
imesh Aug 13, 2015
512280a
adding termination behavior test and list test case for all the artif…
rekathiru Aug 14, 2015
121f118
adding list operation to application, cartridge, and all other policies
rekathiru Aug 14, 2015
4dc0f9a
reducing the log level as it gets printed frequently and can be omitted
rekathiru Aug 14, 2015
295c545
Upgrading to jclouds 1.9.1
ravihansa3000 Aug 14, 2015
b64400e
Adding back repository/conf/multitenacy to distribution since it is r…
ravihansa3000 Aug 14, 2015
50b2c9d
Adding jclouds debug logs to log4j
ravihansa3000 Aug 14, 2015
ee574c3
Upgrade to GSON 2.3 project-wide, fix osgi import/exports in gce
ravihansa3000 Aug 14, 2015
7d95378
Fix groupId for aws-ec2 forked dependency
ravihansa3000 Aug 14, 2015
3284ff6
Queries changed
Pranavan135 Aug 15, 2015
5c81f8c
Merge remote-tracking branch 'upstream/master' into CurveFittingGSoC
Pranavan135 Aug 15, 2015
9f43d7a
Adding multitenancy dir back to distribution
lasinducharith Aug 15, 2015
b2cf621
Coeffcient values are inserted into the new output stream
Pranavan135 Aug 15, 2015
d52dd3d
Merge remote-tracking branch 'upstream/master' into CurveFittingGSoC
Pranavan135 Aug 15, 2015
361818b
Some overall Changes
Pranavan135 Aug 15, 2015
80477d3
EventFormatter Problem Fixed
Pranavan135 Aug 15, 2015
c4773fb
EventFormatter Name changed
Pranavan135 Aug 15, 2015
1ecfcca
Queries Are corrected
Pranavan135 Aug 15, 2015
881ec0c
Updating jclouds dependency versions
ravihansa3000 Aug 15, 2015
32b56ce
Query Bugs Fixed
Pranavan135 Aug 15, 2015
ed83827
Merge remote-tracking branch 'upstream/master' into CurveFittingGSoC
Pranavan135 Aug 16, 2015
ee096d7
Syntax Error in Query Corrected
Pranavan135 Aug 16, 2015
362a343
Query Issues
Pranavan135 Aug 16, 2015
d59418d
Query CHanged
Pranavan135 Aug 16, 2015
0a1e309
Payload Problem Resolved
Pranavan135 Aug 16, 2015
df4b1d7
Error Fixed
Pranavan135 Aug 16, 2015
ca20cb1
Logs inside ClusterMonitor
Pranavan135 Aug 16, 2015
66c6363
Flow achieved Issues Resolved
Pranavan135 Aug 16, 2015
5515a5c
STRATOS-1499 - setting auto increment cluster-id as kubernetes servic…
lasinducharith Aug 17, 2015
d45bd6e
Revert "STRATOS-1499 - setting auto increment cluster-id as kubernete…
lasinducharith Aug 17, 2015
85201b0
Diff added for CEP 3.1.0
Pranavan135 Aug 17, 2015
9f12675
Merge remote-tracking branch 'upstream/master' into CurveFittingGSoC
Pranavan135 Aug 17, 2015
c27d4f9
Changed
Pranavan135 Aug 17, 2015
5ec341d
Changes for 3.1 CEP
Pranavan135 Aug 17, 2015
018fc64
Revert "Changes for 3.1 CEP"
Pranavan135 Aug 17, 2015
47f46c5
Sliding Window
Pranavan135 Aug 17, 2015
7b9dc7d
Adding Kubernetes Services to cluster in PCA
pubudu538 Aug 16, 2015
96b4c26
This closes #435 on GitHub
imesh Aug 18, 2015
236420a
Dependency added to bin
Pranavan135 Aug 18, 2015
48cca39
STRATOS-1515: Adding new property signUpsExist to application bean
imesh Aug 18, 2015
e716628
Merge remote-tracking branch 'upstream/master' into CurveFittingGSoC
Pranavan135 Aug 18, 2015
e3ba647
adding complex application and disabling the termination behavior test
rekathiru Aug 15, 2015
a022edd
adding group startup order samples
rekathiru Aug 17, 2015
27a6d76
fixing startup order test samples
rekathiru Aug 18, 2015
acdafd1
fixing faulty member detection by using member id as instance id in m…
rekathiru Aug 18, 2015
94446b5
STRATOS-1499 - Replacing cluster_id with md5 hash value
lasinducharith Aug 19, 2015
08f8963
[STRATOS-1501] Application signups not available in the UI
dakshika Aug 20, 2015
61214a3
clean up js logs
dakshika Aug 20, 2015
bee0d76
Fixing -Dsetup not working issue
lasinducharith Aug 20, 2015
e59a6e1
fixing startup order test cases issues
rekathiru Aug 20, 2015
2f6a191
fixing monitors getting executed in order to satisfy the minimum coun…
rekathiru Aug 20, 2015
0c794b0
fixing the application deployment unnecessary wait time
rekathiru Aug 20, 2015
d1a5ce4
code formatting
rekathiru Aug 20, 2015
dd3aa62
Revert "Updating jclouds dependency versions"
imesh Aug 20, 2015
02fb828
Revert "Fix groupId for aws-ec2 forked dependency"
imesh Aug 20, 2015
8dce846
Revert "Upgrade to GSON 2.3 project-wide, fix osgi import/exports in …
imesh Aug 20, 2015
f0dc4dd
Revert "Adding jclouds debug logs to log4j"
imesh Aug 20, 2015
b45ae00
Revert "Upgrading to jclouds 1.9.1"
imesh Aug 20, 2015
96774d2
Merge remote-tracking branch 'upstream/master' into CurveFittingGSoC
Pranavan135 Aug 20, 2015
3054308
ArrayIndexOutOfBounds Exception is fixed
Pranavan135 Aug 20, 2015
cd336d3
Applying kernel patches, upgraded Carbon UI fork, fixed GCE osgi issue
ravihansa3000 Aug 18, 2015
0478f14
Including OSGi wrappers for jclouds dependencies to fix STRATOS-1516
ravihansa3000 Aug 20, 2015
897edde
Merging jclouds GCE fix with upstream - resolving conflicts
ravihansa3000 Aug 21, 2015
92ff7e9
Adding network resource to GCE, removing default inbound ports
ravihansa3000 Aug 21, 2015
cb2b62a
support parallel executing for the test cases
rekathiru Aug 20, 2015
961a60f
adding user test case and scale-down test case
rekathiru Aug 21, 2015
8313e57
fixing scale-down issue
rekathiru Aug 21, 2015
8534d35
increasing the timeout and enabling all the test cases
rekathiru Aug 21, 2015
4118b56
Improved pom structure in dependency wrappers, moved kernel dbscripts…
ravihansa3000 Aug 21, 2015
bef7f66
Adding Carbon kernel patch0012
ravihansa3000 Aug 22, 2015
028c353
Cleaning up pom files, removing unused features from p2 profile, remo…
ravihansa3000 Aug 23, 2015
70b2d64
Adding more logs to component activate methods, component synchronize…
ravihansa3000 Aug 23, 2015
81313b6
Adding empty relativePath tags to get rid of Maven warnings
ravihansa3000 Aug 24, 2015
d9c573a
Moving PCA integration test to live profile temporary until Jenkins b…
ravihansa3000 Aug 24, 2015
cab0d80
Fixing maven deploy problem in Carbon UI dependency
ravihansa3000 Aug 24, 2015
6f0cd45
Testing Values
Pranavan135 Aug 24, 2015
a648193
Changed
Pranavan135 Aug 24, 2015
467b6ae
WindowProcessor changed
Pranavan135 Aug 24, 2015
fd7d1fb
Correct event publishing order when deploying an app: fixing STRATOS-…
ravihansa3000 Aug 24, 2015
1c45330
Excluding Carbon UI from rat plugin
ravihansa3000 Aug 24, 2015
b9591a4
Fix NPE when loading persisted applications from registry
ravihansa3000 Aug 25, 2015
1cf0d0f
Change Kubernetes API dependency bundle version to original released …
ravihansa3000 Aug 25, 2015
7f89735
Remove tenant activity feature from Stratos p2 profile
ravihansa3000 Aug 25, 2015
4e99d8c
Reverting PCA test profile
ravihansa3000 Aug 25, 2015
eefef71
Preparing for next development iteration
ravihansa3000 Aug 25, 2015
48f66f9
Changed
Pranavan135 Aug 25, 2015
cd93633
Merge remote-tracking branch 'upstream/master' into CurveFittingGSoC
Pranavan135 Aug 25, 2015
8ddd995
logs added
Pranavan135 Aug 25, 2015
54c8332
Changes adopted
Pranavan135 Aug 25, 2015
c8f26f5
Revert "Preparing for next development iteration"
Pranavan135 Aug 25, 2015
f3db3a6
Patch Revereted
Pranavan135 Aug 25, 2015
63ed18d
Finished
Pranavan135 Aug 25, 2015
e6f692a
Finished
Pranavan135 Aug 26, 2015
08bb128
Changed
Pranavan135 Aug 26, 2015
f338310
Final commit
Pranavan135 Aug 26, 2015
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
The table of contents is too big for display.
Diff view
Diff view
  •  
  •  
  •  
33 changes: 7 additions & 26 deletions components/org.apache.stratos.autoscaler/pom.xml
Original file line number Diff line number Diff line change
Expand Up @@ -17,31 +17,27 @@
specific language governing permissions and limitations
under the License.
-->

<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd">

<modelVersion>4.0.0</modelVersion>
<parent>
<groupId>org.apache.stratos</groupId>
<artifactId>stratos-components-parent</artifactId>
<version>4.1.1</version>
<version>4.1.2-SNAPSHOT</version>
</parent>

<modelVersion>4.0.0</modelVersion>
<artifactId>org.apache.stratos.autoscaler</artifactId>
<packaging>bundle</packaging>
<name>Apache Stratos - Autoscaler</name>
<description>Autoscaler components</description>
<url>http://apache.org</url>

<dependencies>
<dependency>
<groupId>org.wso2.carbon</groupId>
<artifactId>org.wso2.carbon.registry.core</artifactId>
<version>${carbon.platform.version}</version>
<version>${carbon.kernel.version}</version>
<scope>provided</scope>
</dependency>

<dependency>
<groupId>org.drools</groupId>
<artifactId>drools-core</artifactId>
Expand Down Expand Up @@ -102,16 +98,6 @@
<artifactId>mvel2</artifactId>
<version>2.1.3.Final</version>
</dependency>
<!--dependency>
<groupId>org.slf4j</groupId>
<artifactId>slf4j-api</artifactId>
<version>1.6.4</version>
</dependency>
<dependency>
<groupId>org.slf4j</groupId>
<artifactId>slf4j-log4j12</artifactId>
<version>1.6.4</version>
</dependency-->
<dependency>
<groupId>org.drools</groupId>
<artifactId>drools-verifier</artifactId>
Expand Down Expand Up @@ -162,7 +148,7 @@
<dependency>
<groupId>org.wso2.carbon</groupId>
<artifactId>org.wso2.carbon.utils</artifactId>
<version>${wso2carbon.version}</version>
<version>${carbon.kernel.version}</version>
<scope>provided</scope>
</dependency>
<dependency>
Expand All @@ -175,7 +161,7 @@
<groupId>org.wso2.carbon</groupId>
<artifactId>org.wso2.carbon.ntask.core</artifactId>
<scope>provided</scope>
<version>${wso2carbon.version}</version>
<version>${carbon.kernel.version}</version>
</dependency>
<dependency>
<groupId>org.apache.stratos</groupId>
Expand All @@ -195,7 +181,7 @@
<dependency>
<groupId>org.wso2.carbon</groupId>
<artifactId>org.wso2.carbon.identity.application.mgt.stub</artifactId>
<version>${wso2carbon.version}</version>
<version>${carbon.kernel.version}</version>
</dependency>
<dependency>
<groupId>com.nimbusds.wso2</groupId>
Expand All @@ -213,7 +199,6 @@
<plugin>
<groupId>org.apache.felix</groupId>
<artifactId>maven-bundle-plugin</artifactId>

<extensions>true</extensions>
<configuration>
<instructions>
Expand All @@ -223,7 +208,6 @@
<Export-Package>!org.apache.stratos.autoscaler.internal.*,org.apache.stratos.autoscaler.*
</Export-Package>
<Import-Package>
org.osgi.framework.*;resolution:=optional,
org.apache.stratos.common.services.*; version="${project.version}",
*;resolution:=optional
</Import-Package>
Expand Down Expand Up @@ -260,7 +244,4 @@
</resource>
</resources>
</build>
<properties>
<drools.version>5.5.0.Final</drools.version>
</properties>
</project>
</project>
Original file line number Diff line number Diff line change
Expand Up @@ -93,7 +93,7 @@ public PartitionContext getNextScaleDownPartitionContext(PartitionContext[] part
}
}

if (partitionContexts[selectedIndex].getNonTerminatedMemberCount() < partitionContexts[selectedIndex].getMax()) {
if (partitionContexts[selectedIndex].getNonTerminatedMemberCount() <= partitionContexts[selectedIndex].getMax()) {

if (log.isDebugEnabled()) {
log.debug(String.format("[round-robin algorithm] [scale-down] [partition] %s has has members that" +
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -71,17 +71,16 @@ public static Applications getApplications() {
if (applications == null) {
synchronized (ApplicationHolder.class) {
if (applications == null) {
// create a new Applications object for autoscaler
applications = new Applications();

// retrieve from registry
if (log.isDebugEnabled()) {
log.debug("Trying to retrieve applications from registry...");
log.debug("Loading applications persisted in registry...");
}
applications = AutoscalerUtil.getApplications();
if (applications == null) {
if (log.isDebugEnabled()) {
log.debug("No applications found in registry");
}
// create a new Applications object
applications = new Applications();
applications = AutoscalerUtil.loadApplicationsFromRegistry(applications);
if (applications.getApplications().isEmpty()) {
log.info("No applications found in registry.");
}
}
}
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -37,11 +37,11 @@
import java.util.regex.Pattern;

public class ApplicationUtils {
private static final Log log = LogFactory.getLog(ApplicationUtils.class);

public static final String TOKEN_PAYLOAD_PARAM_NAME = "TOKEN";
public static final String DEPLOYMENT = "DEPLOYMENT";
private static final String PORT_SEPARATOR="|";
public static final String PAYLOAD_PARAMETER = "payload_parameter.";
private static final Log log = LogFactory.getLog(ApplicationUtils.class);
public static Pattern ALIAS_PATTERN = Pattern.compile("([a-z0-9]+([-][a-z0-9])*)+");

public static boolean isAliasValid(String alias) {
Expand Down Expand Up @@ -76,7 +76,13 @@ public static Properties getGlobalPayloadData() {
return globalProperties;
}

private static String createPortMappingPayloadString(Cartridge cartridge) {
/**
* This method creates payload string with port numbers in
* 'PORTS': '9443|8280|8243' format
* @param cartridge
* @return String containing ports
*/
private static String createPortsToPayloadString(Cartridge cartridge) {

// port mappings
StringBuilder portMapBuilder = new StringBuilder();
Expand All @@ -88,8 +94,7 @@ private static String createPortMappingPayloadString(Cartridge cartridge) {
}

for (PortMapping portMapping : portMappings) {
int port = portMapping.getPort();
portMapBuilder.append(port).append("|");
portMapBuilder.append(portMapping.getPort()).append(PORT_SEPARATOR);
}

// remove last "|" character
Expand All @@ -98,6 +103,39 @@ private static String createPortMappingPayloadString(Cartridge cartridge) {
return portMappingString;
}

/**
* This method creates payload string with port mappings in following format.
* PORT_MAPPINGS='NAME:mgt-console|PROTOCOL:https|PORT:30649|PROXY_PORT:0|TYPE:NodePort;
* NAME:pt-http|PROTOCOL:http|PORT:30650|PROXY_PORT:0|TYPE:NodePort;
* NAME:pt-https|PROTOCOL:https|PORT:30651|PROXY_PORT:0|TYPE:NodePort
* @param cartridge
* @return string containing port mapping
*/
private static String createPortMappingsToPayloadString(Cartridge cartridge) {

// port mappings
StringBuilder portMapBuilder = new StringBuilder();
PortMapping[] portMappings = cartridge.getPortMappings();

if (cartridge.getPortMappings()[0] == null) {
// first element is null, which means no port mappings.
return null;
}

for (PortMapping portMapping : portMappings) {
int port = portMapping.getPort();
//Format : NAME:mgt-console|PROTOCOL:https|PORT:30649|PROXY_PORT:0|TYPE:NodePort;
portMapBuilder.append(String.format("NAME:%s|PROTOCOL:%s|PORT:%d|PROXY_PORT:%d|TYPE:%s;",
portMapping.getName(), portMapping.getProtocol(),
portMapping.getPort(), portMapping.getProxyPort(),
portMapping.getKubernetesPortType()));
}
//remove last ";" character
String portMappingString = portMapBuilder.toString().replaceAll(";$", "");
return portMappingString;

}

public static StringBuilder getTextPayload(String appId, String groupName, String clusterId) {

StringBuilder payloadBuilder = new StringBuilder();
Expand Down Expand Up @@ -139,12 +177,12 @@ public static StringBuilder getTextPayload(String appId, String groupName, Strin
public static PayloadData createPayload(String appId, String groupName, Cartridge cartridge, String subscriptionKey, int tenantId, String clusterId,
String hostName, String repoUrl, String alias, Map<String, String> customPayloadEntries, String[] dependencyAliases,
org.apache.stratos.common.Properties properties, String oauthToken, String[] dependencyClusterIDs,
String[] exportMetadata, String[] importMetadata,String lvsVirtualIP)
String[] exportMetadata, String[] importMetadata, String lvsVirtualIP)
throws ApplicationDefinitionException {

//Create the payload
BasicPayloadData basicPayloadData = createBasicPayload(appId, groupName, cartridge, subscriptionKey,
clusterId, hostName, repoUrl, alias, tenantId, dependencyAliases, dependencyClusterIDs, exportMetadata, importMetadata,lvsVirtualIP);
clusterId, hostName, repoUrl, alias, tenantId, dependencyAliases, dependencyClusterIDs, exportMetadata, importMetadata, lvsVirtualIP);
//Populate the basic payload details
basicPayloadData.populatePayload();

Expand Down Expand Up @@ -212,7 +250,7 @@ private static BasicPayloadData createBasicPayload(String appId, String groupNam
String subscriptionKey, String clusterId,
String hostName, String repoUrl, String alias,
int tenantId, String[] dependencyAliases, String[] dependencyCLusterIDs,
String[] exportMetadata, String[] importMetadata,String lvsVirtualIP) {
String[] exportMetadata, String[] importMetadata, String lvsVirtualIP) {

BasicPayloadData basicPayloadData = new BasicPayloadData();
basicPayloadData.setAppId(appId);
Expand All @@ -221,10 +259,11 @@ private static BasicPayloadData createBasicPayload(String appId, String groupNam
basicPayloadData.setSubscriptionKey(subscriptionKey);
//basicPayloadData.setDeployment("default");//currently hard coded to default
basicPayloadData.setMultitenant(String.valueOf(cartridge.getMultiTenant()));
basicPayloadData.setPortMappings(createPortMappingPayloadString(cartridge));
basicPayloadData.setPorts(createPortsToPayloadString(cartridge));
basicPayloadData.setPortMappings(createPortMappingsToPayloadString(cartridge));
basicPayloadData.setServiceName(cartridge.getType());
basicPayloadData.setProvider(cartridge.getProvider());
basicPayloadData.setLvsVirtualIP(lvsVirtualIP);
basicPayloadData.setLvsVirtualIP(lvsVirtualIP);

if (repoUrl != null) {
basicPayloadData.setGitRepositoryUrl(repoUrl);
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -39,14 +39,30 @@ private DependencyBuilder() {

}

private static class Holder {
private static final DependencyBuilder INSTANCE = new DependencyBuilder();
}

public static DependencyBuilder getInstance() {
return Holder.INSTANCE;
}

/**
* Utility method to get the group alias from the startup order Eg: group.mygroup
*
* @param startupOrder startup order
* @return group alias
*/
public static String getGroupFromStartupOrder(String startupOrder) {
return startupOrder.substring(AutoscalerConstants.GROUP.length() + 1);
}

/**
* Utility method to get the cluster alias from startup order Eg: cartridge.myphp
*
* @param startupOrder startup order
* @return cluster alias
*/
public static String getClusterFromStartupOrder(String startupOrder) {
return startupOrder.substring(AutoscalerConstants.CARTRIDGE.length() + 1);
}

/**
* This will build the dependency tree based on the given dependencies
*
Expand Down Expand Up @@ -236,23 +252,7 @@ public Set<ScalingDependentList> buildScalingDependencies(ParentComponent compon
return scalingDependentLists;
}

/**
* Utility method to get the group alias from the startup order Eg: group.mygroup
*
* @param startupOrder startup order
* @return group alias
*/
public static String getGroupFromStartupOrder(String startupOrder) {
return startupOrder.substring(AutoscalerConstants.GROUP.length() + 1);
}

/**
* Utility method to get the cluster alias from startup order Eg: cartridge.myphp
*
* @param startupOrder startup order
* @return cluster alias
*/
public static String getClusterFromStartupOrder(String startupOrder) {
return startupOrder.substring(AutoscalerConstants.CARTRIDGE.length() + 1);
private static class Holder {
private static final DependencyBuilder INSTANCE = new DependencyBuilder();
}
}
Original file line number Diff line number Diff line change
Expand Up @@ -230,10 +230,6 @@ public List<ApplicationChildContext> findAllChildrenOfAppContext() {
allChildrenOfAppContext);
}

public void setTerminationBehavior(TerminationBehavior terminationBehavior) {
this.terminationBehavior = terminationBehavior;
}

public boolean isTerminateDependent() {
return this.getTerminationBehavior() == TerminationBehavior.TERMINATE_DEPENDENT;
}
Expand All @@ -242,13 +238,12 @@ public boolean isTerminateAll() {
return this.getTerminationBehavior() == TerminationBehavior.TERMINATE_ALL;
}


public TerminationBehavior getTerminationBehavior() {
return terminationBehavior;
}

public enum TerminationBehavior {
TERMINATE_ALL, TERMINATE_NONE, TERMINATE_DEPENDENT
public void setTerminationBehavior(TerminationBehavior terminationBehavior) {
this.terminationBehavior = terminationBehavior;
}

public String getId() {
Expand Down Expand Up @@ -281,4 +276,8 @@ private void buildTreeStructure(ApplicationChildContext applicationChildContext,
}
}
}

public enum TerminationBehavior {
TERMINATE_ALL, TERMINATE_NONE, TERMINATE_DEPENDENT
}
}
Original file line number Diff line number Diff line change
Expand Up @@ -29,17 +29,16 @@
*/
public abstract class ApplicationChildContext {

private String id;
protected boolean started;
protected boolean hasStartupDependents;
protected boolean isGroupScalingEnabled;
private String id;
private boolean terminated;
private ClusterStatus status;
private Stack<ClusterStatus> statusLifeCycle;
private List<ApplicationChildContext> applicationChildContextList;
private ApplicationChildContext parent;

protected boolean hasStartupDependents;
protected boolean isGroupScalingEnabled;

public ApplicationChildContext(String id, boolean killDependent) {
applicationChildContextList = new ArrayList<ApplicationChildContext>();
statusLifeCycle = new Stack<ClusterStatus>();
Expand Down
Loading