最新变化:OpenStack发布周期或将延长至1年

Posted 牛皮糖的碎碎念

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了最新变化:OpenStack发布周期或将延长至1年相关的知识,希望对你有一定的参考价值。

今天,openstack-dev邮件列表里最热的topic是由TC老大Thierry Carrez发起的一则讨论:”Switching to longer development cycles“。


ttx期望将当前的Release周期从半年更改为一年,是基于以下现状:


  • 自我驱动的社区开发速度已经跟不上频繁的选举和特性冻结速度了(PTL选举和Release均半年一次),Release中的Milestone已经失去了意义(约1.5个月发布一个Milestone)

  • 随着各组件的逐渐成熟,越来越少的功能需要快速开发和发布了

  • 随着越来越多的人使用OpenStack,需要投入更多的时间来保证兼容性和稳定性

  • OpenStack越来越复杂,需要投入比以前更多的时间进行测试

  • 当前Release模型的迭代速度是针对代码贡献者是作为全职开发而设计的。但随着当前OpenStack组件的发展,越来越少的人能够100%精力地投入到某一个项目中,更多的是分散到多个项目或者是其他开源项目


Release周期变为一年,这意味着:


  • 每年只发布一个OpenStack版本并且只维护一个稳定分支

  • PTL选举变为每年一次

  • 每年只设定一个社区目标

  • 每年只有一次PTG


这并不意味着:


  • 所有组件只有更少的发布频次或者更晚的发布时间。如果必要,各个项目仍然可以使用cycle-with-intermediary发布模型进行发布,一年一次只是发布周期的下限。

  • 鼓励开发速度放缓变慢。各个项目可以自行调整开发速度,继续使用sprint,milestone来管理开发计划,一年一次的发布周期是希望有更高的发布质量

  • team成员的面对面交流只有一次。期望通过team组织的中期讨论会来替代原先的第二次PTG。

  • 简化升级。影响升级速度并不取决于开发周期的变化,而是每次升级的耗时,当然一年一次的升级会比一年两次的升级稍微好一些。

  • 发布LTS。发布周期变长,因此同一时间需要维护的分支变少了,但并不表示会发布长期支持的版本。


何时?


明年2/3月或者8/9月作为新版本发布的起始时间点。


谁来决策?


目前已在release team进行了讨论,将在openstack社区收集意见,最终由TC(技术委员会)投票决定。




社区的反应


炸开了锅。


今早5点(NZT时区)ttx发出的邮件,截止到现在12点已经40封邮件了,赞同点赞的,持怀疑态度的,反对的,各种声音都有,看来democracy真是麻烦,还是应该向素来全票通过的某组织学习。


目前可以看得出支持发布周期改为一年的更多,而且邮件里几位TC成员在探讨周期调整的细节和策略了,因此在这一变化在TC决策上得以通过是大概率事件。




我个人认为这是一件好事,作为一名OpenStack社区的参与者和用户,最近几年社区存在以下两点较为明显的问题:


贡献者的持续减少


这里说的贡献者是指全职的开源社区工程师,不是指那些靠修改个标点符号或者语法的开源刷子。以最新的Pike版本为例,Nova可以算是Openstack中最热门,关注度最高的核心项目,releaste note的feature list满满一堆,能算得上亮点的可能只有一条:Cells v2 multi-cell deployment。


更别说其他非核心项目和非热门项目了,前段时间Openstack-Chef的PTL在ML更是发出了类似Donald Trump竞选宣言的邮件:Making the Kitchen Great Again,引得众多项目的PTL纷纷效仿。


OpenStack的活跃度不如以前是件正常的事情,当年Cloud是热点,并且OS一枝独秀,现在则是百花齐放。从12年到现在,当年认识的OpenStack工程师虽多数还和Cloud相关,有不少已经离开了OpenStack领域:一部分从虚机转做Docker和K8S,一部分去做当前热门的机器学习和Tensorflow,一部分从Neutron转攻底层SDN,一部分从Cinder,Glance专攻存储Ceph,等等。这并不意味着OS社区的凋零,而是逐渐发展成熟之后,作为一项常见的IT技术不会再被广泛关注,如同Linux一样。


发布周期过于频繁


OpenStack当前的发布周期是6个月,每个周期包括一次Desgin summit(在大家熟知的OpenStack Summit中进行),三次Milestone,FF阶段以及RC发布阶段:


这不仅对于社区开发来说速度早已脱节,对于其他工程师(ops, test)更是一场梦魇。


我曾详细推算过上线OpenStack最新版本的时间点:

  • 从社区发布正式版本到RDO/Ubuntu Cloud Archive发布Stable的软件包约需1个月

  • 从开发部门进行功能调研和代码合并需1个月(由于私有化patch数量的增长,合并会越来越难)

  • 从测试部门完成性能,高可用,场景测试方案到实现需要半个月(随着支持服务数量的增长,时间会延长)

  • 从测试环境部署到预发布环境观察运行情况,1个月

  • 从预发布部署到线上环境,可能由于各种原因,推迟半个月甚至一个月都是正常的(随着集群数量的增加,时间会延长)


也就是等我们上线新版本X的时候,下个版本Y已经发布最后一个Milstone了,或者赶上了下一版本的Feature Freeze...


若是市场部的稿子慢一点,可能都不好意思标榜是最新版本了。一个月后,客户问你这是社区最新的Y版本吗?售前一副生无可恋的样子。


而将开发周期从半年调整到一年,可以在当前大环境下开发者减少的情况下,继续保证代码的质量和功能,让开发/测试/运维人员有更充足的时间进行准备,这比掐着6个月发布一堆冰冷的版本号更有价值。

以上是关于最新变化:OpenStack发布周期或将延长至1年的主要内容,如果未能解决你的问题,请参考以下文章

php 将WordPress中登录cookie的生命周期延长至一个月。 || verlängertdieLebensdauer des Login-Cookies auf einen Mon

使用OpenStack回归私有云(下)

买方团延长和利时股东提交同意的截止日期至2021年8月20日

2016年OpenStack总结

数字货币或将消灭银行 未来3至5年,银行业可能将崩溃?

Linux 5.10 LTS 维护时间延长至 2026 年底