Ceph Releases

Timeline

  Dumpling LTS Emperor Stable Firefly LTS Giant Stable Hammer LTS Infernalis Stable Jewel LTS Kraken Stable
First release August 2013 November 2013 May 2014 October 2014 April 2015 November 2015 April 2016 January 2017
Estimated retirement March 2015   January 2016   November 2016   November 2017  
Actual retirement May 2015 May 2014 December 2015 April 2015   April 2016    
  Development Testing Dumpling LTS Emperor Stable Firefly LTS Giant Stable Hammer LTS Infernalis Stable Jewel LTS Kraken Stable
January 2017                 11.2.0
December 2016               10.2.4  
October 2016                 11.0.2
September 2016               10.2.3  
August 2016           0.94.9 0.94.8      
June 2016 11.0.0             10.2.2  
May 2016           0.94.7   10.2.1  
April 2016 10.1.2             10.2.0  
10.1.1                
March 2016 10.1.0                
10.0.5                
February 2016 10.0.3         0.94.6 9.2.1    
January 2016 10.0.2                
December 2015 10.0.1                
November 2015 10.0.0     0.80.11     9.2.0    
October 2015 9.1.0         0.94.5      
          0.94.4      
August 2015 9.0.3         0.94.3      
July 2015 9.0.2     0.80.10          
June 2015 9.0.1         0.94.2      
May 2015 9.0.0                
April 2015         0.87.2 0.94.1      
          0.94      
March 2015       0.80.9          
February 2015 0.93       0.87.1        
0.92                
January 2015 0.91     0.80.8          
December 2014 0.90                
0.89                
November 2014 0.88                
October 2014 0.86     0.80.7 0.87        
      0.80.6          
September 2014 0.85 0.67.11              
August 2014 0.84 0.67.10              
July 2014 0.83     0.80.5          
      0.80.4          
      0.80.3          
      0.80.2          
June 2014 0.82                
0.81                
May 2014   0.67.9   0.80.1          
  0.67.8   0.80          
April 2014 0.79                
March 2014 0.78                
February 2014 0.77 0.67.7              
  0.67.6              
January 2014 0.76                
0.75                
December 2013 0.74 0.67.5 0.72.2            
0.73                
November 2013     0.72.1            
    0.72            
October 2013 0.71 0.67.4              
0.70                
September 2013 0.69                
0.68 0.67.3              
August 2013   0.67.2              
  0.67.1              
  0.67              

Understanding the release cycle

The development release cycle is two to four weeks long. Each cycle freezes the master development branch and applies integration and upgrade tests for the duration of one cycle before it is released and the next release’s code is frozen for testing. Once released, there is no effort to backport fixes; developer focus in on the next development release which is usually only a few weeks away.

There are three to four stable releases a year. Each stable release will receive a name (e.g., ‘Jewel’) and bug fix backports at least until the next stable release is out.

Every other stable releases is a LTS (Long Term Stable) and will receive updates until two LTS are published. For instance Dumpling is retired when Hammer is published, Firefly is retired when Jewel is published etc. The rationale is that backports to a LTS (Firefly for instance) are expected to happen until the next LTS is published (Jewel is the LTS following Hammer), to fix bugs and possibly backport important features. After the next LTS is published, backports are still expected to fix bugs with a focus on whatever can prevent upgrades to the next LTS (in our example, fixes to Dumpling were published after Firefly was released and until Hammer was published, primarily to ensure Dumpling cluster can smoothly migrate to Firefly).

  • Long Term Stable : until the next two LTS are published
  • Stable release : until the next stable release is published
  • Development / testing release : no backports

For each stable release:

In the timeline, the life time of a LTS is calculated to be approximately 18 months after the month of the first release. For instance, Dumpling is published August 2013 and 18 months starting September 2013 is February 2015, therefore by March 2015 Dumpling should be retired. The lifetime of a release may vary because it depend on how quickly the stable releases are published. For instance although Dumpling theoritical retirement was March 2015, it was extended to May 2015.

Release numbers conventions

The first Ceph release back in Jan of 2008 was 0.1. That made sense at the time. The versioning scheme did not change until April 2015, when 0.94.1 (the first Hammer point release) was published. To avoid reaching 0.99 (and 0.100 or 1.00?) we have a new strategy.

  • x.0.z - development releases (for early testers and the brave at heart)
  • x.1.z - release candidates (for test clusters, brave users)
  • x.2.z - stable/bugfix releases (for users)

x will start at 9 for Infernalis (I is the 9th letter), making our first development release of the 9th release cycle 9.0.0. Subsequent development releases will be 9.0.1, 9.0.2, etc.

After a couple months we’ll have a 9.1.0 (and maybe 9.1.1) release candidate.

A few weeks after that we’ll have the Infernalis release 9.2.0, followed by stable bug fix updates 9.2.1, 9.2.2, etc., and then begin work on the Jewel (10.y.z) release.