Add support for SR-IOV-PORT¶
https://blueprints.launchpad.net/heat/+spec/neutron-resource-add-pci-port
When creating Neutron SR-IOV ports, these ports should have their own resource types. This spec proposes to add vnic_type to OS::Neutron::Port objects.
Problem description¶
A neutron port is a virtual port that is either attached to a linux bridge or an openvswitch bridge on a compute node. With the introduction of PCI Passthrough SR-IOV support, the intermediate virtual bridge is no longer required. Instead, the SR-IOV port is associated with a virtual function that is supported by the vNIC adaptor.
Currently a PCI port can be created by setting the value_specs property in OS::Neutron::Port. However, having a new resource type will simplify the templates for the user and allow for different constraints in the future.
Proposed change¶
Add support for vnic_type OS::Neutron::Port. Provider resources will be used to create a PCI resource. OS::Neutron::Port will be modified to suport the vnic type.
The properties for OS::Neutron::Port will be as follows:
resources:
sriov_port:
type: OS::Neutron::Port
properties:
network: { get_param: my_net }
vnic_type: direct
The vnics type supported are normal, direct and macvtap
Alternatives¶
Implement a new resource OS::Neutron::PciPort. This will reside with the current Neutron::Port and reuse as much of Neutron::Port as possible.
The properties for OS::Neutron::PciPort will be as follows:
resources:
sriov_port:
type: OS::Neutron::PciPort
properties:
network: { get_param: my_net }
vnic_type: direct
Implementation¶
Assignee(s)¶
- Primary assignee:
Rob Pothier
Milestones¶
- Target Milestone for completion:
Kilo-1
Work Items¶
modify OS::Neutron::Port https://review.openstack.org/#/c/129353/
Dependencies¶
None