...
Section |
---|
|
Column |
---|
| Code Block |
---|
language | js |
---|
theme | Eclipse |
---|
title | HPA CPU Topology Policy ExampleTemplate for the HPA policies |
---|
linenumbers | true |
---|
collapse | true |
---|
| {
"service": "hpaCpuTopologyPolicy{the model name of a policy}",
"policyName": "oofBeijing.hpaCpuTopologyPolicy_vGMuxInfra{policy scope folder}.{policy name; must be unique}",
"description": "Cpu Topology{description of a policy}",
for vGMuxInfra", "templateVersion": "0.0.1{policy model version}",
"version": "oofBeijing{policy version}",
"priority": "3",{priority in "riskType": "test",
"riskLevel": "21-10; larger the number higher the priority is}",
"guardriskType": "False{the type of risk}",
"contentriskLevel": "{the level of risk}",
"cpuTopologyPropertiesguard": ["{True/False flag to indicate whether guard {"attribute":"hpaFeature", "value": "cpuTopology","operator": "=", "unit":""}is applicable or not}",
"content": {
"resource": "{resource name}",
"identity": "{policy identity}",
{"attributepolicyScope":"architecture", ["value": "generic","operator": "=", "unit": ""}{a tag representing policy scope}"],
{"attributepolicyType": "mandatory{policy type}",
"value "flavorFeatures": "true","operator": "=", "unit":""},[
{"attribute":"score",
"value": "4", "operator":"=", "unit": ""}, {"attributeflavorLabel":"numCpuSockets", "values": "2","operator": ">=", "unit": ""},{VM/VFC id}",
{"attributeflavorProperties":"numCpuSockets", "values": "4","operator": "<=", "unit": ""},[
{"attribute":"numCpuCores", "value": "2", "operator":">=", "unit": ""},
{"attribute":"numCpuCores", "value""hpa-feature" : "4", "operator":"<=", "unit": ""}{HPA feature type}",
{"attribute":"numCpuThreads", "value": "4", "operator":">=", "unit": ""}, {"attributemandatory":"numCpuThreads", "value": "8", "operator":"<=", "unit": ""}{mandatoriness of the feature}",
], "identityscore" : "cpuTopology_vGMuxInfra",{priority of this feature if the feature is not mandatory for VM}"
"policyScopearchitecture": ["vCPE{supported architecuture}", "US", "INTERNATIONAL", "ip", "vGMuxInfra"],
"typehpa-version": "hpaCpuTopologyPolicy{version for hpa capability}",
"resourceInstanceType": ["vGMuxInfra"] } } |
|
Column |
---|
| Expand |
---|
title | Comments and Notes: HPA CPU Topology Policy Example |
---|
| The fields in this example policy are typically generated from a TOSCA service model specified by VNF vendors or service designers. This policy cannot be changed during the life-cycle of a service. |
|
|
Section |
---|
|
Column |
---|
| Code Block |
---|
language | js |
---|
theme | Eclipse |
---|
title | Distance Policy Example |
---|
linenumbers | true |
---|
collapse | true |
---|
| { "service"hpa-feature-attributes": "distancePolicy",[
"policyName": "oofBeijing.distancePolicy_vGMuxInfra", "description": "Distance Policy for vGMuxInfra", "templateVersion": "0.0.1", {
"version": "oofBeijing", "priority": "3", "riskType": "test", "riskLevel": "2", "guardhpa-attribute-key": "False{attribute name}",
"content": { "distanceProperties": { "locationInfo": { "hpa-attribute-value": "customer_location{attribute value}",
"operator": "="}, "distance": { "value": "500", "operator": "<{comparison operator}", "unit": "km" },
"resourceInstanceTypeunit": "{the "value": "vGMuxInfra", "operator": "="},unit of an attribute}"}
}, "identity": "distance-vGMuxInfra", ]
"policyScope": { "serviceType": ["vCPE"], }
"geoRegion": ["US", "INTERNATIONAL"], "networkType": ["ip"],
"resourceInstanceType": ["vGMuxInfra"] }
}, ]
"type": "distancePolicy" }
} |
|
Column |
---|
| Expand |
---|
title | Comments and Notes: Distance HPA CPU Topology Policy |
---|
| The fields in this example policy are typically generated from a TOSCA service model specified by VNF vendors or service designers. However, the policy can be updated over time by operators | Template for the HPA policies. |
|
|
Section |
---|
|
Column |
---|
| Code Block |
---|
language | js |
---|
theme | Eclipse |
---|
title | HPA Basic Capabilities Policy Example |
---|
linenumbers | true |
---|
collapse | true |
---|
| {
"service": "hpaBasicCapabilitiesPolicyhpaPolicy",
"policyName": "oofBeijing.hpaBasicCapabilitiesPolicyhpaPolicy_vGMuxInfra",
"description": "HPA Basic Capabilities policy for vGMuxInfra",
"templateVersion": "0.0.1",
"version": "oofBeijing1.0",
"priority": "3",
"riskType": "test",
"riskLevel": "2",
"guard": "False",
"content": {
"BasicCapabilitiesPropertiesresources": ["vGMuxInfra",
"identity": "hpaPolicy_vGMuxInfra",
{"attributepolicyScope": ["hpaFeaturevCPE", "valueUS":, "basicCapabilitiesINTERNATIONAL", "operatorip":, "=vGMuxInfra"],
"unitpolicyType": "hpaPolicy"},
"flavorFeatures": [
{"attribute":"architecture", "value": "generic","operator": "=", "unit {
"flavorLabel": "flavor_label_vm_01"},
{"attributeflavorProperties":"mandatory", "value": "true","operator": "=", "unit":""},[
{
"hpa-feature" : "cpuTopology",
{"attribute":"score", "value": "4mandatory", "operator": "=True",
"unit": ""}, {"attribute": "numVirtualCpu", "valuearchitecture": "6generic",
"operator": "=", "unit": ""}, {"attributehpa-version": "virtualMemSizev1", "value":"6", "operator": "=", "unit": "GB"},
],
"hpa-feature-attributes": [
"identity": "basicCapabilities_vGMuxInfra", {"policyScopehpa-attribute-key":["vCPEnumCpuSockets", "hpa-attribute-value": "US2","operator": "INTERNATIONAL>=", "ipunit",: "vGMuxInfra"]},
"type": "hpaBasicCapabilitiesPolicy", {"resourceInstanceTypehpa-attribute-key": ["vGMuxInfranumCpuSockets"]
}
} |
|
Column |
---|
| Expand |
---|
title | Comments and Notes: HPA Basic Capabilities Policy |
---|
| The fields in this example policy are typically generated from a TOSCA service model specified by VNF vendors or service designers. This policy cannot be changed during the life-cycle of a service. |
|
|
Section |
---|
|
Column |
---|
| Code Block |
---|
language | js |
---|
theme | Eclipse |
---|
title | HPA OVS DPDK Policy Example |
---|
linenumbers | true |
---|
collapse | true |
---|
| {
"service": "hpaOvsDpdkPolicy",
"policyName": "oofBeijing.hpaOvsDpdkPolicy_vGMuxInfra", "hpa-attribute-value": "4","operator": "<=", "unit": ""},
{"hpa-attribute-key":"numCpuCores", "hpa-attribute-value": "2", "operator":">=", "unit": ""},
"description": "HPA OVS DPDK policy for vGMuxInfra", {"templateVersionhpa-attribute-key": "0.0.1numCpuCores", "version"hpa-attribute-value": "oofBeijing4",
"priorityoperator": "3<=",
"riskTypeunit": "test"},
"riskLevel": "2", "guard": "False", "content": {
"ovsDpdkProperties": [
{"attribute"hpa-attribute-key":"hpaFeaturenumCpuThreads", "hpa-attribute-value": "ovsDpdk4", "operator": ">=", "unit": ""},
{"hpa-attribute-key":"architecturenumCpuThreads", "hpa-attribute-value": "INTELx648", "operator": "<=", "unit": ""},
{"attribute":"mandatory", "value": "true","operator": "=", "unit":"" ]
},
{"attribute":"score", "value": "4", "operator":"=", "unit": ""},
"hpa-feature" : "basicCapabilities",
"mandatory" : "True",
{"attributearchitecture": "dataProcessingAccelerationLibrarygeneric",
"value "hpa-version": "ovsDpdk_versionv1",
"operator": "=", "unit":""}, ],
"hpa-feature-attributes": [
"identity": "ovsDpdk_vGMuxInfra", {"policyScopehpa-attribute-key": ["vCPEnumVirtualCpu", "US",hpa-attribute-value": "INTERNATIONAL6", "ipoperator",: "vGMuxInfra="], "unit": ""},
"type": "hpaOvsDpdkPolicy", "resourceInstanceType": ["vGMuxInfra"{"hpa-attribute-key": "virtualMemSize", "hpa-attribute-value":"6", "operator": "=", "unit": "GB"}
]
}
} |
|
Column |
---|
| Expand |
---|
title | Comments and Notes: HPA OVS DPDK Policy |
---|
| The fields in this example policy are typically generated from a TOSCA service model specified by VNF vendors or service designers. This policy cannot be changed during the life-cycle of a service. |
|
|
Section |
---|
|
Column |
---|
| Code Block |
---|
language | js |
---|
theme | Eclipse |
---|
title | HPA CPU Pinning Policy Example |
---|
linenumbers | true |
---|
collapse | true |
---|
| {,
{
"servicehpa-feature" : "hpaCpuPinningPolicyovsDpdk",
"policyNamemandatory" : "oofBeijing.hpaCpuPinningPolicy_vGMuxInfraFalse",
"description": "CPU Pinning policy for vGMuxInfra", "templateVersionscore" : "0.0.13",
"version": "oofBeijing", "priorityarchitecture": "3generic",
"riskType": "test", "riskLevel": "2", "guardhpa-version": "Falsev1",
"content": { "cpuPinningPropertieshpa-feature-attributes": [
[ {"hpa-attribute-key":"hpaFeaturedataProcessingAccelerationLibrary", "hpa-attribute-value": "cpuPinningovsDpdk_version", "operator": "=", "unit":""},
{"attribute":"architecture", "value": "generic","operator": "=", "unit": "" ]
},
{"attribute":"mandatory
"hpa-feature" : "cpuInstructionSetExtensions",
"value": "true","operator": "=", "unit":""}, {"attributemandatory":"score", "value": "4True",
"operator":"=", "unit": ""}, {"attributearchitecture": "logicalCpuThreadPinningPolicyINTEL-64",
"valuehpa-version": "<CPUTHREADPOLICY>v1",
"operator": "=", "unit":""}, "hpa-feature-attributes": [
{"hpa-attribute-key":"logicalCpuPinningPolicyinstructionSetExtensions", "hpa-attribute-value":["<CPUINST>", "<CPUPOLICY><CPUINST>",] "operator": "=ALL", "unit":""},
], ]
"identity": "cpuPinning_vGMuxInfra", "policyScope": ["vCPE", "US", "INTERNATIONAL", "ip", "vGMuxInfra"], }
]
},
{
"flavorLabel": "flavor_label_vm_02",
"typeflavorProperties": "hpaCpuPinning",[
{
"resourceInstanceTypehpa-feature" : ["vGMuxInfra"]cpuPinningy",
}
} |
| Column |
---|
| Expand |
---|
title | Comments and Notes: HPA CPU Pinning Policy |
---|
| The fields in this example policy are typically generated from a TOSCA service model specified by VNF vendors or service designers. This policy cannot be changed during the life-cycle of a service. CPUTHREADPOLICY = prefer, isolate, require CPUPOLICY = shared, dedicated
|
Section |
---|
|
Column |
---|
| Code Block |
---|
language | js |
---|
theme | Eclipse |
---|
title | HPA NUMA Policy Example |
---|
linenumbers | true |
---|
collapse | true |
---|
| {
"service": "hpaNumaPolicy",
"policyName": "oofBeijing.hpaNumaPolicy_vGMuxInfra "mandatory" : "True",
"architecture": "generic",
"hpa-version": "v1",
"description": "Hyper NUMA policy for vGMuxInfra", "templateVersionhpa-feature-attributes": "0.0.1",[
"version": "oofBeijing", "priority": "3", {"riskTypehpa-attribute-key": "testlogicalCpuThreadPinningPolicy", "riskLevel"hpa-attribute-value": "2<CPUTHREADPOLICY>",
"guardoperator": "False=",
"contentunit":""},
{ "numaProperties": [ {"hpa-attribute-key": "hpaFeaturelogicalCpuPinningPolicy", "hpa-attribute-value": "numa<CPUPOLICY>", "operator": "=", "unit": ""},
{"attribute": "architecture", "value": "generic", "operator": "=", "unit": ""}, ]
{"attribute": "mandatory", "value": "true", "operator": "=", "unit": ""}, },
{
"hpa-feature" : "basicCapabilities",
{"attribute": "score", "value": "4", "operator" "mandatory" : "=True",
"unit": ""}, {"attribute": "numaNodes", "valuearchitecture": "2generic",
"operator": "=", "unit": ""}, {"attributehpa-version": "numaCpu-0v1",
"values":"2", "operator": "=", "unit": ""}, {"attributehpa-feature-attributes": "numaMem-0", "value": "2048", "operator": "=", "unit": "MB"}[
{"hpa-attribute-key": "numaCpu-1numVirtualCpu", "valueshpa-attribute-value": "46", "operator": "=", "unit": ""},
{"hpa-attribute-key": "numaMem-1virtualMemSize", "hpa-attribute-value": "40966", "operator": "=", "unit": "MBGB"}
], ]
"identity": "numa_vGMuxInfra },
{
"hpa-feature" : "localStorage",
"policyScope":["vCPE", "US", "INTERNATIONAL", "ip", "vGMuxInfra"], "mandatory" : "False",
"typescore" : "hpaNumaPolicy5",
"resourceInstanceTypearchitecture": ["vGMuxInfra"]generic",
} } |
|
Column |
---|
| Expand |
---|
title | Comments and Notes: HPA NUMA Policy |
---|
| The fields in this example policy are typically generated from a TOSCA service model specified by VNF vendors or service designers. This policy cannot be changed during the life-cycle of a service. |
|
|
Section |
---|
|
Column |
---|
| Code Block |
---|
language | js |
---|
theme | Eclipse |
---|
title | HPA SGX Policy Example |
---|
linenumbers | true |
---|
collapse | true |
---|
| {
"servicehpa-version": "hpaSgxPolicyv1",
"policyName": "oofBeijing.hpaSgxPolicy_vGMuxInfra",
"descriptionhpa-feature-attributes": "SGX[
policy for vGMuxInfra", "templateVersion": "0.0.1", "version": "oofBeijing", "priority{"hpa-attribute-key": "3diskSize", "riskType"hpa-attribute-value": "test2", "riskLeveloperator": "2=", "guardunit": "FalseGB"},
"content": { "sgxProperties": [ {"hpa-attribute-key": "hpaFeatureephemeralDiskSize", "hpa-attribute-value": "sgx2", "operator": "=", "unit": "GB"},
{"hpa-attribute-key": "architectureswapMemSize", "hpa-attribute-value": "INTELx6416", "operator": "=", "unit": "MB"},
{"attribute":"mandatory", "value": "true","operator": "=", "unit":""}, ]
{"attribute":"score", "value": "4", "operator":"=", "unit": ""}, },
{"attribute":"sgxMemSize",
"value": "65","operator": "=", "unit":"MB"}, {"attribute":"sgxPubkeyHash", "value"hpa-feature" : "octect_stringpcie","operator": "=", "unit": ""},
], "mandatory" : "True",
"identity": "sgx_vGMuxInfra", "policyScopearchitecture":[ "vCPEgeneric",
"US", "INTERNATIONAL", "ip", "vGMuxInfra"], "typehpa-version": "hpaSgxPolicyv1",
"resourceInstanceType "hpa-feature-attributes": ["vGMuxInfra"]
}
} |
|
Column |
---|
| Expand |
---|
title | Comments and Notes: HPA SGX Policy |
---|
| The fields in this example policy are typically generated from a TOSCA service model specified by VNF vendors or service designers. This policy cannot be changed during the life-cycle of a service. |
|
|
Section |
---|
|
Column |
---|
| Code Block |
---|
language | js |
---|
theme | Eclipse |
---|
title | Affinity Policy Example |
---|
linenumbers | true |
---|
collapse | true |
---|
| {
"service": "affinityPolicy",
"policyName": "oofBeijing.affinityPolicy_vcpe",
"description": "Affinity policy for vCPE",
"templateVersion": "1702.03",
"version": "oofBeijing",
"priority": "5",
"riskType": "test",
"riskLevel": "2",
"guard": "False",
"content": {
{"hpa-attribute-key": "pciCount", "hpa-attribute-value": "2", "operator": "=", "unit": ""},
{"hpa-attribute-key": "pciVendorId", "hpa-attribute-value":"8086", "operator": "=", "unit": ""},
{"hpa-attribute-key": "pciDeviceId", "hpa-attribute-value": "2", "operator": "=", "unit": ""}
{"hpa-attribute-key": "functionType", "hpa-attribute-value": "<PCITYPEVALUE>","operator": "=", "unit": ""}
"identity": "affinity_vCPE", ]
"policyScope": { }
"serviceType": ["vCPE"],]
},
"geoRegion": ["US", "INTERNATIONAL"], {
"networkTypeflavorLabel": ["ip"],
"flavor_label_vm_03",
"resourceInstanceTypeflavorProperties": ["vGMuxInfra",
"vG"] }, {
"affinityProperty": { "qualifierhpa-feature": {"value": "differentnuma",
"operator": "="}, "categorymandatory": {"value": "complexFalse",
"operatorscore" : "="}5",
}"architecture": "generic",
"type "hpa-version": "affinityPolicyv1",
"resourceInstanceTypehpa-feature-attributes": ["vGMuxInfra", "vG"]
}
} |
|
Column |
---|
| Expand |
---|
title | Comments and Notes: Affinity Policy |
---|
| The fields in this example policy are typically generated from a TOSCA service model specified by VNF vendors or service designers. This policy cannot be changed during the life-cycle of a service. |
|
|
Section |
---|
|
Column |
---|
| Code Block |
---|
language | js |
---|
theme | Eclipse |
---|
title | Capacity Policy Example |
---|
linenumbers | true |
---|
collapse | true |
---|
| {
"service": "capacityPolicy",
"policyName": "oofBeijing.capacityPolicy_vGMuxInfra",
"description": "Capacity policy for vGMuxInfra" {"hpa-attribute-key": "numaNodes", "hpa-attribute-value": "2", "operator": "=", "unit": ""},
"templateVersion": "1702.03", "version": "oofBeijing", {"priorityhpa-attribute-key": "5numaCpu-0", "riskType"hpa-attribute-value": "test2", "riskLeveloperator": "2=",
"guardunit": "False"},
"content": { {"identityhpa-attribute-key": "capacity_vGMuxInfranumaMem-0",
"policyScope"hpa-attribute-value": {
"serviceType"2048", "operator": "=", "unit": ["VCPE"],MB"}
{"geoRegionhpa-attribute-key": ["USnumaCpu-1", "INTERNATIONAL"],
"networkTypehpa-attribute-value":"4", "operator": ["ip="],
"resourceInstanceTypeunit": ["vGMuxInfra"]},
}, "capacityProperty{"hpa-attribute-key": {
"cpu"numaMem-1", "value": "4096", "operator": {"value=": 2, "operatorunit": ">MB"},
"memory": {"value": 4, "operator": ">", "unit": "Gb"} ]
},
{
"type" "hpa-feature" : "capacityPolicybasicCapabilities",
"resourceInstanceTypemandatory" : ["vGMuxInfra"]True",
} } |
|
Column |
---|
| Expand |
---|
title | Comments and Notes: Capacity Policy |
---|
| The fields in this example policy are typically generated from a TOSCA service model specified by VNF vendors or service designers. This policy cannot be changed during the life-cycle of a service. |
|
|
Section |
---|
|
Column |
---|
| Code Block |
---|
language | js |
---|
theme | Eclipse |
---|
title | Min Guarantee Policy Example |
---|
linenumbers | true |
---|
collapse | true |
---|
| {
"servicearchitecture": "minGuaranteePolicygeneric",
"policyName": "oofBeijing.minGuaranee_vGMuxInfra", "description "hpa-version": "v1"Min,
guarantee policy for vGMuxInfra", "templateVersion": "1702.03", "versionhpa-feature-attributes": "oofBeijing",[
"priority": "5", "riskType": "test", {"riskLevelhpa-attribute-key": "2numVirtualCpu",
"guard"hpa-attribute-value": "False6", "contentoperator": {
"identity"=", "unit": "minGuarantee_vGMuxInfra"},
"policyScope": { {"hpa-attribute-key": "virtualMemSize", "hpa-attribute-value":"6", "operator": "=", "serviceTypeunit": ["vCPEGB"],}
"geoRegion": ["US", "INTERNATIONAL"],
"networkType": ["ip"]},
"resourceInstanceType": ["vGMuxInfra"]{
}, "hpa-feature" : "minGuaranteePropertyhugePages":,
{ "cpumandatory": {"value": "trueFalse",
"operator": "="}, "memoryscore": {"value": "false7",
"operatorarchitecture": "="}generic",
},"hpa-version": "v1",
"type": "minGuaraneePolicy", "hpa-feature-attributes": [
{"resourceInstanceTypehpa-attribute-key": "memoryPageSize", ["vGMuxInfra"]
}
}hpa-attribute-value": "<MEMORYPAGESIZE>", "operator": "=", "unit": ""}
]
}
]
}
]
}
}
|
|
Column |
---|
| Column |
---|
| Expand |
---|
title | Comments and Notes: Min Guarantee HPA CPU Topology Policy Example |
---|
| The fields in this example policy are typically generated from a TOSCA service model specified by VNF vendors or service designers. This policy cannot be changed during the life-cycle of a service. |
|
|
Section |
---|
|
| CPUTHREADPOLICY = prefer, isolate, require CPUPOLICY = shared, dedicated PCIETYPEVALUE: SRIOV, PCI-PASSTHROUGH CPUINST = aes, avx, sha_ni, mpx, adcx, mpx, pclmulqdq, rdrand,sse, etc MEMORYPAGESIZE = 4KB (unit=KB), 2MB (unit=MB), 1GB(unit=GB), ANY, Other explicit Page size |
|
|
Section |
---|
|
Column |
---|
| Code Block |
---|
language | js |
---|
theme | Eclipse |
---|
title | Optimization Distance Policy Example |
---|
linenumbers | true |
---|
collapse | true |
---|
| {
"service": "PlacementOptimizationPolicydistancePolicy",
"policyName": "oofBeijing.PlacementOptimizationPolicydistancePolicy_vGMuxInfra",
"description": "PlacementDistance Optimization Policy for vGMuxInfra",
"templateVersion": "17020.0.031",
"version": "oofBeijing",
"priority": "53",
"riskType": "test",
"riskLevel": "32",
"guard": "False",
"content": {
"objectiveParameterdistanceProperties": {
"locationInfo": customer_location",
"parameterAttributesdistance": [
{ "value": "500", "operator": "<", "unit": "km" }
},
"resourceresources": ["vGMuxInfra", "vG"],
"applicableResources": "any",
"identity": "distance-vGMuxInfra",
"policyScope": ["vCPE", "US", "INTERNATIONAL", "customerLocationInfoip":, "customer_locvGMuxInfra"],
"policyType": "distancePolicy"
}
} |
|
Column |
---|
| Expand |
---|
title | Comments and Notes: Distance Policy |
---|
| The fields in this example policy are typically generated from a TOSCA service model specified by VNF vendors or service designers. However, the policy can be updated over time by operators. |
|
|
Section |
---|
|
Column |
---|
| Code Block |
---|
language | js |
---|
theme | Eclipse |
---|
title | HPA Basic Capabilities Policy Example |
---|
linenumbers | true |
---|
collapse | true |
---|
| {
"hpa-feature" : "basicCapabilities",
"parametermandatory" : "distanceFalse",
"score" : "5",
"architecture": "generic",
"weight"hpa-version": "1v1",
"hpa-feature-attributes": [
{"hpa-attribute-key": "numVirtualCpu", "hpa-attribute-value": "6", "operator": "product="=, "unit": ""},
{"hpa-attribute-key": {
"resource": ["vG"],
"customerLocationInfo": "customer_loc",
"parameter": "distance","virtualMemSize", "hpa-attribute-value":"6", "operator": "=", "unit": "GB"}
]
} |
|
Column |
---|
| Expand |
---|
title | Comments and Notes: HPA Basic Capabilities Policy |
---|
| The fields in this example policy are typically generated from a TOSCA service model specified by VNF vendors or service designers. This policy cannot be changed during the life-cycle of a service. |
|
|
Section |
---|
|
Column |
---|
| Code Block |
---|
language | js |
---|
theme | Eclipse |
---|
title | HPA OVS DPDK Policy Example |
---|
linenumbers | true |
---|
collapse | true |
---|
| {
"weighthpa-feature" : "1ovsDpdk",
"mandatory" : "False",
"score" : "5",
"operatorarchitecture": "productINTEL-64",
"hpa-version": "v1",
"hpa-feature-attributes": [
} ],
{"hpa-attribute-key":"dataProcessingAccelerationLibrary", "hpa-attribute-value":"ovsDpdk_version", "operator": "sum"
},
"identity": "optimization",=", "unit":""}
"policyScope": {
"serviceType": ["vCPE"],
"geoRegion": ["US", "INTERNATIONAL"],
"networkType": ["ip"],
"resourceInstanceType": ["vGMuxInfra", "vG"]
},
} |
|
Column |
---|
| Expand |
---|
title | Comments and Notes: HPA OVS DPDK Policy |
---|
| The fields in this example policy are typically generated from a TOSCA service model specified by VNF vendors or service designers. This policy cannot be changed during the life-cycle of a service. For this policy others architectures are also applicable. |
|
|
Section |
---|
|
border Column |
---|
| Code Block |
---|
language | js |
---|
theme | Eclipse |
---|
title | HPA CPU Pinning Policy Example |
---|
linenumbers | true |
---|
collapse | true |
---|
| {
"hpa-feature" : "cpuPinning",
"mandatory" : "False",
"score" : "5",
"architecture": "generic",
"hpa-version": "v1",
"hpa-feature-attributes": [
{"typehpa-attribute-key":"logicalCpuThreadPinningPolicy", "placementOptimization"hpa-attribute-value":"<CPUTHREADPOLICY>", "operator": "=", "unit":""},
"objective{"hpa-attribute-key":"logicalCpuPinningPolicy", "hpa-attribute-value": "<CPUPOLICY>","operator": "minimize=", "unit":""},
} ]
} |
|
Column |
---|
| Expand |
---|
title | Comments and Notes: Optimization HPA CPU Pinning Policy |
---|
| The fields in this example policy are typically generated from a TOSCA service model specified by VNF vendors or service designers. This policy cannot be changed during the life-cycle of a service. |
|
|
Section |
---|
| CPUTHREADPOLICY = prefer, isolate, require CPUPOLICY = shared, dedicated
|
|
|
Section |
---|
|
Column |
---|
| Code Block |
---|
language | js |
---|
theme | Eclipse |
---|
title | HPA PCIe Passthrough NUMA Policy Example |
---|
linenumbers | true |
---|
collapse | true |
---|
| {
"servicehpa-feature" : "hpaPciePassthroughPolicynuma",
"policyNamemandatory" : "oofBeijing.hpaPciePassthroughPolicy_vGMuxInfraFalse",
"descriptionscore" : "Pcie Passthrough policy for vGMuxInfra5",
"templateVersionarchitecture": "0.0.1generic",
"hpa-version": "oofBeijingv1",
"priorityhpa-feature-attributes": "3", [
{"riskTypehpa-attribute-key": "testnumaNodes",
"riskLevelhpa-attribute-value": "2",
"guardoperator": "False=", "content": {
"PciePassthroughProperties": [
"unit": ""},
{"hpa-attribute-key": "hpaFeaturenumaCpu-0", "hpa-attribute-value": "pciePassthrough2", "operator": "=", "unit": ""},
{"hpa-attribute-key": "architecturenumaMem-0", "hpa-attribute-value": "INTELx642048", "operator": "=", "unit": "MB"},
{"hpa-attribute-key": "mandatorynumaCpu-1", "hpa-attribute-value": "true4", "operator": "=", "unit": ""},
{"hpa-attribute-key": "scorenumaMem-1", "hpa-attribute-value": "44096", "operator": "=", "unit": "MB"},
{"attribute": "pciCount", "value": "2", "operator": "=", "unit": ""},
]
} |
|
Column |
---|
| Expand |
---|
title | Comments and Notes: HPA NUMA Policy |
---|
| The fields in this example policy are typically generated from a TOSCA service model specified by VNF vendors or service designers. This policy cannot be changed during the life-cycle of a service. |
|
|
Section |
---|
|
Column |
---|
| Code Block |
---|
language | js |
---|
theme | Eclipse |
---|
title | HPA CPU Topology Policy Example |
---|
linenumbers | true |
---|
collapse | true |
---|
| {
"hpa-feature" : "cpuTopology",
"mandatory" : "False",
"score" : "5",
"architecture": "generic",
"hpa-version": "v1",
"hpa-feature-attributes": [
{"hpa-attribute-key": "pciVendorIdnumCpuSockets", "hpa-attribute-value": "80862", "operator": ">=", "unit": ""},
{"hpa-attribute-key": "pciDeviceIdnumCpuSockets", "hpa-attribute-value": "24", "operator": "<=", "unit": ""}
],
"identity{"hpa-attribute-key": "pciePassthrough_vGMuxInfranumCpuCores", "hpa-attribute-value": "2", "operator":">=", "unit": ""},
"policyScope {"hpa-attribute-key":["vCPEnumCpuCores", "UShpa-attribute-value": "4", "INTERNATIONALoperator":"<=", "ipunit",: "vGMuxInfra"]},
"type{"hpa-attribute-key":"numCpuThreads", "hpa-attribute-value": "hpaPciePassthroughPolicy4",
"resourceInstanceType"operator":">=", "unit": ["vGMuxInfra"]},
}
} {"hpa-attribute-key":"numCpuThreads", "hpa-attribute-value": "8", "operator":"<=", "unit": ""}
]
} |
|
Column |
---|
| Expand |
---|
title | Comments and Notes: HPA PCIe Passthrough CPU Topology Policy Example |
---|
| The fields in this example policy are typically generated from a TOSCA service model specified by VNF vendors or service designers. This policy cannot be changed during the life-cycle of a service. |
|
|
Section |
---|
|
Column |
---|
| Code Block |
---|
language | js |
---|
theme | Eclipse |
---|
title | HPA Local Storage Affinity Policy Example |
---|
linenumbers | true |
---|
collapse | true |
---|
| {
"service": "hpaLocalStoragePolicyaffinityPolicy",
"policyName": "oofBeijing.hpaLocalStorageaffinityPolicy_vGMuxInfravcpe",
"description": "HPA Local StorageAffinity policy for vGMuxInfravCPE",
"templateVersion": "01702.0.103",
"version": "oofBeijing",
"priority": "35",
"riskType": "test",
"riskLevel": "2",
"guard": "False",
"content": {
"LocalStoragePropertiesidentity": ["affinity_vCPE",
{"attributepolicyScope": ["hpaFeaturevCPE", "valueUS":, "localStorageINTERNATIONAL", "operatorip":, "=vGMuxInfra"],
"unit":""}, "affinityProperties": {
{"attributequalifier": "architecturedifferent",
"value "category": "generic","operator": "=", "unit": ""complex"
},
{"attributepolicyType":"mandatory", "value": "true","operator": "=", "unit":""}, "affinityPolicy",
{"attributeresources":"score", ["valuevGMuxInfra": "4", "operator":"="vG"],
"unit": ""}, {"attributeapplicableResources": "diskSizeall",
"value": "2", "operator": "=", "unit": "GB"},
{"attribute": "ephemeralDiskSize", "value": "2", "operator": "=", "unit": "GB"},
{"attribute": "swapMemSize", "value":"16", "operator": "=", "unit": "MB"},
],
} |
|
Column |
---|
| Expand |
---|
title | Comments and Notes: Affinity Policy |
---|
| The fields in this example policy are typically generated from a TOSCA service model specified by VNF vendors or service designers. This policy cannot be changed during the life-cycle of a service. |
|
|
Section |
---|
|
Column |
---|
| Code Block |
---|
language | js |
---|
theme | Eclipse |
---|
title | Capacity Policy Example |
---|
linenumbers | true |
---|
collapse | true |
---|
| {
"service": "capacityPolicy",
"policyName": "oofBeijing.capacityPolicy_vGMuxInfra",
"description": "Capacity policy for vGMuxInfra",
"templateVersion": "1702.03",
"version": "oofBeijing",
"priority": "5",
"riskType": "test",
"riskLevel": "2",
"guard": "False",
"content": {
"identity": "localStoragecapacity_vGMuxInfra",
"policyScope": ["vCPE", "US", "INTERNATIONAL", "ip", "vGMuxInfra"],
"controller": "multicloud",
"typecapacityProperties": "hpaLocalStoragePolicy", {
"resourceInstanceTypecpu": [{"vGMuxInfravalue"]: 2, "operator": ">"},
"memory": }
} |
| Column |
---|
| Expand |
---|
title | Comments and Notes: HPA Generic Attributes Policy Example |
---|
| The fields in this {"value": 4, "operator": ">", "unit": "GB"}
"storage": {"value": 80, "operator": ">", "unit": "GB"}
},
"policyType": "vim_fit",
"resources": ["vGMuxInfra"],
"applicableResources": "any"
}
} |
|
Column |
---|
| Expand |
---|
title | Comments and Notes: Capacity Policy |
---|
| The fields in this example policy are typically generated from a TOSCA service model specified by VNF vendors or service designers. This policy cannot be changed during the life-cycle of a service. |
|
|
Section |
---|
|
Column |
---|
| Code Block |
---|
language | js |
---|
theme | Eclipse |
---|
title | HPA CPU Instruction Set Extensions Min Guarantee Policy Example |
---|
linenumbers | true |
---|
collapse | true |
---|
| {
"service": "hpaCpuInstructionSetExtensionsPolicyminGuaranteePolicy",
"policyName": "oofBeijing.hpaCpuInstructionSetExtensionsPolicyminGuaranee_vGMuxInfra",
"description": "Cpu Instruction Set ExtensionsMin guarantee policy for vGMuxInfra",
"templateVersion": "01702.0.103",
"version": "oofBeijing",
"priority": "35",
"riskType": "test",
"riskLevel": "2",
"guard": "False",
"content": {
"avxPropertiesidentity": [
"minGuarantee_vGMuxInfra",
{"attributepolicyScope": ["hpaFeaturevCPE", "valueUS":, "cpuInstructionSetExtensionsINTERNATIONAL", "operatorip":, "=vGMuxInfra"],
"unit":""}, "minGuaranteeProperty": {
{"attribute":"architecture", "value": "INTELx64",cpu"operator": "=true",
"unit": ""}, {"attributememory": "mandatoryfalse",
"value": "true","operator": "=", "unit":""}, },
{"attribute":"score", "value": "4", "operator":"=",type": "unitminGuaranteePolicy": ""},
{"attributeresources":"instructionSetExtensions", "value":["avxvGMuxInfra"],
"aesapplicableResources"] "operator": "ALL", "unit":""},any"
],
}
} |
|
Column |
---|
| Expand |
---|
title | Comments and Notes: Min Guarantee Policy |
---|
| The fields in this example policy are typically generated from a TOSCA service model specified by VNF vendors or service designers. This policy cannot be changed during the life-cycle of a service. A min-guarantee policy can be specified using the HPA policy model. |
|
|
Section |
---|
|
Column |
---|
| Code Block |
---|
language | js |
---|
theme | Eclipse |
---|
title | Optimization Policy Example |
---|
linenumbers | true |
---|
collapse | true |
---|
| {
"identityservice": "cpuInstructionSetExtensions_vGMuxInfraPlacementOptimizationPolicy",
"policyName": "oofBeijing.PlacementOptimizationPolicy_vGMuxInfra",
"policyScopedescription": ["vCPE"Placement Optimization Policy for vGMuxInfra",
"UStemplateVersion",: "INTERNATIONAL1702.03",
"ipversion",: "vGMuxInfraoofBeijing"],
"priority": "5",
"typeriskType": "hpaCpuInstructionSetExtensionsPolicytest",
"riskLevel": "3",
"resourceInstanceTypeguard": ["vGMuxInfraFalse"],
}
} |
|
Column |
---|
| Expand |
---|
title | Comments and Notes: HPA CPU Instruction Set Extensions Policy Example |
---|
| instructionSetExtensions attribute has a list of all instruction set extensions required. |
|
|
Section |
---|
|
Column |
---|
| Code Block |
---|
language | js |
---|
theme | Eclipse |
---|
title | HPA Huge Pages Policy Example |
---|
linenumbers | true |
---|
collapse | true |
---|
| "content": {
"objectiveParameter": {
"service": "hpaHugePagesPolicy", "policyNameparameterAttributes": "oofBeijing.hpaHugePagesPolicy_vGMuxInfra",[
"description": "HPA Huge Pages policy for vGMuxInfra", "templateVersion": "0.0.1",{
"version": "oofBeijing", "priority": "3", "riskTyperesources": ["testvGMuxInfra"],
"riskLevel": "2", "guard": "False", "contentcustomerLocationInfo": {"customer_loc",
"HugePagesProperties": [ {"attributeparameter": "hpaFeaturedistance", "value": "hugePages","operator": "=", "unit":""},
{"attribute":"architecture", "valueweight": "generic1","operator": "=", "unit": ""},
{"attribute":"mandatory", "value": "true","operator": "product"=",
"unit":""}, {"attribute":"score", "value": "4", "operator":"=", "unit": ""},
{"attribute": "memoryPageSize", "value": "<MEMORYPAGESIZE>", "operator": "=", "unit": ""}, {
], "identity "resources": ["hugePagesAttributes_vGMuxInfravG"],
"policyScopecustomerLocationInfo":[ "vCPEcustomer_loc",
"US", "INTERNATIONAL", "ip", "vGMuxInfra"], "parameter": "distance",
"typeweight": "hpaHugePagesPolicy1",
"resourceInstanceTypeoperator": ["vGMuxInfra"]
}
} |
|
Column |
---|
| Expand |
---|
title | Comments and Notes: HPA Huge Pages Policy Example |
---|
| MEMORYPAGESIZE = 4KB (unit=KB), 2MB (unit=MB), 1GB(unit GB), ANY, Other explicit Page size |
|
|
...
TBD
Modes for Fetching Policies
OOF can fetch optimzation policies using the getConfig API of the policy system. The policies can be searched and filtered in two different modes; by-name and by-scope from the policy system.
By-name: OOF can send an explicite policy name or a regular expression matching a set of policy names as a part of the getConfig API payload. In return, OOF expects to receive a specific policy or a set of policies with name matching to the regular expression.
By-scope: A scope is the domain to which a policy is applicable. Scope information can be captured as a set of attribute-value pairs, which can be sent as a part of the getConfig API payload. In response, the policy system is expected to return a set of policies with the matching attribute-value pairs. A policy can only be included in the response if all the matching attribute-value pairs exist.
...
product"
}
],
"operator": "sum"
},
"identity": "optimization",
"policyScope": ["vCPE", "US", "INTERNATIONAL", "ip", "vGMuxInfra"],
"policyType": "placementOptimization",
"objective": "minimize"
}
} |
|
Column |
---|
| Expand |
---|
title | Comments and Notes: Optimization Policy |
---|
| The fields in this example policy are typically generated from a TOSCA service model specified by VNF vendors or service designers. This policy cannot be changed during the life-cycle of a service. |
|
|
Section |
---|
|
Column |
---|
| Code Block |
---|
language | js |
---|
theme | Eclipse |
---|
title | HPA PCIe Policy Example |
---|
linenumbers | true |
---|
collapse | true |
---|
| {
"hpa-feature" : "pcie",
"mandatory" : "False",
"score" : "5",
"architecture": "generic",
"hpa-version": "v1",
"hpa-feature-attributes": [
{"hpa-attribute-key": "pciCount", "hpa-attribute-value": "2", "operator": "=", "unit": ""},
{"hpa-attribute-key": "pciVendorId", "hpa-attribute-value":"8086", "operator": "=", "unit": ""},
{"hpa-attribute-key": "pciDeviceId", "hpa-attribute-value": "2", "operator": "=", "unit": ""}
{"hpa-attribute-key": "functionType", "hpa-attribute-value": "<PCIETYPEVALUE>","operator": "=", "unit": ""}
]
} |
|
Column |
---|
| Expand |
---|
title | Comments and Notes: HPA PCIe Policy Example |
---|
| PCIETYPEVALUE: SRIOV, PCI-PASSTHROUGH |
|
|
Section |
---|
|
Column |
---|
| Code Block |
---|
language | js |
---|
theme | Eclipse |
---|
title | HPA Local Storage Policy Example |
---|
linenumbers | true |
---|
collapse | true |
---|
| {
"hpa-feature" : "localStorage",
"mandatory" : "False",
"score" : "5",
"architecture": "generic",
"hpa-version": "v1",
"hpa-feature-attributes": [
{"hpa-attribute-key": "diskSize", "hpa-attribute-value": "2", "operator": "=", "unit": "GB"},
{"hpa-attribute-key": "ephemeralDiskSize", "hpa-attribute-value": "2", "operator": "=", "unit": "GB"},
{"hpa-attribute-key": "swapMemSize", "hpa-attribute-value":"16", "operator": "=", "unit": "MB"},
]
} |
|
Column |
---|
| Expand |
---|
title | Comments and Notes: HPA Generic Attributes Policy Example |
---|
| The fields in this example policy are typically generated from a TOSCA service model specified by VNF vendors or service designers. This policy cannot be changed during the life-cycle of a service. |
|
|
Section |
---|
|
Column |
---|
| Code Block |
---|
language | js |
---|
theme | Eclipse |
---|
title | HPA CPU Instruction Set Extensions Policy Example |
---|
linenumbers | true |
---|
collapse | true |
---|
| {
"hpa-feature" : "cpuInstructionSetExtensions",
"mandatory" : "False",
"score" : "5",
"architecture": "INTEL-64",
"hpa-version": "v1",
"hpa-feature-attributes": [
{"hpa-attribute-key":"instructionSetExtensions", "hpa-attribute-value":["<CPUINST>", "<CPUINST>"] "operator": "ALL", "unit":""}
]
} |
|
Column |
---|
| Expand |
---|
title | Comments and Notes: HPA CPU Instruction Set Extensions Policy Example |
---|
| instructionSetExtensions attribute has a list of all instruction set extensions required. CPUINST = aes, avx, sha_ni, mpx, adcx, mpx, pclmulqdq, rdrand,sse, etc |
|
|
Section |
---|
|
Column |
---|
| Code Block |
---|
language | js |
---|
theme | Eclipse |
---|
title | HPA Huge Pages Policy Example |
---|
linenumbers | true |
---|
collapse | true |
---|
| {
"hpa-feature" : "hugePages",
"mandatory" : "False",
"score" : "5",
"architecture": "generic",
"hpa-version": "v1",
"hpa-feature-attributes": [
{"hpa-attribute-key": "memoryPageSize", "hpa-attribute-value": "<MEMORYPAGESIZE>", "operator": "=", "unit": ""}
]
} |
|
Column |
---|
| Expand |
---|
title | Comments and Notes: HPA Huge Pages Policy Example |
---|
| MEMORYPAGESIZE = 4KB (unit=KB), 2MB (unit=MB), 1GB(unit GB), ANY, Other explicit Page size |
|
|
Section |
---|
|
Column |
---|
| Code Block |
---|
language | js |
---|
theme | Eclipse |
---|
title | VNF Policy Example |
---|
linenumbers | true |
---|
collapse | true |
---|
| {
"service": "vnfPolicy",
"policyName": "oofBeijing.vnfPolicy_vGMuxInfra",
"description": "vnfPolicy",
"templateVersion": "1702.03",
"version": "oofBeijing",
"priority": "6",
"riskType": "test",
"riskLevel": "3",
"guard": "False",
"content": {
"identity": "vnf_vGMuxInfra",
"policyScope": ["vCPE", "INTERNATIONAL", "ip", "vGMuxInfra"],
"policyType": "vnf_policy",
"resources": ["vGMuxInfra"],
"applicableResources": "any",
"vnfProperties": [
{
"inventoryProvider": "aai",
"serviceType": "",
"inventoryType": "cloudRegionId",
"customerId": ""
},
{
"inventoryProvider": "multicloud",
"serviceType": "HNGATEWAY",
"inventoryType": "serviceInstanceId",
"customerId": "21014aa2-526b-11e6-beb8-9e71128cae77"
}
]
}
} |
|
Column |
---|
| Expand |
---|
title | Comments and Notes: HPA Huge Pages Policy Example |
---|
| VNF policy captures the location of inventories and customer information. |
|
|
Section |
---|
|
Column |
---|
| Code Block |
---|
language | js |
---|
theme | Eclipse |
---|
title | Subscriber Role Policy Example |
---|
linenumbers | true |
---|
collapse | true |
---|
| {
"service": "SubscriberPolicy",
"policyName": "oofBeijing.SubscriberPolicy_v1",
"description": "Subscriber Policy",
"templateVersion": "0.0.1",
"version": "oofBeijing",
"priority": "1",
"riskType": "test",
"riskLevel": "3",
"guard": "False",
"content": {
"identity": "subscriber",
"policyScope": ["vCPE", "subscriber_x", "subscriber_y"],
"properties": {
"subscriberName": ["subscriber_x", "subscriber_y"],
"subscriberRole": ["Test"],
"provStatus": ["CAPPED"]
},
"policyType": "SubscriberPolicy"
}
} |
|
Column |
---|
| Expand |
---|
title | Comments and Notes: HPA Huge Pages Policy Example |
---|
| Subscriber role policy to capture the role of a subscriber and related provisioning states. |
|
|
Anchor |
---|
| OOF-CMSO Policies |
---|
| OOF-CMSO Policies |
---|
|
OOF-CMSO PoliciesTBD
Modes for Fetching Policies
OOF can fetch optimzation policies using the getConfig API of the policy system. The policies can be searched and filtered in two different modes; by-name and by-scope from the policy system.
By-name: OOF can send an explicite policy name or a regular expression matching a set of policy names as a part of the getConfig API payload. In return, OOF expects to receive a specific policy or a set of policies with name matching to the regular expression.
By-scope: A scope is the domain to which a policy is applicable. Scope information can be captured as a set of attribute-value pairs, which can be sent as a part of the getConfig API payload. In response, the policy system is expected to return a set of policies with the matching attribute-value pairs. A policy can only be included in the response if all the matching attribute-value pairs exist.
OOF can requerst prioritization by enabling a prioritization flag in the getConfig API call to the policy system, and expects to receive a single policy with the highest priority policy among the set of policies meeting the search criteria.
TOSCA Policy Models
The following TOSCA policy models need to be uploaded as a dictionary during the deployment-time of an optimization application. Currently, the model uploading porcess is manual since the policy system does not offer an interface to upload models programatically. Once the models are uploaded, policy templates are created in the policy portal/GUI using which optimization policies can be created. Alternatively, the policy system offers CRUD REST APIs using which the policies can be managed by the application.
HAS Policies for Testing
View file |
---|
name | Affinity_vCPE_1.json |
---|
height | 250 |
---|
|
View file |
---|
name | Capacity_vG_1.json |
---|
height | 250 |
---|
|
View file |
---|
name | Capacity_vGMuxInfra.json |
---|
height | 250 |
---|
|
View file |
---|
name | Distance_vG_1.json |
---|
height | 250 |
---|
|
View file |
---|
name | Distance_vGMuxInfra_1.json |
---|
height | 250 |
---|
|
View file |
---|
name | hpa_policy_vG_1.json |
---|
height | 250 |
---|
|
View file |
---|
name | hpa_policy_vGMuxInfra_1.json |
---|
height | 250 |
---|
|
View file |
---|
name | Placement_Optimization_1.json |
---|
height | 250 |
---|
|
View file |
---|
name | QueryPolicy_vCPE.json |
---|
height | 250 |
---|
|
View file |
---|
name | subscriber_policy.json |
---|
height | 250 |
---|
|
View file |
---|
name | vnfPolicy_vG.json |
---|
height | 250 |
---|
|
View file |
---|
name | vnfPolicy_vGMuxInfra.json |
---|
height | 250 |
---|
|