Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

...

"intent": {

"name": "Infrastructure High Availability (HA) for VNF", //realization thru OpenStack-based: anti-affinity, Azure: Fault Domain or Availability set

// rack-level anti-affinity etc. – ETSI (host-level, rack-level, availability zone ...)

}

"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

...

"capacityProperty": { //enhanced from current capacity check

"controller": "multicloud",

check // use cloud provider in – <cloud region id, cloud provider> – different cloud providers may need different capacities ...

// under discussion – "capabilityProperty": {SR_IOV, ...} 

// under discussion - host network bandwidth

"controller": "multicloud",

"request": "{"request": "{\"vCPU\": {\"quantity\": {\"get_param\": \"REQUIRED_VCPU\"}, \"Memory\": {\"quantity\": {\"get_param\": \"REQUIRED_MEM\"}, \"unit\": \"GB\"}, \"Storage\": {\"quantity\": {\"get_param\": \"REQUIRED_DISK\"}, \"unit\": \"GB\"}}" //from R2 

...

"resources": ["vGMuxInfra"], //R2 support – single VF module assumption per VNF 

"applicableResources": "any",
"identity": "distance-vGMuxInfra",
"policyScope": ["vCPE", "US", "INTERNATIONAL", "ip", "vGMuxInfra"],
"policyType": "AllPolicy"

}

Follow up for Casablanca:

-- Policy DB – is there any restriction on json objects store? - Matti to follow up with Ankit

-- Current R2 support – single VF module (VDU) assumption per VNF (to validate) - follow up with Kang Xi 

Info
titleCloud Policy Example (in progress)

{

"service""cloudPolicy",
"policyName""oofMulti-cloudCasablanca.cloudPolicy_vCPE_VNF",
"description""Cloud Policy for vCPE VNF",
"templateVersion""0.0.1",
 "version""oofMulti-cloudCasablanca",
 "priority""3",
 "riskType""test",
 "riskLevel""2",
"guard""False",
"content": {

"cloudRegion": {

"id": "1",

"cloudVendor": "Microsoft Azure",

"intent": {

"name": "Infrastructure HA for VNF", //realization thru Azure Fault Domain or Availability set

"cost": { "value" : "0", "operatorSpecified" : "FALSE" } //Cost is derived based on APIs since it is a public cloud

},

"intent": {

"name": "Infrastructure Resource Isolation for VNF", //realization through dedicating compute & memory

"cost": { "value" : "0", "operatorSpecified" : "FALSE" } //Cost is derived based on APIs since it is a public cloud

},

"intent": {

"name": "High Performance DPDK-based Overlay Networking",

"cost": { "value" : "0", "operatorSpecified" : "FALSE" } //Cost is derived based on APIs since it is a public cloud

}

},

"cloudRegion": {

"id": "2",

"cloudVendor": "VMware VIO",

"intent": {

"name": "Infrastructure HA for VNF", // realization through OpenStack Policy-group and Anti-affinity Policy

"cost": { "value" : "10", "operatorSpecified" : "TRUE" } //cost is specified by operator since it is a private cloud

},

"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

"cost": { "value" : "9", "operatorSpecified" : "TRUE" }, //cost is specified by operator since it is a private cloud

"minGuarantee": {

"capability": "TRUE",

"overSubscriptionPercent": {"value": "10"},

}

},

"intent": {

"name": "High Performance DPDK-based Overlay Networking",

"cost": { "value" : "10", "operatorSpecified" : "TRUE" }, //cost is specified by operator since it is a private cloud

}

"cloudCapacityUtilizaitonAttributes" : {

"current_allocated_capacity" : { {"cpu", "memory", "network"}: {"cloud": {"weight": "0.85", "threshold": "0.9"}, "tenant (resource slice)": {"weight": "0.85", "threshold": "0.9"
}, "host aggregate (resource cluster)": {"weight": "0.85", "threshold": "0.9"} } },

"average_utilization" : { {"cpu", "memory", "network"}: {"cloud": {"weight": "0.13"}, "tenant (resource slice)": {"weight": "0.13"}, "host aggregate (resource cluster)": {"weight": "0.13"} }, "time-window": "24", "unit": "hours" },

"peak_utilization" : { {"cpu", "memory", "network"}: {"cloud": {"weight": "0.02"}, "tenant (resource slice)": {"weight": "0.02"}, "host aggregate (resource cluster)": {"weight": "0.02"} }, "time-window": "24", "unit": "hours" }

}

//current_allocated_capacity, average_utilization and peak_utilization are normalized to 1

//For a given object such as tenant_cpu, sum of weights across all attributes (current_allocated_capacity, average_utilization & peak_utilization) must be 1

//E.g. net_value = cloud_cpu_current_allocated_capacity*0.85 + cloud_cpu_average_utilization*0.13 + cloud_cpu_peak_utilization*.02 + ...

//For a given object such as cloud_cpu, if the current_allocated_capacity "threshold" exceeds the specified value, return "high net value"

//For Casablanca (R3), the default policy is adapted to minimum viable attributes and objects across all supported clouds OpenStack-based (Open source OpenStack, VMware VIO, Wind River Titanium), Public (Microsoft Azure), Open source K8S (TBD)

},

"cloudRegion": {

"id": "3",

"cloudVendor": "Wind River Titanium",

"intent": {

"name": "Infrastructure HA for VNF", // realization through OpenStack Policy-group and Anti-affinity Policy

"cost": { "value" : "10", "operatorSpecified" : "TRUE" } //cost is specified by operator since it is a private cloud

},

"intent": {

"name": "Infrastructure Resource Isolation for VNF", //realization through dedicating compute & memory

"cost": { "value" : "10", "operatorSpecified" : "TRUE" }, //cost is specified by operator since it is a private cloud

},

"intent": {

"name": "High Performance DPDK-based Overlay Networking",

"cost": { "value" : "9", "operatorSpecified" : "TRUE" }, //cost is specified by operator since it is a private cloud

}

},

"cloudRegion": {

"id": "4",

"cloudVendor": "K8S (Open Source) for Containers",

"intent": {

"name": "Infrastructure HA for VNF", // realization through nodeSelector – https://kubernetes.io/docs/concepts/configuration/assign-pod-node/#affinity-and-anti-affinity

"cost": { "value" : "10", "operatorSpecified" : "TRUE" } //cost is specified by operator since it is a private cloud

},

"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

"cost": { "value" : "9", "operatorSpecified" : "TRUE" }, //cost is specified by operator since it is a private cloud

"minGuarantee": {

"capability": "TRUE", //realization through burstable QoS class – https://kubernetes.io/docs/tasks/configure-pod-container/quality-service-pod/

"overSubscriptionPercent": {"value": "10"},

}

},

"intent": {

"name": "High Performance DPDK-based Overlay Networking", //realization through one of the host-based networking options such as vhostuser, VMware NSX-T etc. – https://github.com/containernetworking/cni

"cost": { "value" : "10", "operatorSpecified" : "TRUE" }, //cost is specified by operator since it is a private cloud

}

},

"resources": ["vGMuxInfra", "vG"],

"applicableResources": "any",
"identity": "distance-vGMuxInfra",
"policyScope": ["vCPE", "US", "INTERNATIONAL", "ip", "vGMuxInfra"],
"policyType": "haPolicy"

}


...