Ironic virt 驱动:静态端口组支持

https://blueprints.launchpad.net/nova/+spec/ironic-portgroups-support

为了能够在硬件服务器上启动实例时利用网卡聚合,应该优先选择绑定网卡而不是单个网卡。这将允许用户提高性能或提供更高的网络连接可靠性。

问题描述

为了保证实例在硬件服务器上启动时的网络连接高可靠性/提高性能,应该使用链路聚合

用例

操作员希望使用不同的绑定策略来提高实例网络连接的可靠性或性能。

提议的变更

Nova 将调用 ironic 获取每个端口组的端口列表,这些端口组与 VIF 相关联,以及端口组参数,并使用所需的信息更新网络元数据。

  • 升级 ironic API 版本以获得 ironic 对端口组的支持。

  • 在 ironic virt 驱动中生成网络元数据,并将所有附加信息(例如绑定模式、传输哈希策略、MII 链路监控间隔以及绑定由哪些链路组成)添加到其中。将其传递到 InstanceMetadata,稍后将用于生成配置驱动。

备选方案

  • 始终使用单个网卡,不关心绑定。

数据模型影响

REST API 影响

安全影响

通知影响

其他最终用户影响

性能影响

实例的网络性能或可靠性将根据使用的绑定模型而提高。

其他部署者影响

开发人员影响

实现

负责人

主要负责人

<vsaienko>

其他贡献者

<vdrok>

工作项

  • 升级 ironic 客户端 API 版本,以便我们能够使用端口组。

  • 在 ironic virt 驱动中生成网络元数据,并将所有附加信息(例如绑定模式、传输哈希策略、MII 链路监控间隔以及绑定由哪些链路组成)添加到其中。将其传递到 InstanceMetadata,稍后将用于生成配置驱动。

依赖项

测试

将绑定模块添加到 cirros。ironic 团队手动测试了重新构建的启用绑定模块的 cirros 镜像,并且它按预期工作。更新 ironic CI 以使用端口组来测试它们。

文档影响

参考资料