Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.
Comment: Reverted from v. 3


tocdr_patel_an Summarizing the discussion of this email thread to just make sure that we all are on the same page.

The HPA requirements of a VNF are extracted from a VNF descriptor and captured in a TOSCA model in a tuple format (for the sake of extensibility purpose). Some of these requirements cannot be change during the lifecycle of a service; while the other optional requirements can be overwritten by a service designer or operator (For example, the use of SR-IOV may be preferred by an operator if a VNF can support SR-IOV and a vendor does not have a preference). Once a service model is designed and uploaded into the SDC repository, the policy service is notified. The policy service then fetches the TOSCA model, extracts out the HPA requirements from TOSCA through decomposition, composes the HPA HAP polices for the homing service (OOF-HAS), and stores in the policy repository. When the homing service receives a homing request from SO, the homing service asks for the associated HPA policies from the policy platform. Based on the received HPA policies, the homing service solution finds and returns the placement solutions.

Here are the example of the currently supported OOF-HAS policies.

OOF Policy Examples

OOF-HAS Policy Examples 

Section
bordertrue
Column
width45%
Code Block
languagejs
themeEclipse
titleHPA Hyper-Threading Policy Example
linenumberstrue
collapsetrue
{
    "service": "HPA_Hyper_Threading_Policy",
    "policyName": "OOF_Beijing.vGMuxInfra",
    "description": "Hyper threading policy for vGMuxInfra",
    "templateVersion": "0.0.1",
    "version": "ONAP_Beijing",
    "priority": "3",
    "riskType": "test",
    "riskLevel": "2",
    "guard": "False",
    "content": {
        "hyper_threading_properties": {
	    "cpu_cores": {
                "magnitude": 4,
                "operator": "=",
                "unit": ""
        },
	    "cpu_threads": {
                "magnitude": 2,
                "operator": "=",
                "unit": ""
        },
	    "cpu_threads_policy": {
                "magnitude": "dedicated",
                "operator": "=",
                "unit": ""
        },
		"cpu_sockets": {
                "magnitude": 2,
                "operator": "=",
                "unit": ""
         }

        },

        "identity": "hyper_threading_vGMuxInfra",
        "policyScope": {
            "serviceType": ["vCPE"],
            "geoRegion": ["US", "INTERNATIONAL"],
            "networkType": ["ip"],
            "resourceInstanceType": ["vGMuxInfra"]
        },
        "type": "HPA_hyper_threading",
        "resourceInstanceType": ["vGMuxInfra"]
    }
}
Column
width45%
Expand
titleComments/Notes

The values in this exemplary policy are populated from a TOSCA service model by the policy platform.

...

bordertrue
Column
width45%
Code Block
languagejs
themeEclipse
titleDistance Policy Example
linenumberstrue
collapsetrue
{
    "service": "DistancePolicy",
    "policyName": "OOF_Beijing.DistancePolicy_vGMuxInfra",
    "description": "Distance Policy for vGMuxInfra",
    "templateVersion": "0.0.1",
    "version": "ONAP_Beijing",
    "priority": "3",
    "riskType": "test",
    "riskLevel": "2",
    "guard": "False",
    "content": {
        "distance_properties": {
            "locationInfo": "customer_loc",
            "distance": {
                "magnitude": "distance",
                "value": "500",
                "operator": "<",
				"unit": "km"
            },
	    	"resourceInstanceType": ["vGMuxInfra"]
        },
        "identity": "distance-bGMuxInfra",
        "policyScope": {
            "serviceType": ["vCPE"],
            "geoRegion": ["US", "INTERNATIONAL"],
            "networkType": ["ip"],
            "resourceInstanceType": ["vGMuxInfra"]
        },
        "type": "distance"
    }
}

...

width45%

...

titleComments/Notes

...

.