You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@stratos.apache.org by "Martin Eppel (meppel)" <me...@cisco.com> on 2014/09/24 00:13:58 UTC

composite application structure

Hi Isuru,

I was going over the application structure once more and wanted to confirm my complete understanding of some of the application specific objects and fields (based on the reference json structure below):



·        "components":

o   is split in sections to assign the deployment, autoscaling policies for all the components being used in application

o   components are groups and cartridges (subscribables)

·        "components"."groups":

o   defines the subscription information for all groups in an application
(meaning each group definition used in the application either defined as top level group or directly or indirectly referencing a previously deployed group definitions (reusable))

o   defines top level groups ("on the fly groups"), which are specific to the application and can only be used by application,

o   "components"."groups"."subGroups":

§  Only apply to top level groups

§  reference reusable group definitions or top level groups

o   any non-top level group would only define  "name" (as a pointer to group definition), "alias", "deploymentPolicy" and "autoscalingPolicy" (but no "subGroups" or "subscribables")

·        "components" ."dependencies" (optional):

o   Only apply to top level groups

o   Can reference top level groups, reusable groups, cartridges

·        "components" ."subscribables":

o   lists all subscribales used in application and assign an alias

·        "subscribableInfo":

o   assigns the deployment, autoscaling policies to cartridges (subscription info)



application reference json:

{
  "applicationId": "test_app2",
  "alias": "myapp2",
  "components": {
    "groups": [
      {
        "name": "group2",
        "alias": "group2alias",
        "deploymentPolicy": "group2deploymentPolicy",
        "autoscalingPolicy": "group2autoscalingPolicy",
        "subscribables": [

        ],
        "subGroups": []
      }
    ],
    "subscribables": [

    ],
    "dependencies": {

    }
  },
  "subscribableInfo": [
    {

    }
  ]
}


Let me know if my understanding is still correct,

Thanks

Martin