Hi Isuru,

I think this is a good idea: question regarding the json format below, in a 
previous email I think we discussed to split the “subscribables” into “groups” 
(nested groups) and “cartridges”, is this still correct (see sample below) ? 
Also, I am not sure how the dependencies are described through the “deployed 
Service Groups” ?

I think we need an example of a complete description including the Service 
Group dependencies to make sure that we are not leaving out some information,

Thanks
Martin

{
    "name": "group1",
    "cartridges": [
        "mysql", "mongoDB"
    ],
    "dependencies": {
        "killBehaviour": "kill-none"
    }
}

[2].
{
    "name": "group2",
    "subGroups": [
        "group1"
    ],
    "cartridges": [
        "php"
    ],
    "dependencies": {
        "startupOrder": [
            {
                "start": "group.group1",
                "after": "cartridge.php"
            }
         ],
        "killBehaviour": "kill-dependents"

    }
}


From: isu...@wso2.com [mailto:isu...@wso2.com] On Behalf Of Isuru Haththotuwa
Sent: Friday, July 04, 2014 1:11 AM
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?
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].

[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

Reply via email to