Ceph 版本

时间表

DumplingLTSEmperorStableFireflyLTSGiantStableHammerLTSInfernalisStable
First releaseAugust2013November2013May2014October2014April2015November2015
Estimated retirementMarch2015 January2016 November2016June 2016
Actual retirementMay2015May2014 April2015
DevelopmentTestingDumplingLTSEmperorStableFireflyLTSGiantStableHammerLTSInfernalisStable
November 201510.0.0 0.80.11 9.2.0
October 20159.1.0 0.94.4
0.94.5
August 20159.0.3 0.94.3
July 20159.0.2 0.80.10
June 20159.0.1 0.94.2
May 20159.0.0
April 2015 0.87.20.94.1
0.94
March 2015 0.80.9
February 20150.93 0.87.1
0.92
January 20150.91 0.80.8
December 20140.90
0.89
November 20140.88
October 20140.86 0.80.70.87
0.80.6
September 20140.850.67.11
August 20140.840.67.10
July 20140.83 0.80.5
0.80.4
0.80.3
0.80.2
June 20140.82
0.81
May 2014 0.67.9 0.80.1
0.67.8 0.80
April 20140.79
March 20140.78
February 20140.770.67.7
0.67.6
January 20140.76
0.75
December 20130.740.67.50.72.2
0.73
November 2013 0.72.1
0.72
October 20130.710.67.4
0.70
September 20130.69
0.680.67.3
August 2013 0.67.2
0.67.1
0.67

理解发布周期

开发版发布周期是二到四周,每个周期内都会冻结主开发分支、并进行集成和升级测试,然后才发布;与此同时,要冻结下一个版本的代码,开始对其测试。而且一旦发布,就不再给它移植修正补丁;开发者的精力会集中在下一个开发版上,通常只有几周而已。

每年大约会发布三到四个稳定版,每个稳定版都有个名字(如 ‘Firefly’ ),并且会一直提供缺陷修复,至少持续到下一个稳定版发布。

其它稳定版都是 LTS ( Long Term Stable ,长期稳定)的,而且会持续更新,直到发布了两个 LTS 。比如 Hammer 发布之后 Dumpling 才隐退, Jewel 发布之后 Firefly 才隐退,以此类推。基本原理就是,为了修复缺陷和移植某些重要功能,对 LTS (如 Dumpling )的移植会一直持续到下一个 LTS 发布( Firefly 就是 Dumpling 之后的一个 LTS )。下一个 LTS 发布后,还有可能移植缺陷修正,主要取决于这些问题是否会妨碍升级到下一个 LTS (这里有个实例, Firefly 发布后还在修复 Dumpling ,一直持续到 Hammer 发布,主要是确保 Dumpling 可以平滑地迁移到 Firefly )。

  • LTS (长期稳定):直到后续两个 LTS 发布
  • 稳定版:直到下一个稳定版发布
  • 开发、或测试版:不会给它移植

对各个稳定版:

在时间表中, LTS 版的生命是从首次发布的下一个月算起、共 18 个月。比如, Dumpling 是在 2013 年八月发布的,从 2013 年九月起、延后 18 个月就是 2015 年二月,因此到 2015 年三月 Dumpling 就该隐退了。某些版本的生命也许有所不同,因为它取决于稳定版发布得有多快;比如说,虽然 Dumpling 应该在 2015 年三月隐退,但是被延长到了 2015 年五月。

版本号约定

第一个 Ceph 版本是 0.1 ,要回溯到 2008 年 1 月。多年来,版本号方案一直没变,直到 2015 年 4 月 0.94.1 ( Hammer 的第一个修正版)发布后,为了避免 0.99 (以及 0.100 或 1.00 ?),我们制定了新策略。

  • x.0.z - 开发版(给早期测试者和勇士们)
  • x.1.z - 候选版(用于测试集群、高手们)
  • x.2.z - 稳定、修正版(给用户们)

x 将从 9 算起,它代表 Infernalis ( I 是第九个字母),这样我们第九个发布周期的第一个开发版就是 9.0.0 ;后续的开发版依次是 9.0.1 、 9.0.2 等等。

一两个月后我们会发布 9.1.0 (也可能是 9.1.1 )候选版。

之后几周,我们会发布 Infernalis 9.2.0 ,后续的缺陷修正版将是 9.2.1 、 9.2.2 等等;再后面的版本将是 Jewel (10.y.z) 。