Versions Compared

Key

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

Overall design

Gliffy
nameSRIOV-modules
pagePin23

...

  1. NIC configuration  refer to https://docs.openstack.org/neutron/pike/admin/config-sriov.html
  2. Create flavors.
    Flavor1:

     $ openstack flavor create flavor1 --id auto --ram 512 --disk 40 --vcpus 4

     $ openstack flavor set flavor1 --property pci_passthrough:alias=NIC-sriov-1234-5678-physnet1:1

     $ openstack flavor set flavor1 --property pci_passthrough:alias=NIC-sriov-2345-6789-physnet2:1

     
    Flavor2:
     $ openstack flavor create flavor2 --id auto --ram 512 --disk 40 --vcpus 4

     $ openstack flavor set flavor2 --property pci_passthrough:alias=NIC-sriov-4321-8765:2


    Flavor3
     $ openstack flavor create flavor3 --id auto --ram 512 --disk 40 --vcpus 4

     


1.2 Mutli-cloud discovery

...

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",
      "value":"openstack-cloud" },
    { "key":"vimId",
      "value":"rackspace_DLLSTX1A" },
    { "key":"oofDirectives",
      "value":{
        "directives":[
           { "vnfc_directives":[
               {
                  "vnfc_id":"<ID of VNFC>",
                  "directives":[
                     {
                        "directive_name":"<Name of directive,example flavor_directive>",
                        "attributes":[
                           {
                              "attribute_name":"<name of attribute, such as flavor label>",
                              "attribute_value":"<value such as cloud specific flavor>"
                           }
                        ]
                     },
                     {
                        "directive_name":"<Name of directive,example vnic-info>",
                        "attributes":[
                           {
                              "attribute_name":"<name of attribute, such as vnic-type>",
                              "attribute_value":"<value such as direct/normal>"
                           },
                           {
                              "attribute_name":"<name of attribute, such as provider netweork>",
                              "attribute_value":"<value such as physnet>"
                           }
                        ]
                     }
                  ]
               }
            ]
         },
         {
            "vnf_directives":{
               "directives":[
                  {
                     "directive_name":"<Name of directive>",
                     "attributes":[
                        {
                           "attribute_name":"<name of attribute>",
                           "attribute_value":"<value>"
                        }
                     ]
                  },
                  {
                     "directive_name":"<Name of directive>",
                     "attributes":[
                        {
                           "attribute_name":"<name of attribute>",
                           "attribute_value":"<value >"
                        },
                        {
                           "attribute_name":"<name of attribute>",
                           "attribute_value":"<value >"
                        }
                     ]
                  }
               ]
            }
         }
      ]
   }
}
]    


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

...