Versions Compared

Key

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

...

As per meeting minutes here: OOF 2018-02-19 Meeting Notes, it was understood that all HPA requirements for a given VM can be put in one policy or across different policies. Also, it was discussed that each HPA capability can be enhanced to include mandatory and score attributes. Keeping this in mind, HPA capabilities are defined here. As indicated, policy can have multiple capabilities.


Section
bordertrue
border
Column
width60%
Code Block
languagejs
themeEclipse
titleExtensible HPA Hyper-Threading CPU Topology Policy Example
linenumberstrue
collapsetrue
{
  "service": "hpaHyperThreadingPolicyhpaCpuTopologyPolicy",
  "policyName": "oofBeijing.hyperThreadingPolicyhpaCpuTopologyPolicy_vGMuxInfra",
  "description": "HyperCpu threadingTopology policy for vGMuxInfra",
  "templateVersion": "0.0.1",
  "version": "oofBeijing",
  "priority": "3",
  "riskType": "test",
  "riskLevel": "2",
  "guard": "False",
  "content": {
    "hyperThreadingPropertiescpuTopologyProperties": [
      {"attribute": "hpaFeature", "value": "NUMAcpuTopology", "operator": "=", "unit": ""},
      {"attribute": "architecture", "value": "INTELx64", "operator": "=", "unit": ""},
      {"attribute": "mandatory", "value": "true", "operator": "=", "unit": ""},
      {"attribute": "score", "value": "4", "operator": "=", "unit": ""},
      {"attribute": "cpuCoresnumCpuSockets", "valuevalues": "42", "operator": ">=", "unit": ""},
      {"attribute": "cpuCoresnumCpuSockets", "valuevalues": "104", "operator": "<=", "unit": ""},
      {"attribute": "cpuThreadsnumCpuCores", "value": "2", "operator": ">=", "unit": ""},
      {"attribute": "cpuThreadsPolicynumCpuCores", "value": "dedicated4", "operator": "<=", "unit": ""},
      {"attribute": "cpuSocketsnumCpuThreads", "valuesvalue": ["2", "4", "6"], "operator": "any>=", "unit": ""},
      {"attribute": "memorynumCpuThreads", "value": "8", "operator": "><=", "unit": "GB"},
    ],
    "identity": "hyperThreadingcpuTopology_vGMuxInfra",
    "policyScope": ["vCPE", "US", "INTERNATIONAL", "ip", "vGMuxInfra"],
    "type": "hpaHyperThreadingPolicyhpaCpuTopologyPolicy",
    "resourceInstanceType": ["vGMuxInfra"]
  }
}
Column
width45%
Expand
titleComments and Notes: HPA Hyper-Threading CPU Topology Policy Example
  • Underlying model to generate this policy example is extensible
    and can be used to generate other HPA policies.
  • The value domain of the operator field is <, <=, >, >=, =, !=,
    any, all, many where any represents one from a set,
    all represents all the values of a set, and many represents more
    than one from a set.
  • The model can capture simple expressions. This example captures;
    4<=cpuCores<=10, cpuThreads>2, cpuThreadsPolicy=dedicated,
    cpuSockets is one from {2, 4, 6}, memory>8GB, etc.
  • Instead of modeling policy scope over multiple explicite dimentions,
    it is modeled as a list of tags/strings to achieve extensiblity and
    support model-agnostic getConfig query.
Section

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 Distance Policy Example
linenumberstrue
collapsetrue
{
  "service": "hpaCpuTopologyPolicydistancePolicy",
  "policyName": "oofBeijing.hyperThreadingPolicydistancePolicy_vGMuxInfra",
  "description": "HyperDistance threadingPolicy policy for vGMuxInfra",
  "templateVersion": "0.0.1",
  "version": "oofBeijing",
  "priority": "3",
  "riskType": "test",
  "riskLevel": "2",
  "guard": "False",
  "content": {
    "cpuTopologyPropertiesdistanceProperties": [{
      {"attributelocationInfo":"hpaFeature", { "value": "cpuTopologycustomer_location", "operator": "=", "unit":""},
      {"attributedistance":"architecture", { "value": "INTELx64500", "operator": "=<", "unit": "km" },
      {"attributeresourceInstanceType":"mandatory", { "value": "truevGMuxInfra", "operator": "="},
    },
    "unitidentity": "distance-vGMuxInfra"},
,
    "policyScope": {
     { "attributeserviceType": ["scorevCPE"],
"value      "geoRegion": ["4US", "operator":"="INTERNATIONAL"],
"unit      "networkType": ["ip"}],
      {"attributeresourceInstanceType": ["cpuCoresvGMuxInfra",]
"value": "2", "operator":">=", "unit": ""},
 
    {"attributetype":"cpuThreads", "valuedistancePolicy":
"4", "operator":">=", "unit": ""},
      {"attribute":"cpuSockets", "values": "2","operator": ">=", "unit": ""} }
}
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
{
    "service": "hpaBasicCapabilitiesPolicy",
    "policyName": "oofBeijing.hpaBasicCapabilitiesPolicy_vGMuxInfra",
      {"attributedescription": "cpuCores", "value": "4", "operator":"<=", "unitHPA Basic Capabilities policy for vGMuxInfra",
    "templateVersion": "0.0.1",
    "version": "oofBeijing"},
    "priority": "3",
    {"attributeriskType": "cpuThreadstest",
    "valueriskLevel": "82",
    "operatorguard": "<=False",
    "unitcontent": {
        ""},BasicCapabilitiesProperties": [
          {"attribute":"cpuSocketshpaFeature", "valuesvalue": "4basicCapabilities","operator": "<=", "unit": ""},
    ],      "identity{"attribute":"architecture", "value": "INTELx64","operator": "=", "unit": "CpuTopology_vGMuxInfra"},
    "policyScope      {"attribute": ["vCPEmandatory", "USvalue",: "INTERNATIONALtrue","operator": "ip=", "unit":"vGMuxInfra"]},
    "type      {"attribute": "hpaHyperThreadingPolicyscore", "value":   "4", "operator":"=", "resourceInstanceTypeunit": ["vGMuxInfra"]},
    }
}
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      {"attribute": "distancePolicynumVirtualCpu",
  "policyNamevalue": "oofBeijing.distancePolicy_vGMuxInfra6",
  "descriptionoperator": "Distance Policy for vGMuxInfra=",   "templateVersionunit": "0.0.1"},
  "version": "oofBeijing",        {"priorityattribute": "3virtualMemSize",   "riskTypevalue": "test6",
  "riskLeveloperator": "2=",   "guardunit": "FalseGB"},
  "content": {    ],
"distanceProperties": {       "locationInfoidentity": { "value": "customer_location"basicCapabilities_vGMuxInfra",
"operator": "="},       "distancepolicyScope": { ["valuevCPE":, "500US", "operator": "<INTERNATIONAL", "unit": "km" },
      "resourceInstanceType": { "value": "vGMuxInfra", "operator": "="},
ip", "vGMuxInfra"],
   },     "identitytype": "distance-vGMuxInfrahpaBasicCapabilitiesPolicy",

   "policyScope": {       "serviceTyperesourceInstanceType": ["vCPEvGMuxInfra"],
      "geoRegion": ["US", "INTERNATIONAL"],
      "networkType": ["ip"],
 }
}
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
{
    "service": "hpaOvsDpdkPolicy",
    "resourceInstanceTypepolicyName": ["oofBeijing.hpaOvsDpdkPolicy_vGMuxInfra"]
    },
    "typedescription": "distancePolicy"HPA OVS DPDK policy }
}
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 AES Policy Example
linenumberstrue
collapsetrue
{for vGMuxInfra",
    "servicetemplateVersion": "hpaAesPolicy",
    "policyName": "oofBeijing.aesPolicy_vGMuxInfra",
    "description": "AES policy for vGMuxInfra",
    "templateVersion": "0.0.0.1",
    "version": "oofBeijing",
    "priority": "3",
    "riskType": "test",
    "riskLevel": "2",
    "guard": "False",
    "content": {
        "aesPropertiesovsDpdkProperties": [
	      {"attribute":"hpaFeature", "value": "cpuInstructionAESovsDpdk","operator": "=", "unit":""},
          {"attribute":"architecture", "value": "INTELx64","operator": "=", "unit": ""},
          {"attribute":"mandatory", "value": "true","operator": "=", "unit":""},
          {"attribute":"score", "value": "4", "operator":"=", "unit": ""},
          {"attribute":"instructionSetExtensionsdataProcessingAccelerationLibrary", "value":"aesovsDpdk_version", "operator": "=", "unit":""},
        ],
        "identity": "aesovsDpdk_vGMuxInfra",
        "policyScope": ["vCPE", "US", "INTERNATIONAL", "ip", "vGMuxInfra"],
        "type": "hpaAesPolicyhpaOvsDpdkPolicy",
        "resourceInstanceType": ["vGMuxInfra"]
    }
}
Column
width45%
Expand
titleComments and Notes: HPA AES 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
bordertrue
Column
width60%
Code Block
languagejs
themeEclipse
titleHPA OVS_DPDK CPU Pinning Policy Example
linenumberstrue
collapsetrue
{
    "service": "hpaOvsDpdkPolicyhpaCpuPinningPolicy",
    "policyName": "oofBeijing.hpaOvsDpdkPolicyhpaCpuPinningPolicy_vGMuxInfra",
    "description": "HPACPU OVS DPDKPinning policy for vGMuxInfra",
    "templateVersion": "0.0.1",
    "version": "oofBeijing",
    "priority": "3",
    "riskType": "test",
    "riskLevel": "2",
    "guard": "False",
    "content": {
        "ovsDpdkPropertiescpuPinningProperties":  [
	          {"attribute":"hpaFeature", "value": "ovsDpdkcpuPinning","operator": "=", "unit":""},
          {"attribute":"architecture", "value": "INTELx64","operator": "=", "unit": ""},
          {"attribute":"mandatory", "value": "true","operator": "=", "unit":""},
          {"attribute":"score", "value": "4", "operator":"=", "unit": ""},
          {"attribute":"dataProcessingAccelerationLibrarylogicalCpuThreadPinningPolicy", "value":"library_version<CPUTHREADPOLICY>", "operator": "=", "unit":""},
        ],         {"attribute":"logicalCpuPinningPolicy", "value": "<CPUPOLICY>","operator": "=", "unit":""},
    ],
        "identity": "ovsDpdkcpuPinning_vGMuxInfra",
        "policyScope": ["vCPE", "US", "INTERNATIONAL", "ip", "vGMuxInfra"],
        "type": "hpaOvsDpdkPolicyhpaCpuPinning",
        "resourceInstanceType": ["vGMuxInfra"]
    }
}
Column
width45%
Expand
titleComments and Notes: HPA OVS_DPDK 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 CPU_Pinning NUMA Policy Example
linenumberstrue
collapsetrue
{
    "service": "hpaCpuPinningPolicyhpaNumaPolicy",
    "policyName": "oofBeijing.hpaCpuPinningPolicyhpaNumaPolicy_vGMuxInfra",
    "description": "CPUHyper PinningNUMA policy for vGMuxInfra",
    "templateVersion": "0.0.1",
    "version": "oofBeijing",
    "priority": "3",
    "riskType": "test",
    "riskLevel": "2",
    "guard": "False",
    "content": {
        "cpuPinningPropertiesnumaProperties":  [   
       		 {"attribute": "hpaFeature", "value": "cpuPinningnuma", "operator": "=", "unit": ""},
          {"attribute": "architecture", "value": "INTELx64", "operator": "=", "unit": ""},

         {"attribute": "mandatory", "value": "true", "operator": "=", "unit": ""},
          {"attribute": "score", "value": "4", "operator": "=", "unit": ""},

         {"attribute": "logicalCpuThreadPinningPolicynumaNodes", "value": "prefer2", "operator": "=", "unit": ""},

         {"attribute": "logicalCpuPinningPolicynumaCpu-0", "valuevalues":["0", "dedicated1"], "operator": "=", "unit": ""},
    ],         "identity{"attribute": "cpuPinning_vGMuxInfranumaMem-0",
        "policyScopevalue": ["vCPE2048", "USoperator",: "INTERNATIONAL=", "ipunit",: "vGMuxInfraMB"],}
         {"typeattribute": "hpaCpuPinningnumaCpu-1",
        "resourceInstanceTypevalues": ["vGMuxInfra2"], "3", "4", "5"], "operator": "=", "unit": ""}
}
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.

Section
bordertrue
Column
width60%
Code Block
languagejs
themeEclipse
titleHPA NUMA Policy Example
linenumberstrue
collapsetrue
{
    "service": "hpaNumaPolicy",
    "policyName": "oofBeijing.hpaNumaPolicy_vGMuxInfra",
    "description": "Hyper NUMA policy for vGMuxInfra",,
         {"attribute": "numaMem-1", "value": "4096", "operator": "=", "unit": "MB"}
        ],
        "templateVersionidentity": "0.0.1numa_vGMuxInfra",
 
  "version": "oofBeijing",     "prioritypolicyScope": ["3vCPE",]     "riskTypeUS":, "testINTERNATIONAL",     "riskLevelip":, "2vGMuxInfra"],
    "guard": "False",
    "contenttype": {"hpaNumaPolicy",
        "numaPropertiesresourceInstanceType": [   
		 {"attribute": "hpaFeature", "value": "numa", "operator": "=", "unit": ""},
         {"attribute": "architecture", "value": "INTELx64", "operator": "=", "unit": ""},
         {"attribute": "mandatory", "value": "true", "operator": "=", "unit": ""},
         {"attribute": "score"vGMuxInfra"]
    }
}
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
{
    "service": "hpaSgxPolicy",
    "policyName": "oofBeijing.hpaSgxPolicy_vGMuxInfra",
    "description": "SGX policy for vGMuxInfra",
    "templateVersion": "0.0.1",
    "version": "oofBeijing",
    "priority": "3",
    "riskType": "test",
    "riskLevel": "2",
    "guard": "False",
    "content": {
        "sgxProperties": [
          {"attribute":"hpaFeature", "value": "4sgx", "operator": "=", "unit": ""},
          {"attribute": "numaNodesarchitecture", "value": "2INTELx64", "operator": "=", "unit": ""},
          {"attribute": "numaCpu-0mandatory", "valuesvalue":["0", "1true"], "operator": "any=", "unit": ""},
          {"attribute": "numaMem-0score", "value": "24", "operator": ">=", "unit": "GB"},
          {"attribute": "numaCpu-1sgxMemSize", "valuesvalue":["2", "365"], "operator": "any=", "unit": "MB"},
          {"attribute": "numaMem-1sgxPubkeyHash", "value": "4octect_string", "operator": ">=", "unit": "GB"},
        ],
        "identity": "numasgx_vGMuxInfra",
        "policyScope":["vCPE", "US", "INTERNATIONAL", "ip", "vGMuxInfra"],
        "type": "hpaNumaPolicyhpaSgxPolicy",
        "resourceInstanceType": ["vGMuxInfra"]
    }
}
Column
width45%
Expand
titleComments and Notes: HPA NUMA 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
titleHPA SGX Affinity Policy Example
linenumberstrue
collapsetrue
{
    "service": "hpaSgxPolicyaffinityPolicy",
    "policyName": "oofBeijing.hpaSgxPolicyaffinityPolicy_vGMuxInfravcpe",
    "description": "SGXAffinity policy for vGMuxInfravCPE",
    "templateVersion": "01702.0.103",
    "version": "oofBeijing",
    "priority": "35",
    "riskType": "test",
    "riskLevel": "2",
    "guard": "False",
    "content": {
        "sgxPropertiesidentity": [
"affinity_vCPE",
         {"attributepolicyScope":"hpaFeature", "value": "sgx","operator": "=", "unit":""}, {
            "serviceType": ["vCPE"],
           {"attribute":"architecture", "valuegeoRegion": ["INTELx64US","operator": "=INTERNATIONAL"],
"unit": ""},           {"attributenetworkType":"mandatory", ["value": "true","operator": "=", "unit":""},ip"],
            {"attributeresourceInstanceType": ["scorevGMuxInfra", "valuevG": "4", "operator":"=", "unit": ""},]
        },
        "affinityProperty": {
            {"attributequalifier":"sgxMemSize", {"value": "65different", "operator": "="},
"unit":"MB"},            {"attributecategory":"sgxPubkeyHash", {"value": "octect_stringcomplex", "operator": "=", "unit": ""},
        ]},
        "identitytype": "sgx_vGMuxInfraaffinityPolicy",
        "policyScoperesourceInstanceType": ["vCPEvGMuxInfra", "USvG", "INTERNATIONAL", "ip", "vGMuxInfra"],
        "type": "hpaSgxPolicy",
        "resourceInstanceType": ["vGMuxInfra"]
    ]
    }
}
Column
width45%
Expand
titleComments and Notes: HPA SGX 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
titleAffinity Capacity Policy Example
linenumberstrue
collapsetrue
{
    "service": "affinityPolicycapacityPolicy",
    "policyName": "oofBeijing.affinityPolicycapacityPolicy_vcpevGMuxInfra",
    "description": "AffinityCapacity policy for vCPEvGMuxInfra",
    "templateVersion": "1702.03",
    "version": "oofBeijing",
    "priority": "5",
    "riskType": "test",
    "riskLevel": "2",
    "guard": "False",
    "content": {
        "identity": "affinitycapacity_vCPEvGMuxInfra",
        "policyScope": {
            "serviceType": ["vCPEVCPE"],
            "geoRegion": ["US", "INTERNATIONAL"],
            "networkType": ["ip"],
            "resourceInstanceType": ["vGMuxInfra", "vG"]
        },
        "affinityPropertycapacityProperty": {
            "qualifiercpu": {"value": "different"2, "operator": "=>"},
            "categorymemory": {"value": "complex4, "operator": ">", "operatorunit": "=Gb"}
        },
        "type": "affinityPolicycapacityPolicy",
        "resourceInstanceType": ["vGMuxInfra", "vG"]
    }
}
Column
width45%
Expand
titleComments and Notes: Affinity 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
bordertrue
Column
width60%
Code Block
languagejs
themeEclipse
titleCapacity Min Guarantee Policy Example
linenumberstrue
collapsetrue
{
    "service": "capacityPolicyminGuaranteePolicy",
    "policyName": "oofBeijing.capacityPolicyminGuaranee_vGMuxInfra",
    "description": "CapacityMin guarantee policy for vGMuxInfra",
    "templateVersion": "1702.03",
    "version": "oofBeijing",
    "priority": "5",
    "riskType": "test",
    "riskLevel": "2",
    "guard": "False",
    "content": {
        "identity": "capacityminGuarantee_vGMuxInfra",
        "policyScope": {
            "serviceType": ["VCPEvCPE"],
            "geoRegion": ["US", "INTERNATIONAL"],
            "networkType": ["ip"],
            "resourceInstanceType": ["vGMuxInfra"]
        },
        "capacityPropertyminGuaranteeProperty": {
            "cpu": {"value": 2"true", "operator": ">="},
            "memory": {"value": 4, "operatorfalse": ">", "unitoperator": "Gb="}
        },
        "type": "capacityPolicyminGuaraneePolicy",
        "resourceInstanceType": ["vGMuxInfra"]
    }
}
Column
width45%
Expand
titleComments and Notes: Capacity 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.

Section
bordertrue
Column
width60%
Code Block
languagejs
themeEclipse
titleMin Guarantee Optimization Policy Example
linenumberstrue
collapsetrue
{
    "service": "minGuaranteePolicyPlacementOptimizationPolicy",
    "policyName": "oofBeijing.minGuaraneePlacementOptimizationPolicy_vGMuxInfra",
    "description": "MinPlacement guaranteeOptimization policyPolicy for vGMuxInfra",
    "templateVersion": "1702.03",
    "version": "oofBeijing",
    "priority": "5",
    "riskType": "test",
    "riskLevel": "23",
    "guard": "False",
    "content": {
        "identityobjectiveParameter": "minGuarantee_vGMuxInfra",{
        "policyScope": {   "parameterAttributes": [
        "serviceType": ["vCPE"],       {
     "geoRegion": ["US", "INTERNATIONAL"],             "networkTyperesource": ["ipvGMuxInfra"],
            "resourceInstanceType        "customerLocationInfo": ["vGMuxInfra"]customer_loc",
           },         "minGuaranteePropertyparameter": {"distance",
                   "cpu": {"valueweight": "true1",
"operator": "="},                 "memory": {"value": "false", "operator": "="}product"=
                },
         "type": "minGuaraneePolicy",       {
    "resourceInstanceType": ["vGMuxInfra"]     }
}
Column
width45%
Expand
titleComments 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.

Section
bordertrue
Column
width60%
Code Block
languagejs
themeEclipse
titleOptimization Policy Example
linenumberstrue
collapsetrue
{          "serviceresource": ["PlacementOptimizationPolicyvG"],
    "policyName": "oofBeijing.PlacementOptimizationPolicy_vGMuxInfra",     "description": "Placement Optimization Policy for vGMuxInfra",     "templateVersioncustomerLocationInfo": "1702.03customer_loc",
    "version": "oofBeijing",
    "priority": "5",     "riskType": "test",     "riskLevelparameter": "3distance",
    "guard": "False",     "content": {         "objectiveParameterweight": {"1",
            "parameterAttributes": [       "operator": "product"
        {         }
           "resource": ["vGMuxInfra"],
                    "customerLocationInfo": "customer_loc","operator": "sum"
        },
            "parameteridentity": "distanceoptimization",
        "policyScope": {
            "weightserviceType": ["1vCPE"],
  
                 "operatorgeoRegion": ["productUS"=, "INTERNATIONAL"],
               }"networkType": ["ip"],
            "resourceInstanceType": ["vGMuxInfra", "vG"]
 {            },
        "resourcetype": ["vGplacementOptimization"],
        "objective": "minimize"
    }
}
Column
width45%
Expand
titleComments 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
bordertrue
Column
width60%
Code Block
languagejs
themeEclipse
titleHPA PCIe Passthrough Policy Example
linenumberstrue
collapsetrue
{
    "customerLocationInfoservice": "customer_lochpaPciePassthroughPolicy",
    "policyName": "oofBeijing.hpaPciePassthroughPolicy_vGMuxInfra",
    "description": "Pcie Passthrough policy for vGMuxInfra",
    "parametertemplateVersion": "distance0.0.1",
    "version": "oofBeijing",
    "priority": "3",
        "weightriskType": "1test",
        "riskLevel": "2",
           "operator"guard": "productFalse",
    "content": {
        "PciePassthroughProperties": [
}             ],
            {"attribute":"hpaFeature", "value": "pciePassthrough","operator": "sum=", "unit":""},
       },   {"attribute":"architecture",      "identity"value": "INTELx64","operator": "optimization=",
        "policyScopeunit": {""},
          {"attribute":"mandatory", "value": "true"serviceType,"operator": ["vCPE="], "unit":""},
           {"geoRegionattribute": ["USscore", "INTERNATIONAL"],
            "networkType": ["ip"]value": "4", "operator":"=", "unit": ""},
          {"attribute": "pciCount", "resourceInstanceTypevalue": ["vGMuxInfra2", "vGoperator"]: "=", "unit": ""},
     },     {"attribute": "pciVendorId",   "type"value":"8086", "operator": "placementOptimization=", "unit": ""},
	      {"objectiveattribute": "minimizepciDeviceId",     }
}
Column
width45%
Expand
titleComments 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
bordertrue
Column
width60%
Code Block
languagejs
themeEclipse
titleHPA PCIe Passthrough Policy
linenumberstrue
collapsetrue
{
    "service": "hpaPciePassthroughPolicy",
    "policyName": "oofBeijing.hpaPciePassthroughPolicy_vGMuxInfra","value": "2", "operator": "=", "unit": ""}   
  "description": "Pcie Passthrough policy for vGMuxInfra"],
        "templateVersionidentity": "0.0.1pciePassthrough_vGMuxInfra",
        "versionpolicyScope": ["oofBeijingvCPE",
    "priorityUS":, "3INTERNATIONAL",
    "riskTypeip":, "testvGMuxInfra"],
    "riskLevel": "2",
    "guardtype": "FalsehpaPciePassthroughPolicy",
    "content": {
        "PciePassthroughPropertiesresourceInstanceType": ["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
{
    {"attributeservice": "hpaFeaturehpaLocalStoragePolicy",
    "valuepolicyName": "pciePassthroughoofBeijing.hpaLocalStorage_vGMuxInfra","operator": "=",
    "unitdescription": ""},HPA Local Storage policy for vGMuxInfra",
     {"attributetemplateVersion": "architecture0.0.1",
    "valueversion": "INTELx64oofBeijing",
    "operatorpriority": "=3",
    "unitriskType": "test"},
    "riskLevel": "2",
    {"attributeguard": "mandatoryFalse",
    "valuecontent": "true","operator": "=", "unit":""}, {
        "LocalStorageProperties": [
          {"attribute":"scorehpaFeature", "value": "4localStorage", "operator": "=", "unit": ""},
          {"attribute": "pciCountarchitecture", "value": "2INTELx64", "operator": "=", "unit": ""},
          {"attribute": "pciVendorIdmandatory", "value": "8086true", "operator": "=", "unit": ""},
	 
          {"attribute":"score", "value": "4", "operator":"=", "unit": ""},
	      {"attribute": "diskSize", "value": "2", "operator": "=", "unit": "GB"},   
	      {"attribute": "ephemeralDiskSize", "value": "2", "operator": "=", "unit": "GB"},
		  {"attribute": "swapMemSize", "value":"16", "operator": "=", "unit": "MB"},
       ],
        "identity": "localStorage_vGMuxInfra",
        "policyScope":["vCPE", "US", "INTERNATIONAL", "ip", "vGMuxInfra"],
        "type": "hpaLocalStoragePolicy",
        "resourceInstanceType": ["vGMuxInfra"]
    }
}
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
{
    {"attributeservice": "pciDeviceIdhpaCpuInstructionSetExtensionsPolicy",
    "valuepolicyName": "2oofBeijing.hpaCpuInstructionSetExtensionsPolicy_vGMuxInfra",
"operator": "=",    "unitdescription": ""}Cpu Instruction Set Extensions policy for vGMuxInfra",
     ]"templateVersion": "0.0.1",
    "version": "oofBeijing",
    "identitypriority": "pciePassthrough_vGMuxInfra3",
    "riskType": "test",
    "policyScoperiskLevel":[ "vCPE2",
    "USguard",: "INTERNATIONALFalse",
"ip",    "vGMuxInfra"],content": {
        "typeavxProperties": "hpaPciePassthroughPolicy",[
	      {"attribute":"hpaFeature", "value": "resourceInstanceTypecpuInstructionSetExtensions","operator": ["vGMuxInfra="]
, "unit":""},
   }
}
Column
width45%
Expand
titleComments and Notes: HPA PCIe Passthrough Policy Example
Section
bordertrue
Column
width60%
Code Block
languagejs
themeEclipse
titleHPA Generic Attributes Policy
linenumberstrue
collapsetrue
{       {"serviceattribute": "hpaGenericAttributesPolicyarchitecture", "value":   "INTELx64","operator": "=", "policyNameunit": "oofBeijing.hpaGenericAttributesPolicy_vGMuxInfra"},
          {"attribute":"mandatory", "value": "true"description,"operator": "HPA Generic Attributes policy for vGMuxInfra",
    "templateVersion": "0.0.1""=", "unit":""},
          {"attribute":"score", "value": "4", "operator":"=", "unit": ""},
    "version": "oofBeijing",     {"priorityattribute": "3instructionSetExtensions",
    "riskTypevalue": ["testavx",    "aes"] "riskLeveloperator": "2ALL",     "guardunit": "False"},
      "content": {  ],
        "GenericAttributesPropertiesidentity": ["cpuInstructionSetExtensions_vGMuxInfra",
        "policyScope": ["vCPE", {"attributeUS":, "hpaFeatureINTERNATIONAL", "valueip":, "genericAttributesvGMuxInfra"],"operator
        "type": "=hpaCpuInstructionSetExtensionsPolicy",
        "unitresourceInstanceType": ["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
{
       {"attributeservice": "architecturehpaHugePagesPolicy",
    "valuepolicyName": "INTELx64oofBeijing.hpaHugePagesPolicy_vGMuxInfra","operator": "=",
    "unitdescription": ""},HPA Huge Pages policy for vGMuxInfra",
     {"attributetemplateVersion": "mandatory0.0.1",
    "valueversion": "trueoofBeijing",
    "operatorpriority": "=3",
    "unitriskType": "test"},
          {"attribute"riskLevel": "score2",
"value": "4",    "operatorguard": "=False",
    "unitcontent": {
        "HugePagesProperties"},: [
          {"attribute": "numVirtualCpuhpaFeature", "value": "2virtualCpuMemory", "operator": "=", "unit": ""},
          {"attribute": "virtualMemSizearchitecture", "value": "64INTELx64", "operator": "=", "unit": "MB"},
	          {"attribute": "diskSizemandatory", "value": "2true", "operator": "=", "unit": "GB"},
   	       {"attribute": "ephemeralDiskSizescore", "value": "24", "operator": "=", "unit": "GB"},
		          {"attribute": "swapMemSizememoryPageSize", "value": "16<MEMORYPAGESIZE>", "operator": "=", "unit": "MB"},
       ],
        "identity": "genericAttributeshugePagesAttributes_vGMuxInfra",
        "policyScope":["vCPE", "US", "INTERNATIONAL", "ip", "vGMuxInfra"],
        "type": "hpaGenericAttributesPolicyhpaHugePagesPolicy",
        "resourceInstanceType": ["vGMuxInfra"]
    }
}
Column
width45%40%
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.
Expand
titleComments and Notes: HPA Generic Attributes Policy Example
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
titleHPA AVX Realtime Policy Example
linenumberstrue
collapsetrue
{
    "service": "hpaAvxPolicyhpaRealtimePolicy",
    "policyName": "oofBeijing.avxPolicyhpaRealtimePolicy_vGMuxInfra",
    "description": "AVXHPA Realtime policy for vGMuxInfra",
    "templateVersion": "0.0.1",
    "version": "oofBeijing",
    "priority": "3",
    "riskType": "test",
    "riskLevel": "2",
    "guard": "False",
    "content": {
        "RealtimeProperties": [
          {"attribute":"hpaFeature", "value": "realtime","operator": "=", "unit":""},
   "avxProperties": [ 	      {"attribute":"hpaFeaturearchitecture", "value": "cpuInstructionAVXINTELx64","operator": "=", "unit": ""},
          {"attribute":"architecturemandatory", "value": "INTELx64true","operator": "=", "unit": ""},
          {"attribute":"mandatoryscore", "value": "true4", "operator": "=", "unit": ""},
          {"attribute": "scorerealtimePolicy", "value": "4<REALTIMEPOLICY>", "operator": "=", "unit": ""},
          {"attribute": "instructionSetExtensionsrealtimeMask", "value": "avx<REALTIMEMASK>", "operator": "=", "unit": ""},

       ],
        "identity": "avxRealtimeAttributes_vGMuxInfra",
        "policyScope": ["vCPE", "US", "INTERNATIONAL", "ip", "vGMuxInfra"],
        "type": "hpaAvxPolicyhpaRealtimePolicy",
        "resourceInstanceType": ["vGMuxInfra"]
    }
}
Column
width45%
Expand
titleComments and Notes: HPA AVX ExampleRealtime Policy Example
REALTIMEPOLICY = true, false
REALTIMEMASK = List of vCPU's that will not have realtime policy for example ["1", "2"]

Anchor
OOF-CMSO Policies
OOF-CMSO Policies
OOF-CMSO Policies

...