Versions Compared

Key

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

...

  •  SO:  sends out homing requests to OOF by parsing the CSAR, which includes    with HEAT template,  OOF will respond with the most appropriate flavors accordingly
  • Policy: after user distributes the service, it will download the related CSAR and dynamically generate the policies based on specified rules. 
  • VFC:  sends out homing requests to OOF by parsing the CSAR, which includes    with TOSCA template,  OOF will respond with the most appropriate flavors accordingly

...

We need to keep alignment about the how to parse the SDC CSAR, the mapping from CSAR to low-level fields. below is the logic of Policy side used, the format example refer to OOF R3 HPA & Cloud Agnostic policies 

PolicyConst value or from TOSCA CSARValueComment
serviceConst"hpaPolicy"
policyNameTOSCA CSAR"OSDF_CASABLANCA."+ content.getIdentity()
descriptionConst"OOF Policy"
templateVersion"OpenSource.version.1"
version"1.0"
priority"5"
riskType"Test"
riskLevel"2"
guard"False"
content.resourcesTOSCA CSARcontent.getResources().add(metaData.getValue("name"));the resource name defined in SDC
content.identityTOSCA CSARcontent.getPolicyType() + "_" + metaData.getValue("name")
content.policyScope

Const

TOSCA CSAR

“HPA”

sdcCsarHelper.getServiceMetadata().getValue("name");

List
content.policyTypeConst"hpa"
content.flavorFeatures.idTOSCA CSARnode.toStringthe name of the VDU node
content.flavorFeatures.typeConst


"tosca.nodes.nfv.Vdu.Compute"


placeholder
content.flavorFeatures.directives.type"flavor_directives"
content.flavorFeatures.directives.attributes.attribute_name"flavor_name"
content.flavorFeatures.directives.attribute_value""
content.flavorFeatures.flavorProperties.hpaFeatureTOSCA CSAR

one of available or meaningful values:

cpuTopology, basicCapabilities, ovsDpdk, cpuPinning, numa, sriovNicNetwork, pciePassthrough, localStorage, instructionSetExtensions, hugePages based on below Feature judgement flow

based on HPA Policies and Mappings
content.flavorFeatures.flavorProperties.mandatoryfrom mandatory field
content.flavorFeatures.flavorProperties.architecturefrom hardwarePlatform field
content.flavorFeatures.flavorProperties.hpaVersion"v1"
content.flavorFeatures.flavorProperties.hpaFeatureAttributesparse and tiny change from configurationValue
content.flavorFeatures.flavorProperties.directives

[ ]

OOF fill them in

...

Feature judgement flow, it needs go through all VDUs, CPs and VLs based on the received csar:

First stores all VDUs, CPs, VLs, then:

for each (VDU){

         new a FlavorFeature

...

               hpaFeature="pciePassthrough"

         

        get the generated flavorFeature based on the value under ("virtual_binding")

        get the FlaovrProperties from flavorFeature

          new a FlavorProperty

         add value under (generate hapFeatureAttribute based on  value under ("virtual_network_interface_requirements#nic_io_requirements#logical_node_requirements#pciVendorId") and add it into hpaFeatureAttributes

         add value under (generate hapFeatureAttribute based on  value under ("virtual_network_interface_requirements#nic_io_requirements#logical_node_requirements#pciDeviceId) into hpaFeatureAttributes") and add it into hpaFeatureAttributes

        generate hapFeatureAttribute based on  value under ("virtual_network_interface_requirements#nic_io_requirements#logical_node_requirements#pciNumDevices") and add it into hpaFeatureAttributes

         add  if has value under ("virtual_network_interface_requirements#nic_io_requirements#logical_node_requirements#pciNumDevices) into hpaFeatureAttributesrequirements#physicalNetwork")

                   get the info of node, which is a Virtual Link, based on the value under ("virtual_link) , it is stores in VLs

         add value under (           get the property value under ("physicalNetwork")

                   generate hapFeatureAttribute based on  value under ("virtual_network_interface_requirements#nic_io_requirements#logical_node_requirements#physicalNetwork") into hpaFeatureAttributesand add it into hpaFeatureAttributes

       add FlavorProperty into flavorFeature.getFlavorProperties()

}