Hi Isuru, See below…
From: isu...@wso2.com [mailto:isu...@wso2.com] On Behalf Of Isuru Haththotuwa Sent: 04 July 2014 09:11 To: dev; Martin Eppel (meppel) Subject: Composite Application Definition with Reference to Deployed Service Groups Hi all, Since we have the Service Group persistence now, we can change the Composite Application to refer the previously deployed Service Groups [1]. WDYT? [srh] I think I missed groups being deployed/persisted separately. Does the “subscription” information (meaning deployment and autoscaling only for a group, everything for a cartridge), get persisted with each group? The Subscribable section will carry subscription level information related to each cartridge in the group. Even for a nested group, we can specify this information as a flat structure (an array) since we already have captured dependency information from the deployed Service Groups. I believe this will reduce the complexity of this JSON definition. Note that there are policies (autoscaling/deployment) defined per group and per Subscribable. This is for the purpose of member/group wise scaling. Also note the alias I have used for two Subscribables in the group; I believe we can derive that from the group alias without the user having to give an explicit alias for each Subscribable. Sent a separate mail to the dev list suggesting that earlier with subject [2]. [srh] Some questions: 1. I think I don’t understand what application.components is, I imagined it rather as application.groups? That way, the application is itself just a subclass of group, albeit the one at the top and carrying any specialisation that implies. 2. In [1] you don’t show nested groups. How should those be represented? Or are they not needed because groups are being deployed/persisted separately, and this application only specifies the top level groups/cartridges and their respective “subscriptions”? I’m a little uneasy about the inline model of the “subscription” information. I tend to think that this can be factored out (though it is not the end of the world to keep it inline) subject to my understanding of questions 1 and 2. BTW, I saw this email after I responded to [2] ☺ Thanks, Shaheed [1]. { "applicationId": "test_app", "alias": "myapp1", "components": [ { "group": "group1", "alias": "mygroup1", "deploymentPolicy": "dep_policy_group1", "autoscalingPolicy": "autoscale_policy_group1", "subscribables": [ { "type": "mysql", "alias": "mygroup1.mysql", "deploymentPolicy": "dep_policy_mysql", "autoscalingPolicy": "autoscale_policy_mysql" }, { "type": "php", "alias": "mygroup1.php", "deploymentPolicy": "dep_policy_php", "autoscalingPolicy": "autoscale_policy_php", "repoURL": "www.mygit.com/php.git<http://www.mygit.com/php.git>", "privateRepo": "true", "repoUsername": "admin", "repoPassword": "xxxx" } ] }, ], "cartridges": [ { "type": "tomcat", "alias": "mytomcat", "deploymentPolicy": "dep_policy_tomcat", "autoscalingPolicy": "autoscale_policy_tomcat", "repoURL": "www.mygit.com/tomcat.git<http://www.mygit.com/tomcat.git>", "privateRepo": "false", "repoUsername": "admin", "repoPassword": "yyyy" } ] } [2]. Composite Application Deployment and Subscription - Single Alias for a Group -- Thanks and Regards, Isuru H. +94 716 358 048