...
- Policy DB – is there any restriction on json objects store? - Matti to follow up with Ankit
- Current R2 support – single VF module (VNFC) assumption per VNF for vCPE - follow up with Kang Xi to validate
Private Cloud Setup
...
- OpenStack-based
- Pre-defined (including custom) flavors map to Instance types in Public Clouds
- Pre-defined flavors are created by the Cloud Admin before the Cloud is used by ONAP for workload deployment
- VMware VIO Configuration for Min Guarantee feature
VNFC to Instance Type Mapping
...
For each MultiVIM plugin, operator configures the following information:
- For each VM flavorInstance Type, the cost of that VM to the operator. Note that this costs includes the (potentially discounted) list price for the VM, support cost, and operations cost. The last one is definitely operator specific.
- Operator also specify the cost for each feature: HA, etc
- Note that the operator is free to choose what time duration the cost metric is specified for each of the MultiVIM plugins (e.g., cost per hour, cost per month) since they will do it consistently for each of the VIMs.
...
7a) MC Processing (need MC code changes)
7a1) Fetch MC Cloud-Agnostic Workload Deployment Policy (Intent)
For R3, this policy is can be stored in the form of configuration file(s) in the OOM K8S Persistent Volumes to simplify implementation.
Code Block | ||||||||||
---|---|---|---|---|---|---|---|---|---|---|
| ||||||||||
{ "VNFC": "vgw", //"vgw" is also intechangeably used as "vg" //By default, Policy (Intent) is applicable to all cloud owners/regions unless specified. { "intent": { "name": "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. //Policy Example 1 - VNFC VGW which is part of vCPE service { "Service": "vCPE" "VNFC": "vgw", //"vgw" is also intechangeably used as "vg" { "cloudOwner": "VMware VIO", //can be a specific cloud owner such as Azure, VMware VIO, Wind River Titanium Cloud etc. "intent": { "name": "Infrastructure Resource Isolation for VNF", // realization possible without dedicating CPU and Memory, refer to section on "Cloud Resource Partitioning for Differentiated QoS" //Note: instanceon "count"how inthis heatcan templatehelp specifiesin VNFCoffering scaletiered out factorservices "qosProperty": //Azure realization{ //Fault Domain? {"Burstable QoS": "TRUE", "Burstable QoS Oversubscription Percentage": "25"} } }, } } { "cloudOwner": "VMware VIO", //canPolicy beExample a2 specific- cloudVNFC ownervDNS suchwhich asis Azure,part VMware VIO, Wind River Titanium Cloud etc. of vLoadBalancer/vDNS service { "Service": "vDNS", "VNFC": "vDNS", //By default, Policy (Intent) is applicable to all cloud owners/regions unless specified. { "intent": { "name": "Infrastructure High ResourceAvailability Isolation(HA) for VNF", } }, { "intent": { "name": "Infrastructure Resource Isolation for VNF", // realization possible without dedicating CPU and Memory, refer to section on "Cloud Resource Partitioning for Differentiated QoS" // on how this can help in offering tiered services "qosProperty": { {"BurstableGuaranteed QoS": "TRUE", "Burstable QoS Oversubscription Percentage": "25"} } //{"Burstable QoS": "TRUE", "Burstable QoS Oversubscription Percentage": "25"}, {"operator", "OR"}, {"Guaranteed QoS": "TRUE"} // VMware VIO - tenant VDC CLI and API - configure the appropriate settings per tenant // Burstable QoS is specified through min guarantee (part of flavor metadata -- // } } } |
Intent Realization
- "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.
- Note: instance "count" in heat template specifies VNFC scale out factor
- 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 -- limit (upper bound) & reservation (guaranteed min.) are part of OpenStack flavor metadata
...
OOF → Multi-VIM/Cloud Policy API - Other
- Convert to appropriate instance type based on intent //e.g. "Infrastructure Resource Isolation for VNF" may result in a different instance type if the cloud owner supports "Burstable QoS"Example
- Example
- VNFC with "Guaranteed QoS"
- vCPU (Min/Max) - 16, Mem (Min/Max) -
- VNFC with "Guaranteed QoS"
32GB - 32GB
- Same VNFC with "Burstable QoS", 25%
oversubscription- oversubscription
- vCPU (Min) - 16, Mem (Min) -
- oversubscription
32GB- 32GB
- vCPU (Max) - 20, Mem (Max) - 40GB
OOF → Multi-VIM/Cloud Policy API - Other
- Convert to appropriate instance type based on intent //e.g. "Infrastructure Resource Isolation for VNF" may result in a different instance type if the cloud owner supports "Burstable QoS"
SO → Multi-VIM/Cloud
- Get Cloud Region of interest
- Parse Template (e.g. OpenStack Heat Template)
- For each VNFC, instance type in the template
- Get Policy based on <VNFC<Service, Cloud Owner>VNFC>
- Value/Content: <Policy JSON - only Intent portion>
- Parse Policy JSON
- Modify template according to Intent - intent examples below
- "Infrastructure High Availability (HA) for VNF"
- "Infrastructure Resource Isolation for VNF"
- "Burstable QoS"
- Get Policy based on <VNFC<Service, Cloud Owner>VNFC>
- For each VNFC, instance type in the template
...
- Store VNFC Policy in Multi-Cloud as a Configuration file
- Policy file naming: <VNFC Service (e.g. vGMuxvCPE), Cloud Owner>VNFC (e.g. vGW)
- Content:
- <Policy JSON - only Intent portion>
- InstanceType
...