...
- Parse Template (e.g. OpenStack Heat Template)
- For each VNFC, instance type in the template
- Fetch Cloud-Agnostic Workload Deployment Policy (Intent) based on VNFC (e.g. vGW)
- Value/Content: <Policy JSON>
- Parse Policy JSON
- Modify template (if needed) according to Intent
- Intent examples of interest for R3
- "Infrastructure High Availability (HA) for VNF"
- "Infrastructure Resource Isolation for VNF"
- "Burstable QoS"
- "Infrastructure Resource Isolation for VNF"
- "Guaranteed QoS"
- Intent examples of interest for R3
- Fetch Cloud-Agnostic Workload Deployment Policy (Intent) based on VNFC (e.g. vGW)
- For each VNFC, instance type in the template
Policy (Intent) Realization
- Determining the flavor (OpenStack-based VIMs) # same logic applies for instance type in Azure
- Each VNFC uniquely maps to a Flavor - for e.g. VNFC "vgw" maps to "vgw-base", "vDNS" maps to "vDNS-base"
- Beyond Casablanca
- VNFC intent to realization mapping happens through A&AI.
- "Infrastructure High Availability (HA) for VNF"
- OpenStack-based Cloud realization
- For R3, Host-based anti-affinity using server groups //Beyond R3, Support other anti-affinity models at availability zone level etc.
- Implementation Notes:
- Instance "count" in heat template specifies VNFC scale out factor
- While dynamic injection of server group into heat template is ideal, a simple starting point could be just switching to an alternate heat template which is identical to the deployment template and additionally has server group
- Azure realization
- Availability Set?
- OpenStack-based Cloud realization
"Infrastructure Resource Isolation for VNF" – { "qosProperty": { {"Burstable QoS": "TRUE", "Burstable QoS Oversubscription Percentage": "25"} } }
OpenStack-based VMware VIO Cloud realization
- This can be achieved through min guarantee -- Max or limit (upper bound) & Min or Reservation (guarantee) are part of OpenStack flavor metadata
- Example
- VNFC "vgw" with "Guaranteed QoS"
- vCPU (Min/Max) - 16, Mem (Min/Max) - 32GB
- Maps to "vgw-Guaranteed-QoS" flavor for OpenStack-based VIMs
- Same VNFC with "Burstable QoS", 25% over-subscription
- vCPU (Min) - 16, Mem (Min) - 32GB
- vCPU (Max) - 20, Mem (Max) - 40GB
- Maps to "vgw-GuaranteedBurstable-QoS-25-percent-oversubscription" flavor for OpenStack-based VIMs
- VNFC "vDNS" with "Guaranteed QoS" & "Infrastructure High Availability"
- Maps to "vDNS-Guaranteed-QoS" flavor and "vDNS-infrastructure-high-availability" heat template
- VNFC "vgw" with "Guaranteed QoS"
- Only certain pre-defined over-subscription values are allowed to simplify implementation
- Implementation Notes:
- While dynamic injection of limit/reservation into flavor is ideal, a simple starting would be to be to switch to a pre-defined flavor in the environment file
- For aforementioned example
- Original flavor - "flavor-xyz-no-oversubscription"
- Modified flavor based on Policy - "flavor-xyz-25-percent-oversubscription"
- For aforementioned example
- While dynamic injection of limit/reservation into flavor is ideal, a simple starting would be to be to switch to a pre-defined flavor in the environment file
- Example
- Implementation Notes:
- From an implementation stand point, MC would be exposing a Workload Deployment Policy (Intent) API
- Input : deployment-intent, cloud owner, cloud region, deployment template, deployment environment file, ...
- Output : Success or Failure with reason, modified deployment template, modified deployment environment file, ...
- From an implementation stand point, MC would be exposing a Workload Deployment Policy (Intent) API
- Determining the flavor (OpenStack-based VIMs) # same logic applies for instance type in Azure
...