Versions Compared

Key

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

...

Section
bordertrue
Column
width60%
Code Block
languagejs
themeEclipse
titleTemplate for the HPA policies
linenumberstrue
collapsetrue
{
    "service": "{the model name of a policy}",
    "policyName": "{policy scope folder}.{policy name; must be unique}",
    "description": "{description of a policy}",
    "templateVersion": "{policy model version}",
    "version": "{policy version}",
    "priority": "{priority in 1-10; larger the number higher the priority is}",
    "riskType": "{the type of risk}",
    "riskLevel": "{the level of risk}",
    "guard": "{True/False flag to indicate whether guard is applicable or not}",
    "content": { 
      "resourcesresource": "{resource name}",
      "identity": "{policy identity}",
      "policyScope": ["{a tag representing policy scope}"],
      "typepolicyType": "{policy type}",
      "flavorFeatures": [
        {
          "flavorLabel": "{VM/VFC id}",
          "flavorProperties":[
            {
              "hpa_-feature" : "{HPA feature type}",
              "mandatory" : "{mandatoriness of the feature}",
              "score" : "{priority of this feature if the feature is not mandatory for VM}"
              "architecture": "{supported architecuture}",
              "featureAttributeshpa-version": "{version for hpa capability}",
              "hpa-feature-attributes": [
                {
                  "hpa-attribute-key": "{attribute name}", 
                  "valueshpa-attribute-value": "{attribute value}",
                  "operator": "{comparison operator}", 
                  "unit": "{the unit of an attribute}"}
              ]
            }
          ] 
        }
      ]
    }
}
Column
width45%
Expand
titleComments and Notes: HPA CPU Topology Policy Example

Template for the HPA policies.

Section
bordertrue
Column
width60%
Code Block
languagejs
themeEclipse
titleHPA CPU Topology Policy Example
linenumberstrue
collapsetrue
{
    "service": "hpaCpuTopologyPolicyhpaPolicy",
    "policyName": "oofBeijing.hpaCpuTopologyPolicyhpaPolicy_vGMuxInfra",
    "description": "Cpu TopologyHPA policy for vGMuxInfra",
    "templateVersion": "0.0.1",
    "version": "oofBeijing1.0",
    "priority": "3",
    "riskType": "test",
    "riskLevel": "2",
    "guard": "False",
    "content": { 
      "cpuTopologyPropertiesresources": ["vGMuxInfra",
      {"attributeidentity": "hpaFeaturehpaPolicy_vGMuxInfra",
      "valuepolicyScope": ["cpuTopologyvCPE", "operatorUS":, "=INTERNATIONAL", "unitip":, "vGMuxInfra"}],
      {"attributepolicyType": "architecturehpaPolicy", "value": "generic","operator
      "flavorFeatures": "=", "unit": ""},[
        {"attribute":"mandatory", "value
          "flavorLabel": "false","operator": "=", "unit":""},flavor_label_vm_01",
          "flavorProperties":[
            {"attribute":"score", "value": "4", "operator":"=", "unit": ""},
              "hpa-feature" : "cpuTopology",
              {"attributemandatory" : "numCpuSocketsTrue",
"values              "architecture": "2generic","operator
              "hpa-version": ">=v1",
            "unit": ""},  "hpa-feature-attributes": [
                {"hpa-attribute-key":"numCpuSockets", "valueshpa-attribute-value": "42","operator": "<>=", "unit": ""},
                {"hpa-attribute-key":"numCpuCoresnumCpuSockets", "hpa-attribute-value": "24", "operator": "><=", "unit": ""},
                {"hpa-attribute-key":"numCpuCores", "hpa-attribute-value": "42", "operator":"<>=", "unit": ""},
                {"hpa-attribute-key":"numCpuThreadsnumCpuCores", "hpa-attribute-value": "4", "operator":"><=", "unit": ""},
                {"hpa-attribute-key":"numCpuThreads", "hpa-attribute-value": "84", "operator":"<>=", "unit": ""},
     ],     "identity": "cpuTopology_vGMuxInfra",     {"policyScopehpa-attribute-key": ["vCPEnumCpuThreads", "US",hpa-attribute-value": "INTERNATIONAL8", "ipoperator":"<=", "vGMuxInfra"],unit": ""}
              ]
            },
            {
      "type"        "hpa-feature" : "hpaCpuTopologyPolicybasicCapabilities",
              "resourceInstanceTypemandatory" : ["vGMuxInfra"]True",
             }
}
Column
width45%
Expand
titleComments 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
bordertrue
Column
width60%
Code Block
languagejs
themeEclipse
titleDistance Policy Example
linenumberstrue
collapsetrue
{
  "service": "distancePolicy "architecture": "generic",
  "policyName": "oofBeijing.distancePolicy_vGMuxInfra",   "description": "Distance Policy for vGMuxInfra",   "templateVersion": "0.0.1",
  "hpa-version": "oofBeijingv1",
  "priority": "3",   "riskType": "test",   "riskLevel": "2",   "guardhpa-feature-attributes": "False",[
  "content": {     "distanceProperties": {       {"locationInfohpa-attribute-key": {"numVirtualCpu", "hpa-attribute-value": "customer_location6", "operator": "=", "unit": ""},
      "distance":  { "value": "500", "operator      {"hpa-attribute-key": "<virtualMemSize", "unithpa-attribute-value": "km6" },
      "resourceInstanceType": { "value""operator": "vGMuxInfra=", "operatorunit": "=GB"},
       },     "identity": "distance-vGMuxInfra", ]
   "policyScope": {       "serviceType": ["vCPE"], },
       "geoRegion": ["US", "INTERNATIONAL"],     {
      "networkType": ["ip"],       "resourceInstanceType": ["vGMuxInfra"]"hpa-feature" : "ovsDpdk",
               },"mandatory" : "False",
              "typescore" : "distancePolicy"3",
       }
}
Column
width45%
Expand
titleComments 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
bordertrue
Column
width60%
Code Block
languagejs
themeEclipse
titleHPA Basic Capabilities Policy Example
linenumberstrue
collapsetrue
{       "architecture": "generic",
        "service": "hpaBasicCapabilitiesPolicy",     "policyNamehpa-version": "oofBeijing.hpaBasicCapabilitiesPolicy_vGMuxInfrav1",
    "description": "HPA Basic Capabilities policy for vGMuxInfra",     "templateVersionhpa-feature-attributes": "0.0.1",[
     "version": "oofBeijing",     "priority": "3",     {"riskTypehpa-attribute-key": "testdataProcessingAccelerationLibrary",
    "riskLevelhpa-attribute-value": "2ovsDpdk_version",
    "guardoperator": "False=", "unit":""}
   "content": {         "BasicCapabilitiesProperties": []
          {"attribute":"hpaFeature", "value": "basicCapabilities","operator": "=", "unit":""}, },
            {"attribute":"architecture", "value": "generic","operator": "=", "unit": ""},
              "hpa-feature" : "cpuInstructionSetExtensions",
              "mandatory" : "True",
            {"attribute":"mandatory", "value": "false","operatorarchitecture": "=INTEL-64",
"unit":""},           {"attribute":"score", "value": "4", "operatorhpa-version": "=v1",
"unit": ""},           {"attribute": "numVirtualCpu", "valuehpa-feature-attributes": "6", "operator": "=", "unit": ""},[
                {"hpa-attribute-key": "virtualMemSizeinstructionSetExtensions", "hpa-attribute-value":["6<CPUINST>", "<CPUINST>"] "operator": "=ALL", "unit": "GB"},
              ],
         "identity": "basicCapabilities_vGMuxInfra",  }
      "policyScope":["vCPE", "US", "INTERNATIONAL", "ip", "vGMuxInfra"], 
       "type": "hpaBasicCapabilitiesPolicy" },
        "resourceInstanceType": ["vGMuxInfra"]{
     } }
Column
width45%
Expand
titleComments 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
bordertrue
Column
width60%
Code Block
languagejs
themeEclipse
titleHPA OVS DPDK Policy Example
linenumberstrue
collapsetrue
{     "serviceflavorLabel": "hpaOvsDpdkPolicyflavor_label_vm_02",
     "policyName     "flavorProperties": "oofBeijing.hpaOvsDpdkPolicy_vGMuxInfra",[
          "description": "HPA OVS{
DPDK policy for vGMuxInfra",     "templateVersion": "0.0.1",     "versionhpa-feature" : "oofBeijingcpuPinningy",
    "priority": "3",          "riskTypemandatory" : "testTrue",
      "riskLevel": "2",        "guardarchitecture": "Falsegeneric",
    "content": {         "ovsDpdkPropertieshpa-version": [
	"v1",
              {"attributehpa-feature-attributes":"hpaFeature", "value": "ovsDpdk","operator": "=", "unit":""}, [
                {"hpa-attribute-key":"architecturelogicalCpuThreadPinningPolicy", "hpa-attribute-value": "INTELx64<CPUTHREADPOLICY>", "operator": "=", "unit": ""},
                {"hpa-attribute-key":"mandatorylogicalCpuPinningPolicy", "hpa-attribute-value": "true<CPUPOLICY>","operator": "=", "unit":""},
          {"attribute":"dataProcessingAccelerationLibrary", "value":"ovsDpdk_version", "operator": "=", "unit":""}, ]
        ],    },
    "identity"        {
              "hpa-feature" : "ovsDpdk_vGMuxInfrabasicCapabilities",
              "policyScopemandatory" : ["vCPETrue",
       "US",       "architecture": "INTERNATIONALgeneric", "ip", "vGMuxInfra"],
              "typehpa-version": "hpaOvsDpdkPolicyv1",
        "resourceInstanceType      "hpa-feature-attributes": ["vGMuxInfra"]
         }
}
Column
width45%
Expand
titleComments 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
bordertrue

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
Column
width60%
Code Block
languagejs
themeEclipse
titleHPA CPU Pinning Policy Example
linenumberstrue
collapsetrue
{       {"servicehpa-attribute-key": "hpaCpuPinningPolicynumVirtualCpu",    "hpa-attribute-value": "6", "policyNameoperator": "oofBeijing.hpaCpuPinningPolicy_vGMuxInfra=",
    "descriptionunit": "CPU Pinning policy for vGMuxInfra""},
    "templateVersion": "0.0.1",     "version": "oofBeijing",     {"priorityhpa-attribute-key": "3virtualMemSize",
    "riskTypehpa-attribute-value": "test6",     "riskLeveloperator": "2=",
    "guardunit": "FalseGB",}
    "content": {         "cpuPinningProperties":]
 [           {"attribute":"hpaFeature", "value": "cpuPinning","operator": "=", "unit":""},},
            {
              {"attribute":"architecture", "value""hpa-feature" : "genericlocalStorage","operator": "=", "unit": ""},
              {"attribute":"mandatory", "value": "trueFalse","operator": "=", "unit":""},
              {"attributescore" : "logicalCpuThreadPinningPolicy5",
              "valuearchitecture": "<CPUTHREADPOLICY>generic",
              "operatorhpa-version": "=v1",
          "unit":""},    "hpa-feature-attributes": [
                {"hpa-attribute-key": "logicalCpuPinningPolicydiskSize", "hpa-attribute-value": "<CPUPOLICY>2", "operator": "=", "unit": "GB"},   
     ], 	        {"identityhpa-attribute-key": "cpuPinning_vGMuxInfraephemeralDiskSize",  "hpa-attribute-value": "2", "operator": "=", "unit": "GB"},
		        {"policyScopehpa-attribute-key": ["vCPEswapMemSize", "US"hpa-attribute-value":"16", "INTERNATIONALoperator": "=", "ipunit",: "vGMuxInfraMB"]},
          "type": "hpaCpuPinning",    ]
      "resourceInstanceType": ["vGMuxInfra"]     }
}
Column
width45%
Expand
titleComments and Notes: HPA CPU Pinning Policy
Section
bordertrue
Column
width60%
Code Block
languagejs
themeEclipse
titleHPA NUMA Policy Example
linenumberstrue
collapsetrue
{,
            {
        "service": "hpaNumaPolicy",     "policyNamehpa-feature" : "oofBeijing.hpaNumaPolicy_vGMuxInfrapcie",
    "description": "Hyper NUMA policy for vGMuxInfra",     "templateVersionmandatory" : "0.0.1True",
        "version": "oofBeijing",     "priorityarchitecture": "3generic",
        "riskType": "test",     "riskLevelhpa-version": "2v1",
     "guard": "False",         "contenthpa-feature-attributes": {[
          "numaProperties": [    		 {"hpa-attribute-key": "hpaFeaturepciCount", "hpa-attribute-value": "numa2", "operator": "=", "unit": ""},
         {"attribute": "architecture       {"hpa-attribute-key": "pciVendorId", "hpa-attribute-value": "generic8086", "operator": "=", "unit": ""},
	            {"hpa-attribute-key": "mandatorypciDeviceId", "hpa-attribute-value": "false2", "operator": "=", "unit": ""}, 
                {"hpa-attribute-key": "scorefunctionType", "hpa-attribute-value": "4<PCITYPEVALUE>", "operator": "=", "unit": ""}, 
        {"attribute": "numaNodes", "value": "2", "operator": "=", "unit": ""}, ]
          {"attribute": "numaCpu-0", "values":"2", "operator": "=", "unit": ""}, }
          ] 
     {"attribute": "numaMem-0", "value": "2048" },
"operator": "=", "unit": "MB"}        {
     {"attribute": "numaCpu-1", "values":"4", "operator": "=", "unitflavorLabel": "flavor_label_vm_03"},
         { "attributeflavorProperties": "numaMem-1", "value": "4096", "operator": "=", "unit": "MB"}
  [
            {
     ],         "identityhpa-feature" : "numa_vGMuxInfra",
              "policyScopemandatory" :[ "vCPEFalse",
"US", "INTERNATIONAL", "ip", "vGMuxInfra"],              "score" : "5",
              "typearchitecture": "hpaNumaPolicygeneric",
              "resourceInstanceTypehpa-version": ["vGMuxInfra"]v1",
       }
}
Column
width45%
Expand
titleComments 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
bordertrue
Column
width60%
Code Block
languagejs
themeEclipse
titleHPA SGX Policy Example
linenumberstrue
collapsetrue
{       "servicehpa-feature-attributes": [
"hpaSgxPolicy",     "policyName": "oofBeijing.hpaSgxPolicy_vGMuxInfra",           {"descriptionhpa-attribute-key": "numaNodes"SGX policy for vGMuxInfra, "hpa-attribute-value": "2", "operator": "=",   "templateVersionunit": "0.0.1"},
    "version": "oofBeijing",     "priority": "3",     {"riskTypehpa-attribute-key": "testnumaCpu-0",     "riskLevel"hpa-attribute-value": "2", "operator": "=",   "guardunit": "False"},
    "content": {
        "sgxProperties": [           {"hpa-attribute-key": "hpaFeaturenumaMem-0", "hpa-attribute-value": "sgx2048", "operator": "=", "unit": "MB"},
                {"hpa-attribute-key": "architecturenumaCpu-1", "hpa-attribute-value": "INTELx644", "operator": "=", "unit": ""},
                {"hpa-attribute-key": "mandatorynumaMem-1", "value": "false4096", "operator": "=", "unit": "MB"},
           {"attribute":"score", "value": "4", "operator":"=", "unit": ""}, ]
            },
            {"attribute":"sgxMemSize", "value": "65","operator": "=", "unit":"MB"},
              "hpa-feature" : "basicCapabilities",
           {"attribute":"sgxPubkeyHash", "value": "octect_string","operator": "=mandatory", "unit": "True"},
  
     ],         "identityarchitecture": "sgx_vGMuxInfrageneric",
        "policyScope":["vCPE      "hpa-version": "v1",
              "hpa-feature-attributes": [
                {"hpa-attribute-key": "numVirtualCpu", "US",hpa-attribute-value": "INTERNATIONAL6", "ipoperator",: "vGMuxInfra="], "unit": ""},
      "type": "hpaSgxPolicy",         {"resourceInstanceTypehpa-attribute-key": ["vGMuxInfravirtualMemSize"]
    }
}
Column
width45%
Expand
titleComments 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
bordertrue
Column
width60%
Code Block
languagejs
themeEclipse
titleAffinity Policy Example
linenumberstrue
collapsetrue
{
    "service": "affinityPolicy",
    "policyName": "oofBeijing.affinityPolicy_vcpe",
    "description": "Affinity policy for vCPE",
    "templateVersion": "1702.03",
    "version": "oofBeijing",
    "priority": "5",
    "riskType": "test",
    "riskLevel": "2",
    "guard": "False, "hpa-attribute-value":"6", "operator": "=", "unit": "GB"}
              ]
            },
            {
              "hpa-feature" : "hugePages",
    "content": {         "identitymandatory" : "affinity_vCPEFalse",
        "policyScope": {     "score"        "serviceType": ["vCPE"],: "7",
              "geoRegionarchitecture": ["USgeneric",
 "INTERNATIONAL"],             "networkTypehpa-version": ["ipv1"],
              "resourceInstanceTypehpa-feature-attributes": ["vGMuxInfra",
"vG"]         },         "affinityProperty": {
            "qualifier": {"{"hpa-attribute-key": "memoryPageSize", "hpa-attribute-value": "different<MEMORYPAGESIZE>", "operator": "="}, "unit": ""}
           "category": {"value": "complex", "operator": "="} ]
            },
          ] 
   "type": "affinityPolicy",    }
    "resourceInstanceType": ["vGMuxInfra", "vG"]
    }
}
Column
width45%
Expand
titleComments and Notes: Affinity HPA CPU Topology Policy Example
Column
width60%
theme
Code Block
languagejs

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
bordertrue



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
bordertrue
Column
width60%
Code Block
languagejs
themeEclipse
titleCapacity Distance Policy Example
linenumberstrue
collapsetrue
{

   "service": "capacityPolicydistancePolicy",
 
  "policyName": "oofBeijing.capacityPolicydistancePolicy_vGMuxInfra",
    "description": "CapacityDistance policyPolicy for vGMuxInfra",

   "templateVersion": "17020.0.031",
    "version": "oofBeijing",
 
  "priority": "53",

   "riskType": "test",
    "riskLevel": "2",
 
  "guard": "False",
 
  "content": {
    "distanceProperties": {
      "identitylocationInfo": "capacitycustomer_vGMuxInfralocation",
        "policyScopedistance": { "value":            "serviceType"500", "operator": "<", "unit": ["VCPEkm"], }
     },
     "geoRegionresources": ["USvGMuxInfra", "INTERNATIONALvG"],
      
     "networkTypeapplicableResources": ["ipany"],
      
     "resourceInstanceTypeidentity": ["distance-vGMuxInfra"]
        },
   
    "capacityPropertypolicyScope": {
            "cpu": {"value": 2, "operator": ">"}["vCPE", "US", "INTERNATIONAL", "ip", "vGMuxInfra"],
            "memory"policyType": {"value": 4, "operator": ">", "unit": "Gb"}
        },
        "type": "capacityPolicy",
        "resourceInstanceType": ["vGMuxInfra"]
    }
}"distancePolicy"
  }
}
Column
width45%
Expand
titleComments and Notes: Capacity Distance Policy

The fields in this example policy are typically generated from a TOSCA service model specified by VNF vendors or service designers. This However, the policy cannot be changed during the life-cycle of a servicecan be updated over time by operators.

Section
bordertrue
Column
width60%
Code Block
languagejs
themeEclipse
titleMin Guarantee HPA Basic Capabilities Policy Example
linenumberstrue
collapsetrue
{
    "servicehpa-feature" : "minGuaranteePolicybasicCapabilities",
    "policyNamemandatory" : "oofBeijing.minGuaranee_vGMuxInfraFalse",
    "descriptionscore" : "Min guarantee policy for vGMuxInfra5",
    "templateVersionarchitecture": "1702.03generic",
    "hpa-version": "oofBeijingv1",
    "priorityhpa-feature-attributes": "5", [
       {"riskTypehpa-attribute-key": "testnumVirtualCpu",
    "riskLevel"hpa-attribute-value": "26",
    "guardoperator": "False=",
    "contentunit": {""},
        "identity{"hpa-attribute-key": "minGuarantee_vGMuxInfra",
        "policyScope": {
            "serviceType": ["vCPE"],
            "geoRegion": ["US", "INTERNATIONAL"],
            "networkType": ["ip"],
            "resourceInstanceType": ["vGMuxInfra"]
        },
        "minGuaranteeProperty": {
            "cpu": {"value": "true", "operator": "="},
     virtualMemSize", "hpa-attribute-value":"6", "operator": "=", "unit": "GB"}
    ]
}
Column
width45%
Expand
titleComments 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
bordertrue
Column
width60%
Code Block
languagejs
themeEclipse
titleHPA OVS DPDK Policy Example
linenumberstrue
collapsetrue
{
    "hpa-feature" : "ovsDpdk",
    "mandatory" : "False",
    "score" : "5",
    "architecture": "INTEL-64",
    "hpa-version": "v1",
    "hpa-feature-attributes": [
      {"memoryhpa-attribute-key":"dataProcessingAccelerationLibrary", {"hpa-attribute-value": "falseovsDpdk_version", "operator": "="}
        },
        "typeunit": "minGuaraneePolicy",
  }
     "resourceInstanceType": ["vGMuxInfra"]

   }
}
Column
width45%
Expand
titleComments and Notes: Min Guarantee 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
bordertrue
Column
width60%
Code Block
languagejs
themeEclipse
titleOptimization HPA CPU Pinning Policy Example
linenumberstrue
collapsetrue
{

   "servicehpa-feature" : "PlacementOptimizationPolicycpuPinning",

   "policyNamemandatory" : "oofBeijing.PlacementOptimizationPolicy_vGMuxInfraFalse",
    "descriptionscore" : "Placement Optimization Policy for vGMuxInfra5",
    "templateVersionarchitecture": "1702.03generic",
    "hpa-version": "oofBeijingv1",

   "priorityhpa-feature-attributes": [
"5",     {"riskTypehpa-attribute-key":"logicalCpuThreadPinningPolicy", "testhpa-attribute-value":"<CPUTHREADPOLICY>",
    "riskLeveloperator": "3=",
    "guardunit": "False"},
    "content": {
        "objectiveParameter": {
            "parameterAttributes": [
                {
                    "resource": ["vGMuxInfra"] {"hpa-attribute-key":"logicalCpuPinningPolicy", "hpa-attribute-value": "<CPUPOLICY>","operator": "=", "unit":""},
                    "customerLocationInfo": "customer_loc",
 ]
}
Column
width45%
Expand
titleComments 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
bordertrue
Column
width60%
Code Block
languagejs
themeEclipse
titleHPA NUMA Policy Example
linenumberstrue
collapsetrue
{
    "hpa-feature" : "numa",
    "mandatory" : "False",
    "score" : "5",
    "parameterarchitecture": "distancegeneric",
    "hpa-version": "v1",
    "hpa-feature-attributes": [
        "weight{"hpa-attribute-key": "1numaNodes", "hpa-attribute-value": "2", "operator": "=", "unit": ""},
              "operator{"hpa-attribute-key": "productnumaCpu-0"=
                },
        , "hpa-attribute-value":"2", "operator": "=", "unit": ""},
       {"hpa-attribute-key": "numaMem-0", "hpa-attribute-value": "2048", "operator": "=", "unit": "MB"},
             "resource{"hpa-attribute-key": ["vGnumaCpu-1"],
                    "customerLocationInfo, "hpa-attribute-value":"4", "operator": "customer_loc",
                    "parameter=", "unit": "distance"},
                    "weight{"hpa-attribute-key": "numaMem-1", "hpa-attribute-value": "4096", "operator": "=", "unit": "MB"}
       ]
}
Column
width45%
Expand
titleComments 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
bordertrue
Column
width60%
Code Block
languagejs
themeEclipse
titleHPA CPU Topology Policy Example
linenumberstrue
collapsetrue
{
      "operator""hpa-feature" : "productcpuTopology",
   "mandatory" :  "False",
   "score" : "5",
   }
"architecture": "generic",
   "hpa-version": "v1",
   "hpa-feature-attributes": [
 ],     {"hpa-attribute-key":"numCpuSockets",        "hpa-attribute-value": "2","operator": "sum"
        },
        "identity>=", "unit": "optimization"},
        "policyScope{"hpa-attribute-key": {
   "numCpuSockets", "hpa-attribute-value": "4","operator": "<=", "unit": ""},
        "serviceType{"hpa-attribute-key": ["vCPEnumCpuCores"],
            "geoRegion"hpa-attribute-value": ["US2", "INTERNATIONAL"],
            "networkType"operator":">=", "unit": ["ip"]},
            "resourceInstanceType": ["vGMuxInfra{"hpa-attribute-key":"numCpuCores", "vG"]
   hpa-attribute-value": "4", "operator":"<=", "unit": ""},
    },  {"hpa-attribute-key":"numCpuThreads", "hpa-attribute-value":      "type"4", "operator":">=", "unit": "placementOptimization"},
      {"hpa-attribute-key":"numCpuThreads", "hpa-attribute-value": "objective"8", "operator":"<=", "minimizeunit": ""}
   }]
}
Column
width45%
Expand
titleComments and Notes: Optimization 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
bordertrue
Column
width60%
Code Block
languagejs
themeEclipse
titleHPA PCIe Passthrough Affinity Policy Example
linenumberstrue
collapsetrue
{
    "service": "hpaPciePassthroughPolicyaffinityPolicy",
    "policyName": "oofBeijing.hpaPciePassthroughPolicyaffinityPolicy_vGMuxInfravcpe",
    "description": "PcieAffinity Passthrough policy for vGMuxInfravCPE",
    "templateVersion": "01702.0.103",
    "version": "oofBeijing",
    "priority": "35",
    "riskType": "test",
    "riskLevel": "2",
    "guard": "False",
    "content": {
        "PciePassthroughPropertiesidentity": ["affinity_vCPE",
          {"attributepolicyScope": ["hpaFeaturevCPE", "valueUS":, "pciePassthroughINTERNATIONAL", "operatorip":, "=vGMuxInfra"],
        "unitaffinityProperties":""}, {
          {"attribute":"architecture", "value": "generic",qualifier"operator": "=different",
"unit": ""},           {"attributecategory": "mandatorycomplex",
"value": "false","operator": "=", "unit":""},     },
     {"attribute":"score", "value": "4", "operatorpolicyType":"=", "unitaffinityPolicy": ""},

         {"attributeresources": ["pciCountvGMuxInfra", "value": "2"vG"],
"operator": "=", "unit": ""},
          {"attributeapplicableResources": "pciVendorIdall", "value":"8086", "operator": "=", "unit": ""},
	      {"attribute": "pciDeviceId", "value": "2", "operator": "=", "unit": ""}   
       ],

    }
}
Column
width45%
Expand
titleComments 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
bordertrue
Column
width60%
Code Block
languagejs
themeEclipse
titleCapacity Policy Example
linenumberstrue
collapsetrue
{
    "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": "pciePassthroughcapacity_vGMuxInfra",
        "policyScope": ["vCPE", "US", "INTERNATIONAL", "ip", "vGMuxInfra"],
		"controller": "multicloud",
        "typecapacityProperties": "hpaPciePassthroughPolicy", {
            "resourceInstanceTypecpu": [{"vGMuxInfra"]
    }
}
Column
width45%
Expand
titleComments and Notes: HPA PCIe Passthrough Policy Example
Section
bordertrue
Column
width60%
Code Block
languagejs
themeEclipse
titleHPA Local Storage Policy Example
linenumberstrue
collapsetrue
{
    "servicevalue": 2, "operator": "hpaLocalStoragePolicy>"},
    "policyName": "oofBeijing.hpaLocalStorage_vGMuxInfra",        "descriptionmemory": {"HPA Local Storage policy for vGMuxInfra",
    "templateVersionvalue": 4, "operator": ">", "unit": "0.0.1",
    "versionGB"}
			"storage": {"oofBeijingvalue",
   : 80, "priorityoperator": "3>",     "riskTypeunit": "testGB",}
     "riskLevel": "2",  },
  "guard": "False",     "contentpolicyType": {"vim_fit",
        "LocalStoragePropertiesresources": ["vGMuxInfra"],
          {"attributeapplicableResources": "hpaFeatureany",
 "value": "localStorage","operator": "=", "unit":""},
          {"attribute":"architecture",
"value": "generic","operator": "=", "unit": ""},
          {"attribute":"mandatory", "value": "false","operator": "=", "unit":""},
          {"attribute":"score", "value": "4", "operator":"=", "unit": ""},
	      {"attribute": "diskSize", "value}
Column
width45%
Expand
titleComments 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.

true
Section
bordertrue
border
Column
width60%
Code Block
languagejs
themeEclipse
titleMin Guarantee Policy Example
linenumberstrue
collapsetrue
{
    "service": "minGuaranteePolicy",
    "policyName": "oofBeijing.minGuaranee_vGMuxInfra",
    "description": "Min guarantee policy for vGMuxInfra",
    "templateVersion": "1702.03",
    "version": "oofBeijing",
    "priority": "5",
    "riskType": "test",
    "riskLevel": "2",
    "operatorguard": "=False",
    "unitcontent": "GB"}, {
  	      {"attributeidentity": "ephemeralDiskSizeminGuarantee_vGMuxInfra",
        "valuepolicyScope": ["2vCPE", "operatorUS":, "=INTERNATIONAL", "unitip":, "GBvGMuxInfra"}],
		
        {"attributeminGuaranteeProperty": "swapMemSize", "value":"16", "operator": "=", "unit{
            "cpu": "MBtrue"},
 
     ],         "identitymemory": "localStorage_vGMuxInfrafalse",
        "policyScope":["vCPE", "US", "INTERNATIONAL", "ip", "vGMuxInfra"],
},
        "type": "hpaLocalStoragePolicyminGuaranteePolicy",
        "resourceInstanceTyperesources": ["vGMuxInfra"],
		"applicableResources": "any"
    }
}
Column
width45%
Expand
titleComments and Notes: HPA Generic Attributes Min Guarantee 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

A min-guarantee policy can be specified using the HPA policy model.

Section
bordertrue
Column
width60%
Code Block
languagejs
themeEclipse
titleHPA CPU Instruction Set Extensions Optimization Policy Example
linenumberstrue
collapsetrue
{
    "service": "hpaCpuInstructionSetExtensionsPolicyPlacementOptimizationPolicy",
    "policyName": "oofBeijing.hpaCpuInstructionSetExtensionsPolicyPlacementOptimizationPolicy_vGMuxInfra",
    "description": "CpuPlacement InstructionOptimization Set ExtensionsPolicy policy for vGMuxInfra",
    "templateVersion": "01702.0.103",
    "version": "oofBeijing",
    "priority": "35",
    "riskType": "test",
    "riskLevel": "23",
    "guard": "False",
    "content": {
        "avxPropertiesobjectiveParameter": {
    [ 	      {"attribute":"hpaFeature", "valueparameterAttributes": "cpuInstructionSetExtensions","operator": "=", "unit":""},[
            {"attribute":"architecture", "value": "INTELx64","operator": "=", "unit": ""}, {
                    {"attributeresources": ["mandatoryvGMuxInfra"], "value": "true","operator": "=", "unit":""},
                 {"attribute":"instructionSetExtensions", "value":["avx", "aes"] "operatorcustomerLocationInfo": "ALLcustomer_loc",
"unit":""},           ],         "identityparameter": "cpuInstructionSetExtensions_vGMuxInfradistance",
          "policyScope": ["vCPE", "US", "INTERNATIONAL", "ip", "vGMuxInfra"],         "weight": "1",
                    "typeoperator": "hpaCpuInstructionSetExtensionsPolicyproduct",=
          "resourceInstanceType": ["vGMuxInfra"]     }
}
Column
width45%
Expand
titleComments and Notes: HPA CPU Instruction Set Extensions Policy Example
instructionSetExtensions attribute has a list of all instruction set extensions required. 
Section
bordertrue
Column
width60%
Code Block
languagejs
themeEclipse
titleHPA Huge Pages Policy Example
linenumberstrue
collapsetrue
{,
                {
              "service": "hpaHugePagesPolicy",     "policyNameresources": ["oofBeijing.hpaHugePagesPolicy_vGMuxInfravG"],
    "description": "HPA Huge Pages policy for vGMuxInfra",     "templateVersion": "0.0.1",     "versioncustomerLocationInfo": "oofBeijingcustomer_loc",
    "priority": "3",     "riskType": "test",     "riskLevel": "2",     "guardparameter": "Falsedistance",
    "content": {
        "HugePagesProperties": [           {"attributeweight": "hpaFeature1", "value": "hugePages","operator": "=", "unit":""},
                  {"attribute":"architecture", "value": "generic","operator": "=product",
"unit": ""},           {"attribute":"mandatory", "value": "false","operator": "=", "unit":""},}
           {"attribute":"score", "value": "4", "operator":"=", "unit": ""},
 ],
         {"attribute": "memoryPageSize", "value": "<MEMORYPAGESIZE>", "operator": "=", "unit": ""},sum"
        ]},
        "identity": "hugePagesAttributes_vGMuxInfraoptimization",
        "policyScope": ["vCPE", "US", "INTERNATIONAL", "ip", "vGMuxInfra"],
        "typepolicyType": "hpaHugePagesPolicyplacementOptimization",
        "resourceInstanceTypeobjective": ["vGMuxInframinimize"]
    }
}
Column
width40%45%
Expand
titleComments and Notes: HPA Huge Pages Optimization 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.

...

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
bordertrue
Column
width60%
Code Block
languagejs
themeEclipse
titleHPA PCIe Policy Example
linenumberstrue
collapsetrue
{
    "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
width45%
Expand
titleComments and Notes: HPA PCIe Policy Example

PCIETYPEVALUE: SRIOV, PCI-PASSTHROUGH

Section
bordertrue
Column
width60%
Code Block
languagejs
themeEclipse
titleHPA Local Storage Policy Example
linenumberstrue
collapsetrue
{
    "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
width45%
Expand
titleComments 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
bordertrue
Column
width60%
Code Block
languagejs
themeEclipse
titleHPA CPU Instruction Set Extensions Policy Example
linenumberstrue
collapsetrue
{
    "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
width45%
Expand
titleComments 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
bordertrue
Column
width60%
Code Block
languagejs
themeEclipse
titleHPA Huge Pages Policy Example
linenumberstrue
collapsetrue
{
    "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
width40%
Expand
titleComments and Notes: HPA Huge Pages Policy Example

MEMORYPAGESIZE = 4KB (unit=KB), 2MB (unit=MB), 1GB(unit GB), ANY, Other explicit Page size

Section
bordertrue
Column
width60%
Code Block
languagejs
themeEclipse
titleVNF Policy Example
linenumberstrue
collapsetrue
{
    "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
width40%
Expand
titleComments and Notes: HPA Huge Pages Policy Example

VNF policy captures the location of inventories and customer information.

Section
bordertrue
Column
width60%
Code Block
languagejs
themeEclipse
titleSubscriber Role Policy Example
linenumberstrue
collapsetrue
{
 "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
width40%
Expand
titleComments 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 Policies

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.

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
nameAffinity_vCPE_1.json
height250
View file
nameCapacity_vG_1.json
height250
View file
nameCapacity_vGMuxInfra.json
height250
View file
nameDistance_vG_1.json
height250
View file
nameDistance_vGMuxInfra_1.json
height250
View file
namehpa_policy_vG_1.json
height250
View file
namehpa_policy_vGMuxInfra_1.json
height250
View file
namePlacement_Optimization_1.json
height250
View file
nameQueryPolicy_vCPE.json
height250
View file
namesubscriber_policy.json
height250
View file
namevnfPolicy_vG.json
height250
View file
namevnfPolicy_vGMuxInfra.json
height250