Summary: Edge Scoping
...
- Cloud SW Capability example
- Cloud region "x" with SR-IOV, GPU, Min-guarantee support
- Cloud region "y" with SR-IOV support
- Cloud HW Capability example
- Resource cluster "xa" in Cloud region "x" with SR-IOV and GPU support
- Resource cluster "xb" in Cloud region "x" with GPU support
- Resource cluster "ya" in Cloud region "y" with SR-IOV support
Note 3:
- 5G Service/VNF placement example
- Constraints used by Optimization Framework (OOF)
5G CU-UP VNF location to be fixed to a specific physical DC based on 5G DU, bounded by a max distance from 5G DU
- Optimization Policy used by OOF
Choose optimized cloud region (or instance) for the placement of 5G CU UP for subscriber group based on the above constraints
- Constraints used by Optimization Framework (OOF)
Note 4:
- For the 5G Service/VNF placement example in Note 3
- 5G CU-UP VNF preferably maps to a specific Cloud region & Physical DC End Point
Note 5:
- For the 5G Service/VNF placement example in Note 3
- OOF will pass the Physical DC End Point to SO as a opaque data
Note 6:
- For the 5G Service/VNF placement example in Note 3
- SO passes the Physical DC End Point to Multi-Cloud as a opaque data, besides the Cloud Region
Cloud-agnostic Placement/Networking & Homing Policies (Phase 1 - Casablanca MVP, Phase 2 - Stretch Goal)
...
Code Block | ||||||||||
---|---|---|---|---|---|---|---|---|---|---|
| ||||||||||
# #Spec Reference: https://wiki.onap.org/display/DW/Edge+Scoping+MVP+for+Casablanca+-+ONAP+Enhancements#EdgeScopingMVPforCasablanca-ONAPEnhancements-Cloud-agnosticPlacement/Networking&HomingPolicies(Phase1-CasablancaMVP,Phase2-StretchGoal) # from jsonschema import validate oof_cloud_selection_policy_schema = { "service": {"type": "string"}, "policyName": {"type": "string"}, "policyDescription": {"type": "string"}, "templateVersion": {"type": "string"}, "version": {"type": "string"}, "priority": {"type": "string"}, "riskType": {"type": "string"}, "riskLevel": {"type": "string"}, "guard": {"type": "string"}, "content": { "type": "object", "required": ["cloud-cost-evaluation", "cloud-deployment-intent"], "properties" : { # VNFC is not used in the OOF->MC path for R3 # This is kept to be consistent with the SO-> MC path # As an example, vDNS VNF in ONAP has 3 VNFCs - DNS, Packet Gen & Load Balancer -- # Each of the VNFCs could have different policies "vnfc": {"type": "string"}, # evaluate cloud cost if set # cost is fixed per cloud type for all workloads -- simplifying assumption for R3 # cost specified in the respective plugin through a configuration file "cloud-cost-evaluation" : {"type" : "boolean"}, # cloud-specific realization of the specified deployment intent # happens in multi-cloud in the cloud-specific plugin "cloud-deployment-intent": { "type": "object", "properties" : { # Cloud Type -- Azure, K8S, OpenStack, VMware VIO, Wind River Titanium # Optionally Accomodate policies per Cloud Type # Optionally Accomodate policies per "Cloud OwnerType & (Cloud Region Provider)": {"type", "array"}, "Cloud Type (Cloud Provider)": {"type", "array"}, "CloudInfrastructure OwnerHigh &Availability Cloud Region (VIM id)for VNF": {"type", "arrayboolean"}, "Infrastructure HighResource AvailabilityIsolation for VNF": {"type", "boolean"}, "Infrastructure Resource Isolation for VNF": {"type", "string"}, # Infrastructure Resource Isolation for VNF # Only certain pre-defined over-subscription values are allowed to # reflect practical deployment and simplify implementation for R3 "Infrastructure Resource Isolation for VNF - Burstable QoS Oversubscription Percentage": {"type": "int"}, }, }, }, }, "resources": {"type", "array"}, #"vgw" is also interchangeably used as "vg" "applicableResources": {"type", "string"}, "identity": {"type", "string"}, "policyScope": {"type", "array"}, "policyType": {"type", "string"} } # #Example 1: vCPE, Burstable QoS #vCPE: Infrastructure Resource Isolation for VNF with Burstable QoS # oof_cloud_selection_policy_instance1 = { "service": "cloudSelectionPolicy", "policyName": "oofMulti-cloudCasablanca.cloudSelectionPolicy_vCPE_VNF", "policyDescription": "Cloud Selection Policy for vCPE VNFs", "templateVersion": "0.0.1", "version": "oofMulti-cloudCasablanca", "priority": "3", "riskType": "test", "riskLevel": "2", "guard": "False", "content": { "vnfc": "vgw", "cloud-cost-evaluation": True, "cloud-deployment-intent": { "Cloud Type (Cloud Provider)": {"VMware VIO"}, "Infrastructure Resource Isolation for VNF": "Burstable QoS", "Infrastructure Resource Isolation for VNF - Burstable QoS Oversubscription Percentage": 25, }, }, "resources": ["vgw"], #"vgw" is also interchangeably used as "vg" "applicableResources": "any", "identity": "cloud-atrributes", "policyScope": ["vCPE", "US", "INTERNATIONAL", "ip", "vgw", "vgmux"], "policyType": "AllPolicy" } # #Example 2: #vCPE: Infrastructure Resource Isolation for VNF with Guaranteed QoS # oof_cloud_selection_policy_instance2 = { "service": "cloudSelectionPolicy", "policyName": "oofMulti-cloudCasablanca.cloudSelectionPolicy_vCPE_VNF", "policyDescription": "Cloud Selection Policy for vCPE VNFs", "templateVersion": "0.0.1", "version": "oofMulti-cloudCasablanca", "priority": "3", "riskType": "test", "riskLevel": "2", "guard": "False", "content": { "vnfc": "vgw", "cloud-cost-evaluation": True, "cloud-deployment-intent": { "Infrastructure Resource Isolation for VNF": "Guaranteed QoS", }, }, "resources": ["vgw"], #"vgw" is also interchangeably used as "vg" "applicableResources": "any", "identity": "cloud-atrributes", "policyScope": ["vCPE", "US", "INTERNATIONAL", "ip", "vgw", "vgmux"], "policyType": "AllPolicy" } # #Example 3: #vDNS: Infrastructure HA for VNF & Infrastructure Resource Isolation for VNF with Burstable QoS # oof_cloud_selection_policy_instance3 = { "service": "cloudSelectionPolicy", "policyName": "oofMulti-cloudCasablanca.cloudSelectionPolicy_vDNS_VNF", "policyDescription": "Cloud Selection Policy for vDNS VNFs", "templateVersion": "0.0.1", "version": "oofMulti-cloudCasablanca", "priority": "3", "riskType": "test", "riskLevel": "2", "guard": "False", "content": { "vnfc": "vdns", "cloud-cost-evaluation": True, "cloud-deployment-intent": { "Cloud Type (Cloud Provider)": {"VMware VIO", "Azure"}, "Infrastructure High Availability for VNF": True, "Infrastructure Resource Isolation for VNF": "Burstable QoS", "Infrastructure Resource Isolation for VNF - Burstable QoS Oversubscription Percentage": 25, }, }, "resources": ["vDNS"], "applicableResources": "any", "identity": "cloud-atrributes", "policyScope": ["vDNS", "US", "INTERNATIONAL", "vDNS"], "policyType": "AllPolicy" } # # Example 4: # vDNS: Infrastructure HA for VNF & Infrastructure Resource Isolation for VNF # with Guaranteed QoS # oof_cloud_selection_policy_instance4 = { "service": "cloudSelectionPolicy", "policyName": "oofMulti-cloudCasablanca.cloudSelectionPolicy_vDNS_VNF", "policyDescription": "Cloud Selection Policy for vDNS VNFs", "templateVersion": "0.0.1", "version": "oofMulti-cloudCasablanca", "priority": "3", "riskType": "test", "riskLevel": "2", "guard": "False", "content": { "vnfc": "vdns", "cloud-cost-evaluation": True, "cloud-deployment-intent": { "Infrastructure High Availability for VNF": True, "Infrastructure Resource Isolation for VNF": "Guaranteed QoS", }, }, "resources": ["vDNS"], "applicableResources": "any", "identity": "cloud-atrributes", "policyScope": ["vDNS", "US", "INTERNATIONAL", "vDNS"], "policyType": "AllPolicy" } validate(oof_cloud_selection_policy_instance1, oof_cloud_selection_policy_schema) validate(oof_cloud_selection_policy_instance2, oof_cloud_selection_policy_schema) validate(oof_cloud_selection_policy_instance3, oof_cloud_selection_policy_schema) validate(oof_cloud_selection_policy_instance4, oof_cloud_selection_policy_schema) |
...
Code Block | ||||||||||
---|---|---|---|---|---|---|---|---|---|---|
| ||||||||||
//flexibility of having cloud type in the new API provides fine grained control, addresses capacity/cost differences across different cloud owners/regions and ensures backward compatibility # #Spec Reference: https://wiki.onap.org/display/DW/Edge+Scoping+MVP+for+Casablanca+-+ONAP+Enhancements#EdgeScopingMVPforCasablanca-ONAPEnhancements-Cloud-agnosticPlacement/Networking&HomingPolicies(Phase1-CasablancaMVP,Phase2-StretchGoal) # from jsonschema import validate oof_mc_policy_api_request_schema = { #list of VIM ids "Cloud Owner & Cloud Region List (VIM ids)": {"type", "array"}, "oof-mc-policy-api-request": { "type": "array", "items": { "$ref": "#/definitions/xxx1" } }, "definitions": { "xxx1": { "type": "object", "required": ["cloud-cost-evaluation", "cloud-deployment-intent"], "properties" : { # VNFC is not used in the OOF->MC path for R3 # This is kept to be consistent with the SO-> MC path # As an example, vDNS VNF in ONAP has 3 VNFCs-DNS, Packet Gen & Load Balancer # each of the VNFCs could have different cloud policies # # each of the VNFCs could have different cloud policies "vnfc": {"type": "string"}, # evaluate cloud cost if set # cost is fixed per cloud type for all workloads, simplifying assumption for R3 # cost specified in the respective plugin through a configuration file "cloud-cost-evaluation" : {"type" : "boolean"}, # cloud-specific realization of the specified deployment intent # happens in multi-cloud in the cloud-specific plugin "cloud-deployment-intent": { "type": "array", "items": { "$ref": "#/definitions/xxx2" } }, "definitions": { "xxx2": { "type": "object", "properties" : { #"Infrastructure CloudHigh TypeAvailability -- Azure, K8S, OpenStack, VMware VIO, Wind River Titaniumfor VNF": {"type", "boolean"}, "Infrastructure Resource Isolation for # Optionally Accomodate policies per Cloud TypeVNF": {"type", "string"}, # Infrastructure Resource #Isolation Optionallyfor AccomodateVNF policies per Cloud Owner & Cloud Region # Only certain pre-defined over-subscription "Cloud Type (Cloud Provider)": {"type", "array"}, "Cloud Owner & Cloud Region (VIM id)": {"type", "array"}, "Infrastructure High Availability for VNF": {"type", "boolean"}, "Infrastructure Resource Isolation for VNF": {"type", "string"}, # Infrastructure Resource Isolation for VNF # Only certain pre-defined over-subscription values values are allowed to # reflect practical deployment and simplify implementation for R3 "Infrastructure Resource Isolation for VNF - Burstable QoS Oversubscription Percentage": {"type": "int"}, }, }, }, }, }, }, } oof_mc_policy_api_response_schema = { "oof-mc-policy-api-response": { "type": "array", "items": { "$ref": "#/definitions/xxx" } }, "definitions": { "xxx": { "type": "object", "required": [ "VIM id", "net-value" ], "properties": { # VIM id "VIM id": { "type": "string", }, # For R3, net-value signifies cost per VIM id # Referring to cloud-cost-evaluation in the API from OOF -> MC # cost is fixed per cloud type for all workloads # cost specified in the respective plugin through a configuration file "net-value": { "type": "number", } } } } } # #Example 1: vCPE, Burstable QoS #vCPE: Infrastructure Resource Isolation for VNF with Burstable QoS # oof_mc_policy_api_instance1 = { { #list of VIM ids "Cloud Owner & Cloud Region (VIM id)": {"Azure 1", "Azure 2", "VMware VIO 1"}, "oof-mc-policy-request": [ { "vnfc": "vgw", "cloud-cost-evaluation": True,#list of VIM ids "cloud-deployment-intent": [ { "Cloud Type (Cloud Provider) "Infrastructure Resource Isolation for VNF": "VMwareBurstable VIOQoS", "Infrastructure Resource Isolation for VNF": - "Burstable QoS Oversubscription Percentage": 25, } "Infrastructure Resource Isolation for VNF - Burstable QoS Oversubscription Percentage": 25], }, ] } # #Example 2: #vCPE: Infrastructure Resource Isolation for VNF with Guaranteed QoS # oof_mc_policy_api_instance2 = { ], #list of VIM ids "Cloud Owner & Cloud },Region ], } # #Example 2: #vCPE: Infrastructure Resource Isolation for VNF with Guaranteed QoS # oof_mc_policy_api_instance2 = {List (VIM ids)": {"Azure 1", "Azure 2", "VMware VIO 1", "Wind River Titanium 1"}, "oof-mc-policy-request": [ { "vnfc": "vgw", "cloud-cost-evaluation": True, "cloud-deployment-intent": [ { "Infrastructure Resource Isolation for VNF": "Guaranteed QoS", } ], }, ], } # #Example 3: #vDNS: Infrastructure HA for VNF & Infrastructure Resource Isolation for VNF with Burstable QoS # oof_mc_policy_api_instance3 = { "oof-mc-policy-request": [ #list of VIM ids "Cloud Owner & Cloud Region List { (VIM ids)": {"Azure 1", "Azure 2", "VMware VIO 1", "Wind River Titanium 1"}, "vnfc"oof-mc-policy-request": "vdns", [ "cloud-cost-evaluation": True,{ "cloud-deployment-intentvnfc": [ "vdns", "cloud-cost-evaluation": True, { "cloud-deployment-intent": [ "Cloud Type (Cloud Provider)": "VMware VIO",{ "Infrastructure High Availability for VNF": True, "Infrastructure Resource Isolation for VNF": "Burstable QoS", "Infrastructure Resource Isolation for VNF - Burstable QoS Oversubscription Percentage": 25, } ], } ], } # # Example 4: # vDNS: Infrastructure HA for VNF & Infrastructure Resource Isolation for VNF # with Guaranteed QoS # oof_mc_policy_api_instance4 = { #list of VIM ids "Cloud Owner & Cloud Region List (VIM ids)": {"Azure 1", "Azure 2", "VMware VIO 1", "Wind River Titanium 1"}, "oof-mc-policy-request": [ { "vnfc": "vdns", "cloud-cost-evaluation": True, "cloud-deployment-intent": [ { "Infrastructure High Availability for VNF": True, "Infrastructure Resource Isolation for VNF": "Guaranteed QoS", }, ], }, ], } oof_mc_policy_api_response_instance = { "oof-mc-policy-api-response": [ { "VIM id": "Azure 1", "net-value": 100 }, { "VIM id": "VMware VIO 1", "net-value": 101 }, { "VIM id": "Wind River Titanium 2", "net-value": 102 }, { "VIM id": "Wind River Titanium 1", "net-value": 102 }, ], } validate(oof_mc_policy_api_instance1, oof_mc_policy_api_request_schema) validate(oof_mc_policy_api_instance2, oof_mc_policy_api_request_schema) validate(oof_mc_policy_api_instance3, oof_mc_policy_api_request_schema) validate(oof_mc_policy_api_instance4, oof_mc_policy_api_request_schema) validate(oof_mc_policy_api_response_instance, oof_mc_policy_api_response_schema) |
...
View file | ||||
---|---|---|---|---|
|
ONAP Edge Analytics with DCAE/DMaaP independent of closed loop (Beyond Casablanca)
Value
- 5G Analytics
ONAP Component | Life cycle phase | Enhancements |
---|---|---|
OOM - ONAP Central | Deploy |
|
...