PS:技术博客已经好久没有来耕耘了,倒不是懒惰,而是最近一直在忙着写一本关于Openstack自动化部署的书籍,我觉得可能会比单独零散的技术文章更有价值一些。
作为重度拖延症患者,又把本来奥斯汀峰会期间就应该出稿的文章拖到了飞鱼大大来找我聊人生的时刻了。
这次Puppet-Openstack Design Summit和以往不同的地方是议题很多被分成了4场。第一场是Mitaka版本前情回顾,第二场是Newton版本重要需求讨论,第三场和第四场则是各个Topic的分组讨论和分工。
Mitaka版本追溯
▲ PTL在看表准备开始会议
第一场讲的是上个版本的回顾。Mitaka版本的主要工作可以归纳为4点:
1. CI方向的改进
- 更高的单元测试覆盖率,更多的测试场景,用户测试用例以及Fuel/TripleO相关测试作业;
- 切换到tempest-plugins的使用;
- 制作tarball;
- 和Openstack-health集成;
- 添加Puppet4的周期性测试作业;
- 使用RDO Trunk Repo做dailiybuild测试;
- 向UCA Packaging提供早期的测试反馈。
2. 发布了更多稳定版本的module
例如,mistral、zaqar等。
3. module有了更高的一致性
例如由UnitedStackDevops team贡献的puppet-oslo模块,以及puppet-openstack_spec_helper模块等的新引入,有效降低了module中的冗余代码,提高了module间的一致性。
4. Core team的稳定发展
Newton版本需求讨论
第二场便是讨论在接下来的Newton开发周期要做的事情了。
▲ Core member们正在讨论module的管理方式
第一点是Ubuntu 16.04 LTS版本的支持和测试工作,随着Ubuntu16.04 Xenial成为Openstack Mitaka版本及以后新版本的发行版本。因此接下来的重点工作将集中在以下三点:
第二点是对Puppet4测试工作的支持,随着Puppet4的持续迭代,在新一代的发行版上,Puppet3将逐渐地减少支持,因此将投入人力在测试Puppet4对于当前module,软件包以及Linux各发行版本的兼容性上。
第三点是值得一提的release管理方式,和openstack服务相关的puppet module的Release管理模型将发生变化,过去我们知道所有的项目的发布周期遵循在软件开发周期的接收时,也就是每6个月发布一个最终版本,例如Juno版本。
但是有些项目并没法做到在同一时间发布最终版本,因为它们的发布其实是依赖于其他项目何时发布最终版本,这类项目主要集中在packaging和deployment方向,此类项目会使用“release:cycle-trailing”来标记。Puppet-Openstack项目会从N版本开始从”release:independent“切换到”release:cycle-trailing“,并且在一个发布周期内,会设置对应的milestone。
第四点是改进puppet-openstack项目的使用指南文档和项目wiki,以降低有兴趣学习和参与的工程师的学习门槛。UnitedStack的DevOps团队正在精心编写《深入理解Openstack自动化部署》,详细讲述了如何使用Puppet-Openstack项目完成Openstack集群的部署和管理,更多细节将会在本月深圳Meetup上公布。
本文未提及,但是值得开发者关注的Topic还有:
- puppet-pacemaker的统一(https://review.openstack.org/#/c/296440/)
- puppet-horizon移除模板配置方式
- Docker集成
- Kubernetes支持
- 多节点部署工具
小结
Puppet-Openstack项目发展至今,已经有三年历史,在众多工程师的努力下,继续保持着Openstack社区中最成熟和最有影响力的部署项目,从Newton版本以及Mitaka版本的design summit来看,Puppet-openstack社区更多的重心在于如何继续提高代码和文档质量上,以及支持新发行版本以及和新技术的结合上(例如TripleO、Container、Orchestration)。
UnitedStack DevOps Team一直在深度使用Ansible和Puppet等开源软件和PuppetOpenstack项目,同时对于业界的新技术保持着持续关注。我们看到了新的容器部署技术和新生代配置管理和编排能力融合Ansible的崛起,未来Openstack的部署和管理必然是多种技术相融合的趋势,部署将向着更友好的用户界面,更完善的功能支持,更迅捷的执行速度的方向前进。
▲ 在2016年4月,由OpenStack基金会发起的第7次用户调查中,Puppet是排名第一的OpenStack集群部署与配置工具。
相关文档
http://docs.openstack.org/developer/puppet-openstack-guide/
https://github.com/cloudevelops/openstack_base
http://governance.openstack.org/reference/tags/release_cycle-trailing.html
https://etherpad.openstack.org/p/newton-puppet-project-status