Versions Compared

Key

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

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

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
languagepy
themeEmacs
titleOOF Homing Enhanced Cloud Selection Policy Example (Step 2a)
linenumberstrue
collapsetrue
#
#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
languagepy
themeEmacs
titleOOF <-> MC API Examples (Step 4a)
linenumberstrue
collapsetrue
//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
namePromethus-aggregation.pdf
height250

ONAP Edge Analytics with DCAE/DMaaP independent of closed loop (Beyond Casablanca)

Value

  • 5G Analytics

ONAP ComponentLife cycle phaseEnhancements
OOM - ONAP CentralDeploy
  • Separate ONAP-edge Instance per 'edge domain', (ie., separate from onap-central instance, of course)
    • Note: Independent of any Edge CP's Orchestration components.
  • SP uses a central-OOM with a 'policy' for deployment of an onap-edge instance, e.g., xyz edge provider with abc components, etc.
    • However, onap-edge instance can be 'lighter weight' with subset of components needed (per MVP discussed below)
    • Desirable to managed as a separate K8s cluster (ie., separate from onap-central instance, of course) and, only for onap-edge use, ie., don't use for other 'workloads' like network apps or 3rd party apps
  • Central OOM to deploy the following ONAP edge instance
    • DMaaP with mirror capability

...