跳转到: 导航, 搜索

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 许可发布。