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版本及以后新版本的发行版本。因此接下来的重点工作将集中在以下三点:

 
1.在对于UCA软件包的测试和验证工作,例如mitaka版本的breaker和integration测试。
2.保留stable分支的Trusty(14.04)相关作业,但对于master分支将不再使用trusty相关测试任务。
3.一旦完成了Xenial作业的测试工作,就会将其从periodic迁往gate。

第二点是对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

PuppetOpenstack Newton Design Summit见闻的更多相关文章

  1. Puppet Openstack Mitaka Design Summit小结

    Puppet Openstack Design Summit小结 经过Puppet Openstack社区的不断努力,Puppet Openstack社区目前提供的Official Modules已经 ...

  2. HK Openstack Summit 归来有感

    4天的Icehouse openstack Summit终于结束,从香港又回到了北京,我们的产品反响相当不错,吸引了很多的注意力和商谈.可是实际上我最近过得很憋屈,心灰意冷,没有了当初那么拼命的动力. ...

  3. OpenStack Summit Paris 会议纪要 - 11-04-2014

    前言: 来源:https://wiki.openstack.org/wiki/Summit/Kilo/Etherpads#Ops 不一定翻译准.由于是在summit上随手写的. 重点关注Ops Sum ...

  4. OpenStack Summit Paris 会议记录 - 11-05-2014

    Ops/Design Summit - 2014-11-05 Record 1. Keystone Operators, Deployers, and DevOps 1. Icehouse中,SAML ...

  5. Solum入门知识(编辑中)

    概要 参考:https://wiki.openstack.org/wiki/Solum An OpenStack project designed to make cloud services eas ...

  6. 从入门到精通Puppet的实践之路

    本文有感于<精通Puppet配置管理工具>在豆瓣上的某些差评而顺手写的书评. 半路出家   故事要从12年初说起.  某天,部门老大让我所在team的老大调研一下当下业界的配置管理工具.于 ...

  7. Juno Puppet Opertaors Meetup小结

    今年五月刚结束的Juno OpenStack Summit是半年一度的Openstack盛会,抛去那些迷花渐欲乱人眼的商业活动,我们来看一看本届summit puppet-openstack社区有哪些 ...

  8. Openstack配置文件管理的变迁之路

    在管理一个Openstack集群时,如何维护配置文件无疑是其中最艰难和繁琐的任务之一.因为你不仅要面对众多的核心服务(nova,keystone,glance,cinder,etc)的配置文件,还需要 ...

  9. Openstack oslo.config【一】

    OpenStack的项目貌似越来越多了,在Grizzly版之前,每个项目都得实现一套处理配置文件的代码.在每个项目的源码中基本上都可以找到openstack/common/cfg.py,inipars ...

随机推荐

  1. Odoo下拉动作列表

  2. 使用PreTranslateMessage替代钩子函数处理键盘消息

    2002年左右,我所在公司在开发基于H.323的VoIP电话系统(用了以色列一家公司的库,具体名字忘记了). 去电信科技研究院测试系统,同事发现处理键盘消息总有一些莫名其妙的问题,比如延迟或异常. 我 ...

  3. [转贴]有关Angular 2.0的一切

    对Angular 2.0的策略有疑问吗?就在这里提吧.在接下来的这篇文章里,我会解释Angular 2.0的主要特性区域,以及每个变化背后的动机.每个部分之后,我将提供自己在设计过程中的意见和见解,包 ...

  4. HDU2243_考研路茫茫――单词情结

    给出一些词根,问你有多少种长度为L的串包含至少一个词根. 去年就在敲这个题了,今年才敲出来,还是内牛满面之中... 要求包含至少一个的情况,需要求出所有的情况,减去一个都没有的情况就可以了. 对于给出 ...

  5. python基础语法(2)

    2. 元组 tuple和list十分相似,但是tuple是不可变的,即不能修改tuple,元组通过圆括号中用逗号分割的项定义:支持索引和切片操作:可以使用 in 查看一个元素是否在tuple中.空元组 ...

  6. 【状压dp】【bitset】bzoj1688 [Usaco2005 Open]Disease Manangement 疾病管理

    vs(i)表示患i这种疾病的牛的集合. f(S)表示S集合的病被多少头牛患了. 枚举不在S中的疾病i,把除了i和S之外的所有病的牛集合记作St. f(S|i)=max{f(S)+((St|vs(i)) ...

  7. HDU 1754 I Hate It (线段树)

    题意:略. 析:裸的线段树. 代码如下: #pragma comment(linker, "/STACK:1024000000,1024000000") #include < ...

  8. chmod和fchmod函数 /chown ,fchown,lchown函数

    这两个函数使我们可以更改现有文件的访问权限: #include <sys/stat.h> int chmod( const char *pathname, mode_t mode ); i ...

  9. 《理解 ES6》阅读整理:块绑定(Block Binding)

    变量声明一直是JavaScript中一个需要技巧的部分.在大多数基于C的编程语言中,变量(更正式地说是绑定)在声明的时候创建,然而在JavaScript中并不是这样.在JavaScript中,变量在何 ...

  10. Linux在Hyper-V中实现与Windows的宽带共享上网

    相信不少读者都会做(或者曾经做过)这么一项活动——把一个Linux系统安装到Windows系统下的虚拟机软件中,然后在Windows这个大环境中对Linux进行学习或者一些实验操作.在进行这么一项活动 ...