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
