跳转到: 导航, 搜索

GuestAgent

总结

该功能将允许从计算节点控制器与 Guest Agent 进行通信。 这允许添加云控制器 API,用于用户控制的密码重置、设置 IP 等 - 从而支持 Windows。

设计峰会笔记

有关此主题的实时笔记记录在: http://etherpad.openstack.org/GuestAgent

Rackspace Guest Agent 的当前架构

App -> Host (XenStore) <-> Guest Agent

有关 XenStore 通信的更多信息,请参阅 GuestAgentXenStoreCommunication wiki 条目。 包含有关用于 XenStore 通信的“协议”的详细信息。 请求和响应都以 JSON 编码。

请求的格式是

"{'name': '<command_name>', 'value': '<command_args>'}"


响应是

"{'returncode': '<response_code>', 'message': '<response_string>'}"


Guest Agent 上的当前命令 (Linux/Windows)

描述 命令 命令参数 响应代码
从 Agent 获取版本信息 "version" "agent" 或 "xentools" 或 "updater" "0"
获取 Agent 功能列表 "features" "" "0"
执行 Diffie-Hellman 密钥交换 "keyinit" 本地公钥 "D0"
(重)置 root 密码 "password" 加密密码 "0"
配置网络 "resetnetwork" "" "0"
更新 Agent "agentupdate" "URL,MD5SUM" "0"
注入文件 "injectfile" “file_path,file_contents”的 base64 编码 "0"
Guest 是否准备就绪/可用?
更新 XenTools (仅 Windows)
KMS 许可 (仅 Windows)

注意事项

1. 当客户端/客户终止 Guest Agent 或禁用启动时会发生什么? 2. Agent 应该与超visor 无关/支持许多超visor

  • Launchpad 条目: NovaSpec:resize-servers
  • 创建: 2010-09-01
  • 贡献者: JesseAndrews

总结

该功能将允许从计算节点控制器与 Guest Agent 进行通信。 这允许添加云控制器 API,用于用户控制的密码重置、设置 IP 等 - 从而支持 Windows。

发布说明

已向 OpenStack 计算主机 Agent 代码添加支持,以支持与 Guest Agent 的通信。

原理

Windows 实例无法像 Linux 机器一样配置。 支持它们以及提供更好用户体验的工具(例如密码重置)可以提供 rackspace/slicehost 的同等功能。

用户故事

用户忘记了密码。 与其必须使用救援模式来重置密码,不如用户可以使用 API 重置密码。

前提条件

设计

为了与 Guest Agent 通信,我们使用 XenStoreXenServer 中。

实现

API 添加

  • 重置密码

消息使用 xenstore-write 写入 XenStore,每个实例通过 /local/domain/(domid)/data/guest/(message_uuid)

测试/演示计划