PuppetSpec
- Launchpad 条目: NovaSpec:austin-puppet-deployment
- 创建: 2010-09-02
- 贡献者: SorenHansen
总结
Ubuntu 偏好的配置管理系统是 Puppet。因此,我们应该提供一套 Puppet recipes,以便使用 Puppet 部署 Nova 变得非常简单。
发布说明
Nova 附带一套 Puppet recipes,你可以将它们包含在你的 Puppet 配置中,从而轻松部署 Nova。
原理
Nova 有许多不同的组件和一些外部依赖项(例如 Redis 和 Rabbit(以及可选的 LDAP 服务器等))。对于新用户来说,设置所有这些可能令人望而却步,因此我们应该帮助他们入门。
用户故事
Andrew 想要在笔记本电脑上测试 Nova。他目前不使用 Puppet。他按照单机安装的说明,安装 Puppet 和 Nova Puppet recipes,并运行“everything-on-a-single-box” recipe。这会在他的笔记本电脑上安装 redis、rabbit、nova-api、nova-objectstore、nova-volume 和 nova-compute,所有这些都已设置好并准备就绪。
Bernard 想要在数据中心部署 Nova。他目前不使用 Puppet。他按照说明安装一个 Puppetmaster,并在他想要运行 Nova 的节点上安装 Puppet。在确保 Puppetmaster 和 Puppet 之间的通信正常后,他再次按照说明指定哪些节点将运行哪些服务。在下一次 Puppet 刷新之后,一个节点将运行 redis,一个节点将运行 rabbit,一个节点将运行 nova-objectstore,至少一个节点将运行 nova-api,至少一个节点将运行 nova-volume,至少一个节点将运行 nova-network(每个节点可以运行其中多个服务)。所有服务将与同一个 RabbitMQ 服务器和同一个 Redis 服务器通信。
Charles 想要在数据中心部署 Nova。他已经在使用 Puppet。他安装 Nova Puppet recipes 并像 Bernard 一样配置所有内容。
Charles 想要在数据中心部署 Nova。他已经在使用 Puppet 和 RabbitMQ。他安装 Nova Puppet recipes 并像 Bernard 一样配置所有内容,除了他将设置指向现有的 RabbitMQ 服务器,并获得与 Bernard 和 Charles 相同的结果。
前提条件
我们不会尝试分发 RabbitMQ。我们不会尝试分发 Redis。
设计
待定
实现
待定
代码变更
代码变更应包括需要更改的内容的概述,并且在某些情况下甚至包括具体细节。
测试/演示计划
待定