Hi all, In grouping, as we are supporting deployment Policy in the *group level or in the cluster level*, it would be easy if we have a single place to define all the deployment policy of children. The advantages of defining global deployment policy as below:
- Same application can be deployed in HA or in burst manner using different deployment Policy. * will be starting actual VMs after deploying the deployment Policy rather than starting it, once the application got deployed. * deployment Policy will be coupled with an application always. - No need to define multiple deployment policy per cluster level or group level - Validation can also happen in the single place * Each children's policy can be validated against the applicationPolicy whether relevant partition/Network partition is already defined or not * Each leave cluster should have a deployment policy either inherit from one of the parent group or define it by its own. - Partition can also be defined in the Deployment Policy itself Please find the proposed format for the deployment Policy for application as following: + id + applicationPolicy[1..1] + appId + networkPartition[1..n] + id + activeByDefault + partition[1..n] + id + provider + properties[1..n] + childPolicies[1..n] + childId (Group alias or cartridge alias) + networkPartition[1..n] + id + partition[1..n] + id + max Please find the definition of new elements in the Deployment Policy as below: *applicationPolicy* : will have definition of all the network partition and partition which will be used throughout the application. *activeByDefault* : If true means, that network partition will be used by default. If false, means it can be used when all the resources are exhausted(in bursting) *childPolicies* : Each child policy will refer the network partition and relevant partition from applicationPolicy to define their own deployment pattern. Please note that, if you define a childPolicy by referring to group, then underlying clusters/group will inherit the same policy. *max: *Maximum no of instances that can be handled by a partition. For group: max group instances can be in a partition For Cluster: max members that can be kept for a cluster instance in a partition. FYI: A sample Policy is attached here with. Please share your suggestions on this... Thanks, Reka -- Reka Thirunavukkarasu Senior Software Engineer, WSO2, Inc.:http://wso2.com, Mobile: +94776442007
Application_Global_Dep_Policy.json
Description: application/json