TOSCA paser support feature about affinity and anti affinity

Registered by xiaodong shang

Affinity and anti-affinity are very important, especially in occasion of high performance requirements, such as vms in telecommunications cloud.
As a affinity rule, vms sharing storage are co-located on the same hardware resources. As a anti-affinity rule, in active and standy scenario, the primary vm and the secondary vm must be located on different hardware resources.

Policy types of tosca.policy.placement.Antilocate and tosca.policy.placement.Colocate are only appreaded as example in tosca specifiation.
tosca.policy.placement.Antilocate:assures affinity of deployed applications and their resources; that is, what is allowed to be placed where within a Cloud provider’s infrastructure(IaaS) .
tosca.policy.placement.Colocate: need to be co-located to achieve optimal performance based upon access to similar Infrastructure resource types (i.e., Compute, Network and/or Storage).

This bp update the TOSCA definition with these types, provide an example template and tests for parsing.

Blueprint information

Status:
Not started
Approver:
Sahdev Zala
Priority:
Undefined
Drafter:
xiaodong shang
Direction:
Needs approval
Assignee:
xiaodong shang
Definition:
New
Series goal:
None
Implementation:
Unknown
Milestone target:
None

Related branches

Sprints

Whiteboard

(spzala) we have provided initial support for Policy parsing, anything that you can do to enhance it would be great. Thanks!

(shangxdy)Yes,i will enhance it based on policy, but the most modification will be in heat-translator, and it is only definition and validation in tosca-parser.

(srinivas) In my view, we need to have clear definition of affinity and antiaffinity for tosca.policies.placement in tosca spec to implement this BP.

(spzala) @srinivas, yes and as @shangxdy forward with the blueprint, all the missing pieces he finds needs to be send to TOSCA TC for needed change in spec.

(?)

Work Items

Work items:
Definition: INPROGRESS
Test case: TODO

This blueprint contains Public information 
Everyone can see this information.