Versions Compared

Key

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

...

VF-C will get pciVendorId, pciDeviceId and interfaceType from CSAR file, then call to OOF. OOF will response homing information to VF-C.

1.5 OOF Response

As we known OOF just check /cloud-infrastructure/cloud-regions/cloud-region/{cloud-owner}/{cloud-region-id}/flavors/flavor/{flavor-id}/hpa-capabilities

Now, we need OOF also check and match /cloud-infrastructure/cloud-regions/cloud-region/{cloud-owner}/{cloud-region-id}/hpa-capabilities/hpa-capability/{hpa-capability-id}

Seond,  we need to add some attributes in the response returning OOF will match the SRIOV information along with the constraint provided by Policy and add extra attributes inside the assignmentInfo data block when returning the response to SO and VF-C. Sample looks like below.

"assignmentInfo": [
    
{ "key":"locationId",
      "value":"DLLSTX1A" },

{ "key":"locationType",
"oof_directives" : {
               "value":"openstack-cloud" },

    { "key":"vimId",
      "value":"rackspace_DLLSTX1A" },

{ "key":"oofDirectives",
      "value":{

        "directives":[

{ "vnfc_directives":[
                             { 
                  "vnfc_id" :"<ID "<ID of VNFC>" //Need not filled in today, but for future purposes
                                  "directives" :[
                                       {
                        "directive_name":"<Name "<Name of directive,example flavor_directive>",
                                           "attributes":[
                                                  {
                              "attribute_name":"<name "<name of attribute, such as flavor label>", 
                              "attribute_value":"<value <value such as cloud specific flavor>"
                           },
  
                                            ]
                                       },
                                       {
                        "directive_name":"<Name "<Name of directive,example vnic-info>",
                                           "attributes":[
                                                  {
                              "attribute_name":"<name "<name of attribute, such as vnic-type>", 
                              "attribute_value":"<value <value such as direct/normal>"
                           },
                                                  {
                              "attribute_name":"<name <name of attribute, such as provider netweork>">, 
                              "attribute_value":"<value <value such as physnet>"
                                               }
                        ]
                     }
                  }]
                               }
                          ]
                               }.,
         {
            "vnf_directives":{
                             "directives" :[
                  {
                     "directive_name":"<Name "<Name of directive>",
                                        "attributes":[
                                               {
                           "attribute_name":"<name "<name of attribute>", 
                           "attribute_value":"<value><value>"
                        },
  
                                         ]
                  },
                  {
                     "directive_name":"<Name "<Name of directive>",
                                        "attributes":[
                                               {
                           "attribute_name":"<name "<name of attribute>", 
                           "attribute_value":"<value <value >"
                        },
                                               {
                           "attribute_name":"<name <name of attribute>">, 
                           "attribute_value":"<value <value >"
                        }
                                         ]
                  }
                         ]
            }
          }
      ]
   }

}

...

]    


For the newly added oofDirectives, we only return the vnfc part. For example

"

oof

vnfc_directives"

 

: [

{


"vnfc_

directives

id":

[
     //Need not filled in today, but for future purposes
    ]
    

"

vnf_directives

"

: {

,

    

"directives"

 

:[

        

{

"directive_name""flavor_directive

-sriov1

",

                

              "attributes": [
                 {"attribute_name""

vnic-type""attribute_value":"direct"}, {"attribute_name": "provider_network"

flavor_label_1""attribute_value":"

physnet1

HPA.flavor"}

                

]

            

           },

            

          { "directive_name""

directive

vnic-

sriov2

info",
               "attributes": [
                    {"attribute_name""vnic-type""attribute_value":"direct"},
                    {"attribute_name": "provider_network""attribute_value":"physnet2"}
                ]

            

          }

]
}       

}

...

]

It is worth noting that the vnic-type is converted from interfaceType in OOF.

If interfaceType is SRIOV-NIC, then OOF returns 'vnic-type is ' as 'direct', If interfaceType is not SRIOV-NIC, OOF return 'vnic-type is ' as 'normal'.



4. ONAP Module Modify 

Module NameModificationstatusownercomments
SDCAdd SR-IOV NIC attributes.Completed

Alex

Lianhao


PolicyAdd SR-IOV NIC attributes.In Progress

VF-CAdd create port process.In ProgressHaibin
SOAdd create port process.In Progress

OOFAdd the process for cloud region HPA capabilitiesIn ProgessRuoyu
AAINothing, we just add one hpa-attribute-key and hpa-attribute-valueCompleted-now [A] API can support.
ESRAdd SR-IOV NIC info to cloud extra info.In ProgressHaibin
Multi-cloudRegister SR-IOV info to AAI.In ProgressHaibin
VIMConfig SR-IOV NIC and create network with SR-IOV NIC.In ProgressHaibin

...