Heat/Boto兼容性
目前Heat依赖于python-boto客户端库用于以下目的
- heat-cfntools 使用boto与heat-api-cfn和heat-api-cloudwatch服务交互(用于cfn-init、cfn-hup和cfn-push-stats工具,这些工具在实例内部运行,如果您想使用通过cfn-hup进行元数据更新,或任何需要CloudWatch指标数据的功能,则需要这些工具,目前通过cfn-push-stats收集CloudWatch指标数据)
- heat-boto 使用boto与heat-api-cfn交互(此工具的功能等同于heat-cfn或python-heatclient,因此是一个可选/开发者工具)
- heat-watch 使用boto与heat-api-cloudwatch交互(这是一个调试/开发者工具,不需要它就可以访问Heat的核心功能)
- 此外,cloud-init依赖于boto与nova ec2 API交互,以便在实例定制期间检索用户/元数据
在2.4.0版本发布之前,向boto添加了一个补丁,该补丁允许配置端点,并且此补丁是Heat使用boto所必需的。最近,不幸的是,由于boto迁移到新的AWS v4签名,而我们尚未支持该签名(即将修复),导致我们与最新的boto版本不兼容(bug 1122472)
由于目前的情况意味着,在这些bug修复之前(并且所有发行版都发布了>= 2.4.0版本的boto),我们有一个有限的兼容性矩阵,其中包含可用的/损坏的版本。以下是对各种发行版的测试状态的临时尝试,以便我们可以跟踪当前有效的工作状态并跟踪用于解决问题的bug。
似乎也存在一些cloud-init兼容性问题 - 需要一个cloud-init修复用于boto版本>= 2.6.0,因此我们在下面的矩阵中捕获cloud-init(TODO,哪个cloud-init版本包含修复,0.7.1?)- 参考bug 1158906
注意 - 这主要是为了更容易创建可用的JEOS镜像/TDL,或者通过pip-install打补丁来修复所需的版本,直到问题解决。表格中的版本应该是发行版打包的版本,如果已知bug/解决方法,请在“备注”列中链接它们。
| 发行版 | cloud-init版本 | boto版本 | 状态 | 笔记 |
|---|---|---|---|---|
| Fedora 17 | 0.6.3-0.5.bzr532 | 2.5.2-3 | 正常工作 | 无 |
| Fedora 18 | 0.7.1 | 2.6.0 | 无法正常工作 | 需要修复1158906/1122472 |
| EPEL 6 (RHEL 6.x, CentOS) | 0.6.3-0.12.bzr532 | 2.5.2-3 | TODO | TODO |
| RHEL 6.4 | 0.7.1-2 | 2.5.2-1.1 | TODO | rhel-x86_64-server-rh-common-6 通道 |
| Ubuntu 12.04 | 0.6.3-0ubuntu1 | 2.2.2-0ubuntu2 | TODO | TODO |
| Ubuntu 12.10 | 0.7.0-0ubuntu2 | 2.3.0-1 | TODO | TODO |
| Ubuntu 13.04 | 0.7.2~bzr804-0ubuntu1 | 2.3.0-1 | TODO | TODO |