使用 Chef 启用裸金属服务

包含您的 Launchpad 蓝图的 URL

https://blueprints.launchpad.net/openstack-chef/+spec/bare-metal-enablement

OpenStack 裸金属服务,也称为 Ironic OpenStack 项目名称,通过利用通用技术(如 [PXE] 启动和 [IPMI])来配置裸金属机器,涵盖广泛的硬件。

问题描述

  • OpenStack 裸金属服务作为“Icehouse”版本中的孵化项目可用,并在“Juno”中进行了许多稳定性和功能改进,从“Kilo”版本开始,它正式集成到 OpenStack 中。

  • 目前,没有 Chef cookbook 支持来安装和配置 OpenStack 裸金属服务。

提议的变更

添加 cookbook,包括配方和相关的属性/单元测试,以安装和配置 OpenStack 裸金属服务。

需要安装的软件包包括

  • Fedora/RHEL:openstack-ironic-api、openstack-ironic-conductor、

    openstack-ironic-common 和 python-ironicclient。对于 PXE:tftp-server 和 syslinux-tftpboot。对于 IMPI:ipmitool。

  • Ubuntu:ironic-api、ironic-conductor 和 python-ironicclient。

    对于 PXE:tftpd-hpa、syslinux 和 syslinux-common。对于 IMPI:ipmitool。

备选方案

数据模型影响

REST API 影响

有关详细信息,请参阅 [REST_API_V1]

安全影响

  • 连接到 OpenStack 其他组件时使用的身份验证方法是 keystone,使用 PKI 以及其他方法。

  • 允许 ironicclient 执行“安全”SSL (https) 请求,建议使用 SSL/TLS 版本 TLSv1.2、TLSv1.0 和 TLSv1.1,但证书和密钥交换不在启用裸金属服务的范围内。

  • 用于哈希 PKI 令牌的哈希算法包括 md5 等。

  • 需要使用 sudo 的命令是

    qemu-img iscsiadm blkid blockdev mkswap mkfs mount umount dd fuser parted

  • 关于资源耗尽攻击,此 Spec 没有安全影响。

通知影响

其他最终用户影响

性能影响

其他部署者影响

开发者影响

实现

负责人

主要负责人
其他贡献者

工作项

  • 添加一个基本的 cookbook,包含通过第一个 gate 的默认文件 .gitignore .gitreview .rubocop.yml Berksfile CONTRIBUTING.md Gemfile metadata.md Rakefile README.md TESTING.md /spec/spec_helper.rb

  • 添加默认属性文件以确定裸金属服务配置项。

  • 添加配方文件以安装裸金属服务的软件包,配置 [BARE_METAL_TEMPLATE] 并启动裸金属服务。

  • 添加模板文件以使裸金属服务可配置。

  • 添加单元测试。

依赖项

  • Ironic 需要支持的裸金属硬件,例如 x68 服务器、HP iLO 和 Intel AMT 平台。

  • 这需要支持的平台操作系统,例如 Fedora、RHEL 和 Ubuntu。

  • 这依赖于蓝图 [BARE_METAL_ENABLEMENT]

  • 这需要为计算服务配置裸金属服务的驱动程序。

  • 这需要设置支持的启动模式,例如 [PXE][IPMI]

测试

  • 为配方添加单元测试。

  • 对于功能和 CI 集成测试,建议至少有一个具有 OpenStack all-in-one 部署的节点。

文档影响

  • 添加 README.md。