添加对 SR-IOV-PORT 的支持

https://blueprints.launchpad.net/heat/+spec/neutron-resource-add-pci-port

在创建 Neutron SR-IOV 端口时,这些端口应该有自己的资源类型。本规范建议向 OS::Neutron::Port 对象添加 vnic_type。

问题描述

Neutron 端口是一个虚拟端口,它要么连接到计算节点上的 Linux 网桥,要么连接到 OpenvSwitch 网桥。随着 PCI 直通 SR-IOV 支持的引入,不再需要中间的虚拟网桥。相反,SR-IOV 端口与受 vNIC 适配器支持的虚拟功能相关联。

当前可以通过在 OS::Neutron::Port 中设置 value_specs 属性来创建 PCI 端口。但是,拥有新的资源类型将简化用户的模板,并允许在未来进行不同的约束。

提议的变更

添加对 vnic_type OS::Neutron::Port 的支持。提供者资源将被用于创建 PCI 资源。OS::Neutron::Port 将被修改以支持 vnic 类型。

OS::Neutron::Port 的属性如下

resources:
  sriov_port:
    type: OS::Neutron::Port
    properties:
      network: { get_param: my_net }
      vnic_type: direct

支持的 vnics 类型有 normal、direct 和 macvtap

备选方案

实现新的资源 OS::Neutron::PciPort。它将与当前的 Neutron::Port 位于同一位置,并尽可能重用 Neutron::Port 的内容。

OS::Neutron::PciPort 的属性如下

resources:
  sriov_port:
    type: OS::Neutron::PciPort
    properties:
      network: { get_param: my_net }
      vnic_type: direct

实现

负责人

主要负责人

Rob Pothier

里程碑

完成目标里程碑

Kilo-1

工作项

  • 修改 OS::Neutron::Port https://review.openstack.org/#/c/129353/

依赖项