Hi Manula, What is the reason that we change the application format – we used to define the cartridge subscription info in a separate section ("subscribableInfo": ) instead inline?
See sample below: "applicationId": "test_app5", "alias": "myapp5", "components": { "groups": [ ], "subscribables": [ { "type": "cisco-sample-vm", "alias": "c1xxx" } ] }, "subscribableInfo": [ { "alias": "c1xxx", "deploymentPolicy": "static-1-Core", "autoscalingPolicy": "economyPolicy", "privateRepo": "true", "repoPassword": "password", "repoURL": "http://xxx:10080/git/default.git", "repoUsername": "user" } ] } From: Manula Chathurika Thantriwatte [mailto:manu...@wso2.com] Sent: Monday, December 01, 2014 4:20 AM To: dev@stratos.apache.org Subject: [Discuss] Groups and Application JSON formats in Stratos 4.1.0 Hi All, I have started working on $subject. Here I have came up with the more readable way of the new groups definition JSON and the application JSON format. Both of this support nested group definitions. Below I have listed the high level format of the application and group JSON format. Application JSON format; · applicationId · alias · components · groups · name · alias · min/max · group scaling enable/disable · cartridges · min/max · subscribable info · groups · alias · min/max · group scaling enable/disable · cartridges · min/max · subscribable info · cartridges · min/max · subscribable info · dependencies · startup order · termination behavior · dependent scaling Group JSON format; · name · groups · name · cartridges · dependencies · cartridges · dependencies Below I have listed the sample JSON files as well. Application JSON : { "applicationId":"test_app5", "alias":"myapp5", "components":{ "groups":[ { "name":"group2", "alias":"group2alias", "groupMinInstances":1, "groupMaxInstances":2, "isGroupScalingEnabled":"false", "cartridges":[ { "type":"tomcat", "cartridgeMin":1, "cartridgeMax":2, "subscribableInfo":{ "alias":"alias2", "autoscalingPolicy":"autoscale_policy_1", "privateRepo":"true", "repoPassword":"password", "repoURL":"http://xxx:10080/git/default.git", "repoUsername":"user" } } ], "groups":[ { "name":"group1", "alias":"group1alias", "groupMinInstances":2, "groupMaxInstances":5, "isGroupScalingEnabled":"true", "cartridges":[ { "type":"tomcat1", "cartridgeMin":1, "cartridgeMax":2, "subscribableInfo":{ "alias":"alias3", "autoscalingPolicy":"autoscale_policy_1", "privateRepo":"true", "repoPassword":"password", "repoURL":"http://xxx:10080/git/default.git", "repoUsername":"user" } } ] } ] } ], "cartridges":[ { "type":"tomcat", "cartridgeMin":1, "cartridgeMax":2, "subscribableInfo":{ "alias":"alias1", "autoscalingPolicy":"autoscale_policy_1", "privateRepo":"true", "repoPassword":"password", "repoURL":"http://xxx:10080/git/default.git", "repoUsername":"user" } } ] } } Group JSON : { "name":"group2", "groups":[ { "name":"group1", "cartridges":[ "tomcat1" ], "dependencies":{ "terminationBehaviour":"terminate-none" } } ], "cartridges":[ "tomcat" ], "dependencies":{ "startupOrders":[ "group1,tomcat" ], "terminationBehaviour":"terminate-dependents", "scalingDependents":[ "group1,tomcat" ] } } Please share your thoughts. Thanks ! -- Regards, Manula Chathurika Thantriwatte Software Engineer WSO2 Inc. : http://wso2.com lean . enterprise . middleware email : manu...@wso2.com<mailto:manu...@wso2.com> / man...@apache.org<mailto:man...@apache.org> phone : +94 772492511 blog : http://manulachathurika.blogspot.com/