移除 nova-cert¶
https://blueprints.launchpad.net/nova/+spec/remove-nova-cert
nova-cert 已经弃用了一段时间,现在可以完全移除。
问题描述¶
由于构建 euca bundle 的遗留需求需要证书,Nova 拥有一个非常古老且未维护的“证书”API。 这允许用户在 Nova 集群上使用 openssl 随机生成证书,而不是在本地执行此操作。 私钥在 POST 调用期间返回,稍后可以获取根证书。
在幕后,这项工作是由一个 nova-cert worker 完成的。 虽然它本意是出于熵值的原因作为 fleet 使用,但通过查看代码,作为 fleet 可能导致数据损坏,因为每个 worker 都会生成自己的本地根 CA(导致 API 无法按预期工作)。
此 API 未在当前的 Nova 代码中用于任何用途。 它使 Nova 成为随机第三方使用的证书颁发机构(它真的不应该这样做)。 没有管理熵值的机制,因此对该 API 的积极使用可能会对云的熵值产生负面影响,具体取决于 worker 的位置。
Nova-cert 是 Nova 执行不良的非必要操作的一个例子。 糟糕的安全相关操作比根本不执行它们更糟糕。
用例¶
无
提议的变更¶
nova-cert 自 2016 年 7 月起已被弃用,提交 [1] 添加了发布说明并记录了一条警告,指出 nova-cert 已被弃用。 如果弃用周期允许,删除 nova-cert 应该很简单。
备选方案¶
另一种方法是不做任何更改,让 nova-cert 保持不变。
数据模型影响¶
无
REST API 影响¶
调用时返回 410 Gone
POST /os-certificatesGET /os-certificates/rootPOST /os-cloudpipeGET /os-cloudpipePUT /os-cloudpipe/configure-project
所有版本的 os-certificates 和 os-cloudpipe。 不会有一个新的微版本来指示此更改。
此外,应引发并记录表明该功能不再可用的异常。
安全影响¶
此更改会影响以安全方式生成证书的可能性。 虚拟机往往没有太多的熵值,从而限制了 Linux 内核对伪随机数生成器可用的随机数级别。 用户需要在虚拟机内部安装额外的软件包来增加生成证书时的熵值。
通知影响¶
无
其他最终用户影响¶
无
性能影响¶
无
其他部署者影响¶
我们消除了运行和管理 nova-cert 进程的需要,这使我们减少了一个需要监控并探索 HA 的服务。
开发人员影响¶
ec2-api在我们删除nova-cert服务后将失效 [2]。os-cloudpipe已经在文档中被弃用了。 我们也应该在代码中删除它,因为在nova-cert和nova-network都被弃用并标记为删除的情况下,保留它没有意义。
实现¶
负责人¶
- 主要负责人
Maciej Szankin (macsz)
- 其他贡献者
OSIC
工作项¶
更改 API 返回代码
删除
nova-cert启动脚本删除测试
删除
nova-cert服务
依赖项¶
无
测试¶
Tempest [3] 需要更新才能适应此更改。
文档影响¶
更新管理指南以反映这些更改。
参考资料¶
[1] https://github.com/openstack/nova/commit/789edad0e811d866551bec18dc7729541105f59d [2] https://github.com/openstack/ec2-api/blob/480dc02de0d8413aa518a23b22a0140013df1350/ec2api/clients.py#L140 [3] https://github.com/openstack/tempest/blob/8c8943aa45d0a6428fdd4e32aa4e3bd71f39d050/tempest/api/compute/certificates/test_certificates.py
历史¶
发布名称 |
描述 |
|---|---|
Pike |
引入 |