Versions Compared

Key

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

...

HOT template that uses parameter to be filled up based on OOF output

parameters:
  oof_returned_vnic_type_for_firewall:
  type:string
  description:This parameter value is determined by OOF. If OOF selects the region and flavor that support SRIOV-NICs, then OOF returns 'direct'. If not, it returns 'normal'
resources:
  network_protected:
    type: OS::Neutron::Net
    properties:
      name: mynetwork_protected
      network_type: vlan
      physical_network: physnet1
      segmentation_id: 100
  network_unprotected:
    properties:
      name: mynetwork_unprotected
      network_type: vlan
      physical_network: physnet2
      segmentation_id: 200
/** Subnet details are not provided for brevity**/
  protected_interface:
     type: OS::Neutron::Port
     properties:
       name: protected_port
       network_id : { get_resource: network_protected }
       binding:vnic_type: {get_param: oof_returned_vnic_type_for_firewall}
  unprotected_interface:
     type: OS::Neutron::Port
     properties:
       name: unprotected_port
       network_id : { get_resource: network_unprotected }
       binding:vnic_type: {get_param: oof_returned_vnic_type_for_firewall}
 
  virtual_firewall_appliance:
     type: OS::Nova::Server
     image: ....
     networks:
        - port: {get_resource: protected_interface}
        - port: {get_resource: unprotected_interface}


1.4 VF-C call OOF

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

...

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

...



2. ONAP Module Modify 

Module NameModificationstatusownercomments
SDCAdd SR-IOV NIC attributes.Completed

Alex

Lianhao


PolicyAdd SR-IOV NIC attributes.In ProgressLibo
VF-CAdd create port process.In ProgressHaibin
SOAdd create port process.In ProgressMarcus
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

[A] PUT /cloud-infrastructure/cloud-regions/cloud-region/{cloud-owner}/{cloud-region-id}/hpa-capabilities/hpa-capability/{hpa-capability-id}

4.1 VF-C Modification

  1. When it create network, VF-C will get provider network including interface type, physical_network and vnic type from OOF pass it Multi-cloud.
  2. When we create port , we need pass vnic type to multi-cloud. so we don't modify it. 

4.2 Multi-cloud Modification

      https://developer.openstack.org/api-ref/network/v2/

...

...



3

...

Please Marcus Williams helps to update it.

4.4 OOF Modification

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}

...

.

...

"oof_directives" : {
         "vnfc_directives":[
              "vnfc_id" "<ID of VNFC>" //Need not filled in today, but for future purposes
                "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 >"
                    ]
                  }
          }
          
}

SR-IOV NIC related Capability in Data model


This is refer to Supported HPA Capability Requirements(DRAFT)#LogicalNodei/ORequirements

...

Capability Name

Capability Value

Description

nicFeature

LSO, LRO, RSS, RDMA

Long list of NIC related items such as LSO, LRO, RSS, RDMA, etc.

dataProcessingAccelerationLibray

Dpdk_Version

Name and version of the data processing acceleration library required. Orchestration can match any NIC that is known to be compatible with the specified library.

interfaceType

Virtio,

PCI-Passthrough,

SR-IOV, E1000, RTL8139, PCNET

Network interface type

vendorSpecificNicFeature

TBA

List of vendor specific NIC related items.


4. Reference

https://docs.openstack.org/neutron/pike/admin/config-sriov.html

...