唤醒局域网 (WOL) 电源驱动

https://blueprints.launchpad.net/ironic/+spec/wol-power-driver

此蓝图为 Ironic 添加了对唤醒局域网 (WOL) 电源接口的支持。

问题描述

唤醒局域网是一种标准,允许计算机通过网络消息被唤醒。它被广泛应用,并且不需要任何特殊的硬件即可工作。这对于希望使用真实的裸机而不是虚拟机来尝试 Ironic,并且只有一些旧电脑的用户来说非常有用。

提议的变更

提议的实现包括一个驱动电源接口实现,它将为 Ironic 中节点资源上注册的每个端口(MAC 地址)创建并发送唤醒局域网魔术包。

重要的是要注意,唤醒局域网只能将机器打开。在机器取消配置后,需要手动将其关闭。

用户可以指定的驱动属性:

wol_host:发送魔术包的广播 IP 地址。默认为 255.255.255.255

wol_port:发送魔术包的目标端口;默认为 9

当调用关闭电源时,我们将只记录一条消息,说明该操作不被驱动程序支持,并需要手动干预。

当调用重启时,驱动程序将尝试将机器打开

当获取节点电源状态时,驱动程序将依赖于 Ironic 数据库中的内容并将其返回,因为我们没有可靠的方法来知道机器当前的电源状态。

备选方案

另一种选择是依赖于一些外部机制来控制节点的电源。例如 iBoot,Ironic 已经为此提供了一个驱动程序。但是,用户需要花费一些资金(约 200 美元)来购买一个 iBoot 设备。

数据模型影响

状态机影响

REST API 影响

客户端 (CLI) 影响

RPC API 影响

驱动程序 API 影响

Nova 驱动程序影响

安全影响

此规范仅涵盖发送魔术包的各个方面,不包括 SecureOn 功能。

SecureOn 允许客户端将密码附加到魔术包,因此支持此功能的网卡将在唤醒机器之前检查,只有当 MAC 地址 + 密码正确时,系统才会唤醒。这可以防止 暴力 破解 攻击,但将留待后续工作。

其他最终用户影响

可扩展性影响

性能影响

其他部署者影响

开发人员影响

实现

负责人

主要负责人

lucasagomes

其他贡献者

工作项

  • 编写唤醒局域网电源接口

  • 编写单元测试

依赖项

测试

单元测试将作为工作的一部分添加。

升级和向后兼容性

文档影响

驱动程序应在 https://docs.openstack.org/developer/ironic/index.html 下进行文档记录。文档还将清楚地说明此驱动程序的用途,这是一个测试驱动程序,不适用于生产环境。

参考资料