修复 ConsoleAuthTokens API¶
https://blueprints.launchpad.net/nova/+spec/fix-console-auth-tokens
当前的 ConsoleAuthTokens API 仅允许获取与 RDP 控制台对应的令牌的连接信息。我们需要此 API 也能适用于 MKS 令牌,以便实现一个独立的 MKS 代理。建议修改此 API 以适用于所有类型的令牌。
问题描述¶
独立的控制台代理需要此 API,但它仅限于 RDP。因此,无法在 Nova 树之外实现控制台代理。
用例¶
为所有协议提供 VM 控制台。
项目优先级¶
N/A
提议的变更¶
更改 ConsoleAuthTokens 的实现,以提供所有类型令牌(不仅仅是 RDP)的连接信息。
备选方案¶
另一种选择是将所有代理实现放在 Nova 代码库中。这由于很多原因行不通。
数据模型影响¶
无
REST API 影响¶
REST API 将保持不变,只有实现会被更改。就像在 console_auth_tokens.py 中删除以下 if 语句一样简单。
class ConsoleAuthTokensController(wsgi.Controller):
def show(self, req, id):
...
if console_type != "rdp-html5":
raise webob.exc.HTTPUnauthorized()
...
然而,我们需要一个新的 API 微版本来区分旧行为,即对于非 RDP 令牌返回 HTTP 401。
安全影响¶
无
通知影响¶
无
其他最终用户影响¶
无
性能影响¶
无
其他部署者影响¶
无
开发人员影响¶
无
实现¶
负责人¶
- 主要负责人
rgerganov
工作项¶
它将在一个补丁中实现,该补丁修复 API 实现并更新微版本。
依赖项¶
无
测试¶
单元测试和功能测试。
文档影响¶
无