支持 Xen 虚拟驱动

日期:

2016-06-03 11:17

标签:

ansible, xen

本规范的目的是向 OpenStack-Ansible 添加对 Xen Hypervisor 的支持。这将允许在 OpenStack 计算节点上使用 Xen 作为选项。

https://blueprints.launchpad.net/openstack-ansible/+spec/xen-virt-driver

问题描述

Xen 是一种在 OpenStack 中经过测试和支持的 Hypervisor。它被用于今天一些最大的公共云中,并且将是 OpenStack-Ansible 的一个很好的补充。目前 OpenStack Libvirt Driver 已经存在对 Xen 的支持,因此实现应该不会很困难。

提议的变更

主要变化是在 OpenStack-Ansible 中为 CentOS 7、Ubuntu 16.04 和 Ubuntu 14.04(通过使用 UCA 仓库)添加对 Xen 的支持。Xen 4.5.1 和 Libvirt 1.2.15 中包含了 Xen 与 OpenStack 协同工作所需的更改。本蓝图涵盖了使用 OpenStack-Ansible 支持的标准网络代理部署 nova-xen 计算驱动。

拟议的更改包括

  • 添加支持安装/配置 Xen 虚拟驱动及其依赖项

  • 关于如何配置计算节点以运行 Xen 虚拟驱动的文档

  • 用于验证 os_nova 角色所需更改的 Xen 支持的测试

备选方案

  • 维护独立的 Xen Ansible playbook - 这需要重新发明基础功能,不符合操作员的要求。

Playbook/Role 影响

请参阅工作项以了解 playbook/角色的影响。nova_virt_type 的引用将被更新以反映 ‘xen’ 选项。

升级影响

无。xen 驱动程序是 OpenStack-Ansible 的新功能,因此没有升级影响。

安全影响

无。

性能影响

无。

最终用户影响

最终用户将能够使用 Xen 虚拟驱动程序部署计算节点。

部署者影响

Xen 特定的配置选项将被添加到 openstack-ansible-os_nova 角色中。

当添加对 Xen 作为虚拟驱动程序的支持时,这些配置选项将可供使用;但是,预计 Xen 支持将默认禁用,需要部署者显式启用 Xen 支持并配置主机以供 OpenStack-Ansible 使用。

将提供这些新配置项的文档,并且还将提供一组默认值。Xen 虚拟驱动程序将其配置限制为最小化,因此操作员在选择 Xen 作为虚拟驱动程序时应该只需要设置几个必需的选项。

开发人员影响

将要求现有的开发团队对更改集进行审查和批准。Xen 驱动程序团队将完成必要的实现和支持此功能。

依赖项

实现

负责人

主要负责人

Antony Messerli - antonym 在 IRC 和 Launchpad 上

其他贡献者

工作项

需要进行多项更改

  • 在 ‘nova_virt_types’ 结构中添加 ‘xen’,以及驱动程序配置所需的必要变量要求,与其它计算类型匹配。

  • 根据需要,添加 nova.conf 模板,用于 xen 特定的配置选项,这些选项在 nova_virt_type 为 ‘xen’ 时有条件地包含。

  • 在 openstack-ansible-os_nova 项目中创建一个新的 nova_compute_xen.yml。这将包含确保系统上安装和配置 xen 驱动程序所需的任务。

  • 更新现有的 nova_compute.yml 以包含 nova_compute_xen.yml 并添加适当的条件导入。

  • 创建一个新的 nova_compute_xen_install.yml,它将由 nova_compute_xen.yml 包含。它将确保运行 Xen 驱动程序所需的配置和依赖项就位。

  • 更新文档和注释,指示新的 Xen nova_virt_type 以及如何配置 OpenStack-Ansible 以使用 Xen 驱动程序。

  • 自动化单元测试(参见测试)

测试

将在 openstack-ansible-os_nova 项目中创建一个新的 test-install-nova-xen.yml,用于验证新的 xen playbook。

文档影响

将向用户指南添加有关如何启用和配置 Xen 支持的文档。

参考资料

Xen 和 OpenStack 所需的版本:http://wiki.xenproject.org/wiki/OpenStack_CI_Loop_for_Xen-Libvirt

多平台主机操作系统支持:https://blueprints.launchpad.net/openstack-ansible/+spec/multi-platform-host