Grenade
什么是 Grenade?
Grenade 是一个测试框架,用于测试 OpenStack 在不同版本之间的升级过程。它使用 DevStack 执行初始的 OpenStack 安装,然后逐步升级每个启用的项目。
使用 Grenade
目前,README 文件在源代码中包含了尝试 Grenade 的步骤。
强烈建议在虚拟机 (VM) 中运行 Grenade。为此,setup-grenade 安装脚本被编写为在目标 VM 上执行初始检出,并复制和修改 DevStack 的本地配置文件以适应目标环境。如果需要,在运行 grenade.sh 之前,可以进行进一步的更改。
此外,具有 VM 快照功能的超融合/云平台对于开发/调试升级过程非常有价值,可以避免重新运行整个设置和初始 DevStack 运行。
代码
Grenade 托管在 GitHub 上的 OpenStack 开发仓库中。可以通过标准的 OpenStack gerrit 流程(参见:开发工作流程)向 openstack-dev/grenade 项目贡献。
分支
将维护特定分支,用于与常规 OpenStack 版本匹配的发布组合。例如,第一个维护的分支将用于 Essex -> Folsom 升级路径。主干 (Trunk) 将始终维护用于 $LAST_RELEASE -> trunk 升级。
升级
Grenade 使用一系列 upgrade_* 脚本来执行升级每个组件的实际步骤。这些脚本可以独立运行,并且必须能够静默地处理重复运行。
概要
- 终止正在运行的进程
- source TRUNK_DEVSTACK stackrc
- 设置配置变量和文件
- 获取当前主干源代码 (git_clone)
- 配置源代码 (setup_develop)
- 执行升级更改
- 根据需要运行 *-manage db_sync
- 启动进程
TODO
剩余的工作包括
- 完成每个项目的升级步骤
- 完善为测试数据转换而创建的 Javelin 示例项目
- 编写测试以验证 Javelin 数据
术语表
- FINAL_RELEASE - 升级的目标版本
- START_RELEASE - 升级路径中的初始版本
其他
Grenade 采用 Apache 2.0 许可发布。