Versions Compared

Key

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

...

Code Block
languagejs
titleOOF retrieve HPA policies for VFC
linenumberstrue
collapsetrue
#
#Example 1: vCPE, Basic Capability and pciePassthroughsriovNICNetwork
#one VNFC(VFC) with one basic capability requirement and two pciePassthroughsriovNICNetwork requirements
#
{
  "service": "hpaPolicy",
  "policyName": "oofCasablanca.hpaPolicy_vFW",
  "description": "HPA policy for vFW",
  "templateVersion": "0.0.1",
  "version": "1.0",
  "priority": "3",
  "riskType": "test",
  "riskLevel": "2",
  "guard": "False",
  "content": {
    "resources": "vG",
    "identity": "hpaPolicy_vG",
    "policyScope": ["vCPE", "US", "INTERNATIONAL", "ip", "vG"],
    "policyType": "hpaPolicy",
    "flavorFeatures": [
      {
        "id" : "<vdu.Name>",
        "type":"vnfc/tocsa.nodes.nfv.Vdu.Compute",
        "directives":[  
           {  
             "directive_name":"flavor_directive",
             "attributes":[  
                {  
                  "attribute_name":"<Blank, or use Default value String 'flavor_name'>",  
                  "attribute_value": "<Blank>" 
                } 
               ]
           }
          ],
        "flavorProperties": [
          {
            "hpa-feature": "basicCapabilities",
            "mandatory": "True",
            "architecture": "generic",
            "directives": [],
            "hpa-feature-attributes": [
              { "hpa-attribute-key": "numVirtualCpu", "hpa-attribute-value": "6", "operator": "=", "unit": "" }
            ]
          },
          {
            "hpa-feature": "basicCapabilities",
            "mandatory": "True",
            "architecture": "generic",
            "directives": [],
            "hpa-feature-attributes": [
              { "hpa-attribute-key": "virtualMemSize", "hpa-attribute-value": "6", "operator": "=", "unit": "GB" },
            ]
          },
          {
            "hpa-feature": "pciePassthroughsriovNICNetwork",
            "mandatory": "True",
            "architecture": "generic",
            "directives" : [
              {
                "directive_name": "pciePassthroughsriovNICNetwork_directive",
                "attributes": [
                   { "attribute_name": "<Blank>",
                     "attribute_value": "<Blank>"
                   },
                   { "attribute_name": "<Blank>",
                     "attribute_value": "<Blank>"
                   }
                ]
              }
            ],
            "hpa-feature-attributes": [
              { "hpa-attribute-key": "pciVendorId", "hpa-attribute-value": "1234", "operator": "=", "unit": "" },
              { "hpa-attribute-key": "pciDeviceId", "hpa-attribute-value": "5678", "operator": "=", "unit": "" },
              { "hpa-attribute-key": "pciCount", "hpa-attribute-value": "1", "operator": ">=", "unit": "" }
            ]
          },
          {
            "hpa-feature": "pciePassthroughsriovNICNetwork",
            "mandatory": "True",
            "architecture": "generic",
            "directives" : [
              {
                "directive_name": "pciePassthroughsriovNICNetwork_directive",
                "attributes": [
                   { "attribute_name": "<Blank>",
                     "attribute_value": "<Blank>"
                   }
                   { "attribute_name": "<Blank>",
                     "attribute_value": "<Blank>"
                   }
                ]
              }
            ],
            "hpa-feature-attributes": [
              { "hpa-attribute-key": "pciVendorId", "hpa-attribute-value": "3333", "operator": "=", "unit": "" },
              { "hpa-attribute-key": "pciDeviceId", "hpa-attribute-value": "7777", "operator": "=", "unit": "" },
              { "hpa-attribute-key": "pciCount", "hpa-attribute-value": "1", "operator": ">=", "unit": "" }
            ]
          }
        ]
      }
    ]
  }
}

...

The data in AAI still follows the routine schema designed in HPA Policies and Mappings. The only part has been changed is inside pciePassthroughsriovNICNetwork. We added one 'directive' attributes to contain the 'vnic_type' and 'physicalNetwork' that needed by VF-C.

...

Code Block
languagejs
titleData inside AAI
linenumberstrue
collapsetrue
hpa-capability-id="b369fd3d-0b15-44e1-81b2-6210efc6dff9",
hpa-feature= "basicCapabilities",
architecture= "generic",
version= "v1",
hpa-attribute-key       hpa-attribute-value
numVirtualCpu           {value:6}
virtualMemSize          {value:6, unit:"GB"}


hpa-capability-id="f453fd3d-0b15-11w4-81b2-6210efc6dff9",
hpa-feature= "pciePassthroughsriovNICNetwork",
architecture= "intel64",
version= "v1",
hpa-attribute-key       hpa-attribute-value
pciCount                {value: 1}
pciVendorId             {value: "8086"}
pciDeviceId             {value: "0443"}
directive               {value: "[{"attribute_name"="vnic_type", "attribute_value"="direct"},
                                  {"attribute_name"="physical_network", "attribute_value"="physnet1"}]"}


hpa-capability-id="f453fd3d-0b15-11w4-81b2-873hf8oo98s0",
hpa-feature= "pciePassthrough",
architecture= "



hpa-capability-id="f453fd3d-0b15-11w4-81b2-873hf8oo98s0",
hpa-feature= "sriovNICNetwork",
architecture= "intel64",
version= "v1",
hpa-attribute-key       hpa-attribute-value
pciCount                {value: 1}
pciVendorId             {value: "6808"}
pciDeviceId  hpa-attribute-key           {value: "3440"}
directivehpa-attribute-value
pciCount                {value: "[{"attribute_name"="vnic_type", "attribute_value"="direct"},
1}
pciVendorId                     {value: "6808"}
pciDeviceId             {"attribute_name"="physical_network", "attribute_value"="physnet2"}]"}value: "3440"}



OOF process homing allocation and return homing placement to VF-C

...

Code Block
languagejs
titleSample OOF-VFC response
linenumberstrue
collapsetrue
{
  "requestId": "xxxx",
  "transactionId": " xxxx ",
  "statusMessage": " xxxx ",
  "requestStatus": "completed",
  "solutions": {
    "placementSolutions": [
      [
        { "resourceModuleName": " vG ",
          "serviceResourceId": " xxxx ",
          "solution": {
           "identifierType": "serviceInstanceId",
           "identifiers": [
             " xxxx "
             ],
           "cloudOwner": " xxxx "
          },
         "assignmentInfo": [
            {  "key":"isRehome",
               "value":"false"    },
            {  "key":"locationId",
               "value":"DLLSTX1A"    },
            {  "key":"locationType",
               "value":"openstack-cloud" },
            {  "key":"vimId",
               "value":"rackspace_DLLSTX1A"  },
            {  "key":"physicalLocationId",
               "value":"DLLSTX1223"    },          
            {  "key":"oofDirectives",
               "value": { "directives":[
                { "id":"<vdu.name>",  
                  "type":"vnfc",
                  "directives":[                                 
                     {  "type":"flavor_directive",
                        "attributes":[
                            {   "attribute_name":"flavor_name", //just a string 'flavor_name'
                                "attribute_value":"<flavor_name>"  #VIM Flavor, which oof seleted.
                            }
                        ]
                     },
                     {  "type": "pciePassthroughsriovNICNetwork_directive",
                        "attributes":[
                            {"attribute_name":"vnic_type", "attribute_value":"direct"},
                            {"attribute_name":"provider_network", "attribute_value":"physnet1"}    
                        ]
                     },
                     {  "type": "pciePassthroughsriovNICNetwork_directive",
                        "attributes": [
                            {"attribute_name":"vnic_type", "attribute_value":"direct"},                
                            {"attribute_name":"provider_network", "attribute_value":"physnet2"}
                        ]      
                      }               
                    ]                                        
                  }
                ]
               }
             }
           ]
         } 
      ]
    ],
    "licenseSoutions": [
      {
       "resourceModuleName": "string",
       "serviceResourceId": "string",
       "entitlementPoolUUID": [
         "string"
        ],
       "licenseKeyGroupUUID": [
         "string"
        ],
       "entitlementPoolInvariantUUID": [
         "string"
        ],
       "licenseKeyGroupInvariantUUID": [
         "string"
        ]
      }
    ]
  }
}

...